Panda 1.5.4

  • List of all Classes
  • List of all Global Functions
  • List of all Methods (very long)


List of Methods - Panda 1.5.4

_ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

__add__:
  • MetaInterval
__addNewTask:
  • TaskManager
__addPendingTask:
  • TaskManager
__addPendingTasksToTaskList:
  • TaskManager
__adjustCollisions:
  • BufferedDistancePhasedNode
__asyncFlattenDone:
  • Loader
__audioLoop:
  • ShowBase
__barrierCallback:
  • DistributedObjectAI
  • DistributedObjectUD
__bindAnimToPart:
  • Actor
__buttonUp:
  • DirectScrolledList
__calcPos:
  • ProjectileInterval
__calcT:
  • IndirectInterval
__calcTime:
  • Mopath
__calcTrajectory:
  • ProjectileInterval
__call__:
  • ArgumentEater
  • ClusterClient
  • DelayedFunctor
  • DummyClusterClient
  • Singleton
__callEnterFunc:
  • FSM
__callExitFunc:
  • FSM
__closeLogFile:
  • Logger
__cmp__:
  • Actor
  • DistributedNode
  • resource
__collisionLoop:
  • ShowBase
__contains__:
  • Enum
__copyAnimControls:
  • Actor
__copyPartBundles:
  • Actor
__copySubpartDict:
  • Actor
__createAboutBox:
  • AppShell
__createBalloon:
  • AppShell
__createCommandArea:
  • AppShell
__createDataArea:
  • AppShell
__createInterface:
  • AppShell
__createMenuBar:
  • AppShell
__createMessageBar:
  • AppShell
__dataLoop:
  • ShowBase
__decButtonDown:
  • DirectScrolledList
__del__:
  • CountedResource
  • DistancePhasedNode
  • FSM
  • MiniLogSentry
  • RotatingLog
  • TestInterval
  • Transitions
__delitem__:
  • MetaInterval
__delslice__:
  • MetaInterval
__disableCollisions:
  • DistancePhasedNode
__doDeferredGenerate:
  • ClientRepositoryBase
__doGenerate:
  • ClientRepositoryBase
__doLaterFilter:
  • TaskManager
__doLaterProcessor:
  • TaskManager
__doListJoints:
  • Actor
__doMopath:
  • MopathInterval
__doPythonCallbacks:
  • IntervalManager
  • MetaInterval
__doStartDirect:
  • ShowBase
__doUpdate:
  • ClientRepositoryBase
__doUpdateOwner:
  • ClientRepositoryBase
__enableCollisions:
  • DistancePhasedNode
__enter:
  • ClassicFSM
__enterChildren:
  • State
__eq__:
  • InterestHandle
__eventRepr:
  • Messenger
__execMessage:
  • DistributedObjectGlobalUD
__executeTask:
  • TaskManager
__exitChildren:
  • State
__exitCurrent:
  • ClassicFSM
__extractCurves:
  • Mopath
__generated:
  • RelatedObjectMgr
__generateObjectList:
  • RelatedObjectMgr
__getattr__:
  • scriptresource
  • Structure
__getBarrierData:
  • DistributedObjectAI
  • DistributedObjectUD
__getEnterEvent:
  • DistancePhasedNode
__getExitEvent:
  • DistancePhasedNode
__getitem__:
  • CTOC
  • DirectAnalogs
  • DirectButtons
  • DirectDials
  • DirectLights
  • DisplayRegionContext
  • DisplayRegionList
  • DNABaselineStyle
  • DNAWallStyle
  • ForceGroup
  • LevelEditor
  • MetaInterval
  • SelectedNodePaths
__getNextDoLaterTime:
  • TaskManager
__getslice__:
  • MetaInterval
__getTime:
  • TaskManager
__getTimeFrame:
  • TaskManager
__getTimeStamp:
  • Logger
__gotAsyncObject:
  • Loader
__handleEnterEvent:
  • DistancePhasedNode
__handleExitEvent:
  • DistancePhasedNode
__hash__:
  • InputStateToken
__iadd__:
  • MetaInterval
__igLoop:
  • ShowBase
__incButtonDown:
  • DirectScrolledList
__init__:
  • _TaskNamePatternLeakDetector
  • AcceptInterval
  • Actor
  • ActorControl
  • ActorInterval
  • aiWebServer
  • AngleDial
  • AnimPanel
  • AppShell
  • Archive
  • archiveresource
  • ArchiveTarget
  • ArgumentEater
  • AsyncRequest
  • AttrSetter
  • Audio3DManager
  • BattleWalker
  • binaryresource
  • BufferedDistancePhasedNode
  • BufferViewer
  • BulletinBoard
  • BulletinBoardWatcher
  • CachedDOData
  • CArchive
  • CheckContainers
  • ClassicFSM
  • ClassicStyle
  • ClassTree
  • ClientRepository
  • ClientRepositoryBase
  • ClockDelta
  • ClusterClient
  • ClusterClientSync
  • ClusterConfigItem
  • ClusterMsgHandler
  • ClusterServer
  • CollectTarget
  • ColorEntry
  • CommonFilters
  • ConnectionRepository
  • ContainerLeakDetector
  • ContainerReport
  • ControlManager
  • CountedResource
  • CRCache
  • CRDataCache
  • CTOC
  • dataresource
  • DelayDelete
  • DelayedCall
  • DelayedFunctor
  • DeltaProfiler
  • DevWalker
  • Dial
  • DialWidget
  • Diff
  • DirectAnalogs
  • DirectBoundingBox
  • DirectButton
  • DirectButtons
  • DirectCameraControl
  • DirectCheckBox
  • DirectCheckButton
  • DirectDeviceManager
  • DirectDialog
  • DirectDials
  • DirectEntry
  • DirectFastrak
  • DirectFrame
  • DirectGrid
  • DirectGuiBase
  • DirectGuiWidget
  • DirectJoybox
  • DirectLabel
  • DirectLight
  • DirectLights
  • DirectManipulationControl
  • DirectNodePath
  • DirectNotify
  • DirectObject
  • DirectOptionMenu
  • DirectoryImporter
  • DirectRadamec
  • DirectRadioButton
  • DirectScrollBar
  • DirectScrolledFrame
  • DirectScrolledList
  • DirectScrolledListItem
  • DirectSession
  • DirectSessionPanel
  • DirectSlider
  • DirectTimecodeReader
  • DirectTracker
  • DirectWaitBar
  • DirFilter
  • dirresource
  • DisplayConnection
  • DisplayRegionContext
  • DisplayRegionList
  • DistancePhasedNode
  • DistributedActor
  • DistributedCartesianGrid
  • DistributedCartesianGridAI
  • DistributedLargeBlobSender
  • DistributedLargeBlobSenderAI
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectBase
  • DistributedObjectGlobal
  • DistributedObjectGlobalAI
  • DistributedObjectGlobalUD
  • DistributedObjectOV
  • DistributedObjectUD
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
  • DistributedSmoothNodeBase
  • DNABaselineStyle
  • DNAFlatBuildingStyle
  • DNAWallStyle
  • DoCollectionManager
  • DoHierarchy
  • DoInterestManager
  • DummyClusterClient
  • EnterExit
  • EntryScale
  • EntryScaleGroup
  • Enum
  • EnumIter
  • EventArgument
  • EventGroup
  • EventInterval
  • EventManager
  • EventPulse
  • ExcelHandler
  • ExclusiveObjectPool
  • ExeTarget
  • ExtFilter
  • Factory
  • FallTest
  • FileFilter
  • FilterManager
  • FindContainers
  • Floater
  • FloaterGroup
  • FloaterWidget
  • ForceGroup
  • FourState
  • FourStateAI
  • FrameDelayedCall
  • FSM
  • FSMInspector
  • FullExeTarget
  • Func
  • FuncImporter
  • FunctionCall
  • FunctionInterval
  • Functor
  • GarbageLogger
  • GarbageReport
  • GarbageReportScheduler
  • GlobalForceGroup
  • GravityWalker
  • GridParent
  • HierarchyException
  • HotkeyBreaker
  • HprInterval
  • HprScaleInterval
  • IconFile
  • IgnoreInterval
  • IndirectInterval
  • Indirection
  • InputState
  • InputStateToken
  • InputStateTokenGroup
  • Inspector
  • InspectorWindow
  • InstallTarget
  • InterestHandle
  • InterestState
  • InterestWatcher
  • Interval
  • IntervalManager
  • Job
  • JobManager
  • LandingPage
  • LeakDetector
  • LEAvatar
  • LerpAnimInterval
  • LerpColorInterval
  • LerpColorScaleInterval
  • LerpFunc
  • LerpFuncNS
  • LerpFunctionInterval
  • LerpFunctionNoStateInterval
  • LerpHprInterval
  • LerpHprScaleInterval
  • LerpNodePathInterval
  • LerpPosHprInterval
  • LerpPosHprScaleInterval
  • LerpPosHprScaleShearInterval
  • LerpPosInterval
  • LerpPosQuatInterval
  • LerpPosQuatScaleInterval
  • LerpPosQuatScaleShearInterval
  • LerpQuatInterval
  • LerpQuatScaleInterval
  • LerpScaleInterval
  • LerpShearInterval
  • LerpTexOffsetInterval
  • LerpTexRotateInterval
  • LerpTexScaleInterval
  • LevelAttribute
  • LevelEditor
  • LevelEditorPanel
  • LevelStyleManager
  • LineNodePath
  • Loader
  • Logger
  • lTOC
  • MemoryExplorer
  • MemoryExplorerItem
  • Messenger
  • MessengerLeakDetector
  • MessengerLeakObject
  • MetaInterval
  • MiniLog
  • MiniLogSentry
  • MkImporter
  • ModFilter
  • Module
  • ModuleFinder
  • moduleresource
  • Mopath
  • MopathInterval
  • MopathRecorder
  • MotionTrail
  • MotionTrailFrame
  • MotionTrailVertex
  • NetMessenger
  • NonPhysicsWalker
  • Notifier
  • NotifyPanel
  • ObjectHandles
  • ObjectPool
  • ObjectRef
  • ObjectReport
  • OkCancelDialog
  • OkDialog
  • OldClientRepository
  • OnScreenDebug
  • OnscreenGeom
  • OnscreenImage
  • OnscreenText
  • PackageArchive
  • ParamObj
  • ParentInterval
  • ParentMgr
  • ParticleEffect
  • ParticleFloorTest
  • ParticleInterval
  • ParticlePanel
  • Particles
  • PatternFilter
  • PhasedObject
  • PhysicsWalker
  • PieMenu
  • PkgFilter
  • pkgresource
  • Placer
  • POD
  • Pool
  • PosHprInterval
  • PosHprScaleInterval
  • PosInterval
  • ProgressBar
  • ProjectileInterval
  • PruneObjectRefs
  • Pulse
  • PushesStateChanges
  • PYZTarget
  • Queue
  • RandomNumGen
  • ReceivesMultipleStateChanges
  • ReceivesStateChanges
  • RefCounter
  • RelatedObjectMgr
  • resource
  • RetryCancelDialog
  • Rope
  • RotatingLog
  • RotationTest
  • SampleObject
  • ScaleInterval
  • SceneGraphExplorer
  • SceneGraphExplorerItem
  • SceneGraphLeakDetector
  • ScratchPad
  • scriptresource
  • SelectedNodePaths
  • SelectionQueue
  • SelectionRay
  • SelectionSegment
  • SelectionSphere
  • SerialNumGen
  • ServerRepository
  • SfxPlayer
  • ShadowCaster
  • ShadowPlacer
  • ShipPilot
  • ShipPilot2
  • ShowBase
  • Signature
  • Singleton
  • Slider
  • SliderWidget
  • SoundInterval
  • Squeezer
  • Stack
  • StackTrace
  • State
  • StateChangeNode
  • StateData
  • StateInspector
  • StdLibFilter
  • Structure
  • SubframeCall
  • Sync
  • SystemInformation
  • Target
  • Task
  • TaskLeakDetector
  • TaskManager
  • TaskManagerPanel
  • TaskManagerWidget
  • TaskPriorityList
  • TaskThreaded
  • TestAppShell
  • TestInterval
  • TextPieMenu
  • ThreeUpShow
  • Timer
  • ToonEyes
  • Transitions
  • TreeItem
  • TreeNode
  • treeresource
  • TwoDWalker
  • TypeFilter
  • Valuator
  • ValuatorGroup
  • ValuatorGroupPanel
  • Vector2Entry
  • Vector3Entry
  • Vector4Entry
  • VectorEntry
  • VisGroupsEditor
  • Wait
  • webNotifyDebug
  • WebRequest
  • WebRequestDispatcher
  • WeightedChoice
  • WidgetPropertiesDialog
  • WindowControls
  • WrtParentInterval
  • YesNoCancelDialog
  • YesNoDialog
  • ZlibArchive
  • zlibresource
__initialize:
  • ProjectileInterval
__isValid:
  • ParticleEffect
__iter__:
  • Enum
  • EnumIter
__ivalLoop:
  • ShowBase
__len__:
  • _TaskNamePatternLeakDetector
  • CppMemoryUsage
  • DirectAnalogs
  • DirectButtons
  • DirectDials
  • DirectLights
  • DisplayRegionList
  • DoHierarchy
  • Enum
  • ExclusiveObjectPool
  • ForceGroup
  • GarbageLeakDetector
  • MetaInterval
  • ObjectPool
  • Queue
  • SceneGraphLeakDetector
  • Stack
  • TaskLeakDetector
  • ValuatorGroup
__listenFor:
  • RelatedObjectMgr
__loadPhase:
  • PhasedObject
__log:
  • Notifier
__methodRepr:
  • Messenger
__new__:
  • WebRequestDispatcher
__noListenFor:
  • RelatedObjectMgr
__oneTimeCollide:
  • DistancePhasedNode
__onPress:
  • ActorControl
  • EntryScale
  • EntryScaleGroup
__onRelease:
  • ActorControl
  • EntryScale
  • EntryScaleGroup
__onReturn:
  • EntryScaleGroup
__onReturnRelease:
  • EntryScaleGroup
__openLogFile:
  • Logger
__phaseNotFound:
  • PhasedObject
__playTask:
  • Interval
  • Mopath
__prepareBundle:
  • Actor
__print:
  • Notifier
__rand:
  • RandomNumGen
__removePending:
  • RelatedObjectMgr
__removeTask:
  • Interval
__removeTaskFromNameDict:
  • TaskManager
__removeTasksEqual:
  • TaskManager
__removeTasksNamed:
  • TaskManager
__repeatDoMethod:
  • TaskManager
__repr__:
  • _Filter
  • BufferedDistancePhasedNode
  • BulletinBoard
  • ClassicFSM
  • ClassTree
  • DirectAnalogs
  • DirectBoundingBox
  • DirectButtons
  • DirectDials
  • DirectoryImporter
  • DirectTimecodeReader
  • DirectTracker
  • DistancePhasedNode
  • DNABaselineStyle
  • DNAWallStyle
  • EventGroup
  • FSM
  • Functor
  • HierarchyException
  • Indirection
  • InterestHandle
  • InterestState
  • Interval
  • JobManager
  • Messenger
  • MetaInterval
  • Module
  • ObjectRef
  • ParamObj
  • PhasedObject
  • POD
  • Pool
  • resource
  • SceneGraphLeakDetector
  • Signature
  • Sync
  • Task
  • TaskManager
  • ValuatorGroup
__resetClock:
  • ClockDelta
__resetPrevTransform:
  • ShowBase
__scrollByTask:
  • DirectScrolledList
__setattr__:
  • Structure
__setitem__:
  • DirectGuiBase
  • DNABaselineStyle
  • DNAWallStyle
  • MetaInterval
  • OnscreenGeom
  • OnscreenImage
  • OnscreenText
__setslice__:
  • MetaInterval
__setState:
  • FSM
__setValue:
  • DirectScrollBar
  • DirectSlider
__shadowCollisionLoop:
  • ShowBase
__signExtend:
  • ClockDelta
__softStart:
  • ParticleInterval
__softStop:
  • ParticleInterval
__spawnTask:
  • Interval
__step:
  • ParticleInterval
  • TestInterval
__stepThroughList:
  • TaskManager
__storeInterval:
  • IntervalManager
__str__:
  • Actor
  • BufferedDistancePhasedNode
  • ClassicFSM
  • ControlManager
  • DirectNotify
  • DistancePhasedNode
  • FSM
  • HierarchyException
  • Inspector
  • MetaInterval
  • MiniLog
  • Notifier
  • PhasedObject
  • StackTrace
  • State
  • WindowControls
__timeoutExpired:
  • RelatedObjectMgr
__timerTask:
  • Timer
__transition:
  • ClassicFSM
__tryReplaceTaskMethod:
  • TaskManager
__unblink:
  • ToonEyes
__unloadPhase:
  • PhasedObject
__updateIvals:
  • MetaInterval
__updateSortedLODNames:
  • Actor
__verbose:
  • DoInterestManager
__windowEvent:
  • ShowBase
_addContainerGen:
  • FindContainers
_addDelayDeletedDO:
  • ClientRepositoryBase
_addDiscoveredStartRef:
  • FindContainers
_addDoLater:
  • DelayedCall
_addSubscription:
  • PushesStateChanges
_autoCapitalize:
  • DirectEntry
_bigDecrementValue:
  • SliderWidget
_bigIncrementValue:
  • SliderWidget
_calcSpeeds:
  • NonPhysicsWalker
  • SwimWalker
_callFunctor:
  • DelayedFunctor
_checkCompletion:
  • AsyncRequest
_checkDone:
  • BulletinBoardWatcher
_checkForLeaks:
  • ContainerLeakDetector
_cleanupGenerator:
  • Job
_clearFloaters:
  • VectorEntry
_clearTask:
  • DirectObject
_compareDistance:
  • DoCollectionManager
_compile:
  • DirectoryImporter
_considerRemoveInterest:
  • DoInterestManager
_cpu:
  • SystemInformation
_deactivateDO:
  • DistributedObject
_decrementValue:
  • SliderWidget
_destroy:
  • TaskThread
_destroyDO:
  • DistributedObject
_determine_import_context:
  • Importer
_do__call__:
  • Functor
_doCallback:
  • DelayedCall
  • SubframeCall
  • TaskThreaded
_doCreateObject:
  • AsyncRequest
_doThreadCallback:
  • TaskThreaded
_enqueueContainer:
  • ContainerReport
_entryCommand:
  • EntryScale
_entryScaleSetAt:
  • EntryScaleGroup
_entryUpdateAt:
  • VectorEntry
_examine:
  • ContainerReport
_exceptionLoggedCreationStack__call__:
  • Functor
_finish_import:
  • Importer
_finishInit:
  • ReceivesStateChanges
_firstScaleCommand:
  • SliderWidget
_floaterSetAt:
  • FloaterGroup
_frameTask:
  • FrameDelayedCall
_getAddInterestEvent:
  • DoInterestManager
_getAnonymousEvent:
  • DoInterestManager
_getCheckTaskName:
  • ContainerLeakDetector
_getContainerByEval:
  • ObjectRef
_getCycles:
  • GarbageReport
_getDistanceFromLA:
  • DoCollectionManager
_getGenerator:
  • Job
_getInterestState:
  • DoInterestManager
_getInternalObjs:
  • ObjectPool
_getJobId:
  • Job
_getKey:
  • RefCounter
_getMarkerX:
  • SliderWidget
_getMsgName:
  • ClientRepositoryBase
_getNextContextId:
  • DoInterestManager
_getNextHandle:
  • DoInterestManager
_getNonWeakDictKey:
  • Indirection
_getNormalizedCycle:
  • GarbageReport
_getObjectList:
  • ObjectReport
_getPandaCategories:
  • NotifyPanel
_getPandaCategoriesAsList:
  • NotifyPanel
_getPruneTaskName:
  • ContainerLeakDetector
_getReferents:
  • GarbageReport
_getReferrers:
  • GarbageReport
_getRemoveInterestEvent:
  • DoInterestManager
_getSortedPriorities:
  • JobManager
_getStr:
  • ClassTree
_GetSubList:
  • TreeItem
_getTaskNamePattern:
  • TaskLeakDetectorBase
_goToMax:
  • SliderWidget
_goToMin:
  • SliderWidget
_handleErasing:
  • DirectEntry
_handleEvent:
  • BulletinBoardWatcher
  • EventArgument
  • MessengerLeakObject
_handleInterestCloseEvent:
  • InterestWatcher
_handleInterestOpenEvent:
  • InterestWatcher
_handleLockParams:
  • ParamObj
_handlePotentialStateChange:
  • EnterExit
  • PushesStateChanges
_handleStateChange:
  • AttrSetter
  • EnterExit
  • FunctionCall
  • PushesStateChanges
_handleTyping:
  • DirectEntry
_handleUnlockParams:
  • ParamObj
_hasLength:
  • FindContainers
_highlightItem:
  • DirectOptionMenu
_ignore:
  • InputState
_import_fromlist:
  • Importer
_import_hook:
  • Importer
_import_one:
  • Importer
_import_top_module:
  • Importer
_incrementValue:
  • SliderWidget
_init:
  • TaskThread
_is_package:
  • Importer
_isDeadEnd:
  • FindContainers
_leakNode:
  • SceneGraphLeakDetector
_load_tail:
  • Importer
_logFailedDisable:
  • ClientRepositoryBase
_main:
  • WebRequestDispatcher
_mouseDown:
  • Valuator
_mouseUp:
  • Valuator
_movieTask:
  • ShowBase
_onButtonPress:
  • DialWidget
_onButtonRelease:
  • DialWidget
_os_version:
  • SystemInformation
_output:
  • ContainerReport
_outputType:
  • ContainerReport
_popupPropertiesDialog:
  • Valuator
_popupValuatorMenu:
  • Valuator
_posHprBroadcast:
  • DistributedSmoothNodeBase
_postCallback:
  • Valuator
  • ValuatorGroup
_postSlider:
  • SliderWidget
_preCallback:
  • Valuator
  • ValuatorGroup
_printObjects:
  • DoCollectionManager
_process:
  • JobManager
_processTaskName:
  • TaskLeakDetector
_pruneObjectRefs:
  • ContainerLeakDetector
_ram:
  • SystemInformation
_readerPollTask:
  • ClusterClient
  • ClusterServer
_recvMultiStatePush:
  • FunctionCall
  • ReceivesMultipleStateChanges
_recvStatePush:
  • ReceivesMultipleStateChanges
  • ReceivesStateChanges
  • StateChangeNode
_refreshEntry:
  • VectorEntry
_refreshFloaters:
  • VectorEntry
_registerType:
  • Factory
_registerTypes:
  • Factory
_reload_hook:
  • Importer
_removeDelayDeletedDO:
  • ClientRepositoryBase
_removeDoLater:
  • DelayedCall
_removeSubscription:
  • PushesStateChanges
_resetTimeoutTask:
  • AsyncRequest
_resync:
  • ExclusiveObjectPool
_retrieveCachedData:
  • DistributedObject
_returnObjects:
  • DoCollectionManager
_runGarbageReport:
  • GarbageReportScheduler
_scaleBtnPress:
  • SliderWidget
_scaleBtnRelease:
  • SliderWidget
_scaleCommand:
  • EntryScale
  • SliderWidget
_scheduleNextGarbageReport:
  • GarbageReportScheduler
_scheduleNextLeakCheck:
  • ContainerLeakDetector
_scheduleNextPruning:
  • ContainerLeakDetector
_sendAddInterest:
  • DoInterestManager
_sendRemoveInterest:
  • DoInterestManager
_services:
  • WebRequestDispatcher
_setCallbackData:
  • ValuatorGroupPanel
_setCommand:
  • ValuatorGroupPanel
_setGridSize:
  • FSMInspector
  • StateInspector
_setNumDigits:
  • ValuatorGroup
  • ValuatorGroupPanel
_setPostCallback:
  • ValuatorGroupPanel
_setPreCallback:
  • ValuatorGroupPanel
_setRadius:
  • StateInspector
_setRollover:
  • Dial
_setSigDigits:
  • EntryScale
  • VectorEntry
_setSnap:
  • Dial
_setState:
  • VectorEntry
_signalComplete:
  • EventGroup
_startTask:
  • FrameDelayedCall
_stopTask:
  • FrameDelayedCall
_stylesheet:
  • WebRequestDispatcher
_subEventComplete:
  • EventGroup
_subscribeTo:
  • ReceivesMultipleStateChanges
  • ReceivesStateChanges
_syncReaderPollTask:
  • ClusterServer
_timestamp:
  • DirectoryImporter
_unforce:
  • InputState
_unhighlightItem:
  • DirectOptionMenu
_unpackIOError:
  • TaskManager
_unpostOnNextRelease:
  • SliderWidget
_unpostSlider:
  • SliderWidget
_unsubscribe:
  • ReceivesMultipleStateChanges
  • ReceivesStateChanges
_updateBorderWidth:
  • VectorEntry
_updateEntryWidth:
  • VectorEntry
_updateLabels:
  • EntryScaleGroup
  • FloaterGroup
  • ValuatorGroup
  • ValuatorGroupPanel
_updateLabelText:
  • ActorControl
  • EntryScale
_updateRelief:
  • VectorEntry
_updateText:
  • VectorEntry
_updateValidate:
  • EntryScale
  • VectorEntry
_updateValue:
  • SliderWidget
_valuatorSetAt:
  • ValuatorGroup
_widgetBtnPress:
  • SliderWidget
_widgetBtnRelease:
  • SliderWidget
_widgetMove:
  • SliderWidget
abandonMessageBundles:
  • CConnectionRepository
abortAllRequests:
  • RelatedObjectMgr
aborted:
  • MovieAudioCursor
  • MovieVideoCursor
abortRequest:
  • RelatedObjectMgr
accelerate:
  • ParticleEffect
  • Particles
accept:
  • DirectObject
  • Messenger
acceptOnce:
  • DirectObject
acceptSwitchModeEvent:
  • DirectJoybox
acceptUprightCameraEvent:
  • DirectJoybox
accumulateMatrix:
  • VertexTransform
acquire:
  • Indirection
acquireDelayDelete:
  • DistributedObject
action:
  • VectorEntry
activate:
  • ObjectHandles
activateSmoothing:
  • DistributedSmoothNode
Active:
  • Socket_IP
ActiveOpen:
  • Socket_TCP
ActiveOpenNonBlocking:
  • Socket_TCP
actorInterval:
  • Actor
adaptiveSample:
  • NurbsCurveResult
add:
  • AsyncTaskManager
  • ControlManager
  • DestructiveScratchPad
  • DNAFlatBuildingStyle
  • JobManager
  • LevelAttribute
  • OdeMass
  • OdeSpace
  • OnScreenDebug
  • Pool
  • ScratchPad
  • TaskManager
  • TaskPriorityList
add_geometry_quad:
  • MotionTrail
add_module:
  • ModuleFinder
add_vertex:
  • MotionTrail
AddAddress:
  • Buffered_DatagramConnection
addAgainPattern:
  • CollisionHandlerEvent
addAlpha:
  • PNMImage
addAmbient:
  • DirectSessionPanel
addAndDo:
  • AsyncTaskManager
addAngularForce:
  • Physical
  • PhysicsManager
addAngularIntegrator:
  • ShowBase
addArray:
  • GeomVertexFormat
addAttrib:
  • RenderState
addAutoInterest:
  • DoInterestManager
addBaseline:
  • LevelEditorPanel
addBaselineItem:
  • LevelEditorPanel
addBeFloat32:
  • Datagram
  • StreamWriter
addBeFloat64:
  • Datagram
  • StreamWriter
addBeInt16:
  • Datagram
  • StreamWriter
addBeInt32:
  • Datagram
  • StreamWriter
addBeInt64:
  • Datagram
  • StreamWriter
addBeUint16:
  • Datagram
  • StreamWriter
addBeUint32:
  • Datagram
  • StreamWriter
addBeUint64:
  • Datagram
  • StreamWriter
addBin:
  • CullBinManager
addBlastForce:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • PhysicsWalker
  • ShipPilot2
addBlend:
  • TransformBlendTable
addBodyDampening:
  • OdeWorld
addBool:
  • Datagram
  • StreamWriter
addBreakKey:
  • HotkeyBreaker
addButton:
  • MemoryExplorer
  • ModifierButtons
addButtonEvents:
  • DirectJoybox
addChild:
  • EggGroupNode
  • MemoryExplorerItem
  • PandaNode
  • State
addChildCtrl:
  • MemoryExplorer
addChorus:
  • FilterProperties
addCInterval:
  • CIntervalManager
  • CMetaInterval
addClickButton:
  • PGButton
addClientMultifile:
  • DownloadDb
addCollider:
  • CollisionHandlerPhysical
  • CollisionTraverser
  • SelectionQueue
  • SelectionSegment
  • SelectionSphere
addColumn:
  • GeomVertexArrayFormat
addComponentData:
  • EggXfmSAnim
addCompress:
  • FilterProperties
addConnection:
  • ConnectionReader
addConsecutiveVertices:
  • GeomPrimitive
addConstant:
  • ColorInterpolationManager
addConstantInterpolationSegment:
  • ParticlePanel
addControl:
  • CLerpAnimEffectInterval
addControlMapping:
  • ClusterClient
  • ClusterServer
addCurve:
  • ParametricCurveCollection
addCurves:
  • ParametricCurveCollection
adddata:
  • Squeezer
addData:
  • EggAnimData
  • EggXfmSAnim
addData1f:
  • GeomVertexWriter
addData1i:
  • GeomVertexWriter
addData2f:
  • GeomVertexWriter
addData2i:
  • GeomVertexWriter
addData3f:
  • GeomVertexWriter
addData3i:
  • GeomVertexWriter
addData4f:
  • GeomVertexWriter
addData4i:
  • GeomVertexWriter
addDependentFile:
  • BamCacheRecord
addDirectHost:
  • HTTPClient
addDirectional:
  • DirectSessionPanel
addDistort:
  • FilterProperties
addDOToTables:
  • DoCollectionManager
addEcho:
  • FilterProperties
addEffect:
  • RenderEffects
addEvent:
  • EventGroup
  • InterestState
  • PointerEventList
addExcludeJoint:
  • PartSubset
addExpectedServer:
  • HTTPClient
addExtIndex:
  • CMetaInterval
addFile:
  • MultiplexStream
addFilter:
  • lTOC
addFixedString:
  • Datagram
  • StreamWriter
addFlange:
  • FilterProperties
addFlatBuilding:
  • LevelEditor
  • LevelEditorPanel
addFloat32:
  • Datagram
  • StreamWriter
addFloat64:
  • Datagram
  • StreamWriter
addFont:
  • FontPool
addForce:
  • ForceGroup
  • ForceNode
  • GlobalForceGroup
  • OdeBody
  • OdeSliderJoint
  • ParticleEffect
  • ParticlePanel
  • Particles
addForceAtPos:
  • OdeBody
addForceAtRelPos:
  • OdeBody
addForceGroup:
  • ParticleEffect
addForceGroupNotebookPage:
  • ParticlePanel
addForcesFrom:
  • ForceNode
addForceWidget:
  • ParticlePanel
addFromNode:
  • SpriteParticleRenderer
addGeom:
  • GeomNode
addGeomsFrom:
  • GeomNode
addGroup:
  • LevelEditor
  • MouseWatcher
addHash:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
addHighpass:
  • FilterProperties
addHoleVertex:
  • Triangulator
addHpr:
  • CurveFitter
addImpact:
  • PhysicsObject
addImpulse:
  • PhysicsObject
addIncludeJoint:
  • PartSubset
addInPattern:
  • CollisionHandlerEvent
addInt16:
  • Datagram
  • StreamWriter
addInt32:
  • Datagram
  • StreamWriter
addInt64:
  • Datagram
  • StreamWriter
addInt8:
  • Datagram
  • StreamWriter
addInterest:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectUD
  • DoInterestManager
addInterval:
  • IntervalManager
  • MetaInterval
addItem:
  • DirectScrolledList
addItemCtrls:
  • MemoryExplorer
addJBNodePath:
  • DirectSessionPanel
addJoint:
  • OdeJointCollection
addJointsFrom:
  • OdeJointCollection
addKeyframe:
  • MopathRecorder
addLabel:
  • MemoryExplorer
addLandmark:
  • LevelEditor
  • LevelEditorPanel
addLevel:
  • PStatCollector
  • PStatCollectorForwardBase
  • StackedPerlinNoise2
  • StackedPerlinNoise3
addLevelNow:
  • PStatCollector
addLight:
  • DirectSessionPanel
  • LightAttrib
  • PolylightEffect
addLinear:
  • ColorInterpolationManager
addLinearCylinderVortexForce:
  • ParticlePanel
addLinearForce:
  • Physical
  • PhysicsManager
addLinearFrictionForce:
  • ParticlePanel
addLinearInterpolationSegment:
  • ParticlePanel
addLinearJitterForce:
  • ParticlePanel
addLinearNoiseForce:
  • ParticlePanel
addLinearSinkForce:
  • ParticlePanel
addLinearSourceForce:
  • ParticlePanel
addLinearUserDefinedForce:
  • ParticlePanel
addLinearVectorForce:
  • ParticlePanel
addLocalImpact:
  • PhysicsObject
addLocalImpulse:
  • PhysicsObject
addLocalTorque:
  • PhysicsObject
addLocalTransform:
  • CharacterJoint
addLOD:
  • Actor
addLowpass:
  • FilterProperties
addMaterial:
  • EggMaterialCollection
  • MaterialCollection
addMaterialsFrom:
  • MaterialCollection
addMatrix3:
  • EggTransform
addMatrix4:
  • EggTransform
addMenuItem:
  • VectorEntry
addModel:
  • ModelPool
addmodule:
  • Squeezer
addName:
  • EggNameUniquifier
  • InternalNameCollection
addNamedObjectMapping:
  • ClusterClient
  • ClusterServer
addNamesFrom:
  • InternalNameCollection
addNetTransform:
  • CharacterJoint
addNextVertices:
  • GeomPrimitive
addNode:
  • AttribNodeRegistry
  • SceneGraphAnalyzer
addNodePath:
  • DirectSessionPanel
  • MopathRecorder
  • Placer
addNodePathToDict:
  • DirectSessionPanel
  • MopathRecorder
  • Placer
addNormalize:
  • FilterProperties
addObjectTag:
  • ClusterClient
addObjectToGrid:
  • DistributedCartesianGrid
  • DistributedCartesianGridAI
addObjectType:
  • EggGroup
addOffLight:
  • LightAttrib
addOffPlane:
  • ClipPlaneAttrib
addOffStage:
  • TextureAttrib
addOldServerHeader:
  • PyDatagram
addOnLight:
  • LightAttrib
addOnPlane:
  • ClipPlaneAttrib
addOnStage:
  • TextureAttrib
addoptions:
  • DirectGuiBase
addOstream:
  • MultiplexStream
addOutPattern:
  • CollisionHandlerEvent
addParallel:
  • MetaInterval
addParallelEndTogether:
  • MetaInterval
addParameq:
  • FilterProperties
addParameter:
  • ButtonThrower
  • Event
addParticles:
  • ParticleEffect
addPassThroughKey:
  • DirectSession
addPath:
  • NodePathCollection
addPathsFrom:
  • NodePathCollection
addPhysical:
  • PhysicalNode
addPhysicalsFrom:
  • PhysicalNode
addPhysicsObject:
  • Physical
  • PhysicsObjectCollection
addPhysicsObjectsFrom:
  • PhysicsObjectCollection
addPitchshift:
  • FilterProperties
addPlane:
  • ClipPlaneAttrib
addPoint:
  • DirectSessionPanel
  • ScissorEffect
addPolygonVertex:
  • Triangulator
addPrimitive:
  • Geom
addProp:
  • LevelEditor
  • LevelEditorPanel
addProperties:
  • FrameBufferProperties
  • TextProperties
  • WindowProperties
addPropertyToDialog:
  • Valuator
addProxy:
  • HTTPClient
addQuickStat:
  • LandingPage
addRecorder:
  • RecorderController
addRefNodePath:
  • Placer
addRegion:
  • MouseWatcherGroup
addRelForce:
  • OdeBody
addRelForceAtPos:
  • OdeBody
addRelForceAtRelPos:
  • OdeBody
addRelTorque:
  • OdeBody
addRendererSpriteAnimationFromNode:
  • ParticlePanel
addRendererSpriteAnimationTexture:
  • ParticlePanel
addRenderTexture:
  • GraphicsOutput
addReplicationHooks:
  • LevelEditor
AddressQueueSize:
  • Buffered_DatagramConnection
addReverb:
  • FilterProperties
addRotate2d:
  • EggTransform
addRotate3d:
  • EggTransform
addRotx:
  • EggTransform
addRoty:
  • EggTransform
addRotz:
  • EggTransform
addScale2d:
  • EggTransform
addScale3d:
  • EggTransform
addScreen:
  • NonlinearImager
addSelfCtrl:
  • MemoryExplorer
addSequence:
  • MetaInterval
addServerHeader:
  • PyDatagram
addSfxManager:
  • ShowBase
addShader:
  • ShaderPool
addSignGraphic:
  • LevelEditorPanel
addSinusoid:
  • ColorInterpolationManager
addSinusoidInterpolationSegment:
  • ParticlePanel
addSlider:
  • SliderTable
addSolid:
  • CollisionNode
addSpawnTemplate:
  • ParticleSystem
addSpot:
  • DirectSessionPanel
addStage:
  • TexGenAttrib
  • TexMatrixAttrib
  • TexProjectorEffect
addStandardOutput:
  • MultiplexStream
addStashed:
  • PandaNode
addState:
  • ClassicFSM
  • FSMInspector
addStdioFile:
  • MultiplexStream
addStepwave:
  • ColorInterpolationManager
addStepwaveInterpolationSegment:
  • ParticlePanel
addStreet:
  • LevelEditor
  • LevelEditorPanel
addStreetUnits:
  • LevelEditor
addString:
  • Datagram
  • StreamWriter
addString32:
  • Datagram
  • StreamWriter
addSubfile:
  • Multifile
addSwitch:
  • LODNode
addSystem:
  • PandaSystem
addSystemDebug:
  • MultiplexStream
addT:
  • Timer
addTab:
  • LandingPage
addTag:
  • DirectManipulationControl
  • SelectedNodePaths
addTask:
  • DirectObject
addTexture:
  • EggPrimitive
  • EggTextureCollection
  • SpriteParticleRenderer
  • TextureCollection
  • TexturePool
addTextureFromFile:
  • SpriteParticleRendererExt
addTextureFromNode:
  • SpriteParticleRendererExt
addTexturesFrom:
  • TextureCollection
addTextureStage:
  • TextureStageCollection
addTextureStagesFrom:
  • TextureStageCollection
addThreadLevel:
  • PStatCollector
addThrowButton:
  • ButtonThrower
addToCell:
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
addToken:
  • InputStateTokenGroup
addToLandmarkBlock:
  • LevelEditor
addTorque:
  • OdeBody
  • OdeHingeJoint
  • PhysicsObject
addTorques:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeUniversalJoint
addTrack:
  • MetaInterval
addTransform:
  • TransformBlend
  • TransformTable
addTransition:
  • State
addTranslate2d:
  • EggTransform
addTranslate3d:
  • EggTransform
addTriangle:
  • CollisionFloorMesh
addUint16:
  • Datagram
  • StreamWriter
addUint32:
  • Datagram
  • StreamWriter
addUint64:
  • Datagram
  • StreamWriter
addUint8:
  • Datagram
  • StreamWriter
addUniformScale:
  • EggTransform
addUnpickable:
  • DirectSession
  • SelectionQueue
addValuatorMenuEntries:
  • Dial
  • Valuator
addValuatorPropertiesToDialog:
  • Dial
  • Valuator
addVariable:
  • AppShell
addVelocity:
  • CollisionHandlerGravity
addVersion:
  • DownloadDb
addVertex:
  • CollisionFloorMesh
  • EggPrimitive
  • EggVertexPool
  • GeomPrimitive
  • PortalNode
  • Triangulator
addVertices:
  • GeomPrimitive
addViewer:
  • NonlinearImager
addVisGroup:
  • LevelEditor
addW:
  • LVecBase4d
  • LVecBase4f
addWidget:
  • AppShell
  • MopathRecorder
addWstring:
  • Datagram
addX:
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
addXyz:
  • CurveFitter
addXyzHpr:
  • CurveFitter
addY:
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
addZ:
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
addZString:
  • Datagram
  • StreamWriter
adjust:
  • OdeMass
adjustAllPriorities:
  • NodePath
  • RenderState
adjustBaselineFlag:
  • LevelEditorPanel
adjustDrawMask:
  • PandaNode
adjustHpr:
  • ParametricCurveCollection
adjustPoint:
  • ParametricCurve
adjustPropChildren:
  • LevelEditor
adjustPt:
  • ParametricCurve
adjustTangent:
  • ParametricCurve
adjustWallBitMask:
  • ShipPilot
adjustXyz:
  • ParametricCurveCollection
advanceCard:
  • BufferViewer
affectsPolygonAlpha:
  • EggTexture
aiDatabaseGenerateContext:
  • DCClass
aiDatabaseGenerateContextOld:
  • DCClass
aiFormatGenerate:
  • DCClass
aiFormatUpdate:
  • DCClass
  • DCField
alignbuttons:
  • AppShell
allButtonsUp:
  • ModifierButtons
allObjectsValid:
  • DCFile
alloc:
  • SimpleAllocator
  • VertexDataBook
  • VertexDataPage
allocate:
  • UniqueIdAllocator
allocateContext:
  • ClientRepositoryBase
allocParticle:
  • BaseParticleFactory
allOff:
  • BitArray
  • DirectLights
  • SparseArray
allOn:
  • BitArray
  • DirectLights
  • SparseArray
almostEqual:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LQuaterniond
  • LQuaternionf
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
almostSameDirection:
  • LQuaterniond
  • LQuaternionf
alphaFill:
  • PNMImage
alphaFillVal:
  • PNMImage
alt:
  • KeyboardButton
alterInterest:
  • DoInterestManager
analyze:
  • ARToolKit
  • MemoryExplorer
  • MemoryExplorerItem
  • NodePath
analyzeChildren:
  • MemoryExplorerItem
analyzeTextureSet:
  • BufferViewer
angleDeg:
  • LQuaterniond
  • LQuaternionf
  • LVector3d
  • LVector3f
angleRad:
  • LQuaterniond
  • LQuaternionf
  • LVector3d
  • LVector3f
animateVertices:
  • GeomVertexData
animPanel:
  • Actor
announceGenerate:
  • DistributedLargeBlobSender
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectGlobalAI
  • DistributedObjectGlobalUD
  • DistributedObjectOV
  • DistributedObjectUD
anyCallable:
  • LerpNodePathInterval
anyPath:
  • NodePath
append:
  • InternalName
  • MetaInterval
  • OnScreenDebug
  • PartSubset
  • UserDataAudio
appendColorToColorPaletteFile:
  • LevelEditor
appendCv:
  • HermiteCurve
  • NurbsCurveInterface
appendData:
  • Datagram
  • StreamWriter
appendDirectory:
  • ConfigVariableSearchPath
  • DSearchPath
appendFunctionCall:
  • MiniLog
appendLine:
  • MiniLog
appendPath:
  • ConfigVariableSearchPath
  • DSearchPath
appendText:
  • OnscreenText
  • TextEncoder
  • TextNode
appendUnicodeChar:
  • TextEncoder
  • TextNode
appendWtext:
  • TextEncoder
  • TextNode
appInit:
  • AppShell
  • DirectSessionPanel
  • FSMInspector
  • MopathRecorder
  • ParticlePanel
  • Placer
apply:
  • Patchfile
  • WidgetPropertiesDialog
applyAttribs:
  • SceneGraphReducer
applyControl:
  • PartGroup
applyDampening:
  • OdeWorld
applyFirstAttribute:
  • EggGroupNode
  • EggPrimitive
applyFreeze:
  • PartGroup
applyIvals:
  • MetaInterval
  • Parallel
  • ParallelEndTogether
  • Sequence
  • Track
applyLastAttribute:
  • EggGroupNode
  • EggPrimitive
applySmoothHpr:
  • SmoothMover
applySmoothMat:
  • SmoothMover
applySmoothPos:
  • SmoothMover
applyTexmats:
  • EggNode
applyTo:
  • POD
applyTransform:
  • PartBundle
areConnected:
  • OdeUtil
areConnectedExcluding:
  • OdeUtil
around:
  • BoundingVolume
  • GeometricBoundingVolume
asArrayParameter:
  • DCParameter
asAtomicField:
  • DCField
asBin:
  • HashVal
asBinary:
  • moduleresource
  • resource
asciiKey:
  • KeyboardButton
asClass:
  • DCDeclaration
asClassParameter:
  • DCPackerInterface
asDec:
  • HashVal
asField:
  • DCField
  • DCPackerInterface
asFilter:
  • binaryresource
  • dataresource
  • dirresource
  • pkgresource
  • resource
  • scriptresource
asHex:
  • HashVal
asInt:
  • InterestHandle
askForLabel:
  • EntryScale
askForMax:
  • EntryScale
askForMin:
  • EntryScale
askForObject:
  • AsyncRequest
askForObjectField:
  • AsyncRequest
askForObjectFields:
  • AsyncRequest
askForResolution:
  • EntryScale
asLight:
  • PandaNode
asList:
  • DirectLights
  • ForceGroup
asMolecularField:
  • DCField
asNode:
  • Light
asParameter:
  • DCField
assemble:
  • ArchiveTarget
  • CollectTarget
  • FullExeTarget
  • PYZTarget
  • Target
assembleText:
  • TextAssembler
assign:
  • Datagram
asSimpleParameter:
  • DCParameter
asSource:
  • moduleresource
  • resource
  • scriptresource
asSwitch:
  • DCDeclaration
asSwitchParameter:
  • DCPackerInterface
asyncFlattenStrong:
  • Loader
attach:
  • Actor
attach_motion_trail:
  • MotionTrail
attachAngularIntegrator:
  • PhysicsManager
attachBodies:
  • OdeJoint
attachBody:
  • OdeJoint
attachLinearIntegrator:
  • PhysicsManager
attachListener:
  • Audio3DManager
attachNewNode:
  • NodePath
attachParticlesystem:
  • ParticleSystemManager
attachPattern:
  • ARToolKit
attachPhysical:
  • PhysicsManager
attachPhysicalNode:
  • PhysicsManager
attachPhysicalnode:
  • PhysicsManager
attachSoundToObject:
  • Audio3DManager
audio3dGetDistanceFactor:
  • AudioManager
audio3dGetDopplerFactor:
  • AudioManager
audio3dGetDropOffFactor:
  • AudioManager
audio3dGetListenerAttributes:
  • AudioManager
audio3dSetDistanceFactor:
  • AudioManager
audio3dSetDopplerFactor:
  • AudioManager
audio3dSetDropOffFactor:
  • AudioManager
audio3dSetListenerAttributes:
  • AudioManager
audioChannels:
  • MovieAudioCursor
audioRate:
  • MovieAudioCursor
authDebug:
  • webNotifyDebug
autoCallback:
  • OdeSpace
autoCapitalizeFunc:
  • DirectEntry
autoCollide:
  • OdeSpace
autoPositionCleanup:
  • LevelEditor
autoPositionGrid:
  • LevelEditor
autoShader:
  • ShaderAttrib
avatarAnimate:
  • LevelEditor
avatarPhysicsIndicator:
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
b_clearSmoothing:
  • DistributedSmoothNodeBase
b_setLocation:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectUD
b_setParent:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
b_setPosHpr:
  • DistributedNodeAI
b_setXYZH:
  • DistributedNodeAI
back:
  • LVector3d
  • LVector3f
  • Queue
backfaceCullingOff:
  • ShowBase
backfaceCullingOn:
  • ShowBase
backspace:
  • KeyboardButton
bad:
  • ios
balloon:
  • AppShell
base64Decode:
  • HTTPClient
base64Encode:
  • HTTPClient
basicMode:
  • DirectJoybox
begin:
  • LMatrix4d
  • LMatrix4f
begin_geometry:
  • MotionTrail
begin_motion_trail:
  • MotionTrail
beginBarrier:
  • DistributedObjectAI
  • DistributedObjectUD
beginConnectTo:
  • HTTPChannel
beginEpoch:
  • SimpleLru
beginGetDocument:
  • HTTPChannel
beginGetHeader:
  • HTTPChannel
beginGetSubdocument:
  • HTTPChannel
beginHole:
  • Triangulator
beginOOBE:
  • DirectSession
beginPack:
  • DCPacker
beginPlayback:
  • RecorderController
beginPostForm:
  • HTTPChannel
beginRecord:
  • RecorderController
beginRepack:
  • DCPacker
beginUnpack:
  • DCPacker
binaryFilename:
  • Filename
bind:
  • AppShell
  • DirectGuiBase
bindAllAnims:
  • Actor
bindAnim:
  • Actor
  • PartBundle
bindThread:
  • Thread
bit:
  • BitArray
  • SparseArray
blank:
  • aiWebServer
blend:
  • PNMImage
blendSubImage:
  • PNMImage
blockingRead:
  • ClusterMsgHandler
body:
  • WidgetPropertiesDialog
boxFilter:
  • PNMImage
boxFilterFrom:
  • PNMImage
breakFunc:
  • HotkeyBreaker
broadcastPosHprFull:
  • CDistributedSmoothNodeBase
broadcastPosHprXy:
  • CDistributedSmoothNodeBase
broadcastPosHprXyh:
  • CDistributedSmoothNodeBase
build:
  • MkImporter
  • Patchfile
  • Target
buildList:
  • MemoryExplorer
bundleMsg:
  • CConnectionRepository
button:
  • MouseButton
buttonAdd:
  • AppShell
buttonBox:
  • AppShell
buttonbox:
  • WidgetPropertiesDialog
buttonCommand:
  • DirectDialog
buttonDown:
  • ModifierButtons
buttonUp:
  • ModifierButtons
cache:
  • CRCache
cacheRef:
  • CachedTypedWritableReferenceCount
  • RenderState
  • TransformState
cacheUnref:
  • CachedTypedWritableReferenceCount
  • RenderState
  • TransformState
calcC:
  • TextAssembler
calcFrameRateDeviation:
  • ClockObject
calcIndex:
  • TextAssembler
calcLength:
  • ParametricCurve
calcLongStreetLength:
  • LevelEditor
calcNumFaces:
  • MemoryExplorerItem
calcPoint:
  • Parabolad
  • Parabolaf
calcR:
  • TextAssembler
calcRC:
  • TextAssembler
calcTextureBytes:
  • MemoryExplorerItem
calcTightBounds:
  • NodePath
calcTime:
  • Mopath
calculateNormal:
  • EggPolygon
calcVertexBytes:
  • MemoryExplorerItem
calcWidth:
  • TextAssembler
  • TextNode
callbackWithDo:
  • DoCollectionManager
callbackWithOwnerView:
  • DoCollectionManager
camUpdate:
  • DisplayRegionContext
cancel:
  • WidgetPropertiesDialog
cancelRequest:
  • Loader
canSeek:
  • MovieAudioCursor
  • MovieVideoCursor
canSeekFast:
  • MovieAudioCursor
  • MovieVideoCursor
canvas:
  • FSMInspector
capsLock:
  • KeyboardButton
center:
  • StateInspector
centerCam:
  • DirectCameraControl
centerCamIn:
  • DirectCameraControl
centerCamNow:
  • DirectCameraControl
cget:
  • DirectGuiBase
  • OnscreenGeom
  • OnscreenImage
  • OnscreenText
change:
  • Sync
changedOnState:
  • FourState
  • FourStateAI
changedSize:
  • IndexBufferContext
  • VertexBufferContext
changedUsageHint:
  • IndexBufferContext
  • VertexBufferContext
changeMouseInterface:
  • ShowBase
characters:
  • ExcelHandler
chdir:
  • Filename
  • VirtualFileSystem
check:
  • DirectRadioButton
  • OdeMass
check_for_update:
  • MotionTrail
checkCache:
  • CRCache
checkDatagram:
  • CConnectionRepository
checkErrors:
  • ClockObject
checkHttp:
  • ConnectionRepository
checkin:
  • Pool
checkmagic:
  • Archive
  • CArchive
checkMatch:
  • DCPackerInterface
checkout:
  • Pool
checkOverallColor:
  • EggVertexPool
checkValid:
  • Geom
  • GeomNode
  • GeomPrimitive
choice:
  • RandomNumGen
choose:
  • WeightedChoice
clampVal:
  • PNMImage
classTree:
  • DirectObject
clean:
  • OdeSpace
cleanup:
  • Actor
  • CommonFilters
  • DirectDialog
  • DistancePhasedNode
  • EggPrimitive
  • FilterManager
  • ForceGroup
  • FSM
  • OnscreenText
  • ParticleEffect
  • Particles
  • PhasedObject
  • Pool
  • SubframeCall
cleanupAuxSceneData:
  • Camera
cleanupWaitAllInterestsComplete:
  • DoInterestManager
clear:
  • AttribNodeRegistry
  • BitArray
  • ClockDelta
  • CollisionHandlerEvent
  • CollisionVisualizer
  • ConfigPage
  • ConfigVariableSearchPath
  • Datagram
  • DCFile
  • DCPackData
  • DoHierarchy
  • DSearchPath
  • DynamicTextFont
  • EggGroupNode
  • EggMaterialCollection
  • EggNameUniquifier
  • EggPrimitive
  • EggTextureCollection
  • EventQueue
  • FilterProperties
  • ForceNode
  • FrameBufferProperties
  • GeomVertexReader
  • GeomVertexRewriter
  • GeomVertexWriter
  • InternalNameCollection
  • ios
  • Lens
  • MaterialCollection
  • MemoryUsagePointers
  • Messenger
  • MultitexReducer
  • NetAddress
  • NetMessenger
  • NodePathCollection
  • OdeJointCollection
  • OnScreenDebug
  • ParametricCurveCollection
  • ParticleSystemManager
  • PhysicalNode
  • PhysicsObjectCollection
  • PNMImage
  • PointerEventList
  • Queue
  • SceneGraphAnalyzer
  • ShadowCaster
  • Socket_Address
  • SparseArray
  • Stack
  • StackedPerlinNoise2
  • StackedPerlinNoise3
  • TextAssembler
  • TextProperties
  • Texture
  • TextureCollection
  • TextureStageCollection
  • Triangulator
  • UpdateSeq
  • WindowProperties
clearActorControls:
  • AnimPanel
ClearAddresses:
  • Buffered_DatagramConnection
clearAgainPatterns:
  • CollisionHandlerEvent
clearAlign:
  • TextNode
  • TextProperties
clearAllButtons:
  • MouseInterfaceNode
clearAllCookies:
  • HTTPClient
clearAllTables:
  • AnimChannelMatrixXfmTable
clearAlphaFileChannel:
  • EggTexture
clearAlphaFilename:
  • EggTexture
  • Texture
clearAlphaFullpath:
  • Texture
clearAlphaScale:
  • EggTexture
clearAmb:
  • EggMaterial
clearAmbient:
  • Material
clearAngularForces:
  • Physical
  • PhysicsManager
clearAnims:
  • AnimControlCollection
clearAnisotropicDegree:
  • EggTexture
clearAntialias:
  • NodePath
clearArrays:
  • GeomVertexFormat
clearAssertFailed:
  • Notify
clearAssertHandler:
  • Notify
clearAttrib:
  • NodePath
  • PandaNode
clearAudioVolume:
  • NodePath
clearAuxData:
  • Texture
clearAuxSceneData:
  • Camera
clearBillboard:
  • NodePath
clearBillboardCenter:
  • EggGroup
clearBin:
  • EggRenderMode
  • NodePath
  • TextNode
  • TextProperties
clearBinormal:
  • EggVertexUV
clearBit:
  • BitArray
  • SparseArray
clearBlendColor:
  • EggGroup
clearBorderColor:
  • EggTexture
clearBounds:
  • Geom
  • PandaNode
clearBreakPt:
  • HotkeyBreaker
clearButton:
  • MouseInterfaceNode
clearCache:
  • AudioManager
  • Geom
  • GeomVertexData
  • RenderState
  • TransformState
clearCacheStage:
  • Geom
  • GeomVertexData
clearCard:
  • TextNode
clearCardBorder:
  • TextNode
clearCardTexture:
  • TextNode
clearCenter:
  • CollisionHandlerPhysical
clearChildSort:
  • GraphicsOutput
clearClipFrame:
  • PGVirtualFrame
clearClipPlane:
  • NodePath
clearCollideMask:
  • EggGroup
clearColliders:
  • CollisionHandlerPhysical
  • CollisionTraverser
clearCollisionName:
  • EggGroup
clearColor:
  • EggAttributes
  • EggTexture
  • NodePath
clearColorMap:
  • GeoMipTerrain
clearColorScale:
  • NodePath
clearColumns:
  • GeomVertexArrayFormat
clearCompass:
  • NodePath
clearConnectedShading:
  • EggGroupNode
  • EggPrimitive
clearContents:
  • EggXfmAnimData
clearControlEffects:
  • PartBundle
clearCookie:
  • HTTPClient
clearCursorDef:
  • PGEntry
clearCursorFilename:
  • WindowProperties
clearCursorHidden:
  • WindowProperties
clearData:
  • BamCacheRecord
  • DCPacker
  • EggAnimData
  • EggXfmSAnim
  • StringStream
clearDate:
  • DocumentSpec
clearDeleteFlag:
  • GraphicsOutput
clearDependentFiles:
  • BamCacheRecord
clearDepthTest:
  • NodePath
clearDepthWrite:
  • NodePath
clearDiff:
  • EggMaterial
clearDiffuse:
  • Material
clearDirectHost:
  • HTTPClient
clearDisplayRegion:
  • MouseWatcher
clearDrawOrder:
  • EggRenderMode
  • TextNode
  • TextProperties
clearEffect:
  • NodePath
  • PandaNode
clearEffectiveNormal:
  • CollisionSolid
clearEffects:
  • NodePath
  • PandaNode
clearEmission:
  • Material
clearEmit:
  • EggMaterial
clearEntries:
  • CollisionHandlerQueue
clearEvents:
  • InterestState
clearExpectedServers:
  • HTTPClient
clearExpires:
  • HTTPCookie
clearExtraHeaders:
  • HTTPChannel
clearFakeTextureImage:
  • TexturePool
clearFilename:
  • Texture
clearFixedSize:
  • WindowProperties
clearFlag:
  • ShaderAttrib
clearFloorZ:
  • ParticleSystem
clearFog:
  • NodePath
clearFont:
  • TextNode
  • TextProperties
clearForcedChannel:
  • PartGroup
clearForceSwitch:
  • LODNode
clearForeground:
  • WindowProperties
clearFps:
  • EggAnimData
  • EggXfmSAnim
clearFrame:
  • PGItem
  • TextNode
clearFromCollideMask:
  • EggGroup
clearFullpath:
  • Texture
clearFullscreen:
  • WindowProperties
clearGeometry:
  • MouseWatcher
clearGlyphScale:
  • TextNode
  • TextProperties
clearGlyphShift:
  • TextNode
  • TextProperties
clearGraphic:
  • TextPropertiesManager
clearGrefs:
  • EggVertex
clearGsg:
  • SceneGraphReducer
clearHorizontalSlider:
  • PGScrollFrame
clearIconFilename:
  • WindowProperties
clearInactivityTimeout:
  • MouseWatcher
clearIndent:
  • TextNode
  • TextProperties
clearIndexedFlag:
  • EggGroup
clearInPatterns:
  • CollisionHandlerEvent
clearIntervals:
  • CMetaInterval
  • MetaInterval
clearIntoCollideMask:
  • EggGroup
clearKeystone:
  • Lens
clearLeftButton:
  • PGSliderBar
clearLeftEyeMat:
  • MatrixLens
clearLevel:
  • PStatCollector
clearLight:
  • NodePath
clearLinearForces:
  • Physical
  • PhysicsManager
clearLocal:
  • EggMaterial
clearLocalTransforms:
  • CharacterJoint
clearLocalValue:
  • ConfigVariableBase
  • ConfigVariableSearchPath
clearLod:
  • EggGroup
clearMat:
  • NodePath
clearMaterial:
  • EggPrimitive
  • NodePath
clearMatrix:
  • RopeNode
clearMaxRows:
  • TextNode
clearMinimized:
  • WindowProperties
clearModelNodes:
  • NodePath
clearMouseMode:
  • WindowProperties
clearMultitexture:
  • EggTexture
clearMungerCache:
  • RenderState
clearName:
  • Event
  • Namable
clearNetTransforms:
  • CharacterJoint
clearNormal:
  • EggAttributes
clearNormalMap:
  • NodePath
clearObjectTypes:
  • EggGroup
clearOffset:
  • OdeGeom
clearOpen:
  • WindowProperties
clearOrder:
  • EggXfmAnimData
  • EggXfmSAnim
clearOrigin:
  • WindowProperties
clearOutPatterns:
  • CollisionHandlerEvent
clearOutput:
  • AnalogNode
clearPageUpDown:
  • LevelEditor
clearParentWindow:
  • WindowProperties
clearPathHighlights:
  • LevelEditor
clearPerspective:
  • EggPoint
clearPhysicals:
  • PhysicsManager
clearPhysicsObject:
  • LinearControlForce
clearPhysicsObjects:
  • Physical
clearPolygon:
  • Triangulator
clearPositions:
  • SmoothMover
clearPreserveTrailingWhitespace:
  • TextProperties
clearPrimitives:
  • Geom
clearPriority:
  • EggTexture
clearProjectTexture:
  • NodePath
clearProperties:
  • TextPropertiesManager
clearProxy:
  • HTTPClient
clearPythonData:
  • Actor
clearPythonTag:
  • NodePath
  • PandaNode
clearRamImage:
  • Texture
clearRamMipmapImage:
  • Texture
clearRamMipmapImages:
  • Texture
clearRange:
  • BitArray
  • SparseArray
clearRawMice:
  • WindowProperties
clearReadSize:
  • PNMImage
clearReceiver:
  • Event
clearRecorder:
  • CollisionTraverser
clearRegions:
  • MouseWatcherGroup
clearRejectedProperties:
  • GraphicsWindow
clearRenderMode:
  • NodePath
clearRenderTextures:
  • GraphicsOutput
clearRgbScale:
  • EggTexture
clearRightButton:
  • PGSliderBar
clearRightEyeMat:
  • MatrixLens
clearRows:
  • GeomVertexArrayData
  • GeomVertexArrayDataHandle
  • GeomVertexData
clearScissor:
  • NodePath
clearSegment:
  • ColorInterpolationManager
clearShader:
  • NodePath
  • ShaderAttrib
clearShaderInput:
  • NodePath
  • ShaderAttrib
clearShadow:
  • ExecutionEnvironment
  • TextNode
  • TextProperties
clearShadowColor:
  • TextNode
  • TextProperties
clearShininess:
  • EggMaterial
clearSize:
  • WindowProperties
clearSlant:
  • TextNode
  • TextProperties
clearSliderTable:
  • GeomVertexData
clearSmallCaps:
  • TextNode
  • TextProperties
clearSmallCapsScale:
  • TextNode
  • TextProperties
clearSmoothing:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
clearSolids:
  • CollisionNode
clearSound:
  • PGItem
clearSourceGeometry:
  • CardMaker
clearSpawnTemplates:
  • ParticleSystem
clearSpec:
  • EggMaterial
clearSpecular:
  • Material
clearStageName:
  • EggTexture
clearState:
  • PandaNode
clearStateDef:
  • PGItem
clearSwitches:
  • LODNode
clearTable:
  • AnimChannelMatrixXfmTable
  • AnimChannelScalarTable
clearTabWidth:
  • TextNode
  • TextProperties
clearTag:
  • DocumentSpec
  • EggGroup
  • NodePath
  • PandaNode
clearTagState:
  • Camera
clearTangent:
  • EggVertexUV
clearTCCache:
  • OdeTriMeshGeom
clearTexGen:
  • NodePath
clearTexProjector:
  • NodePath
clearText:
  • OnscreenText
  • TextEncoder
  • TextNode
clearTextColor:
  • TextNode
  • TextProperties
clearTexTransform:
  • NodePath
clearTexture:
  • EggPrimitive
  • NodePath
  • PGFrameStyle
clearThick:
  • EggLine
  • EggPoint
clearThreadLevel:
  • PStatCollector
clearThrowButtons:
  • ButtonThrower
clearThumbButton:
  • PGSliderBar
clearTimewarps:
  • ParametricCurveCollection
clearTitle:
  • WindowProperties
clearToInitial:
  • CInterval
  • ColorInterpolationManager
  • Interval
  • MetaInterval
  • ParticleEffect
  • ParticleSystem
clearTrailLog:
  • MouseWatcher
clearTrailNode:
  • MouseWatcher
clearTransform:
  • EggTransform
  • NodePath
  • PandaNode
clearTransformBlendTable:
  • GeomVertexData
clearTransformTable:
  • GeomVertexData
clearTransparency:
  • NodePath
clearTwoSided:
  • NodePath
clearUndecorated:
  • WindowProperties
clearUnderscore:
  • TextProperties
clearUnderscoreHeight:
  • TextProperties
clearUnexpectedChange:
  • PandaNode
clearUserData:
  • EggObject
clearUv:
  • EggVertex
clearUvName:
  • EggTexture
clearVerticalSlider:
  • PGScrollFrame
clearVertices:
  • GeomPrimitive
  • PortalNode
clearViewMat:
  • Lens
clearVirtualFrame:
  • PGScrollFrame
clearWindow:
  • FrameRateMeter
clearWordwrap:
  • TextNode
  • TextProperties
clearWorldContext:
  • DistributedCartesianGrid
clearZoneColors:
  • LevelEditor
clearZoneLabels:
  • LevelEditor
clearZOrder:
  • WindowProperties
clientConnect:
  • PStatClient
clientDisconnect:
  • PStatClient
clientFormatGenerate:
  • DCClass
clientFormatUpdate:
  • DCClass
  • DCField
clientHardDisconnectTask:
  • ServerRepository
clientIsConnected:
  • PStatClient
clientMainTick:
  • PStatClient
clientMultifileComplete:
  • DownloadDb
clientMultifileDecompressed:
  • DownloadDb
clientMultifileExists:
  • DownloadDb
clientMultifileExtracted:
  • DownloadDb
clientResumeAfterPause:
  • PStatClient
clientThreadTick:
  • PStatClient
close:
  • BamFile
  • ISocketStream
  • Multifile
  • OSocketStream
  • RecorderController
  • RotatingLog
  • SocketStream
  • SocketStreamRecorder
  • SSReader
  • SSWriter
Close:
  • Socket_IP
closeAutoInterests:
  • DoInterestManager
closeConnection:
  • ConnectionManager
closeIme:
  • GraphicsWindow
closePrimitive:
  • GeomPrimitive
closeReadFile:
  • VirtualFile
  • VirtualFileSystem
closeWindow:
  • ShowBase
coaModeColor:
  • ObjectHandles
collapse:
  • TreeNode
collapseEquivalentMaterials:
  • EggData
  • EggMaterialCollection
collapseEquivalentTextures:
  • EggData
  • EggTextureCollection
collapseGroup:
  • EggBinMaker
collect:
  • RigidBodyCombiner
collectLeftovers:
  • DataGraphTraverser
collectVertexData:
  • SceneGraphReducer
collided:
  • CollisionEntry
collideWithBitMask:
  • SelectionQueue
collideWithGeom:
  • SelectionQueue
collideWithWidget:
  • SelectionQueue
collisionsOff:
  • ControlManager
  • LevelEditor
collisionsOn:
  • ControlManager
  • LevelEditor
colorMap:
  • GeoMipTerrain
colorZones:
  • LevelEditor
combineWith:
  • PandaNode
commandFunc:
  • DirectButton
  • DirectCheckBox
  • DirectCheckButton
  • DirectEntry
  • DirectOptionMenu
  • DirectRadioButton
  • DirectScrollBar
  • DirectScrolledFrame
  • DirectSlider
compact:
  • StackTrace
compareKeywords:
  • DCKeywordList
compareSubfile:
  • Multifile
compareTags:
  • PandaNode
compareTimestamps:
  • Filename
compareTo:
  • BitArray
  • DocumentSpec
  • EggAttributes
  • EggVertexUV
  • Filename
  • GeomVertexArrayData
  • GeomVertexData
  • HashVal
  • HTTPDate
  • HTTPEntityTag
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • Material
  • NodePath
  • OdeBody
  • OdeGeom
  • OdeJoint
  • OdeJointGroup
  • OdeWorld
  • PolylightNode
  • RenderAttrib
  • RenderEffect
  • SparseArray
  • TransformBlend
  • TypeHandle
  • URLSpec
component:
  • DirectGuiBase
components:
  • DirectGuiBase
componentsGiven:
  • TransformState
compose:
  • RenderState
  • TransformState
composeColorScale:
  • NodePath
  • NodePathCollection
composeWithOrder:
  • EggXfmSAnim
computeAndApplySmoothHpr:
  • SmoothMover
computeAndApplySmoothMat:
  • SmoothMover
computeAndApplySmoothPos:
  • SmoothMover
computeAndApplySmoothPosHpr:
  • SmoothMover
computeBounds:
  • DirectBoundingBox
computeCOA:
  • DirectCameraControl
computeCurves:
  • MopathRecorder
computeDialAngle:
  • DialWidget
computeEndpoints:
  • FSMInspector
computePixels:
  • DisplayRegion
computePixelsAllStages:
  • DisplayRegion
computePoint:
  • FSMInspector
computeSmoothPosition:
  • SmoothMover
computeSnapAngle:
  • DirectGrid
computeSnapPoint:
  • DirectGrid
computeTangents:
  • CurveFitter
computeTightBounds:
  • DirectBoundingBox
computeValueFromAngle:
  • DialWidget
computeWallNum:
  • LevelEditor
conditional_request:
  • ClassicFSM
configure:
  • DirectGuiBase
  • OnscreenGeom
  • OnscreenImage
  • OnscreenText
configureDialog:
  • DirectDialog
configureDriveModeCollisionData:
  • LevelEditor
configureFilters:
  • AudioManager
  • AudioSound
conjugate:
  • LQuaterniond
  • LQuaternionf
conjugateFrom:
  • LQuaterniond
  • LQuaternionf
conjugateInPlace:
  • LQuaterniond
  • LQuaternionf
connect:
  • ConnectionRepository
  • PStatClient
connectStates:
  • FSMInspector
connectTo:
  • HTTPChannel
considerEvict:
  • SimpleLru
considerFlush:
  • CConnectionRepository
  • Connection
  • SocketStreamRecorder
  • SSWriter
considerFlushIndex:
  • BamCache
considerHeartbeat:
  • ClientRepositoryBase
considerYield:
  • Thread
consolidateAllTo:
  • ProfileTimer
consolidateStreetBuildings:
  • LevelEditor
consolidateTo:
  • ProfileTimer
containerLenStr:
  • ObjectPool
contains:
  • BoundingVolume
  • CRCache
  • GeometricBoundingVolume
contents:
  • Archive
  • CArchive
  • dirresource
  • pkgresource
  • resource
contextTask:
  • DisplayRegionList
control:
  • KeyboardButton
controlJoint:
  • Actor
  • PartBundle
controlObjectTask:
  • ClusterClient
  • ClusterServer
convertMat:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
convertTo:
  • GeomVertexData
convertToAMotor:
  • OdeJoint
convertToBall:
  • OdeJoint
convertToBox:
  • OdeGeom
convertToCappedCylinder:
  • OdeGeom
convertToContact:
  • OdeJoint
convertToCylinder:
  • OdeGeom
convertToFixed:
  • OdeJoint
convertToHashSpace:
  • OdeGeom
  • OdeSpace
convertToHinge:
  • OdeJoint
convertToHinge2:
  • OdeJoint
convertToLandmarkBlocks:
  • LevelEditor
convertToLMotor:
  • OdeJoint
convertToNull:
  • OdeJoint
convertToPlane:
  • OdeGeom
convertToPlane2d:
  • OdeJoint
convertToQuadTreeSpace:
  • OdeGeom
  • OdeSpace
convertToRay:
  • OdeGeom
convertToSimpleSpace:
  • OdeGeom
  • OdeSpace
convertToSlider:
  • OdeJoint
convertToSphere:
  • OdeGeom
convertToTriMesh:
  • OdeGeom
convertToUniversal:
  • OdeJoint
copy:
  • DNABaselineStyle
  • DNAFlatBuildingStyle
  • DNAWallStyle
copyActor:
  • Actor
copyAllProperties:
  • PandaNode
copyArray:
  • Datagram
copyAttributes:
  • EggPrimitive
copyBundle:
  • AnimBundle
copyChildren:
  • PandaNode
copyColor:
  • EggAttributes
copyCookiesFrom:
  • HTTPClient
copyDataFrom:
  • GeomVertexArrayDataHandle
copyFrom:
  • GeomVertexData
  • PNMImage
  • POD
copyGrefsFrom:
  • EggVertex
copyHeaderFrom:
  • PNMImage
copyLens:
  • LensNode
copyNormal:
  • EggAttributes
copyOptions:
  • DirectGuiWidget
copyPrimitivesFrom:
  • Geom
copyRowFrom:
  • GeomVertexData
copySubdataFrom:
  • GeomVertexArrayDataHandle
copySubgraph:
  • PandaNode
copySubImage:
  • PNMImage
copyTags:
  • PandaNode
copyTo:
  • DNABaselineStyle
  • Enum
  • NodePath
copyVertices:
  • EggPrimitive
count:
  • MetaInterval
countActiveSize:
  • SimpleLru
countAllocatedSize:
  • VertexDataBook
countNumDescendants:
  • NodePath
  • PandaNode
countObjects:
  • DoCollectionManager
countTextures:
  • GraphicsOutput
countTotalPageSize:
  • VertexDataBook
countUnusedSpace:
  • GeomVertexArrayFormat
create:
  • DirectLights
  • Factory
  • LineNodePath
  • LineSegs
createActorControls:
  • AnimPanel
createAnalogs:
  • DirectDeviceManager
createAngleDial:
  • MopathRecorder
  • ParticlePanel
createAudioManager:
  • AudioManager
createBaseAudioManagers:
  • ShowBase
createBaselineStyleAttributes:
  • LevelStyleManager
createBaselineStyleDictionary:
  • LevelStyleManager
createBaselineStyleMenu:
  • LevelStyleManager
createBaselineStyleSample:
  • LevelStyleManager
createBattleCells:
  • LevelEditor
createBBoxLines:
  • DirectBoundingBox
createBuffer:
  • FilterManager
createBuildingStyleAttributes:
  • LevelStyleManager
createBuildingStyleDictionary:
  • LevelStyleManager
createBuildingStyleMenu:
  • LevelStyleManager
createBuildingStyleSample:
  • LevelStyleManager
createButton:
  • MopathRecorder
createButtons:
  • DirectDeviceManager
  • TestAppShell
createCheckbutton:
  • MopathRecorder
  • ParticlePanel
createColorAttributes:
  • LevelStyleManager
createColorDictionary:
  • LevelStyleManager
createColorEntry:
  • MopathRecorder
  • ParticlePanel
createColorMenu:
  • LevelStyleManager
createColorMenus:
  • LevelStyleManager
createComboBox:
  • MopathRecorder
  • ParticlePanel
createcomponent:
  • DirectGuiBase
createConstantInterpolationSegmentWidget:
  • ParticlePanel
createCornice:
  • LevelEditor
createDefaultCtrls:
  • MemoryExplorer
createDefaultLights:
  • DirectLights
createDevicePage:
  • DirectSessionPanel
createDials:
  • DirectDeviceManager
createDNAAttributes:
  • LevelStyleManager
createDNAPieMenu:
  • LevelStyleManager
createDoor:
  • LevelEditor
createEntryScale:
  • MopathRecorder
createEnvPage:
  • DirectSessionPanel
createFloater:
  • MopathRecorder
  • ParticlePanel
createFloaters:
  • ParticlePanel
createForceActiveWidget:
  • ParticlePanel
createForceFrame:
  • ParticlePanel
createGridPage:
  • DirectSessionPanel
createGuideLines:
  • ObjectHandles
createInsertionMarker:
  • LevelEditor
createInterface:
  • AnimPanel
  • AppShell
  • DirectSessionPanel
  • FSMInspector
  • MopathRecorder
  • ParticlePanel
  • Placer
  • TaskManagerPanel
  • TestAppShell
createInterpolationSegmentFrame:
  • ParticlePanel
createLabeledEntry:
  • MopathRecorder
createLevelMaps:
  • LevelEditor
createLightsPage:
  • DirectSessionPanel
createLinearCylinderVortexForceWidget:
  • ParticlePanel
createLinearDistanceForceWidget:
  • ParticlePanel
createLinearForceWidgets:
  • ParticlePanel
createLinearFrictionForceWidget:
  • ParticlePanel
createLinearInterpolationSegmentWidget:
  • ParticlePanel
createLinearRandomForceWidget:
  • ParticlePanel
createLinearVectorForceWidget:
  • ParticlePanel
createListWidget:
  • InspectorWindow
createMain:
  • TestAppShell
createMap:
  • LevelEditor
createMemPage:
  • DirectSessionPanel
createMenuBar:
  • AppShell
createMenus:
  • InspectorWindow
createMiscAttribute:
  • LevelStyleManager
createMiscAttributes:
  • LevelStyleManager
createNewEffect:
  • ParticlePanel
createNewForceGroup:
  • ParticlePanel
createNewGroup:
  • LevelEditor
createNewParticles:
  • ParticlePanel
createNewPointSet:
  • MopathRecorder
createNewServerDb:
  • DownloadDb
createObject:
  • AsyncRequest
createObjectHandleLines:
  • ObjectHandles
createObjectId:
  • AsyncRequest
createOptionMenu:
  • MopathRecorder
  • ParticlePanel
createPopupMenu:
  • InspectorWindow
  • TreeNode
createRadiobutton:
  • MopathRecorder
  • ParticlePanel
createRefreshBT:
  • MemoryExplorer
createScale:
  • MemoryExplorer
createScrolledFrame:
  • MemoryExplorer
createSign:
  • LevelEditor
createSinusoidInterpolationSegmentWidget:
  • ParticlePanel
createSlider:
  • MopathRecorder
  • ParticlePanel
createSpriteAnimationFrame:
  • ParticlePanel
createSpriteAnimationNodeWidget:
  • ParticlePanel
createSpriteAnimationTextureWidget:
  • ParticlePanel
createStateInspectors:
  • FSMInspector
createStats:
  • ShowBase
createStepwaveInterpolationSegmentWidget:
  • ParticlePanel
createSuitPaths:
  • LevelEditor
createTasksPage:
  • DirectSessionPanel
createTextPieMenu:
  • LevelStyleManager
createTextWidgets:
  • InspectorWindow
createTimecodeReader:
  • DirectDeviceManager
createToplevel:
  • LevelEditor
createTracker:
  • DirectDeviceManager
createUniqueMaterial:
  • EggMaterialCollection
createUniqueTexture:
  • EggTextureCollection
createUniqueVertex:
  • EggVertexPool
createValuator:
  • Dial
  • Floater
  • Slider
  • Valuator
createVector2Entry:
  • MopathRecorder
  • ParticlePanel
createVector3Entry:
  • MopathRecorder
  • ParticlePanel
createViews:
  • InspectorWindow
createWallStyleAttributes:
  • LevelStyleManager
createWallStyleDictionary:
  • LevelStyleManager
createWallStyleMenu:
  • LevelStyleManager
createWallStyleSample:
  • LevelStyleManager
createWidget:
  • AppShell
createWidgetForExistingInterpolationSegment:
  • ParticlePanel
createWindows:
  • LevelEditor
createWithRequired:
  • ClientRepository
  • OldClientRepository
cropCurve:
  • MopathRecorder
cross:
  • LPoint3d
  • LPoint3f
  • LVecBase3d
  • LVecBase3f
  • LVector3d
  • LVector3f
crossInto:
  • LVecBase3d
  • LVecBase3f
cStr:
  • ConfigVariableFilename
  • ConfigVariableString
  • Filename
  • URLSpec
cullCallback:
  • RenderState
curveEditTask:
  • MopathRecorder
cvsAdd:
  • LevelEditor
cvsCommitAll:
  • LevelEditor
cvsUpdate:
  • LevelEditor
cvsUpdateAll:
  • LevelEditor
d_clearSmoothing:
  • DistributedSmoothNodeBase
d_returnResync:
  • DistributedSmoothNode
d_setH:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
d_setHpr:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
d_setLocation:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectUD
d_setP:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
d_setParent:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
  • DistributedSmoothNode
d_setPos:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
d_setPosHpr:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
d_setR:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
d_setX:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
d_setXY:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
d_setXYH:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
d_setXYZH:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
d_setXZ:
  • DistributedNode
d_setY:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
d_setZ:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
d_suggestResync:
  • DistributedSmoothNode
darkenSubImage:
  • PNMImage
dataAvailable:
  • QueuedConnectionReader
  • RecentConnectionReader
deactivate:
  • ObjectHandles
debug:
  • Notifier
  • NotifyCategory
  • webNotifyDebug
debugCall:
  • Notifier
debugIsLocked:
  • MutexDirect
  • ReMutexDirect
debugOutput:
  • PhysicsManager
debugPrint:
  • InputState
debugStateCall:
  • Notifier
dec:
  • RefCounter
decMemoryUsage:
  • TypeHandle
decodeText:
  • TextEncoder
decompose:
  • Geom
  • GeomNode
  • GeomPrimitive
  • SceneGraphReducer
decomposeInPlace:
  • Geom
decompress:
  • Decompressor
def:
  • ContainerLeakDetector
  • CountedResource
  • DistancePhasedNode
  • DistributedCartesianGrid
  • DistributedObjectAI
  • DoCollectionManager
  • ExclusiveObjectPool
  • FindContainers
  • FunctionInterval
  • GoldenRectangle
  • GridParent
  • JobManager
  • MotionTrail
  • POD
  • TaskManager
defaultEnter:
  • FSM
defaultExit:
  • FSM
defaultFilter:
  • FSM
  • ToonEyes
defaults:
  • Signature
defineoptions:
  • DirectGuiBase
dehighlight:
  • DirectNodePath
dehighlightAll:
  • SelectedNodePaths
del:
  • KeyboardButton
delayDelete:
  • DistributedObject
delBloom:
  • CommonFilters
delCartoonInk:
  • CommonFilters
delete:
  • Actor
  • AsyncRequest
  • ControlManager
  • CRCache
  • DirectLights
  • DistributedActor
  • DistributedCartesianGrid
  • DistributedCartesianGridAI
  • DistributedNode
  • DistributedNodeAI
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectGlobalAI
  • DistributedObjectGlobalUD
  • DistributedObjectOV
  • DistributedObjectUD
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
  • DistributedSmoothNodeBase
  • FourStateAI
  • GridParent
  • InputState
  • MotionTrail
  • ShadowPlacer
deleteAll:
  • DirectLights
deleteClientMultifile:
  • DownloadDb
deleteCollisions:
  • ControlManager
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • ObserverWalker
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
deleteDeclaration:
  • ConfigPage
deleteDistributedObjects:
  • DoCollectionManager
deleteDocument:
  • HTTPChannel
deleteExplicitPage:
  • ConfigPageManager
deleteObjectLocation:
  • DoCollectionManager
  • DoHierarchy
deleteOrDelay:
  • DistributedObject
  • DistributedObjectOV
deleteSignItem:
  • LevelEditorPanel
deleteToplevel:
  • LevelEditor
delHalfPixelShift:
  • CommonFilters
delViewGlow:
  • CommonFilters
demand:
  • FSM
demoMode:
  • DirectJoybox
dependencies:
  • binaryresource
  • pkgresource
  • resource
  • scriptresource
dependentsUnchanged:
  • BamCacheRecord
dequeueEvent:
  • EventQueue
dequeueGeom:
  • PreparedGraphicsObjects
dequeueIndexBuffer:
  • PreparedGraphicsObjects
dequeueLru:
  • SimpleLruPage
dequeueShader:
  • PreparedGraphicsObjects
dequeueTexture:
  • PreparedGraphicsObjects
dequeueVertexBuffer:
  • PreparedGraphicsObjects
dereferenceDictKey:
  • Indirection
desample:
  • CurveFitter
desampleCurve:
  • MopathRecorder
deselect:
  • DirectSession
  • SelectedNodePaths
  • TreeNode
deselectall:
  • TreeNode
deselectAll:
  • DirectSession
  • SelectedNodePaths
deselectedNodePathHook:
  • LevelEditor
  • MopathRecorder
deselectNodePath:
  • ClusterClient
deselecttree:
  • TreeNode
destroy:
  • ArgumentEater
  • BulletinBoardWatcher
  • CachedDOData
  • CheckContainers
  • ContainerLeakDetector
  • ContainerReport
  • CRDataCache
  • DelayDelete
  • DelayedCall
  • DestructiveScratchPad
  • DirectDialog
  • DirectEntry
  • DirectFastrak
  • DirectFrame
  • DirectGuiBase
  • DirectGuiWidget
  • DirectJoybox
  • DirectRadamec
  • DirectScrollBar
  • DirectScrolledFrame
  • DirectScrolledList
  • DirectSession
  • DirectSlider
  • DirectWaitBar
  • EnterExit
  • EventArgument
  • EventGroup
  • EventPulse
  • ExclusiveObjectPool
  • FindContainers
  • FrameDelayedCall
  • FunctionCall
  • Functor
  • GarbageReport
  • Indirection
  • InterestWatcher
  • Job
  • JobManager
  • LeakDetector
  • LevelEditor
  • Loader
  • MopathInterval
  • ObjectPool
  • ObjectRef
  • ObjectReport
  • OdeBody
  • OdeGeom
  • OdeJoint
  • OdeJointGroup
  • OdeSpace
  • OdeTriMeshData
  • OdeTriMeshGeom
  • OdeWorld
  • OnscreenGeom
  • OnscreenImage
  • OnscreenText
  • ParamObj
  • ParentMgr
  • PruneObjectRefs
  • PushesStateChanges
  • ReceivesMultipleStateChanges
  • ReceivesStateChanges
  • RelatedObjectMgr
  • SceneGraphLeakDetector
  • ScratchPad
  • ShowBase
  • SliderWidget
  • StateChangeNode
  • TaskLeakDetector
  • TaskManager
  • TaskThreaded
  • TextPieMenu
  • TreeNode
  • WidgetPropertiesDialog
destroycomponent:
  • DirectGuiBase
detach:
  • NodePathCollection
  • OdeJoint
detachListener:
  • Audio3DManager
detachNode:
  • NodePath
detachPatterns:
  • ARToolKit
detachSound:
  • Audio3DManager
detailedRepr:
  • Messenger
determinant:
  • LMatrix3d
  • LMatrix3f
determine_parent:
  • ModuleFinder
determineAlphaMode:
  • EggGroup
  • EggNode
  • EggPrimitive
determineBin:
  • EggGroup
  • EggNode
  • EggPrimitive
determineDecal:
  • EggGroup
  • EggNode
determineDepthTestMode:
  • EggGroup
  • EggNode
  • EggPrimitive
determineDepthWriteMode:
  • EggGroup
  • EggNode
  • EggPrimitive
determineDrawOrder:
  • EggGroup
  • EggNode
  • EggPrimitive
determineHeight:
  • PhysicsWalker
  • ShipPilot2
determineIndexed:
  • EggGroup
  • EggNode
determineVisibilityMode:
  • EggGroup
  • EggNode
  • EggPrimitive
determineWrapU:
  • EggTexture
determineWrapV:
  • EggTexture
determineWrapW:
  • EggTexture
dictFromGET:
  • WebRequest
diff:
  • ExclusiveObjectPool
  • ObjectPool
  • ObjectReport
directUpdate:
  • DCClass
disable:
  • ControlManager
  • DirectAnalogs
  • DirectButtons
  • DirectDials
  • DirectFastrak
  • DirectGrid
  • DirectJoybox
  • DirectRadamec
  • DirectSession
  • DirectTimecodeReader
  • DirectTracker
  • DistributedActor
  • DistributedCartesianGrid
  • DistributedNode
  • DistributedObject
  • DistributedObjectOV
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
  • DistributedSmoothNodeBase
  • ForceGroup
  • LevelEditor
  • OdeBody
  • OdeGeom
  • OdeSpace
  • ParticleEffect
  • Particles
  • PolylightNode
disableActionEvents:
  • DirectSession
disableActorControlAt:
  • AnimPanel
disableActorControls:
  • AnimPanel
disableAllAudio:
  • ShowBase
disableAndAnnounce:
  • DistributedObject
  • DistributedObjectOV
disableAnnounceAndDelete:
  • DistributedObject
  • DistributedObjectOV
disableAvatarControls:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • ObserverWalker
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
disableAvatarJump:
  • ControlManager
disableBlend:
  • Actor
disableClears:
  • DrawableRegion
disableControl:
  • ActorControl
disableDoId:
  • ClientRepositoryBase
disableEdit:
  • DirectGuiWidget
disableHandle:
  • ObjectHandles
disableHandles:
  • ObjectHandles
disableKeyEvents:
  • DirectSession
disableKeyframeButton:
  • MopathRecorder
disableManipulation:
  • DirectManipulationControl
disableModifierEvents:
  • DirectSession
disableMouse:
  • LevelEditor
  • ShowBase
disableMouseEvents:
  • DirectSession
disableMouseFly:
  • DirectCameraControl
disableParticles:
  • ShowBase
disablePointerEvents:
  • GraphicsWindow
disablePointerMode:
  • GraphicsWindow
disconnect:
  • CConnectionRepository
  • ConnectionRepository
  • PStatClient
dispatchEvent:
  • EventHandler
displayDebugInfo:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
displayFrameCounts:
  • ActorControl
  • AnimPanel
displaySeconds:
  • ActorControl
  • AnimPanel
distributeStateChange:
  • FourStateAI
distToPlane:
  • CollisionPlane
  • Planed
  • Planef
distToPlaneA:
  • CollisionDSSolid
distToPlaneB:
  • CollisionDSSolid
dive:
  • InspectorWindow
do_setParent:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
doBillboardAxis:
  • NodePath
doBillboardPointEye:
  • NodePath
doBillboardPointWorld:
  • NodePath
doByDistance:
  • DoCollectionManager
doCallbackContext:
  • DistributedObject
DoConnect:
  • Buffered_DatagramConnection
doDeltaPos:
  • GravityWalker
  • NonPhysicsWalker
  • PhysicsWalker
  • ShipPilot2
doEvents:
  • EventManager
doFind:
  • DoCollectionManager
doFindAll:
  • DoCollectionManager
doFindAllMatching:
  • DoCollectionManager
doMethodLater:
  • DirectObject
  • TaskManager
done:
  • TaskThread
  • UserDataAudio
doneBarrier:
  • DistributedObject
DontLinger:
  • Socket_TCP
doOsd:
  • TaskManager
doParticles:
  • ParticleSystemManager
doPhysics:
  • PhysicsManager
doSmoothTask:
  • DistributedSmoothNode
dot:
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
doubleside:
  • Geom
  • GeomPrimitive
doublesideInPlace:
  • Geom
down:
  • KeyboardButton
  • LVector3d
  • LVector3f
downAncestry:
  • DirectSession
downloadToFile:
  • HTTPChannel
downloadToRam:
  • HTTPChannel
doYield:
  • TaskManager
doYieldExample:
  • TaskManager
draw:
  • TreeNode
drawArrow:
  • LineNodePath
drawArrow2d:
  • LineNodePath
drawBattleCell:
  • LevelEditor
drawConnections:
  • FSMInspector
drawicon:
  • TreeNode
drawInFront:
  • Actor
drawLine:
  • PNMPainter
drawLines:
  • LineNodePath
drawPoint:
  • PNMPainter
drawRectangle:
  • PNMPainter
drawSuitEdge:
  • LevelEditor
drawSuitPoint:
  • LevelEditor
drawtext:
  • TreeNode
drawTo:
  • LineNodePath
  • LineSegs
driveMode:
  • DirectJoybox
dsoFilename:
  • Filename
dump:
  • Structure
  • Target
dumpHex:
  • Datagram
duplicateFlatBuilding:
  • LevelEditor
easeInOut:
  • MopathRecorder
edit:
  • ArchiveTarget
  • ExeTarget
  • InstallTarget
  • PYZTarget
  • Target
  • TreeNode
edit_cancel:
  • TreeNode
edit_finish:
  • TreeNode
editDNAVisGroups:
  • LevelEditor
editStart:
  • DirectGuiWidget
editStop:
  • DirectGuiWidget
elevateLock:
  • ReMutexDirect
empty:
  • ConfigVariableFilename
  • ConfigVariableString
  • EggGroupNode
  • Filename
  • OdeJointGroup
  • URLSpec
enable:
  • BufferViewer
  • ControlManager
  • DirectAnalogs
  • DirectButtons
  • DirectDials
  • DirectFastrak
  • DirectGrid
  • DirectJoybox
  • DirectRadamec
  • DirectSession
  • DirectTimecodeReader
  • DirectTracker
  • ForceGroup
  • LevelEditor
  • OdeBody
  • OdeGeom
  • OdeSpace
  • ParticleEffect
  • Particles
  • PolylightNode
enable_motion_trail:
  • MotionTrail
enableActionEvents:
  • DirectSession
enableActorControlAt:
  • AnimPanel
enableActorControls:
  • AnimPanel
enableAllAudio:
  • ShowBase
enableAngularVelocity:
  • ZSpinParticleFactory
enableAvatarControls:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • ObserverWalker
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
enableAvatarJump:
  • ControlManager
enableBlend:
  • Actor
enableControl:
  • ActorControl
enableEdit:
  • DirectGuiWidget
enableHandle:
  • ObjectHandles
enableHandles:
  • ObjectHandles
enableKeyEvents:
  • DirectSession
enableKeyframeButton:
  • MopathRecorder
enableLandingPage:
  • WebRequestDispatcher
enableLight:
  • DirectSession
enableManipulation:
  • DirectManipulationControl
enableModifierEvents:
  • DirectSession
enableMouse:
  • LevelEditor
  • ShowBase
enableMouseEvents:
  • DirectSession
enableMouseFly:
  • DirectCameraControl
enableMusic:
  • ShowBase
enableParticles:
  • ShowBase
enablePointerEvents:
  • GraphicsWindow
enablePointerMode:
  • GraphicsWindow
enableSoftwareMousePointer:
  • ShowBase
enableSoundEffects:
  • ShowBase
enableTC:
  • OdeTriMeshGeom
encircles:
  • PointerEventList
encodeWchar:
  • TextEncoder
encodeWtext:
  • TextEncoder
end:
  • KeyboardButton
  • LMatrix4d
  • LMatrix4f
end_geometry:
  • MotionTrail
end_motion_trail:
  • MotionTrail
endElement:
  • ExcelHandler
endOOBE:
  • DirectSession
endPack:
  • DCPacker
endRepack:
  • DCPacker
endTraverse:
  • PipeOcclusionCullTraverser
endUnpack:
  • DCPacker
enqueueGeom:
  • PreparedGraphicsObjects
enqueueIndexBuffer:
  • PreparedGraphicsObjects
enqueueLru:
  • SimpleLruPage
enqueueShader:
  • PreparedGraphicsObjects
enqueueTexture:
  • PreparedGraphicsObjects
enqueueVertexBuffer:
  • PreparedGraphicsObjects
ensure_fromlist:
  • ModuleFinder
enter:
  • KeyboardButton
  • State
  • StateData
enterClosed:
  • ToonEyes
enteredState:
  • FSMInspector
  • StateInspector
enterFunction:
  • MiniLog
enterGreen:
  • ClassicStyle
  • NewStyle
enterInitialState:
  • ClassicFSM
enterOff:
  • ToonEyes
enterOpen:
  • ToonEyes
enterRed:
  • ClassicStyle
  • NewStyle
enterState0:
  • FourState
  • FourStateAI
enterState1:
  • FourState
  • FourStateAI
enterState2:
  • FourState
  • FourStateAI
enterState3:
  • FourState
  • FourStateAI
enterState4:
  • FourState
  • FourStateAI
enterStateN:
  • FourState
  • FourStateAI
enterSurprised:
  • ToonEyes
enterText:
  • DirectEntry
enterYellow:
  • ClassicStyle
  • NewStyle
enterZone:
  • LevelEditor
entry:
  • EntryScale
  • VectorEntry
entryList:
  • VectorEntry
eof:
  • ios
error:
  • Notifier
  • NotifyCategory
ErrorIsWouldBlocking:
  • Socket_TCP
escape:
  • KeyboardButton
estimateTextureMemory:
  • Texture
evalCommand:
  • InspectorWindow
evalExtendedPoint:
  • NurbsCurveResult
  • NurbsSurfaceResult
evalExtendedPoints:
  • NurbsCurveResult
  • NurbsSurfaceResult
evalNormal:
  • NurbsSurfaceResult
evalPoint:
  • NurbsCurveResult
  • NurbsSurfaceResult
evalSegmentExtendedPoint:
  • NurbsCurveResult
  • NurbsSurfaceResult
evalSegmentExtendedPoints:
  • NurbsCurveResult
  • NurbsSurfaceResult
evalSegmentNormal:
  • NurbsSurfaceResult
evalSegmentPoint:
  • NurbsCurveResult
  • NurbsSurfaceResult
evalSegmentTangent:
  • NurbsCurveResult
evalTangent:
  • NurbsCurveResult
evaluate:
  • NurbsCurveEvaluator
  • NurbsSurfaceEvaluator
  • ParametricCurveCollection
evaluateHpr:
  • ParametricCurveCollection
evaluateT:
  • ParametricCurveCollection
evaluateXyz:
  • ParametricCurveCollection
eventLoopTask:
  • EventManager
evictLru:
  • SimpleLruPage
execCommand:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectGlobalUD
  • DistributedObjectUD
executableFilename:
  • Filename
exists:
  • Filename
  • VirtualFileSystem
exit:
  • ClusterClient
  • State
  • StateData
exitedState:
  • FSMInspector
  • StateInspector
exitfunc:
  • ShowBase
exitFunction:
  • MiniLog
exitGreen:
  • ClassicStyle
  • NewStyle
exitRed:
  • ClassicStyle
  • NewStyle
exitState0:
  • FourState
  • FourStateAI
exitState1:
  • FourState
  • FourStateAI
exitState2:
  • FourState
  • FourStateAI
exitState3:
  • FourState
  • FourStateAI
exitState4:
  • FourState
  • FourStateAI
exitStateN:
  • FourStateAI
exitYellow:
  • ClassicStyle
  • NewStyle
expand:
  • TreeNode
expandBorder:
  • PNMImage
expandClientMultifile:
  • DownloadDb
expandFrom:
  • Filename
expandString:
  • ExecutionEnvironment
exposeJoint:
  • Actor
extend:
  • MetaInterval
extendBy:
  • BoundingVolume
  • GeometricBoundingVolume
extract:
  • Archive
  • BitArray
  • CArchive
  • ZlibArchive
extractBaselineStyle:
  • LevelStyleManager
extractBytes:
  • DatagramIterator
  • StreamReader
extractComponents:
  • Filename
extractData:
  • BamCacheRecord
extractGroupName:
  • LevelEditor
extractMaterials:
  • EggMaterialCollection
extractPointSetFromCurveCollection:
  • MopathRecorder
extractPointSetFromCurveFitter:
  • MopathRecorder
extractSubfile:
  • Multifile
extractSubfileTo:
  • Multifile
extractTextureData:
  • GraphicsEngine
extractTextures:
  • EggTextureCollection
extractToMatrix:
  • LQuaterniond
  • LQuaternionf
extractWallStyle:
  • LevelStyleManager
extrude:
  • Lens
extrudeVec:
  • Lens
f1:
  • KeyboardButton
f10:
  • KeyboardButton
f11:
  • KeyboardButton
f12:
  • KeyboardButton
f13:
  • KeyboardButton
f14:
  • KeyboardButton
f15:
  • KeyboardButton
f16:
  • KeyboardButton
f2:
  • KeyboardButton
f3:
  • KeyboardButton
f4:
  • KeyboardButton
f5:
  • KeyboardButton
f6:
  • KeyboardButton
f7:
  • KeyboardButton
f8:
  • KeyboardButton
f9:
  • KeyboardButton
faceAwayFromViewer:
  • Actor
faceForward:
  • MopathRecorder
  • ParametricCurveCollection
faceTowardsViewer:
  • Actor
fadeIn:
  • Transitions
fadeOut:
  • Transitions
fadeOutActive:
  • Transitions
fadeScreen:
  • Transitions
fadeScreenColor:
  • Transitions
fail:
  • ios
  • NodePath
failedCommandFunc:
  • DirectEntry
fastrakUpdate:
  • DirectFastrak
fatal:
  • NotifyCategory
fetchIntoBitbucket:
  • MovieVideoCursor
fetchIntoTexture:
  • MovieVideoCursor
fetchIntoTextureAlpha:
  • MovieVideoCursor
fetchIntoTextureRgb:
  • MovieVideoCursor
fileno:
  • RotatingLog
filePath:
  • RotatingLog
fill:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • PNMImage
fillList:
  • InspectorWindow
fillVal:
  • PNMImage
filter:
  • lTOC
filterClosed:
  • ToonEyes
filterGreen:
  • NewStyle
filterName:
  • EggNameUniquifier
  • EggVertexUV
filterOff:
  • FSM
filterOpen:
  • ToonEyes
filterRed:
  • NewStyle
filterToMax:
  • ClipPlaneAttrib
  • LightAttrib
filterYellow:
  • NewStyle
finalizeExit:
  • ShowBase
find:
  • CTOC
  • Messenger
  • NodePath
  • TreeNode
find_all_submodules:
  • ModuleFinder
find_head_package:
  • ModuleFinder
find_module:
  • ModuleFinder
findAll:
  • Messenger
findAllFiles:
  • ConfigVariableSearchPath
  • DSearchPath
  • VirtualFileSystem
findAllMatches:
  • NodePath
  • NodePathCollection
findAllMaterials:
  • NodePath
findAllPathsTo:
  • NodePath
findAllTexcoords:
  • NodePath
findAllTextures:
  • NodePath
findAllTextureStages:
  • NodePath
findAllVertexColumns:
  • NodePath
findAncestor:
  • InternalName
findAngle:
  • FSMInspector
findAnim:
  • AnimControlCollection
findAnyOfType:
  • DoCollectionManager
findAsciiButton:
  • ButtonRegistry
findAttrib:
  • RenderState
findBin:
  • CullBinManager
findBldgEndPoint:
  • LevelEditor
findChild:
  • AnimGroup
  • EggGroupNode
  • PandaNode
  • PartGroup
findCInterval:
  • CIntervalManager
findCollisionEntry:
  • SelectionQueue
findDNANode:
  • LevelEditor
findDNAParent:
  • LevelEditor
findDNARoot:
  • LevelEditor
findEffect:
  • RenderEffects
findFile:
  • ConfigVariableSearchPath
  • DSearchPath
  • VirtualFileSystem
findFilename:
  • EggTextureCollection
findHighestLandmarkBlock:
  • LevelEditor
findJoint:
  • Character
findLength:
  • ParametricCurve
findMatchingVertex:
  • EggVertexPool
findMaterial:
  • MaterialCollection
  • NodePath
findMref:
  • EggMaterialCollection
findNetPythonTag:
  • NodePath
findNetTag:
  • NodePath
findNextCollisionEntry:
  • SelectionQueue
findNode:
  • AttribNodeRegistry
findOnSearchpath:
  • Filename
findOnStage:
  • TextureAttrib
findParent:
  • PandaNode
findParentVisGroup:
  • LevelEditor
findPathTo:
  • NodePath
findPointOrCell:
  • LevelEditor
findRegion:
  • MouseWatcherGroup
findScreen:
  • NonlinearImager
findSeekIndex:
  • DCPackerInterface
findSignFromDNARoot:
  • LevelEditorPanel
findSlider:
  • Character
findSliders:
  • SliderTable
findStashed:
  • PandaNode
findSubfile:
  • Multifile
findSuitEdge:
  • LevelEditor
findTexture:
  • NodePath
  • TextureCollection
findTextureStage:
  • NodePath
  • TextureStageCollection
findTref:
  • EggTextureCollection
findType:
  • TypeRegistry
findUsedMaterials:
  • EggMaterialCollection
findUsedTextures:
  • EggTextureCollection
findViewer:
  • NonlinearImager
finish:
  • AsyncRequest
  • CInterval
  • DelayedCall
  • DirectWaitBar
  • FrameDelayedCall
  • Interval
  • JobManager
  • MetaInterval
  • SoundInterval
finished:
  • ContainerReport
  • GarbageReport
  • Job
  • TaskThread
  • TaskThreaded
finishIntervalsMatching:
  • IntervalManager
finishTask:
  • Task
fitOnNodePath:
  • DirectSession
fitOnWidget:
  • DirectCameraControl
five:
  • MouseButton
fixBounds:
  • Actor
fixBounds_old:
  • Actor
flash:
  • DirectSession
flashDone:
  • DirectSession
flashDummy:
  • DirectSession
flatten:
  • MultitexReducer
  • SceneGraphReducer
flattenLight:
  • NodePath
flattenMedium:
  • NodePath
flattenStrong:
  • NodePath
flattenTransforms:
  • EggNode
flickerOff:
  • PolylightNode
flickerOn:
  • PolylightNode
flip:
  • TreeNode
flipFrame:
  • GraphicsEngine
floaters:
  • VectorEntry
flush:
  • Actor
  • CachedDOData
  • CConnectionRepository
  • CollisionHandlerEvent
  • Connection
  • CRCache
  • CRDataCache
  • GeomCacheManager
  • iostream
  • MiniLog
  • Multifile
  • MultiplexStream
  • OSocketStream
  • ostream
  • RotatingLog
  • SocketStream
  • SocketStreamRecorder
  • SSWriter
Flush:
  • Buffered_DatagramConnection
flushCachedData:
  • DistributedObject
flushEventHandlers:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • PhysicsWalker
flushGenerates:
  • ClientRepositoryBase
flushIndex:
  • BamCache
flushLevel:
  • PStatCollector
flushThreads:
  • VertexDataPage
fmax:
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
fmin:
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
focusInCommandFunc:
  • DirectEntry
focusOutCommandFunc:
  • DirectEntry
followSelectedNodePathTask:
  • DirectManipulationControl
  • DirectSession
followTerrain:
  • MopathRecorder
force:
  • InputState
forceAllowDelayDelete:
  • DistributedObject
forceDgraph:
  • DriveInterface
forceFilenames:
  • EggGroupNode
forceRecomputeBounds:
  • NodePath
forceSwitch:
  • LODNode
forceToTruePosition:
  • DistributedSmoothNode
forceTransition:
  • ClassicFSM
  • FSM
forceUpdate:
  • Character
  • PartBundle
  • TextNode
forceYield:
  • Thread
forEachDeselectedNodePathDo:
  • SelectedNodePaths
forEachSelectedNodePathDo:
  • SelectedNodePaths
forkAsynchronousThread:
  • ClientBase
formatData:
  • DCField
forward:
  • LVector3d
  • LVector3f
four:
  • MouseButton
fpsMode:
  • DirectJoybox
fractionUsed:
  • UniqueIdAllocator
frameInitialiseFunc:
  • DirectGuiWidget
free:
  • SimpleAllocatorBlock
  • UniqueIdAllocator
freeze:
  • MemoryUsage
  • OnscreenText
freezeJoint:
  • Actor
  • PartBundle
fresh:
  • UpdateSeq
frombinary:
  • CTOC
fromfile:
  • Structure
fromOsSpecific:
  • Filename
fromVal:
  • PNMImage
front:
  • Queue
full_arglist:
  • Signature
garbageCollect:
  • DynamicTextFont
  • FontPool
  • MaterialPool
  • ModelPool
  • ShaderPool
  • TexturePool
gather:
  • ArchiveTarget
  • CollectTarget
  • ExeTarget
  • FullExeTarget
  • InstallTarget
  • PYZTarget
  • Target
gaussianFilter:
  • PNMImage
gaussianFilterFrom:
  • PNMImage
genAvSelect:
  • aiWebServer
generate:
  • BaseParticleEmitter
  • CardMaker
  • DistributedCartesianGrid
  • DistributedLargeBlobSender
  • DistributedNode
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectOV
  • DistributedObjectUD
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
  • DistributedSmoothNodeBase
  • FisheyeMaker
  • GeoMipTerrain
  • HeightfieldTesselator
  • TextNode
generateAlphaScaleMap:
  • Texture
generateGlobalObject:
  • ConnectionRepository
generateInit:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectOV
  • DistributedObjectUD
generateInto:
  • PNMTextMaker
generateName:
  • EggNameUniquifier
generateNormalizationCubeMap:
  • Texture
generateOtpObject:
  • DistributedObjectAI
  • DistributedObjectUD
generateRamMipmapImages:
  • Texture
generateScreen:
  • ProjectionScreen
generateSortedIDList:
  • aiWebServer
generateTargetChannel:
  • DistributedObjectAI
  • DistributedObjectUD
generateWithRequired:
  • DistributedObjectAI
  • DistributedObjectUD
generateWithRequiredAndId:
  • DistributedObjectAI
  • DistributedObjectUD
generateWithRequiredFields:
  • ClientRepository
  • ClientRepositoryBase
  • OldClientRepository
generateWithRequiredOtherFields:
  • ClientRepositoryBase
generateWithRequiredOtherFieldsOwner:
  • ClientRepositoryBase
genQuestSelect:
  • aiWebServer
genToken:
  • webNotifyDebug
get:
  • BulletinBoard
  • ControlManager
  • CTOC
  • DialWidget
  • DirectEntry
  • DirectOptionMenu
  • EntryScale
  • EntryScaleGroup
  • FloaterGroup
  • FloaterWidget
  • istream
  • MovieAudio
  • MovieVideo
  • OdeRayGeom
  • SliderWidget
  • StateVar
  • Valuator
  • ValuatorGroup
  • VectorEntry
get2ndtangent:
  • ParametricCurve
get3dAttributes:
  • AudioSound
get3dMaxDistance:
  • AudioSound
get3dMinDistance:
  • AudioSound
get_archive:
  • PackageArchive
  • PackageArchiveImporter
get_code:
  • Archive
  • DirectoryImporter
  • FuncImporter
  • Importer
  • MkImporter
  • PackageArchiveImporter
get_subfile:
  • PackageArchiveImporter
getA:
  • Parabolad
  • Parabolaf
getA0:
  • PolylightNode
getA1:
  • PolylightNode
getA2:
  • PolylightNode
getAABB:
  • OdeGeom
  • OdeSpace
getAcceptClockSkew:
  • SmoothMover
getAcceptEvent:
  • PGEntry
getAcceptFailedEvent:
  • PGEntry
getAcceptFailedPrefix:
  • PGEntry
getAcceptPrefix:
  • PGEntry
getAccessTimestamp:
  • Filename
GetAccountConnectionChannel:
  • DistributedObjectAI
  • DistributedObjectUD
GetAccountIDFromChannelCode:
  • DistributedObjectAI
  • DistributedObjectUD
getAccumBits:
  • FrameBufferProperties
getActive:
  • AudioManager
  • AudioSound
  • BamCache
  • BaseForce
  • MouseWatcherRegion
  • PGItem
  • PhysicsObject
getActiveDisplayRegion:
  • GraphicsOutput
getActiveSystemFlag:
  • ParticleSystem
getActorControlAt:
  • AnimPanel
getActorInfo:
  • Actor
getActualMode:
  • CullFaceAttrib
getAdditionalExtensions:
  • LoaderFileType
getAddr:
  • NetAddress
getAddress:
  • Connection
  • NetDatagram
getAdjustEvent:
  • PGSliderBar
getAdjustPrefix:
  • PGSliderBar
getAgainPattern:
  • CollisionHandlerEvent
getAge:
  • MemoryUsagePointers
getAirborneHeight:
  • CollisionHandlerGravity
  • GravityWalker
getAlias:
  • ButtonHandle
getAliasPhase:
  • PhasedObject
getAlign:
  • PNMTextMaker
  • TextProperties
getAll:
  • CollisionEntry
getAllAccepting:
  • DirectObject
  • Messenger
getAllCameraMask:
  • PandaNode
getAllClasses:
  • ClassTree
getAllContactInfo:
  • CollisionEntry
getAllInterestsCompleteEvent:
  • DoInterestManager
getAllocator:
  • SimpleAllocatorBlock
getAllOfType:
  • DoCollectionManager
getAllowDiskCache:
  • LoaderFileType
getAllowMultifile:
  • Patchfile
getAllowProxy:
  • HTTPChannel
getAllowRamCache:
  • LoaderFileType
getAlmostStationarySpeed:
  • PhysicsCollisionHandler
getAlpha:
  • PNMImage
getAlphaBits:
  • FrameBufferProperties
getAlphaBlendMethod:
  • SpriteParticleRenderer
getAlphaDisable:
  • SpriteParticleRenderer
getAlphaFileChannel:
  • EggTexture
getAlphaFilename:
  • EggTexture
  • Texture
getAlphaFullpath:
  • EggTexture
  • Texture
getAlphaMode:
  • BaseParticleRenderer
  • EggRenderMode
getAlphaScale:
  • EggTexture
  • TextureStage
getAlphaScaleMap:
  • TexturePool
getAlphaScaleTextureStage:
  • GraphicsStateGuardian
getAlphaScaleViaTexture:
  • GraphicsStateGuardian
getAlphaVal:
  • PNMImage
getAlt:
  • ShowBase
getAmb:
  • EggMaterial
getAmbient:
  • Material
getAmplitude:
  • BaseParticleEmitter
  • LinearForce
getAmplitudeSpread:
  • BaseParticleEmitter
getAncestor:
  • InternalName
getAnchor:
  • OdeBallJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeUniversalJoint
getAnchor2:
  • OdeBallJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeUniversalJoint
getAndSetName:
  • DirectSession
getAngle:
  • LQuaterniond
  • LQuaternionf
  • OdeAMotorJoint
  • OdeHingeJoint
  • RingEmitter
getAngle1:
  • OdeHinge2Joint
  • OdeUniversalJoint
getAngle1Rate:
  • OdeHinge2Joint
  • OdeUniversalJoint
getAngle2:
  • OdeUniversalJoint
getAngle2Rate:
  • OdeHinge2Joint
  • OdeUniversalJoint
getAngleRad:
  • LQuaterniond
  • LQuaternionf
getAngleRate:
  • OdeAMotorJoint
  • OdeHingeJoint
getAngularForce:
  • Physical
getAngularVel:
  • OdeBody
getAngularVelocity:
  • ZSpinParticleFactory
getAngularVelocityEnabled:
  • ZSpinParticleFactory
getAngularVelocitySpread:
  • ZSpinParticleFactory
getAnim:
  • AnimControl
  • AnimControlCollection
  • SpriteParticleRenderer
getAnimAngleFlag:
  • SpriteParticleRenderer
getAnimateFramesEnable:
  • SpriteParticleRenderer
getAnimateFramesIndex:
  • SpriteParticleRenderer
getAnimateFramesRate:
  • SpriteParticleRenderer
getAnimation:
  • GeomVertexFormat
getAnimationType:
  • GeomVertexAnimationSpec
getAnimBlendFlag:
  • PartBundle
getAnimBlends:
  • Actor
getAnimControl:
  • Actor
getAnimControlDict:
  • Actor
getAnimControls:
  • Actor
getAnimFilename:
  • Actor
getAnimName:
  • AnimControlCollection
getAnimNames:
  • Actor
getAnisotropicDegree:
  • DynamicTextFont
  • EggTexture
  • Texture
getAntialias:
  • NodePath
getApproxCenter:
  • GeometricBoundingVolume
getarchive:
  • Squeezer
getArea:
  • MouseWatcherRegion
getArg:
  • ExecutionEnvironment
  • PyDatagramIterator
getArray:
  • Datagram
  • GeomVertexData
  • GeomVertexFormat
  • GeomVertexReader
  • GeomVertexRewriter
  • GeomVertexWriter
getArrayData:
  • GeomVertexReader
  • GeomVertexRewriter
  • GeomVertexWriter
getArrayFormat:
  • GeomVertexArrayData
  • GeomVertexArrayDataHandle
getArraySize:
  • DCArrayParameter
getArrayWith:
  • GeomVertexFormat
getAsciiEquivalent:
  • ButtonHandle
getAspectRatio:
  • InternalName
  • Lens
  • ShowBase
getAssertErrorMessage:
  • Notify
getAssertHandler:
  • Notify
getAt:
  • EntryScaleGroup
  • FloaterGroup
  • ValuatorGroup
  • VectorEntry
getAtomic:
  • DCMolecularField
getAttenuation:
  • PointLight
  • PolylightNode
  • Spotlight
getAttrib:
  • NodePath
  • PandaNode
  • RenderState
getAttribute:
  • LevelEditor
  • LevelStyleManager
getAudioVolume:
  • NodePath
  • RenderState
getAuthority:
  • URLSpec
getAutoDisableAngularThreshold:
  • OdeBody
  • OdeWorld
getAutoDisableFlag:
  • OdeBody
  • OdeWorld
getAutoDisableLinearThreshold:
  • OdeBody
  • OdeWorld
getAutoDisableSteps:
  • OdeBody
  • OdeWorld
getAutoDisableTime:
  • OdeBody
  • OdeWorld
getAutoEnableDepthSf1:
  • OdeWorld
getAutoFinish:
  • CInterval
getAutoFlip:
  • GraphicsEngine
getAutoHide:
  • PGScrollFrame
getAutoInterests:
  • DistributedObject
getAutoPause:
  • CInterval
getAutoResolveExternals:
  • EggData
getAutoRun:
  • LEAvatar
getAuxData:
  • Texture
getAuxFloat:
  • FrameBufferProperties
getAuxHrgba:
  • FrameBufferProperties
getAuxMask:
  • FrameBufferProperties
getAuxRgba:
  • FrameBufferProperties
getAuxSceneData:
  • Camera
getAvailablePageFileSize:
  • DisplayInformation
getAvailablePhysicalMemory:
  • DisplayInformation
getAvailableProcessVirtualMemory:
  • DisplayInformation
GetAvatarIDFromChannelCode:
  • DistributedObjectAI
  • DistributedObjectUD
getAverageFrameRate:
  • ClockObject
getAverageFrameRateInterval:
  • ClockObject
getAxialRotate:
  • BillboardEffect
getAxis:
  • LQuaterniond
  • LQuaternionf
  • OdeAMotorJoint
  • OdeHingeJoint
  • OdeLMotorJoint
  • OdeSliderJoint
  • PGSliderBar
getAxis1:
  • OdeHinge2Joint
  • OdeUniversalJoint
getAxis2:
  • OdeHinge2Joint
  • OdeUniversalJoint
getAxisIntersectPt:
  • ObjectHandles
getAxisNormalized:
  • LQuaterniond
  • LQuaternionf
getAxisRel:
  • OdeAMotorJoint
getB:
  • Parabolad
  • Parabolaf
getBackBuffers:
  • FrameBufferProperties
getBackfaceCull:
  • OdeRayGeom
getBackgroundColor:
  • ShowBase
getBackgroundFocus:
  • PGItem
getBalance:
  • AudioSound
getBarStyle:
  • PGWaitBar
getBaseFrameRate:
  • Actor
  • AnimBundle
getBasename:
  • ConfigVariableFilename
  • Filename
  • InternalName
  • NotifyCategory
getBasenameWoExtension:
  • ConfigVariableFilename
  • Filename
getBattleCellFromNodePath:
  • LevelEditor
getBeFloat32:
  • DatagramIterator
  • StreamReader
getBeFloat64:
  • DatagramIterator
  • StreamReader
getBeInt16:
  • DatagramIterator
  • StreamReader
getBeInt32:
  • DatagramIterator
  • StreamReader
getBeInt64:
  • DatagramIterator
  • StreamReader
getBestParentFromSet:
  • TypeHandle
getBeUint16:
  • DatagramIterator
  • StreamReader
getBeUint32:
  • DatagramIterator
  • StreamReader
getBeUint64:
  • DatagramIterator
  • StreamReader
getBfaceFlag:
  • EggPrimitive
getBillboardCenter:
  • EggGroup
getBillboardType:
  • EggGroup
getBin:
  • CullBinManager
  • EggRenderMode
  • RenderState
  • TextProperties
getBinActive:
  • CullBinManager
getBinaryName:
  • ExecutionEnvironment
getBinDrawOrder:
  • NodePath
getBinIndex:
  • RenderState
getBinName:
  • CullBinAttrib
  • CullBinManager
  • EggBinMaker
  • NodePath
getBinNumber:
  • EggBin
  • EggBinMaker
getBinormal:
  • EggVertexUV
  • InternalName
getBinormalName:
  • InternalName
getBinSort:
  • CullBinManager
getBinType:
  • CullBinManager
getBirthRadius:
  • SparkleParticleRenderer
getBirthRate:
  • ParticleSystem
getBit:
  • BitArray
  • SparseArray
getBitsToChange:
  • DrawMaskAttrib
getBlank:
  • ShaderInput
getBldg:
  • LevelEditor
getBlend:
  • TransformBlend
  • TransformBlendTable
getBlendColor:
  • EggGroup
getBlendMethod:
  • PointParticleRenderer
getBlendMode:
  • EggGroup
getBlendOperandA:
  • EggGroup
getBlendOperandB:
  • EggGroup
getBlendType:
  • CLerpInterval
  • PartBundle
  • PointParticleRenderer
getBlinkRate:
  • PGEntry
getBlob:
  • DistributedLargeBlobSender
getBlockFromName:
  • LevelEditor
getBlockFromPos:
  • GeoMipTerrain
getBlockingConnect:
  • HTTPChannel
getBlockNodePath:
  • GeoMipTerrain
getBlockSize:
  • GeoMipTerrain
getBlue:
  • PNMImage
getBlueVal:
  • PNMImage
getBody:
  • OdeGeom
  • OdeJoint
getBook:
  • GeomVertexArrayData
  • VertexDataPage
getBool:
  • DatagramIterator
  • StreamReader
getbool:
  • Target
getBoolWord:
  • ConfigVariable
getBorderColor:
  • EggTexture
  • Texture
getBottom:
  • DisplayRegion
  • MouseSubregion
  • TextNode
getBounce:
  • OdeSurfaceParameters
getBounceVel:
  • OdeSurfaceParameters
getBound:
  • MovingPartBase
getBoundJoints:
  • AnimControl
getBounds:
  • CollisionSolid
  • DirectBoundingBox
  • DirectEntry
  • DirectGuiWidget
  • Geom
  • NodePath
  • PandaNode
getBright:
  • PNMImage
getBruteforce:
  • GeoMipTerrain
getBTWidth:
  • MemoryExplorer
getBuffer:
  • NonlinearImager
  • PipeOcclusionCullTraverser
getBufferMask:
  • FrameBufferProperties
getBuildDate:
  • PandaSystem
getBuildingWidth:
  • LevelEditor
getBundle:
  • AnimBundleNode
  • Character
  • PartBundleHandle
  • PartBundleNode
getBundleHandle:
  • PartBundleNode
getButton:
  • ButtonRegistry
  • ModifierButtons
  • MouseWatcherParameter
getButtonDownEvent:
  • ButtonThrower
getButtonDownPattern:
  • MouseWatcher
getButtonMap:
  • ButtonNode
getButtonRepeatEvent:
  • ButtonThrower
getButtonRepeatPattern:
  • MouseWatcher
getButtonState:
  • ButtonNode
getButtonUpEvent:
  • ButtonThrower
getButtonUpPattern:
  • MouseWatcher
getBytesDownloaded:
  • HTTPChannel
getBytesRequested:
  • HTTPChannel
getC:
  • Parabolad
  • Parabolaf
getCacheable:
  • DistributedObject
  • DistributedObjectOV
getCacheControl:
  • DocumentSpec
getCachedData:
  • DistributedObject
getCacheFilename:
  • BamCacheRecord
getCacheLimit:
  • AudioManager
getCacheMaxKbytes:
  • BamCache
getCacheRefCount:
  • CachedTypedWritableReferenceCount
getCallback:
  • DistributedObject
getCallbackArgs:
  • DistributedObject
getCallbackContext:
  • DistributedObject
getCamera:
  • DisplayRegion
  • InternalName
getCameraMask:
  • Camera
getCandidateActive:
  • PGEntry
getCandidateEvent:
  • ButtonThrower
getCandidateInactive:
  • PGEntry
getCandidateStringEncoded:
  • MouseWatcherParameter
getCanvas:
  • DirectScrolledFrame
getCanvasNode:
  • PGVirtualFrame
getCanvasParent:
  • PGVirtualFrame
getCanvasTransform:
  • PGVirtualFrame
getCardActual:
  • TextNode
getCardAsSet:
  • TextNode
getCardBorderSize:
  • TextNode
getCardBorderUvPortion:
  • TextNode
getCardColor:
  • TextNode
getCardDecal:
  • TextNode
getCardTexture:
  • TextNode
getCardTransformed:
  • TextNode
getCase:
  • DCSwitch
getCaseByValue:
  • DCSwitch
getCaseSensitive:
  • GlobPattern
getCatalogCode:
  • LevelStyleManager
getCatalogCodes:
  • LevelStyleManager
getCatalogCodesSuffix:
  • LevelStyleManager
getCategories:
  • DirectNotify
getCategory:
  • DirectNotify
  • EggNameUniquifier
  • Notify
getCategoryBits:
  • OdeGeom
  • OdeSpace
getCell:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
getCellIn:
  • PortalNode
getCellOut:
  • PortalNode
getCellWidth:
  • DistributedCartesianGridAI
getCenter:
  • BoundingSphere
  • CollisionHandlerPhysical
  • CollisionSphere
  • DirectBoundingBox
  • DirectGuiWidget
  • DirectNodePath
  • LODNode
  • OdeMass
getCenterA:
  • CollisionDSSolid
getCenterB:
  • CollisionDSSolid
getCenterColor:
  • SparkleParticleRenderer
getCenterPos:
  • DistributedCartesianGrid
getCfm:
  • OdeWorld
getChangeEvent:
  • Lens
getChannel:
  • PNMImage
getChannelIndex:
  • AnimControl
getChannels:
  • ColorWriteAttrib
  • MicrophoneAudio
getChannelVal:
  • PNMImage
getCharacter:
  • CharacterJoint
  • CharacterJointEffect
  • PGEntry
  • TextAssembler
getCharSlider:
  • CharacterVertexSlider
getChild:
  • AnimGroup
  • NodePath
  • NotifyCategory
  • PandaNode
  • PartGroup
getChildClass:
  • TypeHandle
  • TypeRegistry
getChildIds:
  • MopathRecorder
getChildren:
  • NodePath
  • State
getChildrenAsList:
  • MemoryExplorerItem
getChildSort:
  • GraphicsOutput
  • PandaNode
getCInterval:
  • CIntervalManager
  • CMetaInterval
getCipherList:
  • HTTPClient
getClass:
  • DCClassParameter
  • DCField
  • DCFile
  • OdeGeom
  • OdeSpace
getClassByName:
  • DCFile
getClassDef:
  • DCClass
getClassPriority:
  • Light
getClassType:
  • ActorNode
  • AlphaTestAttrib
  • AmbientLight
  • AnalogNode
  • AngularForce
  • AngularVectorForce
  • AnimBundle
  • AnimBundleNode
  • AnimChannelBase
  • AnimChannelMatrixDynamic
  • AnimChannelMatrixXfmTable
  • AnimChannelScalarDynamic
  • AnimChannelScalarTable
  • AnimControl
  • AnimGroup
  • AnimInterface
  • AntialiasAttrib
  • AsyncTask
  • AsyncTaskManager
  • AudioManager
  • AudioSound
  • AudioVolumeAttrib
  • AutonomousLerp
  • AuxBitplaneAttrib
  • AuxSceneData
  • BamCacheRecord
  • BaseForce
  • BillboardEffect
  • BitArray
  • BoundingBox
  • BoundingHexahedron
  • BoundingLine
  • BoundingPlane
  • BoundingSphere
  • BoundingVolume
  • BufferContext
  • Buffered_DatagramConnection
  • ButtonHandle
  • ButtonNode
  • ButtonThrower
  • CachedTypedWritableReferenceCount
  • Camera
  • Character
  • CharacterJoint
  • CharacterJointBundle
  • CharacterJointEffect
  • CharacterSlider
  • CharacterVertexSlider
  • CInterval
  • CLerpAnimEffectInterval
  • CLerpInterval
  • CLerpNodePathInterval
  • ClientBase
  • ClipPlaneAttrib
  • ClockObject
  • CMetaInterval
  • CollisionDSSolid
  • CollisionEntry
  • CollisionFloorMesh
  • CollisionHandler
  • CollisionHandlerEvent
  • CollisionHandlerFloor
  • CollisionHandlerFluidPusher
  • CollisionHandlerGravity
  • CollisionHandlerPhysical
  • CollisionHandlerPusher
  • CollisionHandlerQueue
  • CollisionInvSphere
  • CollisionLine
  • CollisionNode
  • CollisionParabola
  • CollisionPlane
  • CollisionPolygon
  • CollisionRay
  • CollisionRecorder
  • CollisionSegment
  • CollisionSolid
  • CollisionSphere
  • CollisionTraverser
  • CollisionTube
  • CollisionVisualizer
  • ColorAttrib
  • ColorBlendAttrib
  • ColorInterpolationFunctionConstant
  • ColorInterpolationFunctionLinear
  • ColorInterpolationFunctionSinusoid
  • ColorInterpolationFunctionStepwave
  • ColorLerpFunctor
  • ColorScaleAttrib
  • ColorScaleLerpFunctor
  • ColorWriteAttrib
  • CompassEffect
  • CopyOnWriteObject
  • CubicCurveseg
  • CullBinAttrib
  • CullFaceAttrib
  • CullTraverser
  • CurveFitter
  • CylindricalLens
  • Datagram
  • DataNode
  • DecalEffect
  • DepthOffsetAttrib
  • DepthTestAttrib
  • DepthWriteAttrib
  • DialNode
  • DirectionalLight
  • DisplayRegion
  • DrawMaskAttrib
  • DriveInterface
  • DynamicTextFont
  • DynamicTextPage
  • EaseInBlendType
  • EaseInOutBlendType
  • EaseOutBlendType
  • EggAnimData
  • EggAttributes
  • EggBin
  • EggBinMaker
  • EggComment
  • EggCompositePrimitive
  • EggCurve
  • EggData
  • EggExternalReference
  • EggFilenameNode
  • EggGroup
  • EggGroupNode
  • EggGroupUniquifier
  • EggLine
  • EggMaterial
  • EggNamedObject
  • EggNameUniquifier
  • EggNode
  • EggNurbsCurve
  • EggNurbsSurface
  • EggObject
  • EggPoint
  • EggPolygon
  • EggPolysetMaker
  • EggPoolUniquifier
  • EggPrimitive
  • EggRenderMode
  • EggSAnimData
  • EggSurface
  • EggSwitchCondition
  • EggSwitchConditionDistance
  • EggTable
  • EggTexture
  • EggTriangleFan
  • EggTriangleStrip
  • EggUserData
  • EggVertex
  • EggVertexPool
  • EggVertexUV
  • EggXfmAnimData
  • EggXfmSAnim
  • Event
  • EventHandler
  • EventStorePandaNode
  • EventStoreTypedRefCount
  • EventStoreValueBase
  • ExternalThread
  • FadeLODNode
  • FfmpegAudio
  • FfmpegAudioCursor
  • FFMpegTexture
  • FfmpegVideo
  • FfmpegVideoCursor
  • Filename
  • FilterProperties
  • FiniteBoundingVolume
  • FisheyeLens
  • Fog
  • FogAttrib
  • ForceNode
  • FrameRateMeter
  • Geom
  • GeomContext
  • GeometricBoundingVolume
  • GeomLines
  • GeomLinestrips
  • GeomNode
  • GeomPoints
  • GeomPrimitive
  • GeomTextGlyph
  • GeomTriangles
  • GeomTrifans
  • GeomTristrips
  • GeomVertexArrayData
  • GeomVertexArrayDataHandle
  • GeomVertexArrayFormat
  • GeomVertexData
  • GeomVertexFormat
  • GraphicsBuffer
  • GraphicsDevice
  • GraphicsOutput
  • GraphicsPipe
  • GraphicsStateGuardian
  • GraphicsStateGuardianBase
  • GraphicsWindow
  • HermiteCurve
  • HideInterval
  • HprLerpFunctor
  • HprScaleLerpFunctor
  • HTTPChannel
  • IndexBufferContext
  • InkblotVideo
  • InkblotVideoCursor
  • InternalName
  • JointVertexTransform
  • Lens
  • LensNode
  • Lerp
  • LerpBlendType
  • LerpFunctor
  • Light
  • LightAttrib
  • LightLensNode
  • LightNode
  • LightRampAttrib
  • LinearControlForce
  • LinearCylinderVortexForce
  • LinearDistanceForce
  • LinearForce
  • LinearFrictionForce
  • LinearJitterForce
  • LinearNoiseForce
  • LinearRandomForce
  • LinearSinkForce
  • LinearSourceForce
  • LinearUserDefinedForce
  • LinearVectorForce
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LoaderFileType
  • LODNode
  • LOrientationd
  • LOrientationf
  • LPoint2d
  • LPoint2f
  • LPoint3d
  • LPoint3f
  • LPoint4d
  • LPoint4f
  • LQuaterniond
  • LQuaternionf
  • LRotationd
  • LRotationf
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • LVector2d
  • LVector2f
  • LVector3d
  • LVector3f
  • LVector4d
  • LVector4f
  • MainThread
  • Material
  • MaterialAttrib
  • MatrixLens
  • MicrophoneAudio
  • ModelFlattenRequest
  • ModelLoadRequest
  • ModelNode
  • ModelRoot
  • MouseAndKeyboard
  • MouseInterfaceNode
  • MouseRecorder
  • MouseSubregion
  • MouseWatcher
  • MouseWatcherGroup
  • MouseWatcherRegion
  • MovieAudio
  • MovieAudioCursor
  • MovieTexture
  • MovieVideo
  • MovieVideoCursor
  • MovingPartBase
  • MovingPartMatrix
  • MovingPartScalar
  • MultiLerpFunctor
  • Namable
  • NetDatagram
  • NoBlendType
  • NodeCachedReferenceCount
  • NodePath
  • NodeReferenceCount
  • NodeVertexTransform
  • NurbsCurve
  • NurbsCurveInterface
  • OdeAMotorJoint
  • OdeBallJoint
  • OdeBody
  • OdeBoxGeom
  • OdeCappedCylinderGeom
  • OdeContact
  • OdeContactGeom
  • OdeContactJoint
  • OdeCylinderGeom
  • OdeFixedJoint
  • OdeGeom
  • OdeHashSpace
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeJoint
  • OdeJointGroup
  • OdeLMotorJoint
  • OdeMass
  • OdeNullJoint
  • OdePlane2dJoint
  • OdePlaneGeom
  • OdeQuadTreeSpace
  • OdeRayGeom
  • OdeSimpleSpace
  • OdeSliderJoint
  • OdeSpace
  • OdeSphereGeom
  • OdeSurfaceParameters
  • OdeTriMeshData
  • OdeTriMeshGeom
  • OdeUniversalJoint
  • OdeWorld
  • OmniBoundingVolume
  • OrthographicLens
  • PandaNode
  • PandaSystem
  • ParametricCurve
  • ParasiteBuffer
  • PartBundle
  • PartBundleNode
  • PartGroup
  • ParticleSystem
  • PerspectiveLens
  • PGButton
  • PGEntry
  • PGItem
  • PGMouseWatcherBackground
  • PGMouseWatcherParameter
  • PGScrollFrame
  • PGSliderBar
  • PGTop
  • PGVirtualFrame
  • PGWaitBar
  • Physical
  • PhysicalNode
  • PhysicsCollisionHandler
  • PhysicsObject
  • PiecewiseCurve
  • PipeOcclusionCullTraverser
  • PlaneNode
  • PNMFileType
  • PointerEventList
  • PointLight
  • PolylightEffect
  • PolylightNode
  • PortalNode
  • PosHprLerpFunctor
  • PosHprScaleLerpFunctor
  • PosLerpFunctor
  • ProjectionScreen
  • PSphereLens
  • PythonThread
  • RecorderBase
  • RecorderController
  • ReferenceCount
  • RenderAttrib
  • RenderEffect
  • RenderEffects
  • RenderModeAttrib
  • RenderState
  • RescaleNormalAttrib
  • RigidBodyCombiner
  • RopeNode
  • SavedContext
  • ScaleLerpFunctor
  • ScissorAttrib
  • ScissorEffect
  • SelectiveChildNode
  • SequenceNode
  • ShadeModelAttrib
  • Shader
  • ShaderAttrib
  • ShaderContext
  • ShaderGenerator
  • ShaderInput
  • SheetNode
  • ShowBoundsEffect
  • ShowInterval
  • SliderTable
  • Socket_IP
  • Socket_TCP
  • Socket_TCP_Listen
  • Socket_UDP
  • Socket_UDP_Incoming
  • Socket_UDP_Outgoing
  • SocketStreamRecorder
  • SparseArray
  • Spotlight
  • StaticTextFont
  • StencilAttrib
  • SwitchNode
  • TexGenAttrib
  • TexMatrixAttrib
  • TexProjectorEffect
  • TextEncoder
  • TextFont
  • TextNode
  • TextProperties
  • Texture
  • TextureAttrib
  • TextureContext
  • TextureStage
  • Thread
  • Trackball
  • TrackerNode
  • Transform2SG
  • TransformBlend
  • TransformBlendTable
  • TransformState
  • TransformTable
  • TransparencyAttrib
  • TypedObject
  • TypedReferenceCount
  • TypedSkel
  • TypedWritable
  • TypedWritableReferenceCount
  • UserDataAudio
  • UserDataAudioCursor
  • UserVertexSlider
  • UserVertexTransform
  • VertexBufferContext
  • VertexDataPage
  • VertexSlider
  • VertexTransform
  • VideoTexture
  • VirtualFile
  • VirtualFileComposite
  • VirtualFileSimple
  • VirtualMouse
  • VrpnClient
  • WaitInterval
  • WebcamVideo
  • WritableConfigurable
getCleanup:
  • OdeSpace
getClearActive:
  • DrawableRegion
getClearColor:
  • DrawableRegion
getClearColorActive:
  • DrawableRegion
getClearDepth:
  • DrawableRegion
getClearDepthActive:
  • DrawableRegion
getClearDepthBetweenEyes:
  • DisplayRegion
getClears:
  • FilterManager
getClearStencil:
  • DrawableRegion
getClearStencilActive:
  • DrawableRegion
getClearValue:
  • DrawableRegion
getClickEvent:
  • PGButton
getClickPrefix:
  • PGButton
getClientDatagram:
  • CConnectionRepository
getClientMultifileHash:
  • DownloadDb
getClientMultifileName:
  • DownloadDb
getClientMultifilePhase:
  • DownloadDb
getClientMultifileSize:
  • DownloadDb
getClientName:
  • PStatClient
getClientNumMultifiles:
  • DownloadDb
getClip:
  • ScissorEffect
getClipEffect:
  • PlaneNode
getClipFrame:
  • PGVirtualFrame
getClipPlane:
  • RenderState
getClockObject:
  • FrameRateMeter
getClockOffset:
  • RecorderController
getCloseRequestEvent:
  • GraphicsWindow
getClosestHit:
  • OdeRayGeom
getCoef:
  • LinearCylinderVortexForce
  • LinearFrictionForce
getCol:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
getCol2:
  • LMatrix3d
  • LMatrix3f
getCol3:
  • LMatrix4d
  • LMatrix4f
getCollector:
  • PStatClient
getCollectorDef:
  • PStatClient
getCollectorFullname:
  • PStatClient
getCollectorName:
  • PStatClient
getCollectTcp:
  • Connection
  • SocketStreamRecorder
  • SSWriter
getCollectTcpInterval:
  • Connection
  • SocketStreamRecorder
  • SSWriter
getCollideBits:
  • OdeGeom
  • OdeSpace
getCollideFlags:
  • EggGroup
getCollideId:
  • OdeSpace
getCollideMask:
  • EggGroup
  • NodePath
  • NodePathCollection
getCollider:
  • CollisionTraverser
getColliderSort:
  • CollisionNode
getCollisionName:
  • EggGroup
getCollisionOrigin:
  • CollisionSolid
getCollisionsActive:
  • GravityWalker
  • PhysicsWalker
  • ShipPilot2
getCollTrav:
  • DistributedObjectAI
  • DistributedObjectUD
getColor:
  • ColorAttrib
  • ColorBlendAttrib
  • EggAttributes
  • EggTexture
  • Fog
  • InternalName
  • Light
  • NodePath
  • PGFrameStyle
  • PolylightNode
  • RenderState
  • SampleObject
  • SpriteParticleRenderer
  • TextureStage
getColorA:
  • ColorInterpolationFunctionConstant
getColorB:
  • ColorInterpolationFunctionLinear
getColorBits:
  • FrameBufferProperties
getColorDictionary:
  • LevelStyleManager
getColorInterpolationManager:
  • GeomParticleRenderer
  • SpriteParticleRenderer
getColorScale:
  • NodePath
  • RenderState
getColorScaleViaLighting:
  • GraphicsStateGuardian
getColorScenegraph:
  • PolylightNode
getColorType:
  • ColorAttrib
  • PNMImageHeader
getColumn:
  • GeomVertexArrayFormat
  • GeomVertexFormat
  • GeomVertexReader
  • GeomVertexRewriter
  • GeomVertexWriter
getCombineAlphaMode:
  • TextureStage
getCombineAlphaOperand0:
  • TextureStage
getCombineAlphaOperand1:
  • TextureStage
getCombineAlphaOperand2:
  • TextureStage
getCombineAlphaSource0:
  • TextureStage
getCombineAlphaSource1:
  • TextureStage
getCombineAlphaSource2:
  • TextureStage
getCombineMode:
  • EggTexture
getCombineOperand:
  • EggTexture
getCombineRadius:
  • SceneGraphReducer
getCombineRgbMode:
  • TextureStage
getCombineRgbOperand0:
  • TextureStage
getCombineRgbOperand1:
  • TextureStage
getCombineRgbOperand2:
  • TextureStage
getCombineRgbSource0:
  • TextureStage
getCombineRgbSource1:
  • TextureStage
getCombineRgbSource2:
  • TextureStage
getCombineSource:
  • EggTexture
getComment:
  • EggComment
  • PNMImageHeader
getCommonAncestor:
  • NodePath
getCommonAppdataDirectory:
  • Filename
getCompiler:
  • PandaSystem
getComponent:
  • EggCompositePrimitive
getComponentBytes:
  • GeomVertexColumn
getComponentH:
  • DistributedSmoothNodeAI
getComponentMat3:
  • EggTransform
getComponentMat4:
  • EggTransform
getComponentNumber:
  • EggTransform
getComponentP:
  • DistributedSmoothNodeAI
getComponentR:
  • DistributedSmoothNodeAI
getComponentT:
  • DistributedSmoothNodeAI
getComponentType:
  • EggTransform
  • Texture
getComponentVec2:
  • EggTransform
getComponentVec3:
  • EggTransform
getComponentWidth:
  • Texture
getComponentX:
  • DistributedSmoothNodeAI
getComponentY:
  • DistributedSmoothNodeAI
getComponentZ:
  • DistributedSmoothNodeAI
getCompositionCacheNumEntries:
  • TransformState
getCompositionCacheResult:
  • TransformState
getCompositionCacheSize:
  • TransformState
getCompositionCacheSource:
  • TransformState
getCompression:
  • Texture
getCompressionMode:
  • EggTexture
getConcentricZones:
  • CartesianGridBase
getConcurrentSoundLimit:
  • AudioManager
getConnectedShading:
  • EggGroupNode
  • EggPrimitive
getConnectingJoint:
  • OdeUtil
getConnectingJointList:
  • OdeUtil
getConnection:
  • HTTPChannel
  • NetDatagram
getConnectTimeout:
  • HTTPChannel
getConstantValue:
  • TexGenAttrib
getConstructor:
  • DCClass
getContactData:
  • OdeSpace
getContactId:
  • OdeSpace
getContactMaxCorrectingVel:
  • OdeWorld
getContactNormal:
  • CollisionEntry
  • CollisionHandlerGravity
getContactPos:
  • CollisionEntry
getContactSurfaceLayer:
  • OdeWorld
getContactVector:
  • ActorNode
getContainerById:
  • ContainerLeakDetector
getContainerByIdGen:
  • ContainerLeakDetector
getContainerGen:
  • ObjectRef
getContainerIds:
  • ContainerLeakDetector
getContainerNameById:
  • ContainerLeakDetector
getContainerNameByIdGen:
  • ContainerLeakDetector
getContents:
  • EggXfmAnimData
  • GeomVertexColumn
getContiguous:
  • SimpleAllocator
getContrib:
  • PolylightEffect
getControl:
  • ShowBase
getControlEffect:
  • PartBundle
getControlState:
  • AnalogNode
getConvergenceDistance:
  • Lens
getCookie:
  • HTTPClient
getCoordinateSystem:
  • ClientBase
  • EggData
  • EggXfmAnimData
  • EggXfmSAnim
  • GraphicsStateGuardian
  • Lens
  • TextNode
  • Trackball
getCopyTextureInverted:
  • GraphicsStateGuardian
getCount:
  • LevelAttribute
getCpuBrandIndex:
  • DisplayInformation
getCpuBrandString:
  • DisplayInformation
getCpuFrequency:
  • DisplayInformation
getCpuIdData:
  • DisplayInformation
getCpuIdSize:
  • DisplayInformation
getCpuIdVersion:
  • DisplayInformation
getCpuTime:
  • DisplayInformation
getCpuVendorString:
  • DisplayInformation
getCpuVersionInformation:
  • DisplayInformation
getCsType:
  • EggGroup
getCubeMapIndex:
  • DisplayRegion
getCubicLerping:
  • DiscEmitter
getCullCenter:
  • Camera
getCullName:
  • GraphicsThreadingModel
getCullSorting:
  • GraphicsThreadingModel
getCullStage:
  • GraphicsThreadingModel
getCullTraverser:
  • DisplayRegion
getCurrent:
  • LevelAttribute
  • LevelEditor
getCurrentAnim:
  • Actor
getCurrentContexts:
  • DistributedObject
getCurrentCppSize:
  • MemoryUsage
getCurrentCpuFrequency:
  • DisplayInformation
getCurrentDr:
  • DisplayRegionList
getCurrentEntry:
  • SelectionQueue
getCurrentField:
  • DCPacker
getCurrentFieldName:
  • DCPacker
getCurrentFrame:
  • Actor
  • ActorInterval
getCurrentIndex:
  • DatagramIterator
getCurrentMajorVer:
  • BamFile
getCurrentMinorVer:
  • BamFile
getCurrentOrNextState:
  • FSM
getCurrentParams:
  • ParamObj
getCurrentParent:
  • DCPacker
getCurrentPipelineStage:
  • Thread
getCurrentPosition:
  • LineNodePath
  • LineSegs
getCurrentState:
  • ClassicFSM
getCurrentThread:
  • DataGraphTraverser
  • GeomVertexReader
  • GeomVertexWriter
  • PStatClient
  • Thread
getCursorDef:
  • PGEntry
getCursorFilename:
  • WindowProperties
getCursorHidden:
  • WindowProperties
getCursorKeysActive:
  • PGEntry
getCursorPos:
  • MouseWatcherParameter
getCursorPosition:
  • PGEntry
getCurve:
  • ParametricCurveCollection
  • RopeNode
getCurveType:
  • EggCurve
  • ParametricCurve
getCutoffDistance:
  • SfxPlayer
getCv:
  • EggNurbsSurface
  • NurbsCurveInterface
getCvIn:
  • HermiteCurve
getCvName:
  • HermiteCurve
getCvOut:
  • HermiteCurve
getCvPoint:
  • HermiteCurve
  • NurbsCurveInterface
getCvTstart:
  • HermiteCurve
getCvType:
  • HermiteCurve
getCvWeight:
  • NurbsCurveInterface
getCw:
  • CConnectionRepository
getCwd:
  • ExecutionEnvironment
  • VirtualFileSystem
getDarkRoom:
  • NonlinearImager
getDartType:
  • EggGroup
getData:
  • BamCacheRecord
  • Datagram
  • GeomVertexArrayDataHandle
  • IndexBufferContext
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • OdeBody
  • OdeTriMeshGeom
  • QueuedConnectionReader
  • Ramfile
  • RecentConnectionReader
  • StringStream
  • VertexBufferContext
getData1f:
  • GeomVertexReader
getData1i:
  • GeomVertexReader
getData2f:
  • GeomVertexReader
getData2i:
  • GeomVertexReader
getData3f:
  • GeomVertexReader
getData3i:
  • GeomVertexReader
getData4f:
  • GeomVertexReader
getData4i:
  • GeomVertexReader
getDatagram:
  • CConnectionRepository
  • DatagramIterator
getDatagramIterator:
  • CConnectionRepository
getDataSize:
  • StringStream
getDataSizeBytes:
  • BufferContext
  • GeomPrimitive
  • GeomVertexArrayData
  • GeomVertexArrayDataHandle
getDate:
  • DocumentSpec
getDcFile:
  • CConnectionRepository
  • DCClass
getDcsType:
  • EggGroup
getDeathRadius:
  • SparkleParticleRenderer
getDebug:
  • Notifier
getDecal:
  • OnscreenText
getDecalFlag:
  • EggGroup
getDeclaration:
  • ConfigPage
getDefault:
  • FrameBufferProperties
  • Material
  • ShaderGenerator
  • TextureStage
  • WindowProperties
getDefaultCase:
  • DCSwitch
getDefaultCollideMask:
  • CollisionNode
  • GeomNode
getDefaultCurve:
  • ParametricCurveCollection
getDefaultEncoding:
  • TextEncoder
getDefaultExtension:
  • EggFilenameNode
getDefaultFar:
  • Lens
getDefaultFont:
  • TextProperties
getDefaultGsg:
  • GraphicsStateGuardianBase
getDefaultNear:
  • Lens
getDefaultPage:
  • ConfigPage
getDefaultToStandingStill:
  • SmoothMover
getDefaultValue:
  • ConfigVariable
  • ConfigVariableBool
  • ConfigVariableDouble
  • ConfigVariableFilename
  • ConfigVariableInt
  • ConfigVariableInt64
  • ConfigVariableSearchPath
  • ConfigVariableString
  • DCField
getDefType:
  • CMetaInterval
getDegradeFactor:
  • ClockObject
getDegree:
  • EggNurbsCurve
getDelay:
  • SmoothMover
getDelayDeleteCount:
  • DistributedObject
  • DistributedObjectOV
getDelayDeleteEvent:
  • DistributedObject
getDelayDeleteNames:
  • DistributedObject
getDeleteEvent:
  • DistributedObjectAI
  • DistributedObjectUD
getDeleteFlag:
  • GraphicsOutput
getDelta:
  • ClockDelta
getDependentPathname:
  • BamCacheRecord
getDepth:
  • EggNode
  • OdeContactGeom
getDepthBits:
  • FrameBufferProperties
getDepthTest:
  • NodePath
getDepthTestMode:
  • EggRenderMode
getDepthWrite:
  • NodePath
getDepthWriteMode:
  • EggRenderMode
getDescription:
  • ConfigVariableBase
  • DCTypedef
  • LandingPage
getDeselectedAsList:
  • SelectedNodePaths
getDeselectedDict:
  • SelectedNodePaths
getDeviceId:
  • DisplayInformation
getDict:
  • LevelAttribute
  • LevelEditor
getDiff:
  • EggMaterial
getDiffuse:
  • Material
getDimensions:
  • DisplayRegion
getDirectFlag:
  • EggGroup
getDirectHostSpec:
  • HTTPClient
getDirection:
  • CollisionRay
  • DirectionalLight
  • OdeRayGeom
  • PointerEventList
getDirectionalVelocity:
  • SmoothMover
getDirectNodePath:
  • SelectedNodePaths
getDirectory:
  • ConfigVariableSearchPath
  • DSearchPath
getDirname:
  • ConfigVariableFilename
  • Filename
getDisableEvent:
  • DistributedObject
getDisplayHeight:
  • GraphicsPipe
getDisplayInformation:
  • GraphicsPipe
getDisplayModeBitsPerPixel:
  • DisplayInformation
getDisplayModeFullscreenOnly:
  • DisplayInformation
getDisplayModeHeight:
  • DisplayInformation
getDisplayModeRefreshRate:
  • DisplayInformation
getDisplayModeWidth:
  • DisplayInformation
getDisplayRegion:
  • Camera
  • FrameRateMeter
  • GraphicsOutput
  • MouseWatcher
getDisplayState:
  • DisplayInformation
getDisplayWidth:
  • GraphicsPipe
getDistance:
  • NodePath
getDistanceFactor:
  • Audio3DManager
getDistributor:
  • PandaSystem
getDivisor:
  • DCSimpleParameter
getDlsPathname:
  • AudioManager
getDNAData:
  • LevelEditor
getDNAParent:
  • LevelEditor
getDNATarget:
  • LevelEditor
getDNAToplevel:
  • LevelEditor
getDNAVisGroups:
  • LevelEditor
getDo:
  • DoCollectionManager
getDocument:
  • HTTPChannel
  • HTTPClient
getDocumentSpec:
  • HTTPChannel
getDoId:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectOV
  • DistributedObjectUD
getDoIdList:
  • DoCollectionManager
getDoIds:
  • DoHierarchy
getDoLaters:
  • TaskManager
getDoList:
  • DoCollectionManager
getDomain:
  • HTTPCookie
getDoneEvent:
  • AsyncTask
  • CInterval
  • EventGroup
  • InterestWatcher
  • Interval
getDoneStatus:
  • StateData
getDopplerFactor:
  • Audio3DManager
getDoTable:
  • DoCollectionManager
getDoubleValue:
  • EventParameter
getDoubleWord:
  • ConfigVariable
getDownloadThrottle:
  • HTTPChannel
getDrawControlMask:
  • PandaNode
getDrawName:
  • GraphicsThreadingModel
getDrawOrder:
  • CullBinAttrib
  • EggRenderMode
  • RenderState
  • TextProperties
getDrawShowMask:
  • PandaNode
getDrawStage:
  • GraphicsThreadingModel
getDriverBuild:
  • DisplayInformation
getDriverDateDay:
  • DisplayInformation
getDriverDateMonth:
  • DisplayInformation
getDriverDateYear:
  • DisplayInformation
getDriverProduct:
  • DisplayInformation
getDriverSubVersion:
  • DisplayInformation
getDriverVersion:
  • DisplayInformation
getDropOffFactor:
  • Audio3DManager
getDt:
  • ClockObject
getDtoolName:
  • ExecutionEnvironment
getDuration:
  • Actor
  • AuxSceneData
  • CInterval
  • Interval
  • MetaInterval
getDx:
  • PointerEventList
getDy:
  • PointerEventList
getDynamicFrictionCoef:
  • PhysicsCollisionHandler
getEdgeColor:
  • SparkleParticleRenderer
getEditMode:
  • LevelEditor
  • LevelStyleManager
getEditTypes:
  • DirectManipulationControl
getEffect:
  • NodePath
  • PandaNode
  • RenderEffects
getEffectCenter:
  • PolylightEffect
getEffectiveMode:
  • CullFaceAttrib
getEffectiveNormal:
  • CollisionSolid
getEffects:
  • NodePath
  • PandaNode
getEggFilename:
  • EggData
getElement:
  • DCAtomicField
getElementDefault:
  • DCAtomicField
getElementDivisor:
  • DCAtomicField
getElementName:
  • DCAtomicField
getElementType:
  • DCArrayParameter
  • DCAtomicField
getElevation:
  • GeoMipTerrain
  • HeightfieldTesselator
getEmission:
  • Material
getEmissionType:
  • BaseParticleEmitter
getEmit:
  • EggMaterial
getEmitter:
  • Particles
  • ParticleSystem
getEncodedChar:
  • TextEncoder
getEncoding:
  • TextEncoder
getEncryptionFlag:
  • Multifile
getEncryptionPassword:
  • Multifile
getEndAngle:
  • ArcEmitter
getEndColor:
  • PointParticleRenderer
getEndEvent:
  • AutonomousLerp
  • Lerp
getEndpoint1:
  • LineEmitter
getEndpoint2:
  • LineEmitter
getEndT:
  • NurbsCurveResult
getEndU:
  • NurbsSurfaceResult
getEndV:
  • NurbsSurfaceResult
getEngine:
  • GraphicsStateGuardian
getEnterEvent:
  • PGItem
getEnterFunc:
  • State
getEnterPattern:
  • MouseWatcher
getEnterPrefix:
  • PGItem
getEntry:
  • CollisionHandlerQueue
getEnvironmentVariable:
  • ExecutionEnvironment
getEnvType:
  • EggTexture
getEraseEvent:
  • PGEntry
getErasePrefix:
  • PGEntry
getErp:
  • OdeWorld
getError:
  • InternalName
getErrorCount:
  • TrueClock
getErrorFlag:
  • Shader
getErrorType:
  • NodePath
getEvalStrGen:
  • ObjectRef
getEvent:
  • BulletinBoard
getEventIndex:
  • CMetaInterval
getEventName:
  • DirectJoybox
  • InputState
getEventQueue:
  • CIntervalManager
getEvents:
  • InterestState
  • Messenger
getEventT:
  • CMetaInterval
getEventType:
  • CMetaInterval
getExitErrorCode:
  • ShowBase
getExitEvent:
  • PGItem
getExitFunc:
  • State
getExitPrefix:
  • PGItem
getExpDensity:
  • Fog
getExpectedBroadcastPeriod:
  • SmoothMover
getExpectedMipmapXSize:
  • Texture
getExpectedMipmapYSize:
  • Texture
getExpectedMipmapZSize:
  • Texture
getExpectedNumMipmapLevels:
  • Texture
getExpectedRamImageSize:
  • Texture
getExpectedRamMipmapImageSize:
  • Texture
getExpectedRamMipmapPageSize:
  • Texture
getExpectedRamPageSize:
  • Texture
getExpirationTime:
  • AuxSceneData
getExpires:
  • HTTPCookie
getExplicitLaunchVector:
  • BaseParticleEmitter
getExplicitPage:
  • ConfigPageManager
getExponent:
  • Spotlight
getExtendedVertex:
  • NurbsCurveEvaluator
  • NurbsSurfaceEvaluator
getExtension:
  • ConfigVariableFilename
  • Filename
  • LoaderFileType
  • PNMFileType
getExternalIndex:
  • EggVertex
getExternalSize:
  • MemoryUsage
getExternalThread:
  • Thread
getExtIndex:
  • CMetaInterval
getExtraHandler:
  • MouseWatcher
getEyeRelative:
  • BillboardEffect
getFactor:
  • GeoMipTerrain
getFactory:
  • Particles
  • ParticleSystem
getFadeInIval:
  • Transitions
getFadeOutIval:
  • Transitions
getFadeTime:
  • FadeLODNode
getFakeTextureImage:
  • TexturePool
getFalloffType:
  • LinearDistanceForce
getFancyBits:
  • PandaNode
getFar:
  • Lens
getFbProperties:
  • GraphicsOutput
getFbXSize:
  • GraphicsOutput
getFbYSize:
  • GraphicsOutput
getFdir1:
  • OdeContact
getFfTcIndex:
  • TextureAttrib
getFg:
  • PNMTextMaker
getField:
  • DCClass
  • DCSwitch
getFieldByIndex:
  • DCClass
  • DCFile
getFieldByName:
  • DCClass
  • DCSwitch
getFile:
  • VirtualFileList
  • VirtualFileSystem
getFileEndian:
  • BamFile
getFileMajorVer:
  • BamFile
getFileMinorVer:
  • BamFile
getFilename:
  • EggFilenameNode
  • ModelLoadRequest
  • MovieAudio
  • MovieVideo
  • RecorderController
  • Shader
  • Texture
  • VirtualFile
getFilenameIndex:
  • Filename
getFileSize:
  • Filename
  • VirtualFile
getFileSystem:
  • VirtualFile
getFill:
  • PNMPainter
getFilmMat:
  • Lens
getFilmMatInv:
  • Lens
getFilmOffset:
  • Lens
getFilmSize:
  • Lens
getFinalAngle:
  • ZSpinParticleFactory
getFinalAngleSpread:
  • ZSpinParticleFactory
getFinalState:
  • ClassicFSM
  • Mopath
getFinalXScale:
  • GeomParticleRenderer
  • SpriteParticleRenderer
getFinalYScale:
  • GeomParticleRenderer
  • SpriteParticleRenderer
getFinalZScale:
  • GeomParticleRenderer
getFinishedEvent:
  • AudioSound
  • Job
getFiniteRotationAxis:
  • OdeBody
getFiniteRotationMode:
  • OdeBody
getFirstBlock:
  • SimpleAllocator
  • VertexDataPage
getFirstByteDelivered:
  • HTTPChannel
getFirstByteRequested:
  • HTTPChannel
getFirstChild:
  • EggGroupNode
getFirstContact:
  • OdeRayGeom
getFirstVertex:
  • GeomPrimitive
getFixedSize:
  • WindowProperties
getFixedString:
  • DatagramIterator
  • StreamReader
getFlag:
  • ShaderAttrib
getFlags:
  • ConfigVariableBase
  • LoaderOptions
getFlatBuildingMode:
  • LevelEditor
getFlickerType:
  • PolylightNode
getFloat32:
  • DatagramIterator
  • StreamReader
getFloat64:
  • DatagramIterator
  • StreamReader
getFloorZ:
  • ParticleSystem
getFlushTime:
  • BamCache
getFocalLength:
  • Lens
getFocalPoint:
  • GeoMipTerrain
getFocus:
  • PGItem
getFocusInEvent:
  • PGItem
getFocusInPrefix:
  • PGItem
getFocusItem:
  • PGItem
getFocusOutEvent:
  • PGItem
getFocusOutPrefix:
  • PGItem
getFog:
  • FogAttrib
  • NodePath
  • RenderState
getFont:
  • OnscreenText
  • TextProperties
getFontPixelSize:
  • DynamicTextFont
  • FreetypeFont
getFooter:
  • LandingPage
getFootprintLength:
  • Patchfile
getForce:
  • ForceNode
  • GeomVertexReader
getForceCenter:
  • LinearDistanceForce
getForcedChannel:
  • PartGroup
getForceGroupDict:
  • ParticleEffect
getForceGroupList:
  • ParticleEffect
getForceGroupNamed:
  • ParticleEffect
getForceHardware:
  • FrameBufferProperties
getForceMouse:
  • DriveInterface
getForceNode:
  • BaseForce
getForceNodePath:
  • BaseForce
getForceSoftware:
  • FrameBufferProperties
getForeground:
  • WindowProperties
getFormat:
  • EggTexture
  • GeomVertexData
  • Texture
getForward:
  • LQuaterniond
  • LQuaternionf
getForwardAxis:
  • SmoothMover
getForwardScale:
  • Trackball
getForwardSpeed:
  • DriveInterface
getForwardVertex:
  • EggVertexPool
getFov:
  • Lens
getFps:
  • EggAnimData
  • EggXfmSAnim
  • WebcamVideo
getFrac:
  • AnimInterface
getFrame:
  • AnimControlCollection
  • AnimInterface
  • MouseWatcherRegion
  • PGItem
  • ScissorAttrib
  • ScissorEffect
  • TextGraphic
getFrameActual:
  • TextNode
getFrameAsSet:
  • TextNode
getFrameBlendFlag:
  • PartBundle
getFrameColor:
  • ProjectionScreen
  • TextNode
getFrameCorners:
  • TextNode
getFrameCount:
  • ClockObject
getFrameInvXform:
  • PGItem
getFrameLineWidth:
  • TextNode
getFrameNetworkTime:
  • ClockDelta
getFrameOffset:
  • RecorderController
getFrameRate:
  • Actor
  • AnimInterface
getFrameStepping:
  • ParticleSystemManager
getFrameStyle:
  • PGItem
getFrameTie:
  • RecorderController
getFrameTime:
  • Actor
  • ClockObject
getFrameType:
  • DirectGuiWidget
getFreq:
  • PolylightNode
getFrom:
  • CollisionEntry
  • TexProjectorEffect
getFromCollideMask:
  • CollisionNode
  • EggGroup
getFromNode:
  • CollisionEntry
getFromNodePath:
  • CollisionEntry
getFromPortalMask:
  • PortalNode
getFullFframe:
  • AnimInterface
getFullFrame:
  • AnimInterface
getFullname:
  • NotifyCategory
  • PStatCollector
getFullpath:
  • ConfigVariableFilename
  • EggFilenameNode
  • Filename
  • ModelRoot
  • Texture
getFullpathWoExtension:
  • ConfigVariableFilename
  • Filename
getFullscreen:
  • WindowProperties
getFunction:
  • ColorInterpolationSegment
getFunctor:
  • AutonomousLerp
  • Lerp
getG1:
  • OdeContactGeom
getG2:
  • OdeContactGeom
getGamma:
  • GraphicsStateGuardian
getGarbage:
  • GarbageReport
getGeneratedShader:
  • RenderState
getGeom:
  • GeomContext
  • GeomNode
  • OdeContact
  • OdeSpace
  • OnscreenGeom
getGeometry:
  • MouseWatcher
getGeomNode:
  • Actor
  • GeomParticleRenderer
getGeomRendering:
  • Geom
  • GeomPrimitive
  • RenderModeAttrib
  • RenderState
  • TexGenAttrib
  • TexMatrixAttrib
  • TransformState
getGeomState:
  • GeomNode
getGlobalClock:
  • ClockObject
getGlobalEventHandler:
  • EventHandler
getGlobalEventQueue:
  • EventQueue
getGlobalLru:
  • VertexDataPage
getGlobalModified:
  • VertexTransform
getGlobalPstats:
  • PStatClient
getGlobalPtr:
  • AttribNodeRegistry
  • BamCache
  • CIntervalManager
  • ConfigPageManager
  • ConfigVariableManager
  • CullBinManager
  • GeomCacheManager
  • GraphicsPipeSelection
  • LoaderFileTypeRegistry
  • PandaSystem
  • PNMFileTypeRegistry
  • TextPropertiesManager
  • TrueClock
  • VirtualFileSystem
getGlyph:
  • PNMTextMaker
getGlyphScale:
  • TextProperties
getGlyphShift:
  • TextProperties
getGraphCoordinateSystem:
  • TrackerNode
getGraphic:
  • PGEntry
  • TextAssembler
  • TextPropertiesManager
getGraphicsEngine:
  • NonlinearImager
getGravity:
  • CollisionHandlerGravity
  • OdeWorld
getGravityMode:
  • OdeBody
getGray:
  • PNMImage
getGrayVal:
  • PNMImage
getGreen:
  • PNMImage
getGreenVal:
  • PNMImage
getGridIntersectionPoint:
  • LevelEditor
getGridSize:
  • DirectGrid
getGridSizeFromSphere:
  • CartesianGridBase
getGridSizeFromSphereRadius:
  • CartesianGridBase
getGridSnapIntersectionPoint:
  • LevelEditor
getGridSpacing:
  • DirectGrid
getGroup:
  • MouseWatcher
  • PGTop
getGroupNum:
  • LevelEditor
getGroupType:
  • EggGroup
getGsg:
  • GraphicsOutput
  • SceneGraphReducer
getH:
  • DriveInterface
  • NodePath
  • Trackball
getHandle:
  • GeomVertexArrayData
getHandleCUpdates:
  • CConnectionRepository
getHandler:
  • CollisionTraverser
getHash:
  • DCFile
  • DownloadDb
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • PointerToVoid
  • RenderState
  • TransformState
  • TypeHandle
getHashToEnd:
  • Filename
getHeadColor:
  • LineParticleRenderer
getHeader:
  • HTTPChannel
  • HTTPClient
  • LandingPage
  • Shader
getHeaderValue:
  • HTTPChannel
getHeight:
  • DirectGuiWidget
  • DisplayRegionContext
  • SpriteParticleRenderer
  • TextNode
getHfov:
  • DisplayRegionContext
  • Lens
getHiddenAncestor:
  • NodePath
getHighestBits:
  • BitArray
  • SparseArray
getHighestIndex:
  • EggVertexPool
getHighestOffBit:
  • BitArray
  • SparseArray
getHighestOnBit:
  • BitArray
  • SparseArray
getHighestSwitch:
  • LODNode
getHighlightEnd:
  • MouseWatcherParameter
getHighlightStart:
  • MouseWatcherParameter
getHorizontal:
  • CollisionHandlerPusher
getHorizontalDeadZone:
  • DriveInterface
getHorizontalRampDownTime:
  • DriveInterface
getHorizontalRampUpTime:
  • DriveInterface
getHorizontalSlider:
  • PGScrollFrame
getHostName:
  • ConnectionManager
getHpr:
  • DriveInterface
  • LQuaterniond
  • LQuaternionf
  • NodePath
  • Trackball
  • TransformState
getHprCurve:
  • ParametricCurveCollection
getHprMultiplier:
  • DirectJoybox
getHprSnap:
  • DirectGrid
getHttpTimeout:
  • HTTPChannel
getHttpVersion:
  • HTTPChannel
  • HTTPClient
getHttpVersionString:
  • HTTPChannel
  • HTTPClient
getI:
  • LQuaterniond
  • LQuaternionf
getIconFilename:
  • WindowProperties
geticonimage:
  • TreeNode
GetIconName:
  • SceneGraphExplorerItem
  • TreeItem
getId:
  • ColorInterpolationSegment
  • PGItem
getIgnoreMouse:
  • DriveInterface
getIgnoreScale:
  • BaseParticleRenderer
getImage:
  • OnscreenImage
getImageModified:
  • Texture
getImpactVelocity:
  • CollisionHandlerGravity
getImplicitPage:
  • ConfigPageManager
getImplicitVelocity:
  • PhysicsObject
getImportModule:
  • DCFile
getImportSymbol:
  • DCFile
getIn:
  • LODNode
getInactivityTimeout:
  • MouseWatcher
getInactivityTimeoutEvent:
  • MouseWatcher
GetIncomingConnection:
  • Socket_TCP_Listen
getIndent:
  • TextProperties
getIndependentLru:
  • GeomVertexArrayData
getIndex:
  • ButtonHandle
  • EggVertex
  • InternalName
  • PStatCollector
  • PStatThread
  • TypeHandle
getIndexedColor:
  • FrameBufferProperties
getIndexedFlag:
  • EggGroup
getIndexedTransforms:
  • GeomVertexAnimationSpec
getIndexEnd:
  • Multifile
getIndexType:
  • GeomPrimitive
getInertialTensor:
  • OdeMass
  • PhysicsObject
getInfinity:
  • OdeUtil
getInfo:
  • Notifier
getInheritedField:
  • DCClass
getInitialAngle:
  • ZSpinParticleFactory
getInitialAngleSpread:
  • ZSpinParticleFactory
getInitialState:
  • Camera
  • ClassicFSM
  • PieMenu
getInitialXScale:
  • GeomParticleRenderer
  • SpriteParticleRenderer
getInitialYScale:
  • GeomParticleRenderer
  • SpriteParticleRenderer
getInitialZScale:
  • GeomParticleRenderer
getInnerAngle:
  • DiscEmitter
getInnerMagnitude:
  • DiscEmitter
getInPattern:
  • CollisionHandlerEvent
getInputDeviceName:
  • GraphicsWindow
getInt16:
  • DatagramIterator
  • StreamReader
getInt32:
  • DatagramIterator
  • StreamReader
getInt64:
  • DatagramIterator
  • StreamReader
getInt64Word:
  • ConfigVariable
getInt8:
  • DatagramIterator
  • StreamReader
getInterfaceName:
  • GraphicsPipe
getInterior:
  • PNMTextMaker
getInteriorFlag:
  • PNMTextMaker
getInteriorPoint:
  • CollisionEntry
getInternalBounds:
  • PandaNode
getInternalFrame:
  • PGFrameStyle
getInternalGeom:
  • TextNode
getInternalScene:
  • RigidBodyCombiner
getInternalVertices:
  • PandaNode
getInterocularDistance:
  • Lens
getInterval:
  • IntervalManager
getIntervalEndTime:
  • CMetaInterval
getIntervalsMatching:
  • IntervalManager
getIntervalStartTime:
  • CMetaInterval
  • MetaInterval
getInto:
  • CollisionEntry
getIntoCollideMask:
  • CollisionNode
  • EggGroup
  • PandaNode
getIntoNode:
  • CollisionEntry
getIntoNodePath:
  • CollisionEntry
getIntoPortalMask:
  • PortalNode
getIntValue:
  • EventParameter
  • WindowsRegistry
getIntWord:
  • ConfigVariable
getInverse:
  • TransformState
getInvert:
  • Trackball
getInvertCompositionCacheNumEntries:
  • TransformState
getInvertCompositionCacheResult:
  • TransformState
getInvertCompositionCacheSize:
  • TransformState
getInvertCompositionCacheSource:
  • TransformState
getInverted:
  • GraphicsOutput
getInvertUvs:
  • ProjectionScreen
getInWindow:
  • MouseData
  • PointerEventList
getIp:
  • NetAddress
  • Socket_Address
GetIPAddressRaw:
  • Socket_Address
getIpComponent:
  • NetAddress
getIpPort:
  • Socket_Address
getIpString:
  • NetAddress
getIsAirborne:
  • ControlManager
  • GravityWalker
getIstream:
  • StreamReader
getItemIndexForItemID:
  • DirectScrolledList
getIWasSpawnedFlag:
  • ParticleSystem
getJ:
  • LQuaterniond
  • LQuaternionf
getJobName:
  • Job
getJoint:
  • JointVertexTransform
  • OdeBody
  • OdeJointCollection
getJoints:
  • Actor
getJointTransform:
  • Actor
getJointType:
  • OdeJoint
getK:
  • LQuaterniond
  • LQuaternionf
getKeepRamImage:
  • Texture
  • VideoTexture
GetKey:
  • SceneGraphExplorerItem
getKey:
  • NodePath
getKeyboard:
  • MouseWatcherRegion
getKeycode:
  • MouseWatcherParameter
getKeyParameter:
  • DCSwitch
getKeystone:
  • Lens
getKeystrokeEvent:
  • ButtonThrower
  • PGItem
getKeystrokePrefix:
  • PGItem
getKeyType:
  • WindowsRegistry
getKeyword:
  • DCFile
  • DCKeywordList
getKeywordByName:
  • DCFile
  • DCKeywordList
getKnot:
  • EggNurbsCurve
  • NurbsCurveEvaluator
  • NurbsCurveInterface
GetLabelText:
  • TreeItem
getLandmarkBuildingMode:
  • LevelEditor
getLastAngle:
  • LevelEditor
getLastAnim:
  • SpriteParticleRenderer
getLastByteDelivered:
  • HTTPChannel
getLastByteRequested:
  • HTTPChannel
GetLastError:
  • Socket_IP
getLastPartNumber:
  • Inspector
getLastPollTime:
  • ClientBase
getLastPosition:
  • PhysicsObject
getLastRenderTime:
  • AuxSceneData
getLastResync:
  • ClockDelta
getLastSwitch:
  • DCPacker
getLatestPosition:
  • SmoothMover
getLcs:
  • PhysicsObject
getLeakDetectorKey:
  • _TaskNamePatternLeakDetector
  • LeakDetector
getLeakEvent:
  • ContainerLeakDetector
getLeavePattern:
  • MouseWatcher
getLeft:
  • DisplayRegion
  • MouseSubregion
  • TextNode
getLeftButton:
  • PGSliderBar
getLeftEyeColorMask:
  • GraphicsOutput
getLeftEyeMat:
  • MatrixLens
getLegalCollideMask:
  • PandaNode
getLength:
  • Buffer
  • Datagram
  • DCPackData
  • DCPacker
  • LinearCylinderVortexForce
  • OdeCappedCylinderGeom
  • OdeCylinderGeom
  • OdeRayGeom
  • PointerEventList
getLengths:
  • OdeBoxGeom
getLens:
  • LensNode
getLensMat:
  • Lens
getLensMatInv:
  • Lens
getLevel:
  • LightRampAttrib
  • PStatCollector
getLifeScale:
  • SparkleParticleRenderer
getLifespanBase:
  • BaseParticleFactory
getLifespanSpread:
  • BaseParticleFactory
getLight:
  • DirectLight
  • LightAttrib
  • TexGenAttrib
getLine:
  • LineStream
getLinearForce:
  • Physical
getLinearOnsetPoint:
  • Fog
getLinearOpaquePoint:
  • Fog
getLinearVel:
  • OdeBody
getLineHeight:
  • DynamicTextFont
  • FreetypeFont
  • TextFont
  • TextNode
getLineScaleFactor:
  • LineParticleRenderer
getList:
  • LevelAttribute
  • LevelEditor
getListenerVelocity:
  • Audio3DManager
getLitterSize:
  • ParticleSystem
getLitterSpread:
  • ParticleSystem
getLivingParticles:
  • ParticleSystem
getLlUv:
  • SpriteParticleRenderer
getLoadedFromImage:
  • Texture
getLoadedFromTxo:
  • Texture
getLocal:
  • EggMaterial
  • Material
getLocalizedVolume:
  • SfxPlayer
getLocalPage:
  • ConfigPage
getLocalQuat:
  • AngularVectorForce
getLocalTransforms:
  • CharacterJoint
getLocalVector:
  • LinearControlForce
  • LinearVectorForce
getLocalVelocityFlag:
  • ParticleSystem
getLocation:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectBase
  • DistributedObjectUD
  • PointEmitter
getLod:
  • EggGroup
getLOD:
  • Actor
getLodCenter:
  • Camera
getLodMode:
  • SceneGraphAnalyzer
getLODNames:
  • Actor
getLODNode:
  • Actor
getLogging:
  • Notifier
getLogicalZoneChangeEvent:
  • DistributedObjectAI
  • DistributedObjectUD
getLongTime:
  • ClockObject
  • TrueClock
getLookAt:
  • BillboardEffect
getLookAtPoint:
  • BillboardEffect
getLoop:
  • AudioSound
  • Interval
  • MovieTexture
getLoopCount:
  • AudioSound
  • MovieTexture
getLowerRight3d:
  • TextNode
getLowestOffBit:
  • BitArray
  • SparseArray
getLowestOnBit:
  • BitArray
  • SparseArray
getLowestSwitch:
  • LODNode
getLr:
  • TextAssembler
getLru:
  • SimpleLruPage
getLruSize:
  • SimpleLruPage
getMagfilter:
  • DynamicTextFont
  • EggTexture
  • Texture
getMagicNumber:
  • Multifile
getMagnitude:
  • OdeMass
getMainPage:
  • LandingPage
getMainThread:
  • PStatClient
  • Thread
getMajorVersion:
  • PandaSystem
getManagePieces:
  • PGScrollFrame
  • PGSliderBar
getManager:
  • CInterval
  • Connection
  • ConnectionReader
  • ConnectionWriter
  • MetaInterval
getMass:
  • OdeBody
  • PhysicsObject
getMassBase:
  • BaseParticleFactory
getMassDependent:
  • LinearForce
getMassSpread:
  • BaseParticleFactory
getMat:
  • DriveInterface
  • NodePath
  • TexMatrixAttrib
  • Trackball
  • TransformState
getMat3:
  • TransformState
getMatchFramebufferFormat:
  • Texture
getMaterial:
  • EggPrimitive
  • MaterialAttrib
  • MaterialCollection
  • MaterialPool
  • NodePath
getMatrix:
  • RopeNode
  • VertexTransform
getMax:
  • DirectBoundingBox
  • DirectNodePath
  • FiniteBoundingVolume
getMax3dTextureDimension:
  • GraphicsStateGuardian
getMaxBound:
  • BoxEmitter
  • MovingPartBase
  • RectangleEmitter
getMaxBytesPerSecond:
  • HTTPChannel
getMaxChars:
  • PGEntry
getMaxClipPlanes:
  • GraphicsStateGuardian
getMaxCubeMapDimension:
  • GraphicsStateGuardian
getMaxDt:
  • ClockObject
getMaxFrameDuration:
  • ClockObject
getMaximumCpuFrequency:
  • DisplayInformation
getMaximumSimultaneuousRenderTargets:
  • GraphicsStateGuardian
getMaximumWindowHeight:
  • DisplayInformation
getMaximumWindowWidth:
  • DisplayInformation
getMaxIndex:
  • CIntervalManager
getMaxLevel:
  • OdeHashSpace
getMaxLights:
  • GraphicsStateGuardian
getMaxNumBits:
  • BitArray
  • SparseArray
getMaxPositionAge:
  • SmoothMover
getMaxPriority:
  • RenderState
getMaxRate:
  • PStatClient
getMaxRows:
  • TextAssembler
  • TextNode
getMaxSearchDepth:
  • NodePath
getMaxSimultaneousTransforms:
  • TransformBlendTable
getMaxSize:
  • GeomCacheManager
  • SimpleAllocator
  • SimpleAllocatorBlock
  • SimpleLru
getMaxT:
  • Mopath
  • ParametricCurve
  • ParametricCurveCollection
getMaxTextureDimension:
  • GraphicsStateGuardianBase
getMaxTextureStages:
  • GraphicsStateGuardian
getMaxUpdatesPerSecond:
  • HTTPChannel
getMaxval:
  • PNMImageHeader
getMaxValue:
  • PGSliderBar
getMaxVelocity:
  • CollisionHandlerFloor
  • CollisionHandlerGravity
getMaxVertex:
  • GeomPrimitive
getMaxVertexTransformIndices:
  • GraphicsStateGuardian
getMaxVertexTransforms:
  • GraphicsStateGuardian
getMaxVerticesPerArray:
  • GraphicsStateGuardianBase
getMaxVerticesPerPrimitive:
  • GraphicsStateGuardianBase
getMaxWidth:
  • PGEntry
getMemoryLoad:
  • DisplayInformation
getMemoryUsage:
  • TypeHandle
getMenu:
  • LandingPage
  • LevelAttribute
  • LevelEditor
getMessage:
  • Datagram
GetMessage:
  • Buffered_DatagramConnection
getMeta:
  • ShowBase
getMin:
  • DirectBoundingBox
  • DirectNodePath
  • FiniteBoundingVolume
getMinBound:
  • BoxEmitter
  • RectangleEmitter
getMinfilter:
  • DynamicTextFont
  • EggTexture
  • Texture
getMinFov:
  • Lens
getMinimized:
  • WindowProperties
getMinLevel:
  • GeoMipTerrain
  • OdeHashSpace
getMinorVersion:
  • PandaSystem
getMinValue:
  • PGSliderBar
getMinVertex:
  • GeomPrimitive
getMode:
  • AlphaTestAttrib
  • AntialiasAttrib
  • ClockObject
  • ColorBlendAttrib
  • DepthTestAttrib
  • DepthWriteAttrib
  • DistributedLargeBlobSenderAI
  • Fog
  • LightRampAttrib
  • OdeAMotorJoint
  • OdeSurfaceParameters
  • RenderModeAttrib
  • RescaleNormalAttrib
  • ShadeModelAttrib
  • TexGenAttrib
  • TextureStage
  • TransparencyAttrib
getModel:
  • GraphicsThreadingModel
  • InternalName
  • ModelFlattenRequest
  • ModelLoadRequest
  • TextGraphic
getModelFlag:
  • EggGroup
getModelRefCount:
  • ModelRoot
getModelSource:
  • SpriteAnim
getModeQuality:
  • AntialiasAttrib
getModeType:
  • AntialiasAttrib
getModified:
  • BufferContext
  • Geom
  • GeomPrimitive
  • GeomVertexArrayData
  • GeomVertexArrayDataHandle
  • GeomVertexData
  • SliderTable
  • TransformBlend
  • TransformBlendTable
  • TransformTable
  • VertexSlider
  • VertexTransform
getModifierButtons:
  • ButtonThrower
  • MouseWatcher
  • MouseWatcherParameter
getModifiers:
  • DirectSession
getModulus:
  • DCSimpleParameter
getMorph:
  • InternalName
getMorphBase:
  • GeomVertexFormat
getMorphDelta:
  • GeomVertexFormat
getMorphSlider:
  • GeomVertexFormat
getMostImportantLight:
  • LightAttrib
getMostRecentTimestamp:
  • SmoothMover
getMotion1:
  • OdeSurfaceParameters
getMotion2:
  • OdeSurfaceParameters
getMouse:
  • MouseWatcher
  • MouseWatcherParameter
getMouseMode:
  • WindowProperties
getMouseWatcher:
  • PGTop
getMouseX:
  • MouseWatcher
getMouseY:
  • MouseWatcher
getMoveEvent:
  • ButtonThrower
getMsgChannel:
  • CConnectionRepository
getMsgChannelCount:
  • CConnectionRepository
getMsgSender:
  • CConnectionRepository
getMsgType:
  • CConnectionRepository
getMu:
  • OdeSurfaceParameters
getMu2:
  • OdeSurfaceParameters
getMultifileName:
  • Multifile
getMultisamples:
  • FrameBufferProperties
getMultitextureSort:
  • EggTexture
getMutex:
  • ConditionVar
  • ConditionVarDirect
  • ConditionVarFull
  • ConditionVarFullDirect
getName:
  • AudioSound
  • ButtonHandle
  • CInterval
  • ClassicFSM
  • ConfigPage
  • ConfigVariableBase
  • DCClass
  • DCKeyword
  • DCPackerInterface
  • DCSwitch
  • DCTypedef
  • DelayDelete
  • DirectAnalogs
  • DirectButtons
  • DirectDials
  • DirectLight
  • DirectTimecodeReader
  • DirectTracker
  • DynamicTextFont
  • Event
  • EventGroup
  • ForceGroup
  • GeomVertexColumn
  • GeomVertexData
  • GraphicsOutput
  • HTTPCookie
  • InterestWatcher
  • InternalName
  • InternalNameCollection
  • Interval
  • LoaderFileType
  • MemoryExplorerItem
  • Namable
  • NodePath
  • Particles
  • PhysicsObject
  • PNMFileType
  • PreparedGraphicsObjects
  • PStatCollector
  • ShaderInput
  • State
  • StateInspector
  • TextureStage
  • Thread
  • TypeHandle
  • TypeRegistry
  • UserVertexTransform
  • VertexSlider
getNameList:
  • DirectLights
getNativeAntialias:
  • DynamicTextFont
  • FreetypeFont
getNear:
  • Lens
getNestedVertices:
  • Geom
  • PandaNode
getNetAudioVolume:
  • NodePath
getNetBasename:
  • InternalName
getNetCollideMask:
  • PandaNode
getNetDrawControlMask:
  • PandaNode
getNetDrawShowMask:
  • PandaNode
getNetFrameRate:
  • ClockObject
getNetPrevTransform:
  • NodePath
getNetPythonTag:
  • NodePath
getNetState:
  • NodePath
getNetTag:
  • NodePath
getNetTransform:
  • CharacterJoint
  • NodePath
getNetTransforms:
  • CharacterJoint
getNeverDisable:
  • DistributedObject
getNewButton:
  • MemoryExplorer
getNewConnection:
  • QueuedConnectionListener
getNewMask:
  • DrawMaskAttrib
getNextBlock:
  • SimpleAllocatorBlock
  • VertexDataBlock
getNextChild:
  • EggGroupNode
getNextEvent:
  • CIntervalManager
getNextFrame:
  • AnimInterface
getNextHigherDifferentBit:
  • BitArray
  • SparseArray
getNextLandmarkBlock:
  • LevelEditor
getNextModified:
  • VertexTransform
getNextRemoval:
  • CIntervalManager
getNextSnapPoint:
  • LevelEditor
getNodalPoint:
  • Lens
getNode:
  • AttribNodeRegistry
  • CharacterJointBundle
  • CLerpNodePathInterval
  • EggNameUniquifier
  • ForceGroup
  • NodePath
  • NodeVertexTransform
  • PartBundle
  • Particles
  • ScissorEffect
  • Transform2SG
getNodeFrame:
  • EggNode
getNodeFrameInv:
  • EggNode
getNodeFrameInvPtr:
  • EggNode
getNodeFramePtr:
  • EggNode
getNodeName:
  • AttribNodeRegistry
getNodePath:
  • DirectAnalogs
  • DirectButtons
  • DirectDials
  • DirectJoybox
  • DirectTimecodeReader
  • DirectTracker
  • ForceGroup
getNodepath:
  • ShaderInput
getNodePathFindCmd:
  • ClusterClient
getNodePathName:
  • ClusterClient
getNodeRefCount:
  • NodeCachedReferenceCount
  • NodeReferenceCount
getNodeSource:
  • SpriteAnim
getNodeToVertex:
  • EggNode
getNodeToVertexPtr:
  • EggNode
getNodeType:
  • AttribNodeRegistry
getNofogFlag:
  • EggGroup
getNonanimatedTheta:
  • SpriteParticleRenderer
getNonCollidableParent:
  • DistributedObjectAI
  • DistributedObjectUD
getNormal:
  • CollisionPlane
  • EggAttributes
  • GeoMipTerrain
  • InternalName
  • OdeContactGeom
  • Planed
  • Planef
getNormalA:
  • CollisionDSSolid
getNormalB:
  • CollisionDSSolid
getNormalizationCubeMap:
  • TexturePool
getNormalMode:
  • RopeNode
getNormalScale:
  • CollisionVisualizer
getNormQuat:
  • TransformState
getNPParent:
  • LevelEditor
getNPToplevel:
  • LevelEditor
getNullSound:
  • AudioManager
getNumActiveDisplayRegions:
  • GraphicsOutput
getNumAgainPatterns:
  • CollisionHandlerEvent
getNumAngularForces:
  • Physical
getNumAnims:
  • AnimControlCollection
  • SpriteParticleRenderer
getNumArgs:
  • ExecutionEnvironment
getNumArrays:
  • GeomVertexData
  • GeomVertexFormat
getNumAtomics:
  • DCMolecularField
getNumAttribs:
  • RenderAttrib
  • RenderState
getNumAuxModules:
  • GraphicsPipeSelection
getNumAxes:
  • OdeAMotorJoint
  • OdeLMotorJoint
getNumber:
  • DCClass
  • DCField
  • DCTypedef
getNumBins:
  • CullBinManager
getNumBits:
  • BitArray
  • SparseArray
getNumBitsPerWord:
  • BitArray
getNumBlends:
  • TransformBlendTable
getNumBundles:
  • PartBundleNode
getNumButtons:
  • ButtonNode
  • ModifierButtons
getNumBytes:
  • Geom
  • GeomPrimitive
  • GeomVertexData
getNumCases:
  • DCSwitch
getNumChannels:
  • PNMImageHeader
getNumCharacters:
  • PGEntry
  • TextAssembler
getNumChars:
  • TextEncoder
getNumChildClasses:
  • TypeHandle
  • TypeRegistry
getNumChildren:
  • AnimGroup
  • MemoryExplorerItem
  • NodePath
  • NotifyCategory
  • PandaNode
  • PartGroup
getNumClasses:
  • DCFile
getNumCollectors:
  • PStatClient
getNumColliders:
  • CollisionTraverser
getNumColors:
  • SceneGraphAnalyzer
getNumCols:
  • EggXfmAnimData
  • TextAssembler
getNumColumns:
  • GeomVertexArrayFormat
  • GeomVertexFormat
getNumCombineAlphaOperands:
  • TextureStage
getNumCombineRgbOperands:
  • TextureStage
getNumComponents:
  • EggCompositePrimitive
  • EggTransform
  • GeomVertexColumn
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • MovieVideoCursor
  • Texture
getNumControls:
  • AnalogNode
getNumCurves:
  • ParametricCurveCollection
getNumCvs:
  • EggNurbsCurve
  • EggNurbsSurface
  • HermiteCurve
  • NurbsCurveInterface
getNumDeclarations:
  • ConfigPage
getNumDefs:
  • CMetaInterval
getNumDependentFiles:
  • BamCacheRecord
getNumDials:
  • DialNode
getNumDimensions:
  • EggVertex
  • EggVertexPool
  • EggVertexUV
  • ParametricCurve
getNumDirectories:
  • ConfigVariableSearchPath
  • DSearchPath
getNumDisplayRegions:
  • Camera
  • GraphicsOutput
getNumEffects:
  • RenderEffect
  • RenderEffects
getNumElements:
  • DCAtomicField
getNumEntries:
  • CollisionHandlerQueue
getNumericType:
  • GeomVertexColumn
getNumEvents:
  • PointerEventList
getNumExplicitPages:
  • ConfigPageManager
getNumExtensions:
  • PNMFileType
getNumFaces:
  • GeomPrimitive
getNumFields:
  • DCClass
  • DCSwitch
getNumFiles:
  • VirtualFileList
getNumForces:
  • ForceNode
getNumFrames:
  • Actor
  • AnimBundle
  • AnimControlCollection
  • AnimInterface
  • SequenceNode
  • SpriteAnim
getNumGeomNodes:
  • SceneGraphAnalyzer
getNumGeoms:
  • GeomNode
  • OdeSpace
  • SceneGraphAnalyzer
getNumGeomVertexDatas:
  • SceneGraphAnalyzer
getNumGeomVertexFormats:
  • SceneGraphAnalyzer
getNumGlobalCoord:
  • EggVertex
getNumGroups:
  • MouseWatcher
getNumImplicitPages:
  • ConfigPageManager
getNumImportModules:
  • DCFile
getNumImportSymbols:
  • DCFile
getNumIndirections:
  • ObjectRef
getNumIndividualTris:
  • SceneGraphAnalyzer
getNumInheritedFields:
  • DCClass
getNumInPatterns:
  • CollisionHandlerEvent
getNumInputDevices:
  • GraphicsWindow
getNumInstances:
  • SceneGraphAnalyzer
getNumIntervals:
  • CIntervalManager
getNumItems:
  • GarbageReport
  • Pool
getNumJoints:
  • OdeBody
  • OdeJointCollection
getNumKeywords:
  • DCFile
  • DCKeywordList
getNumKnots:
  • EggNurbsCurve
  • NurbsCurveEvaluator
  • NurbsCurveInterface
getNumLights:
  • LightAttrib
getNumLinearForces:
  • Physical
getNumLines:
  • PGEntry
  • SceneGraphAnalyzer
getNumLocalCoord:
  • EggVertex
getNumLodNodes:
  • SceneGraphAnalyzer
getNumLongNormals:
  • SceneGraphAnalyzer
getNumMaterials:
  • MaterialCollection
getNumMorphs:
  • GeomVertexFormat
getNumNames:
  • InternalNameCollection
getNumNestedFields:
  • DCPacker
getNumNodes:
  • AttribNodeRegistry
  • NodePath
  • PartBundle
  • SceneGraphAnalyzer
getNumNodesWithAttribs:
  • SceneGraphAnalyzer
getNumNormals:
  • SceneGraphAnalyzer
getNumObjectTypes:
  • EggGroup
getNumOffBits:
  • BitArray
  • SparseArray
getNumOffLights:
  • LightAttrib
getNumOffPlanes:
  • ClipPlaneAttrib
getNumOffStages:
  • TextureAttrib
getNumOnBits:
  • BitArray
  • SparseArray
getNumOnFfStages:
  • TextureAttrib
getNumOnLights:
  • LightAttrib
getNumOnPlanes:
  • ClipPlaneAttrib
getNumOnStages:
  • TextureAttrib
getNumOptions:
  • MicrophoneAudio
  • WebcamVideo
getNumOutPatterns:
  • CollisionHandlerEvent
getNumPages:
  • DynamicTextFont
  • VertexDataBook
getNumParameters:
  • ButtonThrower
  • Event
getNumParentClasses:
  • TypeHandle
  • TypeRegistry
getNumParents:
  • DCClass
  • PandaNode
getNumPaths:
  • NodePathCollection
getNumPendingReads:
  • VertexDataPage
getNumPendingWrites:
  • VertexDataPage
getNumPhysicals:
  • PhysicalNode
getNumPhysicsObjects:
  • PhysicsObjectCollection
getNumPipeTypes:
  • GraphicsPipeSelection
getNumPlanes:
  • BoundingBox
  • BoundingHexahedron
  • ClipPlaneAttrib
getNumPointers:
  • MemoryUsage
  • MemoryUsagePointers
getNumPoints:
  • BoundingBox
  • BoundingHexahedron
  • CollisionPolygon
  • GeomVertexFormat
  • SceneGraphAnalyzer
  • ScissorEffect
getNumPrcEncryptedPatterns:
  • ConfigPageManager
getNumPrcExecutablePatterns:
  • ConfigPageManager
getNumPrcPatterns:
  • ConfigPageManager
getNumPrepared:
  • PreparedGraphicsObjects
getNumPreparedGeoms:
  • PreparedGraphicsObjects
getNumPreparedIndexBuffers:
  • PreparedGraphicsObjects
getNumPreparedShaders:
  • PreparedGraphicsObjects
getNumPreparedTextures:
  • PreparedGraphicsObjects
getNumPreparedVertexBuffers:
  • PreparedGraphicsObjects
getNumPrimitives:
  • Geom
  • GeomPrimitive
getNumQueued:
  • PreparedGraphicsObjects
getNumQueuedGeoms:
  • PreparedGraphicsObjects
getNumQueuedIndexBuffers:
  • PreparedGraphicsObjects
getNumQueuedShaders:
  • PreparedGraphicsObjects
getNumQueuedTextures:
  • PreparedGraphicsObjects
getNumQueuedVertexBuffers:
  • PreparedGraphicsObjects
getNumRamMipmapImages:
  • Texture
getNumRedirectTrail:
  • HTTPChannel
getNumRegions:
  • MouseWatcherGroup
getNumRootClasses:
  • TypeRegistry
getNumRows:
  • EggSAnimData
  • EggXfmAnimData
  • EggXfmSAnim
  • GeomVertexArrayData
  • GeomVertexArrayDataHandle
  • GeomVertexData
  • TextAssembler
  • TextNode
getNumSamples:
  • CurveFitter
  • NurbsCurveResult
getNumScreens:
  • NonlinearImager
getNumSegments:
  • NurbsCurveEvaluator
  • NurbsCurveResult
getNumSelected:
  • SelectedNodePaths
getNumShortNormals:
  • SceneGraphAnalyzer
getNumSlices:
  • RopeNode
getNumSliders:
  • SliderTable
getNumSolids:
  • CollisionNode
getNumStackElementsEverAllocated:
  • DCPacker
getNumStages:
  • TexMatrixAttrib
getNumStashed:
  • PandaNode
getNumStateDefs:
  • PGItem
getNumStates:
  • RenderEffects
  • RenderState
  • TransformState
getNumSubdiv:
  • RopeNode
getNumSubfiles:
  • Multifile
getNumSubranges:
  • SparseArray
getNumSwitches:
  • LODNode
getNumSystems:
  • PandaSystem
getNumTasks:
  • AsyncTaskManager
getNumTexcoords:
  • GeomVertexFormat
  • SceneGraphAnalyzer
getNumTextures:
  • EggPrimitive
  • EggTextureCollection
  • TextureCollection
getNumTextureStages:
  • TextureStageCollection
getNumThreads:
  • AsyncTaskManager
  • ConnectionReader
  • ConnectionWriter
  • PStatClient
  • VertexDataPage
getNumTimewarps:
  • ParametricCurveCollection
getNumTransforms:
  • GeomVertexAnimationSpec
  • SceneGraphAnalyzer
  • TransformBlend
  • TransformBlendTable
  • TransformTable
getNumTriangles:
  • CollisionFloorMesh
  • OdeTriMeshGeom
  • Triangulator
getNumTrianglesInFans:
  • SceneGraphAnalyzer
getNumTrianglesInStrips:
  • SceneGraphAnalyzer
getNumTrifans:
  • SceneGraphAnalyzer
getNumTris:
  • SceneGraphAnalyzer
getNumTristrips:
  • SceneGraphAnalyzer
getNumTypedefs:
  • DCFile
getNumTypehandles:
  • TypeRegistry
getNumTypes:
  • LoaderFileTypeRegistry
  • PNMFileTypeRegistry
getNumUCvs:
  • EggNurbsSurface
getNumUKnots:
  • EggNurbsSurface
  • NurbsSurfaceEvaluator
getNumUniqueValues:
  • ConfigVariableList
getNumUnpackedBytes:
  • DCPacker
getNumUnusedStates:
  • RenderState
  • TransformState
getNumUSegments:
  • NurbsSurfaceEvaluator
  • NurbsSurfaceResult
getNumUSubdiv:
  • SheetNode
getNumUVertices:
  • NurbsSurfaceEvaluator
getNumValues:
  • ConfigVariableList
  • GeomVertexColumn
getNumVariables:
  • ConfigVariableManager
getNumVCvs:
  • EggNurbsSurface
getNumVectors:
  • GeomVertexFormat
getNumVersions:
  • DownloadDb
getNumVertices:
  • CollisionFloorMesh
  • EggPrimitive
  • GeomPrimitive
  • LineNodePath
  • LineSegs
  • NurbsCurveEvaluator
  • PortalNode
  • SceneGraphAnalyzer
  • Triangulator
getNumViewers:
  • NonlinearImager
getNumVKnots:
  • EggNurbsSurface
  • NurbsSurfaceEvaluator
getNumVSegments:
  • NurbsSurfaceEvaluator
  • NurbsSurfaceResult
getNumVSubdiv:
  • SheetNode
getNumVVertices:
  • NurbsSurfaceEvaluator
getNumWindows:
  • GraphicsEngine
getNumWords:
  • BitArray
  • ConfigVariable
getObject:
  • DelayDelete
  • GeomVertexArrayDataHandle
getObjectPool:
  • ObjectReport
getObjects:
  • Physical
getObjectsInZone:
  • DoCollectionManager
getObjectsOfClass:
  • ClientRepositoryBase
getObjectsOfClassInZone:
  • DoCollectionManager
getObjectsOfExactClass:
  • ClientRepositoryBase
getObjectType:
  • EggGroup
getObjsOfType:
  • ExclusiveObjectPool
  • ObjectPool
getObscureMode:
  • PGEntry
getOcclusionMask:
  • PipeOcclusionCullTraverser
getOffClipPlanes:
  • PandaNode
getOffLight:
  • LightAttrib
getOffPlane:
  • ClipPlaneAttrib
getOffset:
  • BillboardEffect
  • CollisionHandlerFloor
  • CollisionHandlerGravity
  • DepthOffsetAttrib
  • PolylightNode
getOffsetForce:
  • BaseParticleEmitter
getOffsetPosition:
  • OdeGeom
getOffsetQuaternion:
  • OdeGeom
getOffsetRotation:
  • OdeGeom
getOffStage:
  • TextureAttrib
getOneShot:
  • GraphicsOutput
getOnFfStage:
  • TextureAttrib
getOnLight:
  • LightAttrib
getOnlyTime:
  • Notifier
getOnPlane:
  • ClipPlaneAttrib
getOnStage:
  • TextureAttrib
getOnTexture:
  • TextureAttrib
getOpen:
  • WindowProperties
getOpenEnded:
  • CInterval
  • Interval
getOperandA:
  • ColorBlendAttrib
getOperandB:
  • ColorBlendAttrib
getOperation:
  • ClipPlaneAttrib
  • LightAttrib
getOption:
  • MicrophoneAudio
  • WebcamVideo
getOptions:
  • HTTPChannel
  • ModelLoadRequest
getOrder:
  • EggNurbsCurve
  • EggXfmAnimData
  • EggXfmSAnim
  • NurbsCurveEvaluator
  • NurbsCurveInterface
getOrient:
  • TrackerNode
getOrientation:
  • PhysicsObject
getOriented:
  • PhysicsObject
getOrig:
  • ModelFlattenRequest
getOrigin:
  • CollisionRay
  • Trackball
getOriginalFilename:
  • VirtualFile
getOsPlatformId:
  • DisplayInformation
getOstream:
  • StreamWriter
getOstreamPtr:
  • Notify
getOsVersionBuild:
  • DisplayInformation
getOsVersionMajor:
  • DisplayInformation
getOsVersionMinor:
  • DisplayInformation
getOther:
  • CLerpNodePathInterval
getOut:
  • LODNode
getOuterAngle:
  • DiscEmitter
getOuterMagnitude:
  • DiscEmitter
getOutPattern:
  • CollisionHandlerEvent
getOutput:
  • AnalogNode
getOutputs:
  • AuxBitplaneAttrib
getOverallBit:
  • PandaNode
getOverflowEvent:
  • PGEntry
getOverflowEventName:
  • CConnectionRepository
getOverflowPrefix:
  • PGEntry
getOverRegion:
  • MouseWatcher
getOverride:
  • RenderState
getOwnerClassDef:
  • DCClass
getOwnerView:
  • DoCollectionManager
getOwnerViewDoIdList:
  • DoCollectionManager
getOwnerViewDoList:
  • DoCollectionManager
getP:
  • DriveInterface
  • NodePath
  • Trackball
GetPacket:
  • Socket_UDP_Incoming
getPackType:
  • DCPacker
getPadTo:
  • GeomVertexArrayFormat
getPadXSize:
  • Texture
getPadYSize:
  • Texture
getPadZSize:
  • Texture
getPage:
  • DynamicTextFont
  • VertexDataBlock
getPageFaultCount:
  • DisplayInformation
getPageFileSize:
  • DisplayInformation
getPageFileUsage:
  • DisplayInformation
getPageSeq:
  • ConfigPage
getPageSize:
  • PGSliderBar
getPageXSize:
  • DynamicTextFont
getPageYSize:
  • DynamicTextFont
getPandaCategories:
  • NotifyPanel
getPandaCategoriesAsList:
  • NotifyPanel
getPandaHeapArraySize:
  • MemoryUsage
getPandaHeapOverhead:
  • MemoryUsage
getPandaHeapSingleSize:
  • MemoryUsage
getPandaMmapSize:
  • MemoryUsage
getParabola:
  • CollisionParabola
getParam:
  • OdeLMotorJoint
getParamBounce:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
getParamCFM:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
getParameter:
  • ButtonThrower
  • Event
getParamFMax:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
getParamFudgeFactor:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
getParamHiStop:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
getParamLoStop:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
getParams:
  • OdeCappedCylinderGeom
  • OdeCylinderGeom
  • OdePlaneGeom
  • OdeRayGeom
getParamStopCFM:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
getParamStopERP:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
getParamSuspensionCFM:
  • OdeHinge2Joint
getParamSuspensionERP:
  • OdeHinge2Joint
getParamVel:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
getParent:
  • DCClass
  • EggNode
  • InternalName
  • MemoryExplorerItem
  • NodePath
  • PandaNode
getParentClass:
  • TypeHandle
  • TypeRegistry
getParentingRules:
  • DistributedCartesianGridAI
getParentMgr:
  • DistributedObjectAI
  • DistributedObjectUD
getParentObj:
  • DistributedObject
  • DistributedObjectBase
getParentTowards:
  • TypeHandle
  • TypeRegistry
getParentWindow:
  • WindowProperties
getPart:
  • Actor
  • AnimControl
getPartBundle:
  • Actor
getPartBundleDict:
  • Actor
getParticlesDict:
  • ParticleEffect
getParticlesList:
  • ParticleEffect
getParticlesNamed:
  • ParticleEffect
getPartNames:
  • Actor
getPath:
  • HTTPCookie
  • NodePathCollection
  • URLSpec
getPathAndQuery:
  • URLSpec
getPathName:
  • MemoryExplorerItem
getPattern:
  • Filename
  • GlobPattern
getPeakPageFileUsage:
  • DisplayInformation
getPeakProcessMemory:
  • DisplayInformation
GetPeerName:
  • Socket_IP
getPen:
  • PNMPainter
getPendingLru:
  • VertexDataPage
getPendingRamClass:
  • VertexDataPage
getPercent:
  • DirectWaitBar
  • PGWaitBar
getPeriod:
  • ColorInterpolationFunctionSinusoid
getPersistentConnection:
  • HTTPChannel
getPerspective:
  • EggPoint
  • RenderModeAttrib
getPerspectiveParams:
  • Frustumd
  • Frustumf
getPhase:
  • PhasedObject
getPhaseAlias:
  • PhasedObject
getPhysBody:
  • Physical
getPhysical:
  • PhysicalNode
getPhysicalMemory:
  • DisplayInformation
getPhysicalNode:
  • Physical
getPhysicalNodePath:
  • Physical
getPhysicsManager:
  • Physical
getPhysicsObject:
  • ActorNode
  • LinearControlForce
  • PhysicsObjectCollection
getPipe:
  • DisplayRegion
  • GraphicsDevice
  • GraphicsOutput
  • GraphicsStateGuardian
getPipelineStage:
  • Thread
getPipeType:
  • GraphicsPipeSelection
getPixelFactor:
  • DrawableRegion
getPixelHeight:
  • DisplayRegion
getPixels:
  • DisplayRegion
getPixelSize:
  • FreetypeFont
getPixelsPerUnit:
  • DynamicTextFont
  • FreetypeFont
getPixelWidth:
  • DisplayRegion
getPixelZoom:
  • DrawableRegion
getPlainText:
  • PGEntry
getPlainWtext:
  • PGEntry
  • TextAssembler
getPlane:
  • BoundingBox
  • BoundingHexahedron
  • BoundingPlane
  • ClipPlaneAttrib
  • CollisionPlane
  • PlaneNode
getPlaneA:
  • CollisionDSSolid
getPlaneB:
  • CollisionDSSolid
getPlayRate:
  • Actor
  • AnimInterface
  • AudioSound
  • CInterval
  • Interval
  • MovieTexture
getPoint:
  • BoundingBox
  • BoundingHexahedron
  • CollisionPolygon
  • DirectionalLight
  • GeomVertexFormat
  • OdeTriMeshGeom
  • ParametricCurve
  • Planed
  • Planef
  • PointLight
  • ScissorEffect
getPointA:
  • BoundingLine
  • CollisionSegment
  • CollisionTube
getPointB:
  • BoundingLine
  • CollisionSegment
  • CollisionTube
getPointDepth:
  • OdeBoxGeom
  • OdeCappedCylinderGeom
  • OdePlaneGeom
  • OdeSphereGeom
getPointer:
  • GraphicsWindow
  • MemoryUsagePointers
getPointers:
  • MemoryUsage
getPointersOfAge:
  • MemoryUsage
getPointersOfType:
  • MemoryUsage
getPointersWithZeroCount:
  • MemoryUsage
getPoints:
  • Rope
getPointScale:
  • CollisionVisualizer
getPointSize:
  • DynamicTextFont
  • FreetypeFont
  • PointParticleRenderer
getPointsPerInch:
  • FreetypeFont
getPointsPerUnit:
  • FreetypeFont
getPointVel:
  • OdeBody
getPolylightFlag:
  • EggGroup
getPolyMargin:
  • DynamicTextFont
getPool:
  • EggPrimitive
  • EggVertex
getPoolSize:
  • ParticleSystem
getPoolSizeRanges:
  • Particles
getPort:
  • NetAddress
  • Socket_Address
  • URLSpec
getPortalCull:
  • GraphicsEngine
getPortalFlag:
  • EggGroup
getPortalGeom:
  • PortalNode
getPortStr:
  • URLSpec
getPos:
  • DriveInterface
  • NodePath
  • OdeContactGeom
  • OnscreenText
  • PolylightNode
  • Trackball
  • TrackerNode
  • TransformState
getPos1:
  • EggVertex
getPos2:
  • EggVertex
getPos2d:
  • TransformState
getPos3:
  • EggVertex
getPos4:
  • EggVertex
getPosDelta:
  • NodePath
getPosHprBroadcastTaskName:
  • DistributedSmoothNodeBase
getPosition:
  • OdeBody
  • OdeGeom
  • OdeSliderJoint
  • PhysicsObject
getPositionRate:
  • OdeSliderJoint
getPosRelPoint:
  • OdeBody
getPostAnimatedFormat:
  • GeomVertexFormat
getPostPoints:
  • MopathRecorder
getPrcEncryptedPattern:
  • ConfigPageManager
getPrcExecutablePattern:
  • ConfigPageManager
getPrcPattern:
  • ConfigPageManager
getPrecision:
  • CMetaInterval
getPredictionMode:
  • SmoothMover
getPrefix:
  • ButtonThrower
  • ModifierButtons
getPreparedObjects:
  • GraphicsStateGuardian
getPrePoints:
  • MopathRecorder
getPreserveAttributes:
  • ModelNode
getPreserved:
  • GeomNode
getPreserveTrailingWhitespace:
  • TextProperties
getPreserveTransform:
  • ModelNode
getPressEvent:
  • PGItem
getPressPrefix:
  • PGItem
getPrev:
  • NodeVertexTransform
getPrevTransform:
  • NodePath
  • PandaNode
getPrimitive:
  • Geom
getPrimitiveEnd:
  • GeomPrimitive
getPrimitiveMaxVertex:
  • GeomPrimitive
getPrimitiveMinVertex:
  • GeomPrimitive
getPrimitiveNumFaces:
  • GeomPrimitive
getPrimitiveNumVertices:
  • GeomPrimitive
getPrimitiveStart:
  • GeomPrimitive
getPrimitiveType:
  • Geom
  • GeomPrimitive
getPriority:
  • AudioSound
  • CheckContainers
  • EggTexture
  • FindContainers
  • Job
  • Light
  • PlaneNode
  • PruneObjectRefs
  • ShaderInput
  • Task
  • TaskPriorityList
  • TextureStage
getPriorValue:
  • ParamObj
getProcessMemory:
  • DisplayInformation
getProcessVirtualMemory:
  • DisplayInformation
getProgress:
  • Decompressor
  • Extractor
  • Patcher
  • Patchfile
getProjectionMat:
  • Lens
getProjectionMatInv:
  • Lens
getProjector:
  • ProjectionScreen
getProperties:
  • CompassEffect
  • GraphicsWindow
  • PGEntry
  • TextAssembler
  • TextPropertiesManager
getPropertiesModified:
  • Texture
getProxiesForUrl:
  • HTTPClient
getProxyRealm:
  • HTTPChannel
getProxySpec:
  • HTTPClient
getProxyTunnel:
  • HTTPChannel
getPstatsIndex:
  • Thread
getPt:
  • ParametricCurve
getPtr:
  • EventParameter
GetPuppetConnectionChannel:
  • DistributedObjectAI
  • DistributedObjectUD
getPythonObject:
  • AsyncTask
getPythonPointer:
  • MemoryUsagePointers
getPythonTag:
  • NodePath
  • PandaNode
getQcm:
  • CConnectionRepository
getQcr:
  • CConnectionRepository
getQuality:
  • FrameBufferProperties
getQualityLevel:
  • EggTexture
  • Texture
getQuat:
  • AngularForce
  • NodePath
  • TransformState
getQuaternion:
  • OdeBody
  • OdeGeom
getQuery:
  • URLSpec
getQuickStatsTable:
  • LandingPage
getQuickStepNumIterations:
  • OdeWorld
getQuickStepW:
  • OdeWorld
getR:
  • DriveInterface
  • LQuaterniond
  • LQuaternionf
  • NodePath
  • Trackball
getRadiateOrigin:
  • BaseParticleEmitter
getRadius:
  • BoundingSphere
  • CollisionSphere
  • CollisionTube
  • DirectBoundingBox
  • DirectNodePath
  • DiscEmitter
  • LinearCylinderVortexForce
  • LinearDistanceForce
  • OdeCappedCylinderGeom
  • OdeCylinderGeom
  • OdeSphereGeom
  • PolylightNode
  • RingEmitter
  • SphereSurfaceEmitter
  • SphereVolumeEmitter
  • TangentRingEmitter
getRadiusA:
  • CollisionDSSolid
getRadiusB:
  • CollisionDSSolid
getRadiusSpread:
  • RingEmitter
  • TangentRingEmitter
getRamClass:
  • VertexDataPage
getRamImage:
  • Texture
getRamImageCompression:
  • Texture
getRamImageSize:
  • Texture
getRamMipmapImage:
  • Texture
getRamMipmapImageSize:
  • Texture
getRamMipmapPageSize:
  • Texture
getRamPageSize:
  • Texture
getRandomDictionaryEntry:
  • LevelEditor
getRandomHeightList:
  • LevelEditor
getRandomSeed:
  • RecorderController
getRandomWallWidth:
  • LevelEditor
getRandomWindowCount:
  • LevelEditor
getRange:
  • PGWaitBar
getRate:
  • MicrophoneAudio
getRatio:
  • DirectScrollBar
  • DirectSlider
  • PGSliderBar
getRawMice:
  • WindowProperties
getRawMode:
  • ConnectionReader
  • ConnectionWriter
getReach:
  • CollisionHandlerFloor
  • CollisionHandlerGravity
getReader:
  • BamFile
getReadMipmaps:
  • EggTexture
getReadOnly:
  • BamCache
getReadRow:
  • GeomVertexReader
getReadState:
  • ISocketStream
getReadXSize:
  • PNMImage
getReadYSize:
  • PNMImage
getRealNetworkTime:
  • ClockDelta
getRealTime:
  • ClockObject
  • PStatClient
getReceiver:
  • Event
getRecordedTime:
  • BamCacheRecord
getRecorder:
  • CollisionTraverser
  • RecorderController
getRecordTimestamp:
  • Multifile
getRed:
  • PNMImage
getRedBlueStereo:
  • GraphicsOutput
getRedirect:
  • HTTPChannel
getRedirectTrail:
  • HTTPChannel
getRedVal:
  • PNMImage
getRefCount:
  • ReferenceCount
getRefCS:
  • DirectJoybox
getReference:
  • CompassEffect
  • ModelRoot
getReferenceAlpha:
  • AlphaTestAttrib
getReferencedBits:
  • NodeCachedReferenceCount
getReflectionMat:
  • Planed
  • Planef
getRegion:
  • MouseWatcherGroup
getRegionPixels:
  • DisplayRegion
getRegionPixelsI:
  • DisplayRegion
getRejectedProperties:
  • GraphicsWindow
getRelativePoint:
  • NodePath
getRelativeVector:
  • NodePath
getReleaseEvent:
  • PGItem
getReleasePrefix:
  • PGItem
getRelPointPos:
  • OdeBody
getRelPointVel:
  • OdeBody
getRelTo:
  • Trackball
getRemainingBytes:
  • DatagramIterator
getRemainingSize:
  • DatagramIterator
getRemoveEvent:
  • BulletinBoard
getRender:
  • DistributedObjectAI
  • DistributedObjectUD
getRenderbufferType:
  • DrawableRegion
getRenderer:
  • Particles
  • ParticleSystem
getRenderMode:
  • DynamicTextFont
  • NodePath
  • RenderState
  • RopeNode
getRenderModePerspective:
  • NodePath
getRenderModeThickness:
  • NodePath
getRenderNode:
  • BaseParticleRenderer
getRenderNodePath:
  • BaseParticleRenderer
getRenderParent:
  • ParticleSystem
getRenderState:
  • StencilAttrib
getRenderToTexture:
  • Texture
getRepeatEvent:
  • PGItem
getRepeatPrefix:
  • PGItem
getReport:
  • GarbageReport
getRequestedProperties:
  • GraphicsWindow
getRequestMode:
  • DocumentSpec
getRequestType:
  • WebRequest
getResetConnection:
  • QueuedConnectionManager
getResetVelocityAge:
  • SmoothMover
getResizeThumb:
  • PGSliderBar
getRespectEffectiveNormal:
  • CollisionSolid
getRespectPrevTransform:
  • CollisionEntry
  • CollisionTraverser
getResultHash:
  • Patchfile
getReverse:
  • CullFaceAttrib
getReverseSpeed:
  • DriveInterface
getRgbColor:
  • FrameBufferProperties
getRgbScale:
  • EggTexture
  • TextureStage
getRight:
  • DisplayRegion
  • LQuaterniond
  • LQuaternionf
  • MouseSubregion
  • TextNode
getRightButton:
  • PGSliderBar
getRightEyeColorMask:
  • GraphicsOutput
getRightEyeMat:
  • MatrixLens
getRoll:
  • OnscreenText
getRoot:
  • BamCache
  • GeoMipTerrain
  • InternalName
getRootClass:
  • TypeRegistry
getRootXform:
  • PartBundle
getRotate:
  • InternalName
getRotate2d:
  • TransformState
getRotateSpeed:
  • DriveInterface
getRotation:
  • OdeBody
  • OdeGeom
  • PhysicsObject
  • PointerEventList
getRotSpeed:
  • DriveInterface
getRow:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
getRow2:
  • LMatrix3d
  • LMatrix3f
getRow3:
  • LMatrix4d
  • LMatrix4f
getRows:
  • TransformBlendTable
getRtmMode:
  • GraphicsOutput
getRuntimeColorScale:
  • GraphicsStateGuardian
getSa:
  • NodePath
getSampleHpr:
  • CurveFitter
  • SmoothMover
getSamplePoint:
  • NurbsCurveResult
getSamplePos:
  • SmoothMover
getSampleT:
  • CurveFitter
  • NurbsCurveResult
getSampleTangent:
  • CurveFitter
getSampleXyz:
  • CurveFitter
getSavedResult:
  • EggTexture
  • TextureStage
getSaveFile:
  • VertexDataPage
getSb:
  • NodePath
getScalarTerm:
  • LinearDistanceForce
getScale:
  • ColorScaleAttrib
  • NodePath
  • OnscreenText
  • PolylightNode
  • TransformState
getScale2d:
  • TransformState
getScaledSize:
  • FilterManager
getScaleFactor:
  • DynamicTextFont
  • FreetypeFont
  • Multifile
getScalingFactor:
  • ObjectHandles
getScene:
  • Camera
getScheme:
  • URLSpec
getScissor:
  • RenderState
getScreen:
  • NonlinearImager
getScreenActive:
  • NonlinearImager
getScreenshot:
  • DisplayRegion
  • GraphicsOutput
getScrollSize:
  • PGSliderBar
getSearchPath:
  • ConfigPageManager
getSec:
  • TimeVal
getSecure:
  • HTTPCookie
getSeed:
  • PerlinNoise
getSegment:
  • ColorInterpolationManager
getSegmentIdList:
  • ColorInterpolationManager
getSegmentT:
  • NurbsCurveResult
getSegmentU:
  • NurbsSurfaceResult
getSegmentV:
  • NurbsSurfaceResult
getSelectedAsList:
  • SelectedNodePaths
getSelectedDict:
  • SelectedNodePaths
GetSelectedIconName:
  • TreeItem
getSelectedIndex:
  • DirectScrolledList
getSelectedText:
  • DirectScrolledList
getSelfVertexBytes:
  • MemoryExplorerItem
getSequence:
  • PointerEventList
getSequenceVersion:
  • PandaSystem
getServer:
  • URLSpec
getServerAddress:
  • ConnectionRepository
getServerAndPort:
  • URLSpec
getServerDelta:
  • ClientRepositoryBase
getServerFileName:
  • DownloadDb
getServerMultifileHash:
  • DownloadDb
getServerMultifileName:
  • DownloadDb
getServerMultifilePhase:
  • DownloadDb
getServerMultifileSize:
  • DownloadDb
getServerName:
  • VrpnClient
getServerNumFiles:
  • DownloadDb
getServerNumMultifiles:
  • DownloadDb
getServerTimeOfDay:
  • ClientRepositoryBase
getServicesPage:
  • LandingPage
getSeverity:
  • Notifier
  • NotifyCategory
getSg:
  • NodePath
getShadeModel:
  • Geom
  • GeomPrimitive
getShader:
  • NodePath
  • RenderState
  • ShaderAttrib
  • ShaderContext
getShaderInput:
  • NodePath
  • ShaderAttrib
getShaderInputNodepath:
  • ShaderAttrib
getShaderInputTexture:
  • ShaderAttrib
getShaderInputVector:
  • ShaderAttrib
getShaderModel:
  • DisplayInformation
  • GraphicsStateGuardian
getShaderPriority:
  • ShaderAttrib
getShaderUtilization:
  • Shader
getShading:
  • EggPrimitive
getShadow:
  • TextProperties
getShadowColor:
  • TextProperties
getShear:
  • NodePath
  • TransformState
getShear2d:
  • TransformState
getShift:
  • ShowBase
getShininess:
  • EggMaterial
  • Material
getShortRawTime:
  • TrueClock
getShortTime:
  • TrueClock
getShxy:
  • NodePath
getShxz:
  • NodePath
getShyz:
  • NodePath
getSide1:
  • OdeContactGeom
getSide2:
  • OdeContactGeom
getSignature:
  • ConfigPage
getSimulatedDisconnect:
  • CConnectionRepository
getSize:
  • EggAnimData
  • InternalName
  • SimpleAllocatorBlock
getSizeX:
  • WebcamVideo
getSizeY:
  • WebcamVideo
getSlant:
  • TextProperties
getSlider:
  • SliderTable
  • VertexSlider
getSliderRows:
  • SliderTable
getSliderTable:
  • GeomVertexData
getSlip1:
  • OdeSurfaceParameters
getSlip2:
  • OdeSurfaceParameters
getSmallCaps:
  • TextProperties
getSmallCapsScale:
  • TextProperties
getSmallLru:
  • GeomVertexArrayData
getSmoothForwardVelocity:
  • SmoothMover
getSmoothHpr:
  • SmoothMover
getSmoothLateralVelocity:
  • SmoothMover
getSmoothMat:
  • SmoothMover
getSmoothMode:
  • SmoothMover
getSmoothPos:
  • SmoothMover
getSmoothRotationalVelocity:
  • SmoothMover
getSmoothWrtReparents:
  • DistributedSmoothNode
getSnapAngle:
  • DirectGrid
getSnapPoint:
  • LevelEditor
getSocket:
  • Connection
GetSocket:
  • Socket_IP
getSoftBirthRate:
  • ParticleSystem
getSoftCfm:
  • OdeSurfaceParameters
getSoftErp:
  • OdeSurfaceParameters
getSolid:
  • CollisionNode
getSort:
  • DisplayRegion
  • GraphicsOutput
  • MouseWatcherRegion
  • NodePath
  • TextureStage
getSortName:
  • EggPrimitive
getSound:
  • AudioManager
  • PGItem
getSoundMaxDistance:
  • Audio3DManager
getSoundMinDistance:
  • Audio3DManager
getSoundsOnObject:
  • Audio3DManager
getSoundVelocity:
  • Audio3DManager
getSource:
  • MovieAudioCursor
  • MovieVideoCursor
getSourceAddress:
  • WebRequest
getSourceFileName:
  • SpriteParticleRendererExt
getSourceHash:
  • Patchfile
getSourceName:
  • TexGenAttrib
getSourceNodeName:
  • SpriteParticleRendererExt
getSourcePathname:
  • BamCacheRecord
getSourceTextureName:
  • SpriteParticleRendererExt
getSourceType:
  • SpriteAnim
getSpace:
  • OdeGeom
  • OdeSpace
getSpaceAdvance:
  • DynamicTextFont
  • FreetypeFont
  • TextFont
getSpawnOnDeathFlag:
  • ParticleSystem
getSpawnRenderNode:
  • ParticleSystem
getSpawnRenderNodePath:
  • ParticleSystem
getSpeakerMix:
  • AudioSound
getSpeakerSetup:
  • AudioManager
getSpec:
  • EggMaterial
getSpecificFlag:
  • ButtonThrower
getSpecular:
  • Material
getSpecularColor:
  • DirectionalLight
  • PointLight
  • Spotlight
getSpeed:
  • DriveInterface
getSpeeds:
  • BattleWalker
  • ControlManager
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • PhysicsWalker
  • ShipPilot2
getSr:
  • NodePath
getStage:
  • TexMatrixAttrib
getStageName:
  • EggTexture
getStandardizedHpr:
  • LVecBase3d
  • LVecBase3f
getStandardOrder:
  • EggXfmAnimData
  • EggXfmSAnim
getStart:
  • GeomVertexColumn
  • OdeRayGeom
  • SimpleAllocatorBlock
getStartAngle:
  • ArcEmitter
getStartColor:
  • PointParticleRenderer
getStartRow:
  • GeomVertexReader
  • GeomVertexRewriter
  • GeomVertexWriter
getStartSort:
  • PGTop
getStartT:
  • NurbsCurveResult
getStartTime:
  • RecorderController
getStartU:
  • NurbsSurfaceResult
getStartV:
  • NurbsSurfaceResult
getStashed:
  • PandaNode
getStashedAncestor:
  • NodePath
getStashedChildren:
  • NodePath
getStashedSort:
  • PandaNode
getState:
  • AsyncTask
  • CInterval
  • FourStateAI
  • FunctionCall
  • Interval
  • NodePath
  • PandaNode
  • PGItem
  • PushesStateChanges
getStateChangeEvent:
  • FSM
getStateDef:
  • PGItem
getStateInspector:
  • FSMInspector
getStateNamed:
  • ClassicFSM
getStates:
  • ClassicFSM
getStaticFrictionCoef:
  • PhysicsCollisionHandler
getstatus:
  • Squeezer
getStatusCode:
  • HTTPChannel
getStatusString:
  • HTTPChannel
getStencilBits:
  • FrameBufferProperties
getStepSize:
  • Lerp
  • PolylightNode
getStereo:
  • FrameBufferProperties
getStereoChannel:
  • DisplayRegion
getStopThisFrame:
  • DriveInterface
getStream:
  • CConnectionRepository
getStride:
  • GeomVertexArrayFormat
getstring:
  • Target
getString:
  • DatagramIterator
  • DCPackData
  • DCPacker
  • Enum
  • HTTPDate
  • HTTPEntityTag
  • Indirection
  • StreamReader
getString32:
  • DatagramIterator
  • StreamReader
getstringlist:
  • Target
getStringValue:
  • ConfigPage
  • ConfigVariable
  • ConfigVariableList
  • EventParameter
  • WindowsRegistry
getStringWord:
  • ConfigVariable
getStyleFileData:
  • LevelStyleManager
getStyleSheet:
  • LandingPage
getSubdata:
  • GeomVertexArrayDataHandle
getSubdiv:
  • EggCurve
getSubdocument:
  • HTTPChannel
getSubfileInternalLength:
  • Multifile
getSubfileInternalStart:
  • Multifile
getSubfileLength:
  • Multifile
getSubfileName:
  • Multifile
getSubfileTimestamp:
  • Multifile
GetSubList:
  • SceneGraphExplorerItem
  • TreeItem
getSubpartsComplete:
  • Actor
getSubrangeBegin:
  • SparseArray
getSubrangeEnd:
  • SparseArray
getSuggestedExtension:
  • PNMFileType
getSuitPointFromNodePath:
  • LevelEditor
getSupportedGeomRendering:
  • GraphicsStateGuardianBase
getSupportedTypes:
  • GraphicsPipe
getSupports3dTexture:
  • GraphicsStateGuardian
getSupportsBasicShaders:
  • GraphicsStateGuardian
getSupportsCompressedTexture:
  • GraphicsStateGuardian
getSupportsCompressedTextureFormat:
  • GraphicsStateGuardian
getSupportsCubeMap:
  • GraphicsStateGuardian
getSupportsDepthStencil:
  • GraphicsStateGuardian
getSupportsDepthTexture:
  • GraphicsStateGuardian
getSupportsGenerateMipmap:
  • GraphicsStateGuardian
getSupportsMultisample:
  • GraphicsStateGuardianBase
getSupportsOcclusionQuery:
  • GraphicsStateGuardianBase
getSupportsRenderTexture:
  • GraphicsStateGuardian
getSupportsShadowFilter:
  • GraphicsStateGuardian
getSupportsTexNonPow2:
  • GraphicsStateGuardian
getSupportsTextureCombine:
  • GraphicsStateGuardian
getSupportsTextureDot3:
  • GraphicsStateGuardian
getSupportsTextureSavedResult:
  • GraphicsStateGuardian
getSupportsTwoSidedStencil:
  • GraphicsStateGuardian
getSuppressFlags:
  • MouseWatcherRegion
  • PGItem
getSurface:
  • OdeContact
  • SheetNode
getSurfaceNormal:
  • CollisionEntry
getSurfacePoint:
  • CollisionEntry
getSurfaceType:
  • OdeSpace
getSwapReady:
  • DisplayConnection
getSwitch:
  • DCSwitchParameter
getSwitchByName:
  • DCFile
getSwitchFlag:
  • EggGroup
getSwitchFps:
  • EggGroup
getSx:
  • NodePath
getSy:
  • NodePath
getSyncName:
  • Thread
getSystem:
  • PandaSystem
getSystemAge:
  • ParticleSystem
getSystemGrowsOlderFlag:
  • ParticleSystem
getSystemLifespan:
  • ParticleSystem
getSystemTag:
  • PandaSystem
getSz:
  • NodePath
getT:
  • AutonomousLerp
  • CInterval
  • CollisionEntry
  • Interval
  • Lerp
  • Timer
getT1:
  • CollisionParabola
getT2:
  • CollisionParabola
getTables:
  • ClientRepositoryBase
getTableType:
  • EggTable
getTabWidth:
  • TextProperties
getTag:
  • DocumentSpec
  • EggGroup
  • HTTPEntityTag
  • NodePath
  • PandaNode
getTagState:
  • Camera
getTagStateKey:
  • Camera
getTailColor:
  • LineParticleRenderer
getTangent:
  • EggVertexUV
  • InternalName
  • ParametricCurve
getTangentName:
  • InternalName
getTargetAvId:
  • DistributedLargeBlobSenderAI
getTaskName:
  • GarbageReportScheduler
getTasks:
  • TaskManager
getTasksNamed:
  • TaskManager
getTcpHeaderSize:
  • ConnectionReader
  • ConnectionWriter
getTempDirectory:
  • Filename
getTerminalVelocity:
  • PhysicsObject
getTerminalVelocityBase:
  • BaseParticleFactory
getTerminalVelocitySpread:
  • BaseParticleFactory
getTexcoord:
  • GeomVertexFormat
  • InternalName
getTexcoordName:
  • InternalName
  • ProjectionScreen
  • TextureStage
getTexGen:
  • EggTexture
  • NodePath
  • RenderState
getTexGenLight:
  • NodePath
getTexHpr:
  • NodePath
getTexlistFlag:
  • EggGroup
getTexMatrix:
  • RenderState
getTexOffset:
  • NodePath
getTexPos:
  • NodePath
getTexProjectorFrom:
  • NodePath
getTexProjectorTo:
  • NodePath
getTexRotate:
  • NodePath
getTexScale:
  • MovieTexture
  • NodePath
  • VideoTexture
getTexScale3d:
  • NodePath
getTexSource:
  • SpriteAnim
getText:
  • OnscreenText
  • PGEntry
  • Shader
  • TextEncoder
GetText:
  • SceneGraphExplorerItem
  • TreeItem
getTextAsAscii:
  • TextEncoder
getTextColor:
  • TextProperties
getTextDef:
  • PGEntry
GetTextFg:
  • TreeItem
getTextNode:
  • PGItem
getTextPattern:
  • FrameRateMeter
getTexTransform:
  • NodePath
getTexture:
  • EggPrimitive
  • EggTextureCollection
  • GraphicsOutput
  • NodePath
  • PGFrameStyle
  • PipeOcclusionCullTraverser
  • RenderState
  • ShaderInput
  • SpriteParticleRenderer
  • TextureAttrib
  • TextureCollection
  • TextureContext
getTextureBytes:
  • SceneGraphAnalyzer
getTextureCard:
  • GraphicsOutput
getTextureMargin:
  • DynamicTextFont
getTextureMemory:
  • DisplayInformation
getTexturePlane:
  • GraphicsOutput
getTextureQualityOverride:
  • GraphicsStateGuardian
getTexturesPower2:
  • Texture
getTextureStage:
  • TextureStageCollection
getTextureType:
  • EggTexture
  • Texture
getThick:
  • EggLine
  • EggPoint
getThickness:
  • RenderModeAttrib
  • RopeNode
getThread:
  • PStatClient
  • PStatThread
getThreadingModel:
  • GraphicsEngine
  • GraphicsStateGuardian
getThreadLevel:
  • PStatCollector
getThreadName:
  • PStatClient
getThreadObject:
  • PStatClient
getThreadSyncName:
  • PStatClient
getThreshold:
  • LightRampAttrib
getThrowButtonsActive:
  • ButtonThrower
getThumbButton:
  • PGSliderBar
getTight:
  • ShowBoundsEffect
getTime:
  • AudioSound
  • DirectTimecodeReader
  • HTTPDate
  • MovieTexture
  • Notifier
  • PointerEventList
  • TrackerNode
getTimeBegin:
  • ColorInterpolationSegment
getTimeEnd:
  • ColorInterpolationSegment
getTimeFlag:
  • ButtonThrower
getTimeslice:
  • JobManager
  • TaskThreaded
getTimestamp:
  • Filename
  • Multifile
  • VirtualFile
getTimeStamp:
  • Logger
getTimewarpCurve:
  • ParametricCurveCollection
getTitle:
  • WindowProperties
getTo:
  • TexProjectorEffect
getTop:
  • DisplayRegion
  • InternalName
  • MouseSubregion
  • NodePath
  • TextNode
getTopCategory:
  • Notify
getTopNode:
  • NodePath
getTotalAlloc:
  • NeverFreeMemory
getTotalBytes:
  • GeomVertexArrayFormat
  • GeomVertexColumn
getTotalCppSize:
  • MemoryUsage
getTotalDisplayModes:
  • DisplayInformation
getTotalFileSize:
  • VertexDataSaveFile
getTotalNormalLength:
  • SceneGraphAnalyzer
getTotalSize:
  • GeomCacheManager
  • MemoryUsage
  • SimpleAllocator
  • SimpleLru
getTotalTime:
  • ProfileTimer
getTotalUnused:
  • NeverFreeMemory
getTotalUsed:
  • NeverFreeMemory
getTrace:
  • HTTPChannel
getTrackerCoordinateSystem:
  • TrackerNode
getTrailLog:
  • MouseWatcher
getTrailNode:
  • MouseWatcher
getTransform:
  • CharacterJoint
  • NodePath
  • PandaNode
  • TexMatrixAttrib
  • TextNode
  • TrackerNode
  • TransformBlend
  • TransformTable
getTransform2d:
  • EggTransform
getTransform3d:
  • EggTransform
getTransformBlend:
  • InternalName
getTransformBlendTable:
  • GeomVertexData
getTransformIndex:
  • InternalName
getTransformTable:
  • GeomVertexData
getTransformWeight:
  • InternalName
getTransitions:
  • State
getTransMat:
  • Trackball
getTransparency:
  • NodePath
  • RenderState
getTriangle:
  • CollisionFloorMesh
  • OdeTriMeshGeom
getTriangleV0:
  • Triangulator
getTriangleV1:
  • Triangulator
getTriangleV2:
  • Triangulator
getTrustLevel:
  • ConfigPage
  • ConfigVariableBase
getTryAllDirect:
  • HTTPClient
getTubeUp:
  • RopeNode
getTwoside:
  • Material
getTwoSided:
  • NodePath
getType:
  • DCSimpleParameter
  • Filename
  • LoaderFileTypeRegistry
  • MemoryUsagePointers
  • PGFrameStyle
  • PNMFileTypeRegistry
  • PNMImageHeader
  • TypedObject
getTypeByHandle:
  • PNMFileTypeRegistry
getTypedef:
  • DCFile
  • DCParameter
getTypedefByName:
  • DCFile
getTypedPointer:
  • MemoryUsagePointers
getTypedRefCountValue:
  • EventParameter
getTypeEvent:
  • PGEntry
getTypeFromExtension:
  • LoaderFileTypeRegistry
  • PNMFileTypeRegistry
getTypeFromMagicNumber:
  • PNMFileTypeRegistry
getTypehandle:
  • TypeRegistry
getTypeIndex:
  • TypedObject
getTypeName:
  • MemoryUsagePointers
getTypePrefix:
  • PGEntry
getTypes:
  • ObjectPool
getUDegree:
  • EggNurbsSurface
getUIndex:
  • EggNurbsSurface
getUint16:
  • DatagramIterator
  • StreamReader
getUint31:
  • Mersenne
getUint32:
  • DatagramIterator
  • StreamReader
getUint64:
  • DatagramIterator
  • StreamReader
getUint8:
  • DatagramIterator
  • StreamReader
getUKnot:
  • EggNurbsSurface
  • NurbsSurfaceEvaluator
getUl:
  • TextAssembler
getUncertainty:
  • ClockDelta
getUndecorated:
  • WindowProperties
getUnderscore:
  • TextProperties
getUnderscoreHeight:
  • TextProperties
getUnexpectedChange:
  • PandaNode
getUnicodeChar:
  • TextEncoder
getUniformScale:
  • TransformState
getUnionFormat:
  • GeomVertexFormat
getUniqueValue:
  • ConfigVariableList
getUOrder:
  • EggNurbsSurface
  • NurbsSurfaceEvaluator
getUp:
  • LQuaterniond
  • LQuaternionf
getUpdateInterval:
  • FrameRateMeter
getUpper3:
  • LMatrix4d
  • LMatrix4f
getUpperLeft3d:
  • TextNode
getUpVector:
  • BillboardEffect
  • Lens
getURI:
  • WebRequest
getUrl:
  • DocumentSpec
  • HTTPChannel
  • URLSpec
getUrUv:
  • SpriteParticleRenderer
getUsageHint:
  • Geom
  • GeomPrimitive
  • GeomVertexArrayData
  • GeomVertexArrayDataHandle
  • GeomVertexData
  • TextAssembler
  • TextNode
getUsec:
  • TimeVal
getUsedFileSize:
  • VertexDataSaveFile
getUserAlpha:
  • BaseParticleRenderer
getUserAppdataDirectory:
  • Filename
getUserData:
  • EggObject
getUserMat:
  • MatrixLens
getUsername:
  • HTTPClient
  • URLSpec
getUseVertexColor:
  • RopeNode
  • SheetNode
getUseVertexThickness:
  • RopeNode
getUSubdiv:
  • EggSurface
getUv:
  • EggVertex
  • EggVertexUV
getUvDirection:
  • RopeNode
getUvMode:
  • RopeNode
getUvName:
  • EggTexture
getUvNames:
  • EggVertexPool
getUvObj:
  • EggVertex
getUvScale:
  • RopeNode
getUvw:
  • EggVertex
  • EggVertexUV
getV3:
  • GeomVertexFormat
getV3c4:
  • GeomVertexFormat
getV3c4t2:
  • GeomVertexFormat
getV3cp:
  • GeomVertexFormat
getV3cpt2:
  • GeomVertexFormat
getV3n3:
  • GeomVertexFormat
getV3n3c4:
  • GeomVertexFormat
getV3n3c4t2:
  • GeomVertexFormat
getV3n3cp:
  • GeomVertexFormat
getV3n3cpt2:
  • GeomVertexFormat
getV3n3t2:
  • GeomVertexFormat
getV3t2:
  • GeomVertexFormat
getValue:
  • BasicSkel
  • ConfigVariableBool
  • ConfigVariableDouble
  • ConfigVariableFilename
  • ConfigVariableInt
  • ConfigVariableInt64
  • ConfigVariableSearchPath
  • ConfigVariableString
  • DCSwitch
  • DirectScrollBar
  • DirectSlider
  • EggSAnimData
  • EggXfmAnimData
  • EggXfmSAnim
  • EventStorePandaNode
  • EventStoreTypedRefCount
  • HTTPCookie
  • PGSliderBar
  • PGWaitBar
  • POD
  • TypedSkel
getValueAlt:
  • BasicSkel
  • TypedSkel
getValueNode:
  • AnimChannelMatrixDynamic
getValueTransform:
  • AnimChannelMatrixDynamic
getValueType:
  • ConfigVariableBase
  • ShaderInput
getVariable:
  • AppShell
  • ConfigVariableManager
  • MopathRecorder
  • ParticlePanel
getVariableName:
  • ConfigPage
  • ConfigVariableManager
getVDegree:
  • EggNurbsSurface
getVector:
  • GeomVertexFormat
  • LinearForce
  • ShaderInput
getVectorMasks:
  • LinearForce
getVelocity:
  • CollisionHandlerGravity
  • GravityWalker
  • NonPhysicsWalker
  • PhysicsObject
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
getVendorId:
  • DisplayInformation
getVerbose:
  • CConnectionRepository
getVerifySsl:
  • HTTPClient
getVersion:
  • DownloadDb
getVersionString:
  • PandaSystem
getVertex:
  • CollisionFloorMesh
  • EggPrimitive
  • EggVertexPool
  • GeomPrimitive
  • InternalName
  • LineNodePath
  • LineSegs
  • NurbsCurveEvaluator
  • NurbsSurfaceEvaluator
  • PortalNode
  • Triangulator
getVertexBytes:
  • MemoryExplorerItem
getVertexColor:
  • LineNodePath
  • LineSegs
getVertexColorDimension:
  • RopeNode
getVertexData:
  • Geom
  • GeomVertexReader
  • GeomVertexRewriter
  • GeomVertexWriter
getVertexDataSize:
  • SceneGraphAnalyzer
getVertexFrame:
  • EggNode
getVertexFrameInv:
  • EggNode
getVertexFrameInvPtr:
  • EggNode
getVertexFramePtr:
  • EggNode
getVertexIndex:
  • EggNurbsSurface
getVertexMembership:
  • EggGroup
getVertexSpace:
  • NurbsCurveEvaluator
  • NurbsSurfaceEvaluator
getVertexThicknessDimension:
  • RopeNode
getVertexToNode:
  • EggNode
getVertexToNodePtr:
  • EggNode
getVerticalDeadZone:
  • DriveInterface
getVerticalRampDownTime:
  • DriveInterface
getVerticalRampUpTime:
  • DriveInterface
getVerticalSlider:
  • PGScrollFrame
getVfov:
  • DisplayRegionContext
  • Lens
getVideoHeight:
  • MovieTexture
  • VideoTexture
getVideoMemory:
  • DisplayInformation
getVideoWidth:
  • MovieTexture
  • VideoTexture
getView:
  • InternalName
getViewer:
  • NonlinearImager
getViewerCamera:
  • NonlinearImager
getViewerScene:
  • NonlinearImager
getViewHpr:
  • Lens
getViewMat:
  • Lens
getViewVector:
  • Lens
getVignetteColor:
  • ProjectionScreen
getVignetteOn:
  • ProjectionScreen
getVIndex:
  • EggNurbsSurface
getVirtualFrame:
  • PGScrollFrame
getViscosity:
  • Physical
  • PhysicsManager
getVisibilityMode:
  • EggRenderMode
getVisibleScale:
  • PGFrameStyle
getVizScale:
  • PlaneNode
getVKnot:
  • EggNurbsSurface
  • NurbsSurfaceEvaluator
getVolume:
  • AudioManager
  • AudioSound
  • AudioVolumeAttrib
  • FiniteBoundingVolume
getVOrder:
  • EggNurbsSurface
  • NurbsSurfaceEvaluator
getVSubdiv:
  • EggSurface
getW:
  • LVecBase4d
  • LVecBase4f
getWall:
  • LevelEditor
getWallIntersectionPoint:
  • LevelEditor
getWantMessageBundling:
  • CConnectionRepository
getWantsTCallback:
  • CInterval
getWarning:
  • Notifier
getWeight:
  • PolylightEffect
  • TransformBlend
getWidget:
  • AppShell
  • MopathRecorder
  • ParticlePanel
getWidgetIntersectPt:
  • ObjectHandles
getWidth:
  • DirectGuiWidget
  • DisplayRegionContext
  • PGFrameStyle
  • SpriteParticleRenderer
  • TextAssembler
  • TextNode
getWidthA:
  • ColorInterpolationFunctionStepwave
getWidthB:
  • ColorInterpolationFunctionStepwave
getWindingOrder:
  • DynamicTextFont
getWindow:
  • DisplayRegion
  • FrameRateMeter
  • GraphicsEngine
getWindowBitsPerPixel:
  • DisplayInformation
getWindowCount:
  • LevelEditor
getWindowEvent:
  • GraphicsWindow
getWithinEvent:
  • PGItem
getWithinPattern:
  • MouseWatcher
getWithinPrefix:
  • PGItem
getWithoutEvent:
  • PGItem
getWithoutPattern:
  • MouseWatcher
getWithoutPrefix:
  • PGItem
getWord:
  • BitArray
  • ConfigVariableBool
  • ConfigVariableDouble
  • ConfigVariableFilename
  • ConfigVariableInt
  • ConfigVariableInt64
  • ConfigVariableString
getWordwrap:
  • OnscreenText
  • TextProperties
getWordwrappedPlainWtext:
  • TextAssembler
getWordwrappedText:
  • TextNode
getWordwrappedWtext:
  • TextAssembler
  • TextNode
getWorld:
  • ClientRepositoryBase
  • InternalName
getWrapMode:
  • EggTexture
getWrapU:
  • EggTexture
  • Texture
getWrapV:
  • EggTexture
  • Texture
getWrapW:
  • EggTexture
  • Texture
getWriter:
  • BamFile
getWriteRow:
  • GeomVertexWriter
getWrt:
  • SelectedNodePaths
getWrtAll:
  • SelectedNodePaths
getWstring:
  • DatagramIterator
getWstringValue:
  • EventParameter
getWtext:
  • PGEntry
  • TextAssembler
  • TextEncoder
getWtextAsAscii:
  • TextEncoder
getWwwRealm:
  • HTTPChannel
getX:
  • DriveInterface
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • MouseData
  • NodePath
  • Trackball
getXel:
  • PNMImage
getXelA:
  • PNMImage
getXelVal:
  • PNMImage
getXOrigin:
  • WindowProperties
getXpos:
  • PointerEventList
  • TextAssembler
getXScaleFlag:
  • GeomParticleRenderer
  • SpriteParticleRenderer
getXSize:
  • GraphicsOutput
  • PNMImageHeader
  • Texture
  • WindowProperties
getXyzCurve:
  • ParametricCurveCollection
getXYZH:
  • DistributedNodeAI
getXyzMultiplier:
  • DirectJoybox
getXyzSnap:
  • DirectGrid
getY:
  • DriveInterface
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • MouseData
  • NodePath
  • Trackball
getYOrigin:
  • WindowProperties
getYpos:
  • PointerEventList
  • TextAssembler
getYScaleFlag:
  • GeomParticleRenderer
  • SpriteParticleRenderer
getYSize:
  • GraphicsOutput
  • PNMImageHeader
  • Texture
  • WindowProperties
getZ:
  • DriveInterface
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • NodePath
  • Trackball
getZoneCellOrigin:
  • CartesianGridBase
getZoneCellOriginCenter:
  • CartesianGridBase
getZoneChangeEvent:
  • DistributedObjectAI
  • DistributedObjectUD
getZoneData:
  • DistributedObjectAI
getZoneFromXYZ:
  • CartesianGridBase
getZOrder:
  • WindowProperties
getZScaleFlag:
  • GeomParticleRenderer
getZSize:
  • Texture
getZString:
  • DatagramIterator
  • StreamReader
giveNotify:
  • DirectNotify
goesThrough:
  • ObjectRef
good:
  • ios
gotAlt:
  • DirectSession
gotControl:
  • DirectSession
goTo:
  • ActorControl
  • Mopath
goToF:
  • ActorControl
goToT:
  • ActorControl
gotShift:
  • DirectSession
growToFit:
  • ObjectHandles
grp_icon_dir:
  • IconFile
grp_icondir_entries:
  • IconFile
guiDragTask:
  • DirectGuiWidget
guiScaleTask:
  • DirectGuiWidget
hadError:
  • DCPacker
hadPackError:
  • DCPacker
hadParseError:
  • DCPacker
hadRangeError:
  • DCPacker
handle:
  • NetMessenger
handleAvatarControls:
  • BattleWalker
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
  • TwoDWalker
handleAvatarZoneChange:
  • DistributedCartesianGrid
  • DistributedCartesianGridAI
handleCamFrustum:
  • ClusterServer
handleCamMovement:
  • ClusterServer
handleCamOffset:
  • ClusterServer
handleChildArrive:
  • DistributedCartesianGrid
  • DistributedObjectBase
handleChildArriveZone:
  • DistributedCartesianGrid
  • DistributedObjectBase
handleChildLeave:
  • DistributedCartesianGrid
  • DistributedObjectBase
handleChildLeaveZone:
  • DistributedObjectBase
handleClientCreateObjectRequired:
  • ServerRepository
handleClientDeleteObject:
  • ServerRepository
handleClientDisable:
  • ServerRepository
handleClientDisconnect:
  • ServerRepository
handleClientUpdateField:
  • ServerRepository
handleCommandString:
  • ClusterServer
handleDatagram:
  • ClientRepository
  • ClusterClient
  • ClusterServer
  • ConnectionRepository
  • OldClientRepository
  • ServerRepository
handleDelete:
  • ClientRepositoryBase
handleDisable:
  • ClientRepositoryBase
handleGenerateWithRequired:
  • ClientRepository
  • ClientRepositoryBase
  • OldClientRepository
handleGenerateWithRequiredOther:
  • ClientRepositoryBase
handleGenerateWithRequiredOtherOwner:
  • ClientRepositoryBase
handleGET:
  • WebRequestDispatcher
handleGoGetLost:
  • ClientRepositoryBase
handleInterestDoneMessage:
  • DoInterestManager
handleLogicalZoneChange:
  • DistributedObjectAI
  • DistributedObjectUD
handleMessageQueue:
  • ClusterClient
  • ClusterServer
handleNamedMovement:
  • ClusterClient
  • ClusterServer
handleObjectLocation:
  • DoCollectionManager
handleQueryObjectChildrenLocalDone:
  • DistributedObjectBase
handleQuietZoneGenerateWithRequired:
  • ClientRepositoryBase
handleQuietZoneGenerateWithRequiredOther:
  • ClientRepositoryBase
handleReaderOverflow:
  • ConnectionRepository
handleRemoveZone:
  • ServerRepository
handleRequestGenerates:
  • ClientRepository
  • OldClientRepository
handleSelectedMovement:
  • ClusterServer
handleServerHeartbeat:
  • ClientRepositoryBase
handleSetDOIDrange:
  • ClientRepository
  • OldClientRepository
handleSetLocation:
  • DistributedCartesianGridAI
  • DoCollectionManager
handleSetZone:
  • ServerRepository
handleSystemMessage:
  • ClientRepositoryBase
handleTimeData:
  • ClusterServer
handleUpdateField:
  • ClientRepositoryBase
handleWrtReparent:
  • SmoothMover
has:
  • BulletinBoard
  • OnScreenDebug
hasAbsolutePathnames:
  • EggGroupNode
hasAlign:
  • TextProperties
hasAllOf:
  • BitArray
  • SparseArray
hasAllOff:
  • ClipPlaneAttrib
  • LightAttrib
  • TextureAttrib
hasAllRamMipmapImages:
  • Texture
hasAlpha:
  • PNMImageHeader
hasAlphaChannel:
  • EggTexture
hasAlphaFileChannel:
  • EggTexture
hasAlphaFilename:
  • EggTexture
  • Texture
hasAlphaFullpath:
  • Texture
hasAlphaScale:
  • ColorScaleAttrib
  • EggTexture
hasAmb:
  • EggMaterial
hasAmbient:
  • Material
hasAnisotropicDegree:
  • EggTexture
hasAntialias:
  • NodePath
hasAnyOf:
  • BitArray
  • SparseArray
hasAsciiEquivalent:
  • ButtonHandle
hasAssertFailed:
  • Notify
hasAssertHandler:
  • Notify
hasAttrib:
  • NodePath
  • PandaNode
hasAttribute:
  • LevelEditor
  • LevelStyleManager
hasAudioVolume:
  • NodePath
hasAuthority:
  • URLSpec
hasBillboard:
  • NodePath
hasBillboardCenter:
  • EggGroup
hasBin:
  • EggRenderMode
  • NodePath
  • TextProperties
hasBinormal:
  • EggVertexUV
hasBitsInCommon:
  • BitArray
  • SparseArray
hasBlendColor:
  • EggGroup
hasBoolWord:
  • ConfigVariable
hasBorderColor:
  • EggTexture
hasButton:
  • ModifierButtons
  • MouseWatcherParameter
hasCachedData:
  • CRDataCache
  • DistributedObject
hasCandidate:
  • MouseWatcherParameter
hasCard:
  • TextNode
hasCardBorder:
  • TextNode
hasCardTexture:
  • TextNode
hasCenter:
  • CollisionHandlerPhysical
hasChildren:
  • State
hasClassDef:
  • DCClass
hasClickButton:
  • PGButton
hasClipFrame:
  • PGVirtualFrame
hasClipPlane:
  • NodePath
hasClipPlaneOff:
  • NodePath
hasCollideMask:
  • EggGroup
hasCollider:
  • CollisionHandlerPhysical
  • CollisionTraverser
hasCollisionName:
  • EggGroup
hasColor:
  • EggAttributes
  • EggTexture
  • NodePath
hasColorMap:
  • GeoMipTerrain
hasColors:
  • EggVertexPool
hasColorScale:
  • NodePath
hasColumn:
  • GeomVertexArrayData
  • GeomVertexArrayFormat
  • GeomVertexData
  • GeomVertexFormat
  • GeomVertexReader
  • GeomVertexRewriter
  • GeomVertexWriter
hasCompass:
  • NodePath
hascomponent:
  • DirectGuiBase
hasComponents:
  • TransformState
hasConstructor:
  • DCClass
hasContact:
  • CollisionHandlerPhysical
hasContactNormal:
  • CollisionEntry
hasContactPos:
  • CollisionEntry
hasContents:
  • EggXfmAnimData
hasCookie:
  • HTTPClient
hasCullCallback:
  • RenderState
hasCursorFilename:
  • WindowProperties
hasCursorHidden:
  • WindowProperties
hasCurve:
  • ParametricCurveCollection
hasData:
  • BamCacheRecord
hasDate:
  • DocumentSpec
hasDcsType:
  • EggGroup
hasDefaultValue:
  • DCField
hasDefinedVertices:
  • EggVertexPool
hasDepthTest:
  • NodePath
hasDepthWrite:
  • NodePath
hasDiff:
  • EggMaterial
hasDiffuse:
  • Material
hasDirectory:
  • Multifile
hasDirtyPrevTransform:
  • PandaNode
hasDisplayRegion:
  • MouseWatcher
hasDoubleWord:
  • ConfigVariable
hasDrawOrder:
  • EggRenderMode
  • TextProperties
hasEffect:
  • NodePath
  • PandaNode
hasEffectiveNormal:
  • CollisionSolid
hasElementDefault:
  • DCAtomicField
hasEmission:
  • Material
hasEmit:
  • EggMaterial
hasEnvironmentVariable:
  • ExecutionEnvironment
hasExpires:
  • HTTPCookie
hasFakeTextureImage:
  • TexturePool
hasFilename:
  • Texture
hasFixedSize:
  • WindowProperties
hasFog:
  • NodePath
hasFogOff:
  • NodePath
hasFont:
  • FontPool
  • TextProperties
hasForeground:
  • WindowProperties
hasForwardVertices:
  • EggVertexPool
hasFps:
  • EggAnimData
  • EggXfmSAnim
hasFrame:
  • PGItem
  • TextNode
hasFree:
  • Pool
hasFromCollideMask:
  • EggGroup
hasFullpath:
  • Texture
hasFullscreen:
  • WindowProperties
hasGenTexcoordStage:
  • TexGenAttrib
hasGeometry:
  • MouseWatcher
hasGlobCharacters:
  • GlobPattern
hasGlyphScale:
  • TextProperties
hasGlyphShift:
  • TextProperties
hasGraphic:
  • TextPropertiesManager
hasGref:
  • EggVertex
hasHash:
  • Filename
hashBuffer:
  • HashVal
hashFile:
  • HashVal
hasHomogeneousCoord:
  • GeomVertexColumn
hasHpr:
  • TransformState
hashRamfile:
  • HashVal
hashStream:
  • HashVal
hashString:
  • HashVal
hasIconFilename:
  • WindowProperties
hasIdentityScale:
  • TransformState
hasInactivityTimeout:
  • MouseWatcher
hasIndent:
  • TextProperties
hasIndexedFlag:
  • EggGroup
hasInt64Word:
  • ConfigVariable
hasInteriorPoint:
  • CollisionEntry
hasInto:
  • CollisionEntry
hasIntoCollideMask:
  • EggGroup
hasIntWord:
  • ConfigVariable
hasJoint:
  • OdeJointCollection
hasKeyboard:
  • GraphicsWindow
hasKeycode:
  • MouseWatcherParameter
hasKeyword:
  • DCKeywordList
hasLeftEyeMat:
  • MatrixLens
hasLight:
  • LightAttrib
  • NodePath
  • PolylightEffect
hasLightOff:
  • NodePath
hasLocal:
  • EggMaterial
hasLocalTransform:
  • CharacterJoint
hasLocalValue:
  • ConfigVariableBase
hasLOD:
  • Actor
hasLod:
  • EggGroup
hasMat:
  • NodePath
  • TransformState
hasMaterial:
  • EggPrimitive
  • MaterialCollection
  • NodePath
hasMatrix:
  • RopeNode
hasMaxNumBits:
  • BitArray
  • SparseArray
hasMaxRows:
  • TextNode
hasMinimized:
  • WindowProperties
hasModel:
  • ModelPool
hasModulus:
  • DCSimpleParameter
hasMostRecentTimestamp:
  • SmoothMover
hasMouse:
  • MouseWatcher
  • MouseWatcherParameter
hasMouseMode:
  • WindowProperties
hasName:
  • EggNameUniquifier
  • Event
  • InternalNameCollection
  • Namable
hasNestedFields:
  • DCPacker
hasNetPythonTag:
  • NodePath
hasNetTag:
  • NodePath
hasNetTransform:
  • CharacterJoint
hasNewline:
  • LineStream
hasNonwhiteColors:
  • EggVertexPool
hasNonzeroShear:
  • TransformState
hasNormal:
  • EggAttributes
hasNormals:
  • EggPrimitive
hasObjectType:
  • EggGroup
hasOffLight:
  • LightAttrib
hasOffPlane:
  • ClipPlaneAttrib
hasOffStage:
  • TextureAttrib
hasOnLight:
  • LightAttrib
hasOnPlane:
  • ClipPlaneAttrib
hasOnStage:
  • TextureAttrib
hasOpen:
  • WindowProperties
hasOrder:
  • EggXfmAnimData
  • EggXfmSAnim
hasOrigin:
  • WindowProperties
hasOverflow:
  • TextNode
hasOwnerClassDef:
  • DCClass
hasOwnerView:
  • CConnectionRepository
hasParent:
  • NodePath
hasParentingRules:
  • DistributedObjectBase
hasParentWindow:
  • WindowProperties
hasPath:
  • NodePathCollection
  • URLSpec
hasPerspective:
  • EggPoint
hasPhysicsObject:
  • PhysicsObjectCollection
hasPlane:
  • ClipPlaneAttrib
hasPointer:
  • GraphicsWindow
hasPort:
  • URLSpec
hasPos:
  • TransformState
hasPref:
  • EggVertex
hasPreserveTrailingWhitespace:
  • TextProperties
hasPrimitives:
  • EggPrimitive
hasPriority:
  • EggTexture
hasProperties:
  • TextPropertiesManager
hasPythonTag:
  • NodePath
  • PandaNode
hasQuat:
  • TransformState
hasQuery:
  • URLSpec
hasRamImage:
  • Texture
  • VideoTexture
hasRamMipmapImage:
  • Texture
hasRawMice:
  • WindowProperties
hasReadSize:
  • PNMImage
hasReceiver:
  • Event
hasRecorder:
  • CollisionTraverser
  • RecorderController
hasRegion:
  • MouseWatcherGroup
hasRenderMode:
  • NodePath
hasRgbScale:
  • ColorScaleAttrib
  • EggTexture
hasRightEyeMat:
  • MatrixLens
hasScale:
  • ColorScaleAttrib
  • TransformState
hasScheme:
  • URLSpec
hasScissor:
  • NodePath
hasServer:
  • URLSpec
hasShader:
  • ShaderAttrib
  • ShaderPool
hasShadow:
  • TextProperties
hasShadowColor:
  • TextProperties
hasShear:
  • TransformState
hasShininess:
  • EggMaterial
hasSize:
  • GraphicsOutput
  • WindowProperties
hasSlant:
  • TextProperties
hasSlider:
  • SliderTable
hasSmallCaps:
  • TextProperties
hasSmallCapsScale:
  • TextProperties
hasSound:
  • PGItem
hasSourceHash:
  • Patchfile
hasSpec:
  • EggMaterial
hasSpecular:
  • Material
hasStage:
  • TexGenAttrib
  • TexMatrixAttrib
  • TexProjectorEffect
hasStageName:
  • EggTexture
hasStateDef:
  • PGItem
hasStateNamed:
  • ClassicFSM
hasStringWord:
  • ConfigVariable
hasSurfaceNormal:
  • CollisionEntry
hasSurfacePoint:
  • CollisionEntry
hasSystem:
  • PandaSystem
hasTable:
  • AnimChannelMatrixXfmTable
  • AnimChannelScalarTable
hasTabWidth:
  • TextProperties
hasTag:
  • DocumentSpec
  • EggGroup
  • NodePath
  • PandaNode
hasTags:
  • PandaNode
hasTagState:
  • Camera
hasTangent:
  • EggVertexUV
hasTask:
  • AsyncTaskManager
hasTaskNamed:
  • TaskManager
hasTexcoord:
  • NodePath
hasTexGen:
  • NodePath
hasTexProjector:
  • NodePath
hasText:
  • TextEncoder
hasTextColor:
  • TextProperties
hasTexTransform:
  • NodePath
hasTexture:
  • EggPrimitive
  • GraphicsOutput
  • NodePath
  • PGFrameStyle
  • TextureCollection
  • TexturePool
hasTextureOff:
  • NodePath
hasTextureStage:
  • TextureStageCollection
hasThick:
  • EggLine
  • EggPoint
hasThrowButton:
  • ButtonThrower
hasTime:
  • TrackerNode
hasTitle:
  • WindowProperties
hasTransform:
  • EggTable
  • EggTransform
  • TransformBlend
hasTransform2d:
  • EggTransform
hasTransform3d:
  • EggTransform
hasTransparency:
  • NodePath
hasTwoSided:
  • NodePath
hasType:
  • PNMImageHeader
hasUndecorated:
  • WindowProperties
hasUnderscore:
  • TextProperties
hasUnderscoreHeight:
  • TextProperties
hasUniformScale:
  • TransformState
hasUserData:
  • EggObject
hasUsername:
  • URLSpec
hasUv:
  • EggVertex
hasUvName:
  • EggTexture
hasUvs:
  • EggVertexPool
hasUvw:
  • EggVertex
hasValue:
  • ConfigVariableBase
hasVersion:
  • DownloadDb
hasVertex:
  • EggVertexPool
hasVertexColor:
  • EggPrimitive
hasVertexColumn:
  • NodePath
hasVertexNormal:
  • EggPrimitive
hasVirtualFrame:
  • PGScrollFrame
hasVolume:
  • AudioVolumeAttrib
hasW:
  • EggVertexUV
hasWordwrap:
  • TextProperties
hasZOrder:
  • WindowProperties
haveCreateAuthority:
  • ClientRepository
  • OldClientRepository
haveShaderUtilization:
  • Shader
haveTexturesPower2:
  • Texture
headsUp:
  • NodePath
heapTrim:
  • PandaSystem
heightfield:
  • GeoMipTerrain
  • HeightfieldTesselator
help:
  • KeyboardButton
hide:
  • DirectBoundingBox
  • DirectDialog
  • NodePath
  • NodePathCollection
hideActiveParentReadout:
  • DirectSession
hideAllBounds:
  • Actor
hideAllHandles:
  • ObjectHandles
hideAllSwitches:
  • LODNode
hideAllVisibles:
  • LevelEditor
hideBattleCells:
  • LevelEditor
hideBounds:
  • NodePath
hideCollisions:
  • CollisionTraverser
hideDirectMessage:
  • DirectSession
hideDirectMessageLater:
  • DirectSession
hideFrustum:
  • LensNode
hideGuides:
  • ObjectHandles
hidePart:
  • Actor
hidePopupMenu:
  • DirectOptionMenu
hideRegions:
  • MouseWatcherGroup
hideSelectedNPReadout:
  • DirectSession
hideSuitPaths:
  • LevelEditor
hideSwitch:
  • LODNode
hideWidget:
  • ObjectHandles
highlight:
  • DirectNodePath
highlightAll:
  • SelectedNodePaths
highlightConnected:
  • LevelEditor
highlightConnectedRec:
  • LevelEditor
highlightKnob:
  • DialWidget
highlightWidget:
  • FloaterWidget
  • SliderWidget
home:
  • KeyboardButton
homeCam:
  • DirectCameraControl
HPanYZoomTask:
  • DirectCameraControl
HPPanTask:
  • DirectCameraControl
hprGiven:
  • TransformState
hprXyzMode:
  • DirectJoybox
httpConnectCallback:
  • ConnectionRepository
identMat:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
identQuat:
  • LQuaterniond
  • LQuaternionf
ignore:
  • DirectObject
  • Messenger
ignoreAll:
  • DirectObject
  • Messenger
ignoreBarrier:
  • DistributedObjectAI
  • DistributedObjectUD
ignoreSwitchModeEvent:
  • DirectJoybox
ignoreUprightCameraEvent:
  • DirectJoybox
import_hook:
  • ModuleFinder
import_module:
  • ModuleFinder
importModule:
  • ConnectionRepository
  • ServerRepository
impulseToForce:
  • OdeWorld
inc:
  • RefCounter
incMemoryUsage:
  • TypeHandle
incrementQuickStat:
  • LandingPage
index:
  • DirectOptionMenu
  • MetaInterval
induceLabor:
  • ParticleSystem
info:
  • Notifier
  • NotifyCategory
inheritsFromBogusClass:
  • DCClass
init:
  • ProfileTimer
initAnimsOnAllLODs:
  • Actor
initDNANode:
  • LevelEditor
initFromServerResponse:
  • DistributedObjectAI
  • DistributedObjectUD
initial:
  • UpdateSeq
initialiseoptions:
  • DirectGuiBase
initialize:
  • CDistributedSmoothNodeBase
initializeBaselineStyleDictionary:
  • LevelStyleManager
initializeBuildingStyleDictionary:
  • LevelStyleManager
initializeCollisions:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • ObserverWalker
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
initializePartNames:
  • Inspector
initializePartsList:
  • DictionaryInspector
  • Inspector
  • SequenceInspector
initializeWallStyleDictionary:
  • LevelStyleManager
initialReserveId:
  • UniqueIdAllocator
initiate:
  • Decompressor
  • Patcher
  • Patchfile
InitNetworkDriver:
  • Socket_IP
InitNoAddress:
  • Socket_UDP
  • Socket_UDP_Incoming
  • Socket_UDP_Outgoing
initNodePath:
  • LevelEditor
initRandomSeed:
  • HTTPClient
  • PhysicsManager
initShadowTrav:
  • ShowBase
initSurfaceTable:
  • OdeWorld
InitToAddress:
  • Socket_UDP
  • Socket_UDP_Outgoing
initTrace:
  • MopathRecorder
initVisibilityData:
  • LevelEditor
input:
  • DocumentSpec
  • HTTPDate
  • URLSpec
inputBinary:
  • HashVal
inputDec:
  • HashVal
inputHandler:
  • DirectSession
inputHex:
  • HashVal
insert:
  • KeyboardButton
  • MetaInterval
insertArray:
  • GeomVertexFormat
insertCv:
  • HermiteCurve
  • NurbsCurveInterface
insertionMarkerTask:
  • LevelEditor
insertNewVersion:
  • DownloadDb
inspect:
  • aiWebServer
  • InspectorWindow
inspectedObject:
  • InspectorWindow
inspectorFor:
  • Inspector
inspectorForSelectedPart:
  • InspectorWindow
inspectSubMachine:
  • StateInspector
install:
  • Importer
instance:
  • Actor
instanceTo:
  • NodePath
instanceToStateDef:
  • PGItem
instanceUnderNode:
  • NodePath
interior:
  • AppShell
interrupt:
  • CIntervalManager
  • IntervalManager
intersectsLine:
  • Planed
  • Planef
intersectsParabola:
  • Planed
  • Planef
intersectsPlane:
  • Planed
  • Planef
intervalDone:
  • Interval
intOrNone:
  • WidgetPropertiesDialog
invalidate:
  • InputStateToken
  • Sync
invalidURI:
  • WebRequestDispatcher
invertAffineFrom:
  • LMatrix4d
  • LMatrix4f
invertCompose:
  • RenderState
  • TransformState
invertFrom:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LQuaterniond
  • LQuaternionf
invertInPlace:
  • BitArray
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LQuaterniond
  • LQuaternionf
  • SparseArray
invertTransposeFrom:
  • LMatrix3d
  • LMatrix3f
invokeDefaultHandler:
  • TaskManager
involvesColorScale:
  • ColorBlendAttrib
  • TextureStage
involvesConstantColor:
  • ColorBlendAttrib
irisIn:
  • Transitions
irisOut:
  • Transitions
is2d:
  • TransformState
isAccepting:
  • DirectObject
  • Messenger
isActive:
  • Camera
  • DisplayRegion
  • GraphicsOutput
  • GraphicsStateGuardian
  • PStatCollector
isAirecv:
  • DCField
isAllOn:
  • BitArray
  • SparseArray
isAlmostIdentity:
  • LQuaterniond
  • LQuaternionf
isAncestorOf:
  • NodePath
isAnimMatrix:
  • EggNode
isAnyClearActive:
  • DrawableRegion
isAnyDown:
  • ModifierButtons
isAnyShown:
  • LODNode
isAnySpecified:
  • FrameBufferProperties
  • TextProperties
  • WindowProperties
isAtEnd:
  • GeomVertexReader
  • GeomVertexRewriter
  • GeomVertexWriter
isAttribLocked:
  • Material
isatty:
  • RotatingLog
isBasic:
  • FrameBufferProperties
isBinary:
  • Filename
isBogusClass:
  • DCClass
isBogusField:
  • DCField
isBogusTypedef:
  • DCTypedef
isBoundsStale:
  • PandaNode
isBroadcast:
  • DCField
isBundlingMessages:
  • CConnectionRepository
isButtonDown:
  • MouseWatcher
  • PGButton
  • PGSliderBar
isButtonKnown:
  • ButtonNode
isBytewiseEquivalent:
  • GeomVertexColumn
isCardAsMargin:
  • TextNode
isClipPlane:
  • PortalNode
isClosed:
  • ConfigVariableBase
  • EggNurbsCurve
  • GraphicsWindow
  • ISocketStream
  • OSocketStream
  • SocketStream
  • SocketStreamRecorder
  • SSReader
  • SSWriter
isClosedU:
  • EggNurbsSurface
isClosedV:
  • EggNurbsSurface
isClrecv:
  • DCField
isClsend:
  • DCField
isComplete:
  • DistributedLargeBlobSender
isCompleted:
  • EventGroup
isComposite:
  • GeomPrimitive
isConcave:
  • CollisionPolygon
isConnected:
  • CConnectionRepository
  • PStatClient
  • VrpnClient
IsConnected:
  • Buffered_DatagramConnection
isConnectionOk:
  • ConnectionReader
isConnectionReady:
  • HTTPChannel
isControlKnown:
  • AnalogNode
isCounting:
  • MemoryUsage
isDataSubsetOf:
  • GeomVertexArrayFormat
isDb:
  • DCField
isDebug:
  • NotifyCategory
isDefault:
  • GraphicsThreadingModel
isDeleted:
  • DistributedObjectAI
  • DistributedObjectUD
isDerivedFrom:
  • TypeHandle
  • TypeRegistry
isDialKnown:
  • DialNode
isDictKey:
  • Indirection
isDirectory:
  • Filename
  • VirtualFile
  • VirtualFileSystem
isDirty:
  • GeoMipTerrain
isDisabled:
  • DistributedObject
  • DistributedObjectOV
isDone:
  • AutonomousLerp
  • BulletinBoardWatcher
  • Lerp
isDouble:
  • EventParameter
isDown:
  • ModifierButtons
isDownloadComplete:
  • HTTPChannel
isDynamic:
  • ConfigVariableBase
IsEditable:
  • SceneGraphExplorerItem
  • TreeItem
isEmpty:
  • BoundingVolume
  • ConfigVariableSearchPath
  • CRCache
  • DoHierarchy
  • DSearchPath
  • DynamicTextPage
  • EggTextureCollection
  • EventParameter
  • Geom
  • GraphicsEngine
  • LineNodePath
  • LineSegs
  • Messenger
  • NodePath
  • NodePathCollection
  • OdeJointCollection
  • PhysicsObjectCollection
  • Queue
  • RenderEffects
  • RenderState
  • SimpleAllocator
  • SliderTable
  • Stack
  • TexGenAttrib
  • TexMatrixAttrib
  • TexProjectorEffect
isEnabled:
  • BufferViewer
  • ColorInterpolationSegment
  • DirectGrid
  • DirectSession
  • ForceGroup
  • OdeBody
  • OdeGeom
  • OdeSpace
  • ParticleEffect
  • Particles
  • PolylightNode
isEntryBackfacing:
  • SelectionQueue
  • SelectionSphere
isEof:
  • BamFile
isEquivalentTo:
  • EggMaterial
  • EggTexture
isError:
  • NotifyCategory
  • RecorderController
isEventReady:
  • CMetaInterval
isExactType:
  • TypedObject
isExecutable:
  • Filename
IsExpandable:
  • SceneGraphExplorerItem
  • TreeItem
isExpired:
  • HTTPCookie
isFatal:
  • NotifyCategory
isFileSizeKnown:
  • HTTPChannel
isFinal:
  • PandaNode
isFinished:
  • TaskThread
isFixedFunction:
  • TextureStage
isFlickering:
  • PolylightNode
isForked:
  • ClientBase
isForwardReference:
  • EggVertex
isFrameAsMargin:
  • TextNode
isFree:
  • Pool
  • SimpleAllocatorBlock
isFresh:
  • UpdateSeq
isFullscreen:
  • FilterManager
  • GraphicsWindow
isFullyQualified:
  • Filename
isGenerated:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectOV
  • DistributedObjectUD
isGeomNode:
  • PandaNode
isGeomPrepared:
  • PreparedGraphicsObjects
isGeomQueued:
  • PreparedGraphicsObjects
isGrayscale:
  • PNMImageHeader
isGridParent:
  • DistributedCartesianGrid
  • DistributedCartesianGridAI
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectUD
isHardware:
  • GraphicsStateGuardian
isHidden:
  • NodePath
isIdentity:
  • ClipPlaneAttrib
  • ColorScaleAttrib
  • LightAttrib
  • LQuaterniond
  • LQuaternionf
  • TextureAttrib
  • TransformState
isIgnoring:
  • DirectObject
  • Messenger
isImmediate:
  • ConnectionWriter
isImplicit:
  • ConfigPage
isImplicitTypedef:
  • DCTypedef
isIncludeEmpty:
  • PartSubset
isIndexBufferPrepared:
  • PreparedGraphicsObjects
isIndexBufferQueued:
  • PreparedGraphicsObjects
isIndexed:
  • GeomPrimitive
isInfinite:
  • BoundingVolume
isInfo:
  • NotifyCategory
isInitial:
  • UpdateSeq
isinitoption:
  • DirectGuiBase
isInstanceType:
  • EggGroup
isInt:
  • EventParameter
isInternalStateInFlux:
  • ClassicFSM
isInTransition:
  • FSM
isInvalid:
  • TransformState
isInverse:
  • SparseArray
isInView:
  • LensNode
isJoint:
  • EggGroup
  • EggNode
isKeyrepeat:
  • MouseWatcherParameter
isLeftWinding:
  • Triangulator
isLinear:
  • BaseForce
  • Lens
isLive:
  • ClientRepositoryBase
isLocal:
  • DistributedObject
  • Filename
isLocalCoord:
  • EggNode
isLocalId:
  • ClientRepository
  • ClientRepositoryBase
  • OldClientRepository
isLodNode:
  • PandaNode
isMainWindowOpen:
  • ShowBase
isMcastRange:
  • Socket_Address
isMipmap:
  • Texture
isModulated:
  • ColorInterpolationSegment
isMouseButton:
  • MouseButton
isMouseOpen:
  • MouseWatcher
isNan:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
isNotCycle:
  • DirectSession
isNull:
  • PointerToVoid
isOff:
  • AudioVolumeAttrib
  • BillboardEffect
  • ColorScaleAttrib
  • FogAttrib
  • MaterialAttrib
  • TextureAttrib
isOfficialVersion:
  • PandaSystem
isOffset:
  • OdeGeom
isOfType:
  • TypedObject
isolate:
  • DirectSession
isolateSelected:
  • SelectedNodePaths
isOld:
  • UpdateSeq
isOn:
  • FourState
  • FourStateAI
  • NotifyCategory
isOnGround:
  • CollisionHandlerGravity
isOpen:
  • PortalNode
  • RecorderController
isOrthographic:
  • Lens
isOutputFlipped:
  • AnalogNode
isOutside:
  • MouseWatcherParameter
isOverallHidden:
  • PandaNode
isOverRegion:
  • MouseWatcher
isOwnrecv:
  • DCField
isOwnsend:
  • DCField
isParticleMgrEnabled:
  • ShowBase
isPaused:
  • Interval
isPendingDelete:
  • InterestState
isPerspective:
  • Lens
isPhysicsMgrEnabled:
  • ShowBase
isPlanar:
  • EggPolygon
isPlaying:
  • AnimControlCollection
  • AnimInterface
  • CInterval
  • Interval
  • MovieTexture
  • RecorderBase
  • RecorderController
isPolling:
  • ConnectionReader
isPrepared:
  • Geom
  • GeomVertexArrayData
  • Shader
  • Texture
isQueueEmpty:
  • EventQueue
isQueueFull:
  • EventQueue
isRam:
  • DCField
isReadValid:
  • Multifile
isReady:
  • ModelFlattenRequest
  • ModelLoadRequest
isRecording:
  • RecorderBase
  • RecorderController
isRegistered:
  • GeomVertexArrayFormat
  • GeomVertexFormat
  • SliderTable
  • TransformTable
isRegularFile:
  • Filename
  • VirtualFile
  • VirtualFileSystem
isRemoved:
  • Task
isRequestPending:
  • Loader
isRequired:
  • DCField
isRight:
  • EggGroupNode
isSameDirection:
  • LQuaterniond
  • LQuaternionf
isSameGraph:
  • NodePath
isScreen:
  • ScissorEffect
isSet:
  • InputState
isShaderPrepared:
  • PreparedGraphicsObjects
isShaderQueued:
  • PreparedGraphicsObjects
isSingleBuffered:
  • FrameBufferProperties
isSingleThreaded:
  • GraphicsThreadingModel
isSingleton:
  • NodePath
isSingular:
  • TransformState
isSpace:
  • OdeGeom
  • OdeSpace
isSpam:
  • NotifyCategory
isSpecial:
  • ConfigPage
  • UpdateSeq
isSsl:
  • URLSpec
isStarted:
  • AsyncTaskManager
  • PStatCollector
  • Thread
  • Timer
isStashed:
  • NodePath
isStereo:
  • FrameBufferProperties
  • GraphicsOutput
isStopped:
  • CInterval
  • Interval
isString:
  • EventParameter
isStruct:
  • DCClass
isSubfileCompressed:
  • Multifile
isSubfileEncrypted:
  • Multifile
isSynced:
  • Sync
isTangible:
  • CollisionSolid
isTCEnabled:
  • OdeTriMeshGeom
isText:
  • Filename
isTextAvailable:
  • LineStream
isTexturePrepared:
  • PreparedGraphicsObjects
isTextureQueued:
  • PreparedGraphicsObjects
isThreadingSupported:
  • Thread
isTracking:
  • MemoryUsage
isTransitionDefined:
  • State
isTrueThreads:
  • Thread
isTypedRefCount:
  • EventParameter
isUnderInstance:
  • EggNode
isUnderTransform:
  • EggNode
isUsed:
  • Pool
isValid:
  • AnalogNode
  • AudioManager
  • ButtonNode
  • CollisionPolygon
  • DCParameter
  • DialNode
  • EggNurbsCurve
  • EggNurbsSurface
  • GraphicsOutput
  • GraphicsPipe
  • GraphicsStateGuardian
  • HTTPChannel
  • HTTPDate
  • InputStateToken
  • ParametricCurve
  • PNMImage
  • PNMTextMaker
  • PStatCollector
  • TextFont
  • TrackerNode
  • VertexDataSaveFile
  • VrpnClient
isValidForUdp:
  • ConnectionWriter
isValidInterestHandle:
  • DoInterestManager
isValidLocationTuple:
  • DoCollectionManager
isValidPointer:
  • WeakPointerToVoid
isValidRead:
  • BamFile
isValidTextureSet:
  • BufferViewer
isValidWrite:
  • BamFile
isValidZone:
  • CartesianGridBase
isVariableUsed:
  • ConfigPage
  • ConfigVariableManager
isVertexBufferPrepared:
  • PreparedGraphicsObjects
isVertexBufferQueued:
  • PreparedGraphicsObjects
isVisible:
  • PortalNode
isWarning:
  • NotifyCategory
isWeak:
  • HTTPEntityTag
isWriteValid:
  • Multifile
isWstring:
  • EventParameter
isWtext:
  • PGEntry
  • TextEncoder
isZero:
  • BitArray
  • SparseArray
joeMode:
  • DirectJoybox
join:
  • PythonThread
  • Thread
jointHasPrimitives:
  • EggPrimitive
joyboxFly:
  • DirectJoybox
jumpPressed:
  • TwoDWalker
jumpToEndOfPlayback:
  • MopathRecorder
jumpToInsertionPoint:
  • LevelEditor
jumpToStartOfPlayback:
  • MopathRecorder
keyboardInterruptHandler:
  • TaskManager
keyboardRotateSelected:
  • LevelEditor
keyboardTranslateSelected:
  • LevelEditor
keyboardXformSelected:
  • LevelEditor
knobMouseDown:
  • DialWidget
knobMouseUp:
  • DialWidget
label:
  • EntryScale
  • VectorEntry
labelZones:
  • LevelEditor
lalt:
  • KeyboardButton
landmarkBlockRemove:
  • LevelEditor
lastStart:
  • MovieVideoCursor
lastvisiblechild:
  • TreeNode
lcontrol:
  • KeyboardButton
left:
  • KeyboardButton
  • LVector3d
  • LVector3f
length:
  • AudioSound
  • ConfigVariableFilename
  • ConfigVariableString
  • Filename
  • LVecBase3d
  • LVecBase3f
  • LVector2d
  • LVector2f
  • LVector4d
  • LVector4f
  • MovieAudioCursor
  • MovieVideoCursor
  • URLSpec
lengthSquared:
  • LVecBase3d
  • LVecBase3f
  • LVector2d
  • LVector2f
  • LVector4d
  • LVector4f
lerpCameraP:
  • LevelEditor
letterboxOff:
  • Transitions
letterboxOn:
  • Transitions
levelHandleMouse3:
  • LevelEditor
levelHandleMouse3Up:
  • LevelEditor
lightenSubImage:
  • PNMImage
listAllCategories:
  • webNotifyDebug
listAttribs:
  • RenderAttrib
listAuxSceneData:
  • Camera
listContents:
  • FontPool
  • MaterialPool
  • ModelPool
  • ShaderPool
  • TexturePool
listCycles:
  • RenderState
  • TransformState
listDynamicVariables:
  • ConfigVariableManager
listEffects:
  • RenderEffect
listenerPoll:
  • ServerRepository
listenerPollTask:
  • ClusterServer
listenOnPort:
  • WebRequestDispatcher
listJoints:
  • Actor
listSelectionChanged:
  • InspectorWindow
listStates:
  • RenderEffects
  • RenderState
  • TransformState
listTags:
  • NodePath
  • PandaNode
listUnusedVariables:
  • ConfigVariableManager
listVariables:
  • ConfigVariableManager
load:
  • OnScreenDebug
  • Shader
  • StateData
  • Texture
load3dTexture:
  • TexturePool
load3DTexture:
  • Loader
load_file:
  • ModuleFinder
load_module:
  • ModuleFinder
load_package:
  • ModuleFinder
load_tail:
  • ModuleFinder
loadAnim:
  • AnimPanel
loadAnims:
  • Actor
loadAnimsOnAllLODs:
  • Actor
loadAuxModules:
  • GraphicsPipeSelection
loadCertificates:
  • HTTPClient
loadClientCertificate:
  • HTTPClient
loadConfig:
  • ParticleEffect
loadCubeMap:
  • Loader
  • TexturePool
loadCurveFromFile:
  • MopathRecorder
loadDNAFromFile:
  • LevelEditor
loadedImplicitPages:
  • ConfigPageManager
loadExternals:
  • EggData
loadFade:
  • Transitions
loadFile:
  • Mopath
loadFont:
  • FontPool
  • Loader
loadImplicitPages:
  • ConfigPageManager
loadIris:
  • Transitions
loadLetterbox:
  • Transitions
loadModel:
  • Actor
  • ClusterClient
  • Loader
  • ModelPool
loadModelCopy:
  • Loader
loadModelNode:
  • Loader
loadModelOnce:
  • Loader
loadMusic:
  • Loader
  • ShowBase
loadNodePath:
  • Mopath
loadParticleEffectFromFile:
  • ParticlePanel
loadRelated:
  • Texture
loadSfx:
  • Audio3DManager
  • Loader
  • ShowBase
loadShader:
  • CommonFilters
  • Loader
  • ShaderPool
loadSound:
  • Loader
loadSpecifiedDNAFile:
  • LevelEditor
loadStreetCurve:
  • LevelEditor
loadTexture:
  • Loader
  • TexturePool
loadtoc:
  • Archive
  • CArchive
localElapsedTime:
  • ClockDelta
localToNetworkTime:
  • ClockDelta
lock:
  • MutexDirect
  • ReMutexDirect
lockCOA:
  • DirectCameraControl
lockParams:
  • ParamObj
log:
  • ContainerReport
  • Logger
logOut:
  • webNotifyDebug
lookAroundMode:
  • DirectJoybox
lookAt:
  • NodePath
lookAtMode:
  • DirectJoybox
lookup:
  • BamCache
lookupNode:
  • AttribNodeRegistry
loop:
  • Actor
  • AnimControlCollection
  • AnimInterface
  • CInterval
  • DistributedActor
  • Interval
  • MetaInterval
  • SoundInterval
loopAll:
  • AnimControlCollection
lostConnection:
  • ConnectionRepository
lower:
  • TextEncoder
lowerOn:
  • BitArray
  • SparseArray
lruEpoch:
  • GeomVertexArrayData
ls:
  • MemoryExplorerItem
  • Multifile
  • NodePath
  • NodePathCollection
  • PandaNode
  • VirtualFile
  • VirtualFileSystem
lsAll:
  • VirtualFile
  • VirtualFileSystem
lshift:
  • KeyboardButton
lucMode:
  • DirectJoybox
magicWord:
  • aiWebServer
maintainReadout:
  • BufferViewer
mainTick:
  • PStatClient
make:
  • AlphaTestAttrib
  • AntialiasAttrib
  • ARToolKit
  • AudioVolumeAttrib
  • AuxBitplaneAttrib
  • BillboardEffect
  • CharacterJointEffect
  • ClipPlaneAttrib
  • ColorBlendAttrib
  • ColorScaleAttrib
  • ColorWriteAttrib
  • CompassEffect
  • CullBinAttrib
  • CullFaceAttrib
  • DecalEffect
  • DepthOffsetAttrib
  • DepthTestAttrib
  • DepthWriteAttrib
  • DrawMaskAttrib
  • FogAttrib
  • InternalName
  • LightAttrib
  • MaterialAttrib
  • PolylightEffect
  • RenderEffects
  • RenderModeAttrib
  • RenderState
  • RescaleNormalAttrib
  • ScissorAttrib
  • ShadeModelAttrib
  • Shader
  • ShaderAttrib
  • ShowBoundsEffect
  • StencilAttrib
  • TexGenAttrib
  • TexMatrixAttrib
  • TexProjectorEffect
  • TextureAttrib
  • TransparencyAttrib
make2Sided:
  • StencilAttrib
make2SidedWithClear:
  • StencilAttrib
makeAbsolute:
  • Filename
makeAllItems:
  • DirectScrolledList
makeAllOff:
  • ClipPlaneAttrib
  • LightAttrib
  • TextureAttrib
makeAllPipes:
  • ShowBase
makeAxis:
  • BillboardEffect
makeBin:
  • EggBinMaker
makeBins:
  • EggBinMaker
makeBounds:
  • Lens
makeBuffer:
  • GraphicsEngine
makeCamera:
  • ShowBase
  • ThreeUpShow
makeCamera2d:
  • ShowBase
makeCamera2dp:
  • ShowBase
makeCameraWindow:
  • MopathRecorder
makeCamFrustumDatagram:
  • ClusterMsgHandler
makeCamMovementDatagram:
  • ClusterMsgHandler
makeCamOffsetDatagram:
  • ClusterMsgHandler
makeCanonical:
  • Filename
makeChannel:
  • HTTPClient
makeCommandStringDatagram:
  • ClusterMsgHandler
makeCompatibleFormat:
  • SceneGraphReducer
makeCompatibleState:
  • SceneGraphReducer
makeCopy:
  • AngularForce
  • BamCacheRecord
  • BaseParticleEmitter
  • BoundingVolume
  • DCParameter
  • EggSwitchCondition
  • Geom
  • GeomPrimitive
  • Lens
  • LinearForce
  • PhysicsObject
  • POD
  • Texture
makeCubeMap:
  • GraphicsOutput
makeCullResultGraph:
  • DisplayRegion
makeDeclaration:
  • ConfigPage
makeDefault:
  • LightRampAttrib
  • RescaleNormalAttrib
makeDefaultLod:
  • LODNode
makeDefaultPipe:
  • GraphicsPipeSelection
  • ShowBase
makeDir:
  • Filename
makeDisplayRegion:
  • GraphicsOutput
makeDoubleThreshold:
  • LightRampAttrib
makeEmpty:
  • RenderEffects
  • RenderState
makeEven:
  • MopathRecorder
  • ParametricCurveCollection
makeExitDatagram:
  • ClusterMsgHandler
makeExplicitPage:
  • ConfigPageManager
makeFlat:
  • ColorAttrib
makeFlatMesh:
  • ProjectionScreen
makeFrame:
  • BufferViewer
makeGeometry:
  • Lens
makeGrayscale:
  • PNMImage
makeHdr0:
  • LightRampAttrib
makeHdr1:
  • LightRampAttrib
makeHdr2:
  • LightRampAttrib
makeHermite:
  • CurveFitter
makeHide:
  • DrawMaskAttrib
makeHpr:
  • TransformState
makeIdentity:
  • AudioVolumeAttrib
  • ColorScaleAttrib
  • LightRampAttrib
  • TransformState
makeImage:
  • PNMBrush
makeIndexed:
  • GeomPrimitive
makeInvalid:
  • TransformState
makeList:
  • MemoryExplorer
makeLongStreet:
  • LevelEditor
makeLower:
  • TextEncoder
makeMat:
  • TransformState
makeMat3:
  • TransformState
makeNamedMovementDone:
  • ClusterMsgHandler
makeNamedObjectMovementDatagram:
  • ClusterMsgHandler
makeNewBuildingGroup:
  • LevelEditor
makeNewVertex:
  • EggVertexPool
makeNode:
  • ScissorEffect
makeNonindexed:
  • Geom
  • GeomPrimitive
  • SceneGraphReducer
makeNurbs:
  • CurveFitter
makeOff:
  • AudioVolumeAttrib
  • ColorAttrib
  • ColorBlendAttrib
  • ColorScaleAttrib
  • FogAttrib
  • MaterialAttrib
  • ScissorAttrib
  • ShaderAttrib
  • StencilAttrib
  • TextureAttrib
makeOrtho:
  • Frustumd
  • Frustumf
makeOrtho2D:
  • Frustumd
  • Frustumf
makeOutput:
  • GraphicsEngine
makeParasite:
  • GraphicsEngine
makePerspective:
  • Frustumd
  • Frustumf
makePerspectiveHfov:
  • Frustumd
  • Frustumf
makePerspectiveVfov:
  • Frustumd
  • Frustumf
makePipe:
  • GraphicsPipeSelection
makePixel:
  • PNMBrush
makePointEye:
  • BillboardEffect
makePointWorld:
  • BillboardEffect
makePos:
  • TransformState
makePos2d:
  • TransformState
makePosHpr:
  • TransformState
makePosHprScale:
  • TransformState
makePosHprScaleShear:
  • TransformState
makePosQuatScale:
  • TransformState
makePosQuatScaleShear:
  • TransformState
makePosRotate2d:
  • TransformState
makePosRotateScale2d:
  • TransformState
makePosRotateScaleShear2d:
  • TransformState
makeQuat:
  • TransformState
makeRamImage:
  • Texture
makeRamMipmapImage:
  • Texture
makeReader:
  • PNMImageHeader
makeRelativeTo:
  • Filename
makeReverse:
  • CullFaceAttrib
makeRgb:
  • PNMImage
makeRotate2d:
  • TransformState
makeScale:
  • TransformState
makeScale2d:
  • TransformState
makeScreen:
  • ScissorEffect
makeScreenshotFilename:
  • DisplayRegion
  • GraphicsOutput
makeSelectedMovementDatagram:
  • ClusterMsgHandler
makeShear:
  • TransformState
makeShear2d:
  • TransformState
makeShow:
  • DrawMaskAttrib
makeSideStreets:
  • LevelEditor
makeSingleThreshold:
  • LightRampAttrib
makeSpot:
  • PNMBrush
  • Spotlight
makeStreetAlongCurve:
  • LevelEditor
makeSubpart:
  • Actor
makeSwapNowDatagram:
  • ClusterMsgHandler
makeSwapReadyDatagram:
  • ClusterMsgHandler
makeTextureBuffer:
  • GraphicsOutput
makeTimeDataDatagram:
  • ClusterMsgHandler
makeTransparent:
  • PNMBrush
makeTrueCase:
  • Filename
makeUpper:
  • TextEncoder
makeVariable:
  • ConfigVariableManager
makeVariableTemplate:
  • ConfigVariableManager
makeVertex:
  • ColorAttrib
makeWithClear:
  • StencilAttrib
makeWriter:
  • PNMImageHeader
manipModeColor:
  • ObjectHandles
manipulateObject:
  • DirectManipulationControl
manipulateObjectCleanup:
  • DirectManipulationControl
manipulateObjectCleanupHook:
  • MopathRecorder
manipulateObjectStartHook:
  • MopathRecorder
manipulateObjectTask:
  • DirectManipulationControl
manipulationStart:
  • DirectManipulationControl
manipulationStop:
  • DirectManipulationControl
mark:
  • ProfileTimer
markBoundsStale:
  • Geom
  • PandaNode
markInternalBoundsStale:
  • PandaNode
markPosition:
  • SmoothMover
markUsed:
  • GeomVertexArrayDataHandle
markUsedLru:
  • SimpleLruPage
matches:
  • _ExtFilter
  • _NameFilter
  • _PathFilter
  • _PatternFilter
  • _TypeFilter
  • ButtonHandle
  • GlobPattern
  • ModifierButtons
matchesColor:
  • EggAttributes
matchesExclude:
  • PartSubset
matchesInclude:
  • PartSubset
matchesNormal:
  • EggAttributes
matchesUrl:
  • HTTPCookie
matchFiles:
  • GlobPattern
matchPattern:
  • PointerEventList
matchShadeModel:
  • GeomPrimitive
menu:
  • VectorEntry
MenuCommand:
  • SceneGraphExplorerItem
merge:
  • EggData
  • lTOC
mergeBundles:
  • Character
mergePoints:
  • MopathRecorder
mergeWith:
  • HashVal
meshTriangles:
  • EggGroupNode
message:
  • DirectSession
messageBar:
  • AppShell
meta:
  • KeyboardButton
mightHaveRamImage:
  • Texture
minimumConfiguration:
  • DirectSession
modified:
  • WidgetPropertiesDialog
modifyArray:
  • Datagram
  • GeomVertexData
  • GeomVertexFormat
modifyGeom:
  • GeomNode
modifyHandle:
  • GeomVertexArrayData
modifyPrimitive:
  • Geom
modifyRamImage:
  • Texture
modifyRamMipmapImage:
  • Texture
modifyRows:
  • TransformBlendTable
modifySolid:
  • CollisionNode
modifyTransformBlendTable:
  • GeomVertexData
modifyUvObj:
  • EggVertex
modifyVertexData:
  • Geom
monitor:
  • ControlManager
mopathMode:
  • DirectJoybox
moreNestedFields:
  • DCPacker
motion_trail_task:
  • MotionTrail
mount:
  • VirtualFileSystem
mouse2Down:
  • FSMInspector
  • SceneGraphExplorer
mouse2Motion:
  • FSMInspector
  • SceneGraphExplorer
mouseDollyStart:
  • DirectCameraControl
mouseDown:
  • DialWidget
  • FloaterWidget
  • StateInspector
mouseEnter:
  • StateInspector
mouseFlyStart:
  • DirectCameraControl
mouseFlyStartTopWin:
  • DirectCameraControl
mouseFlyStop:
  • DirectCameraControl
mouseFlyStopTopWin:
  • DirectCameraControl
mouseLeave:
  • StateInspector
mouseMotion:
  • DialWidget
  • StateInspector
mouseRelease:
  • StateInspector
mouseReset:
  • Valuator
mouseRollTask:
  • DirectCameraControl
mouseRotateStart:
  • DirectCameraControl
mouseRotateTask:
  • DirectCameraControl
mouseUp:
  • DialWidget
  • FloaterWidget
mouseUpdate:
  • DisplayRegionContext
  • DisplayRegionList
moveCamera:
  • ClusterClient
  • ClusterClientSync
moveCameraTask:
  • ClusterClient
moveObject:
  • ClusterClient
  • ClusterServer
moveOrigin:
  • Trackball
movePointer:
  • GraphicsWindow
moveSelectedTask:
  • ClusterClient
moveTo:
  • LineNodePath
  • LineSegs
moveToFit:
  • DirectCameraControl
moveWrtWidget:
  • SelectedNodePaths
moveWrtWidgetAll:
  • SelectedNodePaths
movie:
  • ShowBase
msg:
  • ModuleFinder
msgin:
  • ModuleFinder
msgout:
  • ModuleFinder
multiply:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LQuaterniond
  • LQuaternionf
multiplyScalingFactorBy:
  • ObjectHandles
multitextureOver:
  • EggTexture
multMatrix:
  • VertexTransform
namedParts:
  • ClassInspector
  • ComplexInspector
  • Inspector
  • InstanceInspector
  • ModuleInspector
  • SliceInspector
needsRepack:
  • Multifile
needsReset:
  • GraphicsStateGuardian
networkPlugPulled:
  • ConnectionRepository
networkToLocalTime:
  • ClockDelta
newCategory:
  • DirectNotify
newConnectionAvailable:
  • QueuedConnectionListener
newCreateButton:
  • AppShell
newCreateCheckbutton:
  • AppShell
newCreateColorEntry:
  • AppShell
newCreateComboBox:
  • AppShell
newCreateDial:
  • AppShell
newCreateEntryScale:
  • AppShell
newCreateFloater:
  • AppShell
newCreateLabeledEntry:
  • AppShell
newCreateOptionMenu:
  • AppShell
newCreateRadiobutton:
  • AppShell
newCreateSider:
  • AppShell
newCreateVector2Entry:
  • AppShell
newCreateVector3Entry:
  • AppShell
newDelta:
  • ClockDelta
newEvent:
  • EventGroup
newFrame:
  • PStatThread
next:
  • EnumIter
  • RotatingLog
  • SerialNumGen
nextStart:
  • MovieVideoCursor
node:
  • NodePath
nodeRef:
  • NodeCachedReferenceCount
  • NodeReferenceCount
  • RenderState
  • TransformState
nodeUnref:
  • NodeCachedReferenceCount
  • NodeReferenceCount
  • RenderState
  • TransformState
noFade:
  • Transitions
noIris:
  • Transitions
noise:
  • PerlinNoise2
  • PerlinNoise3
  • StackedPerlinNoise2
  • StackedPerlinNoise3
noLetterbox:
  • Transitions
nonBlockingRead:
  • ClusterMsgHandler
none:
  • ButtonHandle
  • TypeHandle
noNewInterests:
  • DoInterestManager
normalize:
  • DirectAnalogs
  • EggXfmSAnim
  • LQuaterniond
  • LQuaternionf
  • LVecBase3d
  • LVecBase3f
  • LVector2d
  • LVector2f
  • LVector4d
  • LVector4f
normalizeChannel:
  • DirectAnalogs
  • DirectJoybox
  • DirectRadamec
normalizeKnots:
  • NurbsCurveEvaluator
normalizeUKnots:
  • NurbsSurfaceEvaluator
normalizeVKnots:
  • NurbsSurfaceEvaluator
normalizeWeights:
  • TransformBlend
normalizeWithoutCentering:
  • DirectAnalogs
noteActivity:
  • MouseWatcher
notFound:
  • NodePath
noTransitions:
  • Transitions
now:
  • HTTPDate
null:
  • Notify
nullCtor:
  • Factory
nullFly:
  • DirectJoybox
nullMode:
  • DirectJoybox
numLock:
  • KeyboardButton
numTrailRecent:
  • MouseWatcher
objectType:
  • Inspector
off:
  • ProfileTimer
  • ShadowPlacer
offsetVertices:
  • Geom
  • GeomPrimitive
oInst:
  • aiWebServer
ok:
  • WidgetPropertiesDialog
old:
  • UpdateSeq
oMenu:
  • aiWebServer
on:
  • ProfileTimer
  • ShadowPlacer
onChildButtonLClick:
  • MemoryExplorer
onChildButtonRClick:
  • MemoryExplorer
onDestroy:
  • AppShell
  • DirectSessionPanel
  • FSMInspector
  • MopathRecorder
  • Placer
  • SceneGraphExplorer
  • TaskManagerPanel
  • TaskManagerWidget
OnDoubleClick:
  • TreeItem
one:
  • MouseButton
onesMat:
  • LMatrix4d
  • LMatrix4f
oneTimeCollide:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • ObserverWalker
  • PhysicsWalker
  • ShadowPlacer
  • ShipPilot2
onPress:
  • EntryScale
  • EntryScaleGroup
onRelease:
  • EntryScale
  • EntryScaleGroup
onReturn:
  • EntryScale
  • EntryScaleGroup
onReturnRelease:
  • EntryScale
  • EntryScaleGroup
onScaleUpdate:
  • MemoryExplorer
OnSelect:
  • SceneGraphExplorerItem
  • TreeItem
onSelfButtonLClick:
  • MemoryExplorer
onSelfButtonRClick:
  • MemoryExplorer
oobe:
  • DirectSession
  • ShowBase
oobeCull:
  • ShowBase
open:
  • FfmpegAudio
  • FfmpegVideo
  • InkblotVideo
  • InspectorWindow
  • MicrophoneAudio
  • MovieAudio
  • MovieVideo
  • UserDataAudio
  • WebcamVideo
openAppend:
  • Filename
openAutoInterests:
  • DoInterestManager
openDefaultWindow:
  • ShowBase
openEmbedded:
  • CArchive
OpenForInput:
  • Socket_UDP_Incoming
OpenForInputMCast:
  • Socket_UDP_Incoming
OpenForListen:
  • Socket_TCP_Listen
openMainWindow:
  • ShowBase
openRead:
  • BamFile
  • Filename
  • Multifile
openReadFile:
  • VirtualFile
  • VirtualFileSystem
openReadSubfile:
  • Multifile
openReadWrite:
  • Filename
  • Multifile
openTCPClientConnection:
  • ConnectionManager
openTCPServerRendezvous:
  • ConnectionManager
openUDPConnection:
  • ConnectionManager
openWindow:
  • ShowBase
openWindows:
  • GraphicsEngine
openWrite:
  • BamFile
  • Filename
  • Multifile
operator !=:
  • BitArray
  • ConfigVariableFilename
  • ConfigVariableString
  • Datagram
  • DocumentSpec
  • EggRenderMode
  • Filename
  • FrameBufferProperties
  • GlobPattern
  • HashVal
  • HTTPDate
  • HTTPEntityTag
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • Material
  • ModifierButtons
  • NodePath
  • PolylightNode
  • SparseArray
  • TextProperties
  • TransformBlend
  • TypeHandle
  • UpdateSeq
  • URLSpec
  • WindowProperties
operator &:
  • BitArray
  • ModifierButtons
  • SparseArray
operator &=:
  • BitArray
  • ModifierButtons
  • SparseArray
operator ():
  • LerpBlendType
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • PerlinNoise2
  • PerlinNoise3
  • StackedPerlinNoise2
  • StackedPerlinNoise3
operator *:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LOrientationd
  • LOrientationf
  • LPoint2d
  • LPoint2f
  • LPoint3d
  • LPoint3f
  • LPoint4d
  • LPoint4f
  • LQuaterniond
  • LQuaternionf
  • LRotationd
  • LRotationf
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • LVector2d
  • LVector2f
  • LVector3d
  • LVector3f
  • LVector4d
  • LVector4f
  • Planed
  • Planef
operator *=:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LQuaterniond
  • LQuaternionf
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • Planed
  • Planef
operator +:
  • HTTPDate
  • LPoint2d
  • LPoint2f
  • LPoint3d
  • LPoint3f
  • LPoint4d
  • LPoint4f
  • LQuaterniond
  • LQuaternionf
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • LVector2d
  • LVector2f
  • LVector3d
  • LVector3f
  • LVector4d
  • LVector4f
operator ++:
  • UpdateSeq
  • UpdateSeq
operator +=:
  • HTTPDate
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
operator -:
  • HTTPDate
  • LPoint2d
  • LPoint2d
  • LPoint2f
  • LPoint2f
  • LPoint3d
  • LPoint3d
  • LPoint3f
  • LPoint3f
  • LPoint4d
  • LPoint4d
  • LPoint4f
  • LPoint4f
  • LQuaterniond
  • LQuaterniond
  • LQuaternionf
  • LQuaternionf
  • LVecBase2d
  • LVecBase2d
  • LVecBase2f
  • LVecBase2f
  • LVecBase3d
  • LVecBase3d
  • LVecBase3f
  • LVecBase3f
  • LVecBase4d
  • LVecBase4d
  • LVecBase4f
  • LVecBase4f
  • LVector2d
  • LVector2d
  • LVector2f
  • LVector2f
  • LVector3d
  • LVector3d
  • LVector3f
  • LVector3f
  • LVector4d
  • LVector4d
  • LVector4f
  • LVector4f
  • Planed
  • Planef
operator -=:
  • HTTPDate
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
operator /:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LPoint2d
  • LPoint2f
  • LPoint3d
  • LPoint3f
  • LPoint4d
  • LPoint4f
  • LQuaterniond
  • LQuaternionf
  • LRotationd
  • LRotationf
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • LVector2d
  • LVector2f
  • LVector3d
  • LVector3f
  • LVector4d
  • LVector4f
operator /=:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
operator <:
  • BitArray
  • ConfigVariableFilename
  • ConfigVariableString
  • Datagram
  • DocumentSpec
  • EggRenderMode
  • Filename
  • GlobPattern
  • HashVal
  • HTTPCookie
  • HTTPDate
  • HTTPEntityTag
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • Material
  • ModifierButtons
  • NodePath
  • PolylightNode
  • RenderEffects
  • RenderState
  • Socket_Address
  • SparseArray
  • TextureStage
  • TransformBlend
  • TransformState
  • TypeHandle
  • UpdateSeq
  • URLSpec
operator <<:
  • BitArray
  • SparseArray
operator <<=:
  • BitArray
  • SparseArray
operator <=:
  • TypeHandle
  • UpdateSeq
operator =:
  • AutonomousLerp
  • BitArray
  • ConfigVariableBool
  • ConfigVariableDouble
  • ConfigVariableFilename
  • ConfigVariableInt
  • ConfigVariableInt64
  • ConfigVariableString
  • Datagram
  • DatagramIterator
  • DocumentSpec
  • DSearchPath
  • EggAnimData
  • EggAttributes
  • EggComment
  • EggCompositePrimitive
  • EggCurve
  • EggData
  • EggExternalReference
  • EggFilenameNode
  • EggGroup
  • EggGroupNode
  • EggLine
  • EggMaterialCollection
  • EggNamedObject
  • EggNode
  • EggNurbsCurve
  • EggNurbsSurface
  • EggObject
  • EggPoint
  • EggPolygon
  • EggPrimitive
  • EggRenderMode
  • EggSAnimData
  • EggSurface
  • EggTable
  • EggTexture
  • EggTextureCollection
  • EggTransform
  • EggTriangleFan
  • EggTriangleStrip
  • EggUserData
  • EggVertex
  • EggVertexUV
  • EggXfmAnimData
  • EggXfmSAnim
  • Event
  • EventParameter
  • Filename
  • FrameBufferProperties
  • Geom
  • GeomPrimitive
  • GeomVertexAnimationSpec
  • GeomVertexArrayData
  • GeomVertexArrayFormat
  • GeomVertexColumn
  • GeomVertexData
  • GeomVertexFormat
  • GeomVertexReader
  • GeomVertexRewriter
  • GeomVertexWriter
  • GlobPattern
  • GraphicsThreadingModel
  • HashVal
  • HTTPClient
  • HTTPDate
  • HTTPEntityTag
  • InternalNameCollection
  • Lerp
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LoaderOptions
  • LPoint2d
  • LPoint2f
  • LPoint3d
  • LPoint3f
  • LPoint4d
  • LPoint4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • LVector2d
  • LVector2f
  • LVector3d
  • LVector3f
  • LVector4d
  • LVector4f
  • Material
  • MaterialCollection
  • ModifierButtons
  • MouseData
  • Namable
  • NetDatagram
  • NodePath
  • NodePathCollection
  • OdeJointCollection
  • Parabolad
  • Parabolaf
  • PartSubset
  • PerlinNoise2
  • PerlinNoise3
  • PGFrameStyle
  • PhysicsObject
  • PhysicsObjectCollection
  • PNMImage
  • PNMImageHeader
  • PStatCollector
  • PStatThread
  • SimpleLruPage
  • SliderTable
  • SparseArray
  • StackedPerlinNoise2
  • StackedPerlinNoise3
  • StreamReader
  • StreamWriter
  • TextAssembler
  • TextProperties
  • TextureCollection
  • TextureStage
  • TextureStageCollection
  • TransformBlend
  • TransformBlendTable
  • TransformTable
  • UpdateSeq
  • URLSpec
  • WindowProperties
operator ==:
  • BamCacheRecord
  • BitArray
  • ConfigVariableFilename
  • ConfigVariableString
  • Datagram
  • DocumentSpec
  • EggRenderMode
  • Filename
  • FrameBufferProperties
  • GlobPattern
  • HashVal
  • HTTPDate
  • HTTPEntityTag
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • Material
  • ModifierButtons
  • NodePath
  • OdeJoint
  • PolylightNode
  • Socket_Address
  • SparseArray
  • TextProperties
  • TransformBlend
  • TypeHandle
  • UpdateSeq
  • URLSpec
  • WindowProperties
operator >:
  • HTTPDate
  • TypeHandle
  • UpdateSeq
operator >=:
  • TypeHandle
  • UpdateSeq
operator >>:
  • BitArray
  • SparseArray
operator >>=:
  • BitArray
  • SparseArray
operator []:
  • ConfigVariableBool
  • ConfigVariableDouble
  • ConfigVariableFilename
  • ConfigVariableInt
  • ConfigVariableInt64
  • ConfigVariableList
  • ConfigVariableString
  • EggVertexPool
  • Filename
  • InternalNameCollection
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • MaterialCollection
  • NodePathCollection
  • OdeJointCollection
  • PhysicsObjectCollection
  • PNMImage
  • TextureCollection
  • TextureStageCollection
  • URLSpec
operator ^:
  • BitArray
  • SparseArray
operator ^=:
  • BitArray
  • SparseArray
operator delete:
  • BoundingBox
  • BoundingLine
  • BoundingPlane
  • BoundingSphere
  • Geom
  • GeomPrimitive
  • GeomVertexArrayData
  • GeomVertexData
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
operator new:
  • BoundingBox
  • BoundingLine
  • BoundingPlane
  • BoundingSphere
  • Geom
  • GeomPrimitive
  • GeomVertexArrayData
  • GeomVertexData
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
operator |:
  • BitArray
  • ModifierButtons
  • SparseArray
operator |=:
  • BitArray
  • ModifierButtons
  • SparseArray
operator ~:
  • BitArray
  • SparseArray
optimize:
  • EggSAnimData
  • EggXfmSAnim
optimizeToStandardOrder:
  • EggXfmSAnim
options:
  • DirectGuiBase
orbitFly:
  • DirectJoybox
orbitMode:
  • DirectJoybox
orbitNode:
  • DirectJoybox
orbitUprightCam:
  • DirectCameraControl
ordinary_args:
  • Signature
origin:
  • LPoint3d
  • LPoint3f
originalHadAbsolutePathnames:
  • EggData
osdAnimBlends:
  • Actor
osdEnabled:
  • TaskManager
oType:
  • aiWebServer
out:
  • Notify
  • NotifyCategory
output:
  • AnimControl
  • AnimControlCollection
  • AnimGroup
  • AnimInterface
  • AsyncTask
  • AsyncTaskManager
  • AttribNodeRegistry
  • AudioManager
  • AudioSound
  • AuxSceneData
  • BamCacheRecord
  • BaseForce
  • BaseParticleEmitter
  • BaseParticleFactory
  • BaseParticleRenderer
  • BitArray
  • BoundingVolume
  • ButtonHandle
  • CInterval
  • CIntervalManager
  • CollisionEntry
  • CollisionHandlerQueue
  • CollisionRecorder
  • CollisionSolid
  • CollisionTraverser
  • ConditionVarDirect
  • ConditionVarFullDirect
  • ConfigPage
  • ConfigPageManager
  • ConfigVariableBase
  • ConfigVariableList
  • ConfigVariableManager
  • ConfigVariableSearchPath
  • CurveFitter
  • Datagram
  • DatagramIterator
  • DCDeclaration
  • DCField
  • DisplayRegion
  • DNABaselineStyle
  • DNAFlatBuildingStyle
  • DNAWallStyle
  • DocumentSpec
  • DownloadDb
  • DSearchPath
  • EggNamedObject
  • EggVertex
  • Event
  • EventParameter
  • EventStoreValueBase
  • Filename
  • FrameBufferProperties
  • Geom
  • GeomPrimitive
  • GeomVertexAnimationSpec
  • GeomVertexArrayData
  • GeomVertexArrayFormat
  • GeomVertexColumn
  • GeomVertexData
  • GeomVertexFormat
  • GeomVertexReader
  • GeomVertexRewriter
  • GeomVertexWriter
  • GlobPattern
  • GraphicsThreadingModel
  • HashVal
  • HTTPCookie
  • HTTPDate
  • HTTPEntityTag
  • InternalName
  • InternalNameCollection
  • Lens
  • LightLensNode
  • LightNode
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LoaderOptions
  • LQuaterniond
  • LQuaternionf
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • Material
  • MaterialCollection
  • MemoryUsagePointers
  • ModifierButtons
  • MouseData
  • MouseWatcherGroup
  • MouseWatcherParameter
  • MouseWatcherRegion
  • Multifile
  • MutexDirect
  • Namable
  • NetAddress
  • NodePath
  • NodePathCollection
  • NurbsCurveEvaluator
  • NurbsSurfaceEvaluator
  • PandaNode
  • PandaSystem
  • Parabolad
  • Parabolaf
  • ParametricCurveCollection
  • PartBundle
  • ParticleSystemManager
  • PartSubset
  • PGFrameStyle
  • PGMouseWatcherParameter
  • Physical
  • PhysicsManager
  • PhysicsObject
  • PhysicsObjectCollection
  • Planed
  • Planef
  • PNMImageHeader
  • PStatCollector
  • ReMutexDirect
  • RenderAttrib
  • RenderEffect
  • RenderEffects
  • RenderState
  • SimpleAllocator
  • SimpleAllocatorBlock
  • SmoothMover
  • SparseArray
  • TextNode
  • TextureCollection
  • TextureStage
  • TextureStageCollection
  • Thread
  • TransformBlend
  • TransformState
  • TypeHandle
  • UniqueIdAllocator
  • UpdateSeq
  • URLSpec
  • VertexSlider
  • VertexTransform
  • VirtualFile
  • WindowProperties
outputBinary:
  • BitArray
  • HashVal
outputDec:
  • HashVal
outputDNA:
  • LevelEditor
outputDNADefaultFile:
  • LevelEditor
outputHex:
  • BitArray
  • HashVal
outputValue:
  • MovingPartBase
overlapsWith:
  • GeomVertexColumn
packArgs:
  • DCField
packColumns:
  • GeomVertexArrayFormat
  • GeomVertexFormat
packDefaultValue:
  • DCPacker
packDouble:
  • DCPacker
packInt:
  • DCPacker
packInt64:
  • DCPacker
packLiteralValue:
  • DCPacker
packObject:
  • DCPacker
packRequiredField:
  • DCClass
packString:
  • DCPacker
packUint:
  • DCPacker
packUint64:
  • DCPacker
packValuator:
  • Dial
  • Floater
  • Slider
  • Valuator
packVertices:
  • GeomPrimitive
padBytes:
  • Datagram
  • StreamWriter
pageDown:
  • KeyboardButton
  • LevelEditor
pageUp:
  • KeyboardButton
  • LevelEditor
paramsLocked:
  • ParamObj
parseAndPack:
  • DCPacker
parseCamFrustumDatagram:
  • ClusterMsgHandler
parseCamMovementDatagram:
  • ClusterMsgHandler
parseCamOffsetDatagram:
  • ClusterMsgHandler
parseCommandStringDatagram:
  • ClusterMsgHandler
parseEgg:
  • EggNode
parseEventParameter:
  • EventManager
parseHttpVersionString:
  • HTTPClient
parseNamedMovementDatagram:
  • ClusterMsgHandler
parseSelectedMovementDatagram:
  • ClusterMsgHandler
parseSetCookie:
  • HTTPCookie
parseString:
  • DCField
parseTimeDataDatagram:
  • ClusterMsgHandler
partNames:
  • Inspector
partNumber:
  • DictionaryInspector
  • Inspector
  • SequenceInspector
passwordPrompt:
  • webNotifyDebug
patternFilename:
  • Filename
pause:
  • CInterval
  • Interval
  • KeyboardButton
  • MetaInterval
pause_motion_trail:
  • MotionTrail
pauseIntervalsMatching:
  • IntervalManager
pdbBreak:
  • LevelEditor
peerToPeerResync:
  • ClockDelta
  • DistributedSmoothNode
performAction:
  • PieMenu
pick:
  • SelectionRay
  • SelectionSphere
pick3D:
  • SelectionRay
pickBitMask:
  • SelectionRay
  • SelectionSegment
  • SelectionSphere
pickBitMask3D:
  • SelectionRay
pickGeom:
  • SelectionRay
  • SelectionSegment
  • SelectionSphere
pickGeom3D:
  • SelectionRay
pickNextCOA:
  • DirectCameraControl
pickWidget:
  • SelectionRay
pieMenuTask:
  • PieMenu
pingpong:
  • Actor
  • AnimInterface
placeBattleCell:
  • LevelEditor
placeOnFloor:
  • ControlManager
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • PhysicsWalker
  • ShipPilot2
placeSuitPoint:
  • LevelEditor
planetFly:
  • DirectJoybox
planetMode:
  • DirectJoybox
plantSelectedNodePath:
  • DirectManipulationControl
play:
  • Actor
  • ActorControl
  • AnimControlCollection
  • AnimInterface
  • AnimPanel
  • AudioSound
  • Mopath
  • MovieTexture
playActorControls:
  • AnimPanel
playAll:
  • AnimControlCollection
playbackGoTo:
  • MopathRecorder
playbackTask:
  • MopathRecorder
playFrame:
  • RecorderController
playMusic:
  • ShowBase
playSfx:
  • SfxPlayer
  • ShowBase
poll:
  • AsyncTaskManager
  • ClientBase
  • ConnectionReader
  • DisplayConnection
  • WebRequestDispatcher
pollDirectDebugHTTPTask:
  • webNotifyDebug
pollHTTPTask:
  • aiWebServer
  • WebRequestDispatcher
pop:
  • DCPacker
  • InspectorWindow
  • MetaInterval
  • Queue
  • Stack
popCachedData:
  • CRDataCache
popCTrav:
  • ShowBase
popEvent:
  • CMetaInterval
popFront:
  • PointerEventList
popLevel:
  • CMetaInterval
popOrDive:
  • InspectorWindow
popRedoGroup:
  • DirectSession
populateMainPage:
  • LandingPage
populateParticle:
  • BaseParticleFactory
popUndoGroup:
  • DirectSession
popupColorPicker:
  • ColorEntry
popupControls:
  • DirectNotify
  • Interval
  • TaskManager
popupGridDialog:
  • FSMInspector
popupMenu:
  • InspectorWindow
  • TaskManagerWidget
  • TreeNode
popupMenuCommand:
  • TreeNode
popupSliders:
  • VectorEntry
popupStateMenu:
  • StateInspector
pose:
  • Actor
  • AnimControlCollection
  • AnimInterface
poseAll:
  • AnimControlCollection
posHprBroadcastStarted:
  • DistributedSmoothNodeBase
post:
  • BulletinBoard
postApplyFlatAttribute:
  • EggGroupNode
  • EggPrimitive
postFlatten:
  • Actor
postForm:
  • HTTPChannel
  • HTTPClient
postGenerateMessage:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectOV
  • DistributedObjectUD
postInitialiseFunc:
  • DirectGuiBase
pprint:
  • Actor
preAllocateDoId:
  • DistributedObjectAI
  • DistributedObjectUD
preDestroy:
  • VisGroupsEditor
preempt:
  • Thread
prefersTriangleStrips:
  • GraphicsStateGuardianBase
premunge:
  • SceneGraphReducer
premungeScene:
  • NodePath
prepare:
  • Geom
  • GeomVertexArrayData
  • Shader
  • Texture
prepareForExit:
  • Thread
prepareGeomNow:
  • PreparedGraphicsObjects
prepareIndexBufferNow:
  • PreparedGraphicsObjects
prepareNode:
  • EggBinMaker
prepareNow:
  • Geom
  • GeomVertexArrayData
  • Shader
  • Texture
prepareScene:
  • NodePath
prepareShaderNow:
  • PreparedGraphicsObjects
prepareTextureNow:
  • PreparedGraphicsObjects
prepareVertexBufferNow:
  • PreparedGraphicsObjects
prepend:
  • lTOC
prependDirectory:
  • ConfigVariableSearchPath
  • DSearchPath
prependPath:
  • ConfigVariableSearchPath
  • DSearchPath
preserveStatus:
  • HTTPChannel
pressButton:
  • VirtualMouse
print_matrix:
  • MotionTrail
printAllTo:
  • ProfileTimer
printAnimBlends:
  • Actor
printConfig:
  • DirectGuiWidget
printDelayDeletes:
  • ClientRepositoryBase
printDeltaTime:
  • DeltaProfiler
printEnvDebugInfo:
  • ShowBase
printFlatBuildingStyle:
  • LevelStyleManager
printingBegin:
  • Job
printingEnd:
  • Job
printLayout:
  • FSMInspector
printLOD:
  • Actor
printNodePathInfo:
  • Placer
printObjectCount:
  • DoCollectionManager
printObjsByType:
  • ObjectPool
printObjsOfType:
  • ExclusiveObjectPool
  • ObjectPool
printOut:
  • Diff
printParams:
  • ForceGroup
  • Particles
printPipeTypes:
  • GraphicsPipeSelection
printReferrers:
  • ObjectPool
printScreen:
  • KeyboardButton
printTo:
  • ProfileTimer
printWallStyle:
  • LevelStyleManager
privatePartNumber:
  • Inspector
privDoEvent:
  • CInterval
  • Interval
  • LerpHprInterval
  • LerpHprScaleInterval
  • LerpPosHprInterval
  • LerpPosHprScaleInterval
  • LerpPosHprScaleShearInterval
  • LerpPosInterval
  • LerpPosQuatInterval
  • LerpPosQuatScaleInterval
  • LerpPosQuatScaleShearInterval
  • LerpQuatInterval
  • LerpQuatScaleInterval
  • LerpScaleInterval
  • LerpShearInterval
  • MetaInterval
privFinalize:
  • ActorInterval
  • CInterval
  • IndirectInterval
  • Interval
  • ParticleInterval
  • SoundInterval
  • TestInterval
privInitialize:
  • CInterval
  • IndirectInterval
  • Interval
  • ParticleInterval
  • ProjectileInterval
  • SoundInterval
  • TestInterval
privInstant:
  • CInterval
  • FunctionInterval
  • IndirectInterval
  • Interval
  • ParticleInterval
  • ProjectileInterval
  • TestInterval
privInterrupt:
  • CInterval
  • IndirectInterval
  • Interval
  • SoundInterval
  • TestInterval
privOnBlobComplete:
  • DistributedLargeBlobSender
privPostEvent:
  • Interval
  • MetaInterval
privRemoveReparentRequest:
  • ParentMgr
privReverseFinalize:
  • CInterval
  • IndirectInterval
  • Interval
privReverseInitialize:
  • CInterval
  • IndirectInterval
  • Interval
privReverseInstant:
  • CInterval
  • IndirectInterval
  • Interval
privStep:
  • ActorInterval
  • CInterval
  • IndirectInterval
  • Interval
  • LerpFunctionInterval
  • LerpFunctionNoStateInterval
  • ParticleInterval
  • ProjectileInterval
  • SoundInterval
  • TestInterval
processEvent:
  • EventManager
processEventPstats:
  • EventManager
processEvents:
  • EventHandler
processVisibility:
  • DistributedCartesianGrid
profileFrames:
  • ShowBase
  • TaskManager
project:
  • Lens
  • Planed
  • Planef
projectTexture:
  • NodePath
ptr:
  • ButtonRegistry
  • Notify
  • TypeRegistry
pullNetworkPlug:
  • ConnectionRepository
pureImaginary:
  • LQuaterniond
  • LQuaternionf
push:
  • DCPacker
  • Queue
  • Stack
pushCTrav:
  • ShowBase
pushLevel:
  • CMetaInterval
pushRedo:
  • DirectSession
  • DirectSessionPanel
  • MopathRecorder
  • Placer
pushRedoHook:
  • DirectSessionPanel
  • MopathRecorder
  • Placer
pushUndo:
  • DirectSession
  • DirectSessionPanel
  • MopathRecorder
  • Placer
pushUndoHook:
  • DirectSessionPanel
  • MopathRecorder
  • Placer
put:
  • ostream
putArg:
  • PyDatagram
putDocument:
  • HTTPChannel
pythonRepr:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LPoint2d
  • LPoint2f
  • LPoint3d
  • LPoint3f
  • LPoint4d
  • LPoint4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • LVector2d
  • LVector2f
  • LVector3d
  • LVector3f
  • LVector4d
  • LVector4f
quantize:
  • EggAnimData
quatGiven:
  • TransformState
query:
  • OdeSpace
queueAllInterestsCompleteEvent:
  • DoInterestManager
queueEvent:
  • EventQueue
quickFilterFrom:
  • PNMImage
quickStep:
  • OdeWorld
quit:
  • AppShell
quote:
  • URLSpec
quotePlus:
  • URLSpec
radamecDebug:
  • DirectRadamec
ralt:
  • KeyboardButton
randGetSeed:
  • OdeUtil
randint:
  • RandomNumGen
random:
  • RandomNumGen
randrange:
  • RandomNumGen
randSetSeed:
  • OdeUtil
range:
  • BitArray
  • SparseArray
rawPackFloat64:
  • DCPacker
rawPackInt16:
  • DCPacker
rawPackInt32:
  • DCPacker
rawPackInt64:
  • DCPacker
rawPackInt8:
  • DCPacker
rawPackString:
  • DCPacker
rawPackUint16:
  • DCPacker
rawPackUint32:
  • DCPacker
rawPackUint64:
  • DCPacker
rawPackUint8:
  • DCPacker
rawUnpackFloat64:
  • DCPacker
rawUnpackInt16:
  • DCPacker
rawUnpackInt32:
  • DCPacker
rawUnpackInt64:
  • DCPacker
rawUnpackInt8:
  • DCPacker
rawUnpackString:
  • DCPacker
rawUnpackUint16:
  • DCPacker
rawUnpackUint32:
  • DCPacker
rawUnpackUint64:
  • DCPacker
rawUnpackUint8:
  • DCPacker
rcontrol:
  • KeyboardButton
read:
  • DCFile
  • EggData
  • PNMImage
  • Ramfile
  • RotatingLog
  • Texture
readAll:
  • DCFile
readBody:
  • HTTPChannel
readDatagram:
  • HashVal
readDb:
  • DownloadDb
readDCFile:
  • ConnectionRepository
  • ServerRepository
readDial:
  • DialNode
readEncryptedPrc:
  • ConfigPage
readerPollOnce:
  • ConnectionRepository
  • ServerRepository
readerPollUntilEmpty:
  • ConnectionRepository
  • ServerRepository
readFile:
  • VirtualFile
  • VirtualFileSystem
readHeader:
  • ClusterMsgHandler
  • Patchfile
  • PNMImageHeader
readline:
  • Ramfile
  • RotatingLog
  • StreamReader
readlines:
  • RotatingLog
readMagicNumber:
  • PNMImageHeader
readNode:
  • BamFile
readObject:
  • BamFile
readPrc:
  • ConfigPage
readSamples:
  • MovieAudioCursor
readSpriteRendererAnimations:
  • ParticlePanel
readStream:
  • HashVal
readSubfile:
  • Multifile
readTxo:
  • Texture
ready:
  • MovieAudioCursor
  • MovieVideoCursor
realloc:
  • SimpleAllocatorBlock
realOrNone:
  • WidgetPropertiesDialog
receiveDatagram:
  • SocketStreamRecorder
  • SSReader
receiveUpdate:
  • DCClass
  • DCField
receiveUpdateAllRequired:
  • DCClass
receiveUpdateBroadcastRequired:
  • DCClass
receiveUpdateBroadcastRequiredOwner:
  • DCClass
receiveUpdateOther:
  • DCClass
recompute:
  • DirectBoundingBox
  • NonlinearImager
  • ParametricCurve
  • ParametricCurveCollection
  • PGScrollFrame
  • PGSliderBar
  • ProjectionScreen
  • Rope
recomputeAll:
  • Lens
recomputePolygonNormal:
  • EggPolygon
recomputePolygonNormals:
  • EggData
  • EggGroupNode
recomputeTangentBinormal:
  • EggGroupNode
recomputeTangentBinormalAuto:
  • EggGroupNode
recomputeVertexNormals:
  • EggData
  • EggGroupNode
reconfigure:
  • CommonFilters
recordFrame:
  • RecorderController
recordMaxHeight:
  • DirectScrolledList
recordPoint:
  • MopathRecorder
recordTask:
  • MopathRecorder
RecvData:
  • Socket_TCP
redo:
  • DirectSession
redoHook:
  • DirectSessionPanel
  • MopathRecorder
  • Placer
redoListEmptyHook:
  • DirectSessionPanel
  • MopathRecorder
  • Placer
redoSortedPriorities:
  • ClusterClient
  • ClusterServer
reduceSoundsPlayingTo:
  • AudioManager
reencodeText:
  • TextEncoder
ref:
  • ReferenceCount
refresh:
  • DirectScrolledList
  • MemoryExplorer
  • SystemInformation
refreshReadout:
  • BufferViewer
refreshVisibility:
  • VisGroupsEditor
refVertex:
  • EggGroup
regenerateScreen:
  • ProjectionScreen
register_motion_trail:
  • MotionTrail
registerFormat:
  • GeomVertexArrayFormat
  • GeomVertexFormat
registerGETHandler:
  • WebRequestDispatcher
registerParent:
  • ParentMgr
registerTable:
  • SliderTable
  • TransformTable
registerWithReadFactory:
  • ShaderAttrib
relativeAngleDeg:
  • LVector3d
  • LVector3f
relativeAngleRad:
  • LVector3d
  • LVector3f
release:
  • Geom
  • GeomVertexArrayData
  • Indirection
  • InputStateForceToken
  • InputStateToken
  • InputStateTokenGroup
  • InputStateWatchToken
  • MutexDirect
  • ReMutexDirect
  • Shader
  • Texture
releaseAll:
  • Geom
  • GeomVertexArrayData
  • GraphicsStateGuardian
  • PreparedGraphicsObjects
  • Shader
  • Texture
releaseAllFonts:
  • FontPool
releaseAllGeoms:
  • GraphicsStateGuardian
  • PreparedGraphicsObjects
releaseAllIndexBuffers:
  • GraphicsStateGuardian
  • PreparedGraphicsObjects
releaseAllModels:
  • ModelPool
releaseAllShaders:
  • PreparedGraphicsObjects
  • ShaderPool
releaseAllTextures:
  • GraphicsStateGuardian
  • PreparedGraphicsObjects
  • TexturePool
releaseAllVertexBuffers:
  • GraphicsStateGuardian
  • PreparedGraphicsObjects
releaseButton:
  • VirtualMouse
releaseDelayDelete:
  • DistributedObject
releaseFont:
  • FontPool
releaseGeom:
  • PreparedGraphicsObjects
releaseIndexBuffer:
  • PreparedGraphicsObjects
releaseInputs:
  • InputState
releaseJoint:
  • Actor
  • PartBundle
releaseModel:
  • ModelPool
releaseShader:
  • PreparedGraphicsObjects
  • ShaderPool
releaseTexture:
  • PreparedGraphicsObjects
  • TexturePool
releaseVertexBuffer:
  • PreparedGraphicsObjects
releaseZoneData:
  • DistributedObjectAI
reload:
  • Texture
reloadImplicitPages:
  • ConfigPageManager
reloadPosition:
  • DistributedSmoothNode
remanage:
  • PGScrollFrame
  • PGSliderBar
remixChannels:
  • PNMImage
remove:
  • AsyncTaskManager
  • BulletinBoard
  • ControlManager
  • JobManager
  • LevelEditor
  • MetaInterval
  • OdeSpace
  • OnScreenDebug
  • Pool
  • Task
  • TaskManager
  • TaskPriorityList
removeAll:
  • SelectedNodePaths
removeAllChildren:
  • PandaNode
removeAllCvs:
  • HermiteCurve
  • NurbsCurveInterface
removeAllDisplayRegions:
  • GraphicsOutput
removeAllForces:
  • ParticleEffect
removeAllGeoms:
  • GeomNode
removeAllItems:
  • DirectScrolledList
removeAllParticles:
  • ParticleEffect
removeAllScreens:
  • NonlinearImager
removeAllSelected:
  • DirectSession
removeAllTasks:
  • DirectObject
removeAllViewers:
  • NonlinearImager
removeAllWindows:
  • GraphicsEngine
removeAllWithPrefix:
  • OnScreenDebug
removeAlpha:
  • PNMImage
removeAngularForce:
  • Physical
  • PhysicsManager
removeAnimation:
  • SpriteParticleRenderer
removeAnimControlDict:
  • Actor
removeArray:
  • GeomVertexFormat
removeAttrib:
  • RenderState
removeAutoInterest:
  • DoInterestManager
removeBin:
  • CullBinManager
removeBlend:
  • TransformBlendTable
removeBreakKey:
  • HotkeyBreaker
removeButton:
  • ModifierButtons
removeCameraFrustum:
  • ShowBase
removeChild:
  • EggGroupNode
  • PandaNode
  • State
removeCInterval:
  • CIntervalManager
removeClickButton:
  • PGButton
removeCollider:
  • CollisionHandlerPhysical
  • CollisionTraverser
removeColumn:
  • GeomVertexArrayFormat
  • GeomVertexFormat
  • SceneGraphReducer
removeConnection:
  • ConnectionReader
removeContainerById:
  • ContainerLeakDetector
removeContextTask:
  • DisplayRegionList
removeControlMapping:
  • ClusterClient
  • ClusterServer
removeCornice:
  • LevelEditor
removeCurrentTask:
  • TaskManagerWidget
removeCurve:
  • ParametricCurveCollection
removeCv:
  • HermiteCurve
  • NurbsCurveInterface
removed:
  • NodePath
removeDisplayRegion:
  • GraphicsOutput
removeDOFromTables:
  • DoCollectionManager
removeDoor:
  • LevelEditor
removeDoubledVerts:
  • EggPrimitive
removeDuplicateJoints:
  • OdeJointCollection
removeDuplicateMaterials:
  • MaterialCollection
removeDuplicateNames:
  • InternalNameCollection
removeDuplicatePaths:
  • NodePathCollection
removeDuplicatePhysicsObjects:
  • PhysicsObjectCollection
removeDuplicateTextures:
  • TextureCollection
removeDuplicateTextureStages:
  • TextureStageCollection
removeEffect:
  • RenderEffects
removeForce:
  • ForceGroup
  • ForceNode
  • GlobalForceGroup
  • ParticleEffect
  • Particles
removeForceGroup:
  • ParticleEffect
removeGeom:
  • GeomNode
removeGroup:
  • MouseWatcher
removeIfEqual:
  • BulletinBoard
removeInterest:
  • DistributedObject
  • DoInterestManager
removeInterval:
  • IntervalManager
removeInvalidPrimitives:
  • EggGroupNode
removeItem:
  • DirectScrolledList
removeJoint:
  • OdeJointCollection
removeJointsFrom:
  • OdeJointCollection
removeLandmarkDoor:
  • LevelEditor
removeLight:
  • LightAttrib
  • PolylightEffect
removeLinearForce:
  • Physical
  • PhysicsManager
removeLocalTransform:
  • CharacterJoint
removeManipulateCameraTask:
  • DirectCameraControl
removeManipulateObjectTask:
  • DirectManipulationControl
removeMatchingTasks:
  • TaskManagerWidget
removeMaterial:
  • EggMaterialCollection
  • MaterialCollection
removeMaterialsFrom:
  • MaterialCollection
removeName:
  • InternalNameCollection
removeNamesFrom:
  • InternalNameCollection
removeNetTransform:
  • CharacterJoint
removeNode:
  • Actor
  • AttribNodeRegistry
  • NodePath
removeNodePath:
  • DirectSession
removeNodePathHook:
  • LevelEditor
removeNonuniqueVerts:
  • EggPrimitive
removeObjectFromGrid:
  • DistributedCartesianGrid
  • DistributedCartesianGridAI
removeObjectMapping:
  • ClusterClient
  • ClusterServer
removeObjectTag:
  • ClusterClient
removeObjectType:
  • EggGroup
removeOffLight:
  • LightAttrib
removeOffPlane:
  • ClipPlaneAttrib
removeOffStage:
  • TextureAttrib
removeOnLight:
  • LightAttrib
removeOnPlane:
  • ClipPlaneAttrib
removeOnStage:
  • TextureAttrib
removePart:
  • Actor
removeParticles:
  • ParticleEffect
removeParticlesystem:
  • ParticleSystemManager
removePath:
  • NodePathCollection
removePathsFrom:
  • NodePathCollection
removePhysical:
  • PhysicalNode
  • PhysicsManager
removePhysicalNode:
  • PhysicsManager
removePhysicsObject:
  • PhysicsObjectCollection
removePhysicsObjectsFrom:
  • PhysicsObjectCollection
removePieMenuTask:
  • PieMenu
removePlane:
  • ClipPlaneAttrib
removePrimitive:
  • Geom
removeRecorder:
  • RecorderController
removeRegion:
  • MouseWatcher
  • MouseWatcherGroup
removeSamples:
  • CurveFitter
removeScreen:
  • NonlinearImager
removeSelected:
  • SelectedNodePaths
removeSign:
  • LevelEditor
removeSlider:
  • SliderTable
removeSolid:
  • CollisionNode
removeStage:
  • TexGenAttrib
  • TexMatrixAttrib
  • TexProjectorEffect
removeStashed:
  • PandaNode
removeSubfile:
  • Multifile
removeTag:
  • DirectManipulationControl
  • SelectedNodePaths
removeTask:
  • DirectObject
removeTaskHook:
  • TaskManagerWidget
removeTasksMatching:
  • TaskManager
removeTexture:
  • EggTextureCollection
  • TextureCollection
removeTexturesFrom:
  • TextureCollection
removeTextureStage:
  • TextureStageCollection
removeTextureStagesFrom:
  • TextureStageCollection
removeThrowButton:
  • ButtonThrower
removeTransform:
  • TransformBlend
  • TransformTable
removeUnpickable:
  • DirectSession
  • SelectionQueue
removeUnusedMaterials:
  • EggMaterialCollection
removeUnusedTextures:
  • EggTextureCollection
removeUnusedVertices:
  • EggGroupNode
  • EggVertexPool
removeVertex:
  • EggPrimitive
  • EggVertexPool
removeViewer:
  • NonlinearImager
removeWindow:
  • GraphicsEngine
removeWindows:
  • LevelEditor
renameFloorPolys:
  • LevelEditor
renameNode:
  • EggNode
renameNodes:
  • EggGroupNode
renamePartBundles:
  • Actor
renameTo:
  • Filename
render:
  • OnScreenDebug
  • ParticleSystem
rendererPointSelectBlendMethod:
  • ParticlePanel
rendererPointSelectBlendType:
  • ParticlePanel
renderFrame:
  • GraphicsEngine
renderQuadInto:
  • FilterManager
renderSceneInto:
  • FilterManager
renderSpot:
  • PNMImage
repack:
  • Multifile
reparent:
  • DirectSession
  • LevelEditor
reparentCam:
  • DirectCameraControl
reparentStreetBuildings:
  • LevelEditor
reparentTo:
  • NodePath
  • NodePathCollection
replace:
  • LevelEditor
replaceChild:
  • PandaNode
replaceColumn:
  • GeomVertexData
replaceGroup:
  • MouseWatcher
replaceMaterials:
  • EggMaterialCollection
replaceMethod:
  • ClientRepositoryBase
  • Messenger
  • TaskManager
replaceNode:
  • PandaNode
replaceSelected:
  • LevelEditor
replaceTextures:
  • EggTextureCollection
replayDeferredGenerate:
  • ClientRepositoryBase
report:
  • ModuleFinder
request:
  • ClassicFSM
  • FSM
requestAllSubfiles:
  • Extractor
requestDelete:
  • DistributedObjectAI
  • DistributedObjectUD
requestFinalState:
  • ClassicFSM
requestNext:
  • FSM
requestObjects:
  • RelatedObjectMgr
requestPrev:
  • FSM
requestProperties:
  • GraphicsWindow
requestReparent:
  • ParentMgr
requestResident:
  • Geom
  • GeomPrimitive
  • GeomVertexArrayData
  • GeomVertexArrayDataHandle
  • GeomVertexData
  • VertexDataPage
requestSubfile:
  • Extractor
requireButton:
  • MouseInterfaceNode
reregisterTypes:
  • TypeRegistry
Reset:
  • Buffered_DatagramConnection
reset:
  • CardMaker
  • ClockObject
  • CurveFitter
  • DirectSession
  • DistancePhasedNode
  • DriveInterface
  • EntryScaleGroup
  • Extractor
  • FisheyeMaker
  • FloaterGroup
  • GravityWalker
  • HTTPChannel
  • LevelEditor
  • LineNodePath
  • LineSegs
  • Mopath
  • MopathRecorder
  • NonPhysicsWalker
  • NurbsCurveEvaluator
  • NurbsSurfaceEvaluator
  • ParticleEffect
  • PhysicsWalker
  • Pool
  • SelectedNodePaths
  • ShipPilot2
  • Trackball
  • Valuator
  • ValuatorGroupPanel
  • VectorEntry
reset_motion_trail:
  • MotionTrail
reset_motion_trail_geometry:
  • MotionTrail
resetAll:
  • Placer
resetAllPrevTransform:
  • PandaNode
resetAllToEnd:
  • AnimPanel
resetAllToZero:
  • AnimPanel
resetAllWindows:
  • GraphicsEngine
resetBattleCellMarkers:
  • LevelEditor
resetBound:
  • RopeNode
  • SheetNode
resetCollided:
  • CollisionEntry
resetConnectionAvailable:
  • QueuedConnectionManager
resetControls:
  • ActorInterval
resetCtrls:
  • MemoryExplorer
resetFootprintLength:
  • Patchfile
resetFov:
  • DirectSessionPanel
resetFrameSize:
  • DirectCheckButton
  • DirectGuiWidget
  • DirectRadioButton
resetHpr:
  • Placer
resetInterestStateForConnectionLoss:
  • DoInterestManager
resetLOD:
  • Actor
resetMaxT:
  • ParametricCurveCollection
resetOrientation:
  • PhysicsObject
resetOriginHere:
  • Trackball
resetPathMarkers:
  • LevelEditor
resetPos:
  • Placer
resetPosition:
  • PhysicsObject
resetPrevTransform:
  • PandaNode
resetScale:
  • Placer
resetStartTime:
  • Logger
resetStats:
  • TaskManager
resetToEnd:
  • ActorControl
resetToOrigin:
  • ShadowPlacer
resetToZero:
  • ActorControl
resizeBuffers:
  • FilterManager
resolve:
  • BamFile
resolveEggFilename:
  • EggData
resolveFilename:
  • Filename
  • VirtualFileSystem
resolveFilenames:
  • EggGroupNode
respond:
  • WebRequest
respondCustom:
  • WebRequest
respondHTTP:
  • WebRequest
respondXML:
  • WebRequest
restart:
  • EventManager
  • MovieTexture
  • ShowBase
  • Timer
restoreGamma:
  • GraphicsStateGuardian
restoreKnob:
  • DialWidget
restoreNetworkPlug:
  • ConnectionRepository
restoreWidget:
  • FloaterWidget
  • SliderWidget
resume:
  • AutonomousLerp
  • CInterval
  • Interval
  • Job
  • MetaInterval
  • Timer
resume_motion_trail:
  • MotionTrail
resumeAfterPause:
  • PStatClient
resumeUntil:
  • CInterval
  • Interval
  • MetaInterval
resynchronize:
  • ClockDelta
retrieve:
  • CRCache
returnResync:
  • DistributedSmoothNode
reveal:
  • TreeNode
reverse:
  • Geom
  • GeomPrimitive
  • MetaInterval
reverseCompact:
  • StackTrace
reverseInPlace:
  • Geom
reverseLs:
  • NodePath
reverseNormals:
  • GeomVertexData
reverseVertexOrdering:
  • EggGroupNode
  • EggPrimitive
revertLandmarkBlock:
  • LevelEditor
reviveInput:
  • ShowBase
rfu:
  • LPoint3d
  • LPoint3f
  • LVector3d
  • LVector3f
right:
  • KeyboardButton
  • LVector3d
  • LVector3f
rotate:
  • Geom
  • GeomPrimitive
  • OdeMass
  • RotatingLog
rotate1D:
  • DirectManipulationControl
rotate2D:
  • DirectManipulationControl
rotateAboutViewVector:
  • DirectManipulationControl
rotateInPlace:
  • Geom
rotateMat:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
rotateMatNormaxis:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
rshift:
  • KeyboardButton
run:
  • CheckContainers
  • ContainerLeakDetector
  • ContainerReport
  • Decompressor
  • Extractor
  • FindContainers
  • GarbageReport
  • HTTPChannel
  • Job
  • MessengerLeakDetector
  • Patcher
  • Patchfile
  • PruneObjectRefs
  • ShowBase
  • TaskManager
  • TaskThread
run_script:
  • ModuleFinder
sample:
  • CurveFitter
sampleCurve:
  • MopathRecorder
saveBaselineStyle:
  • LevelEditor
saveBuildingStyle:
  • LevelEditor
saveColor:
  • LevelEditor
saveConfig:
  • ParticleEffect
saveCubeMap:
  • ShowBase
saveCurveToFile:
  • MopathRecorder
saveParticleEffectToFile:
  • ParticlePanel
saveScreenshot:
  • DisplayRegion
  • GraphicsOutput
saveScreenshotDefault:
  • DisplayRegion
  • GraphicsOutput
saveSphereMap:
  • ShowBase
saveStyle:
  • LevelEditor
saveToDisk:
  • VertexDataBook
  • VertexDataPage
saveToSpecifiedDNAFile:
  • LevelEditor
saveWallStyle:
  • LevelEditor
scale:
  • EntryScale
scale1D:
  • DirectManipulationControl
scale3D:
  • DirectManipulationControl
scaleColor:
  • GeomVertexData
scaleMat:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
scaleShearMat:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
scan:
  • MultitexReducer
scan_code:
  • ModuleFinder
scanDirectory:
  • Filename
  • Multifile
  • VirtualFile
scheduleCallback:
  • TaskThreaded
scheduleThread:
  • TaskThreaded
screenshot:
  • ShowBase
scrollBy:
  • DirectScrolledList
scrolledCanvas:
  • FSMInspector
scrollLock:
  • KeyboardButton
scrollPage:
  • DirectScrollBar
scrollStep:
  • DirectScrollBar
scrollTo:
  • DirectScrolledList
scrollToItemID:
  • DirectScrolledList
searchForCat:
  • webNotifyDebug
searchPath:
  • DSearchPath
seek:
  • DCPacker
  • MovieAudioCursor
  • Ramfile
  • RotatingLog
seekg:
  • istream
seekp:
  • ostream
select:
  • DirectScrolledListItem
  • DirectSession
  • SelectedNodePaths
  • TreeNode
select_or_edit:
  • TreeNode
selectAnimNamed:
  • ActorControl
selectCard:
  • BufferViewer
selectDisplayRegionNamed:
  • DirectSessionPanel
selectedIndex:
  • InspectorWindow
selectedNodePathHook:
  • DirectSessionPanel
  • LevelEditor
  • MopathRecorder
selectedPart:
  • Inspector
  • InspectorWindow
selectEffectNamed:
  • ParticlePanel
selectEmitterPage:
  • ParticlePanel
selectEmitterType:
  • ParticlePanel
selectFactoryPage:
  • ParticlePanel
selectFactoryType:
  • ParticlePanel
selectForceGroupNamed:
  • ParticlePanel
selectHighlightedIndex:
  • DirectOptionMenu
selectJBModeNamed:
  • DirectSessionPanel
selectJBNodePathNamed:
  • DirectSessionPanel
selectLightNamed:
  • DirectSessionPanel
selectListItem:
  • DirectScrolledList
selectMap:
  • LevelEditor
selectNodePath:
  • ClusterClient
selectNodePathNamed:
  • DirectSessionPanel
  • MopathRecorder
  • Placer
selectParticlesNamed:
  • ParticlePanel
selectPointSetNamed:
  • MopathRecorder
selectRefNodePathNamed:
  • Placer
selectRendererPage:
  • ParticlePanel
selectRendererType:
  • ParticlePanel
selectSignBaseline:
  • LevelEditorPanel
selectSignBaselineItem:
  • LevelEditorPanel
selectVisGroup:
  • VisGroupsEditor
send:
  • ConnectionRepository
  • ConnectionWriter
  • Messenger
  • NetMessenger
Send:
  • Socket_UDP
  • Socket_UDP_Outgoing
sendAck:
  • DistributedLargeBlobSender
sendAvatarGenerate:
  • ServerRepository
sendCamFrustum:
  • ClusterClient
  • DisplayConnection
sendCamOffset:
  • DisplayConnection
sendCommandString:
  • DisplayConnection
sendCookies:
  • HTTPClient
sendCurrentPosition:
  • DistributedSmoothNodeBase
SendData:
  • Socket_TCP
sendDatagram:
  • CConnectionRepository
  • SocketStreamRecorder
  • SSWriter
sendDeleteEvent:
  • DistributedObjectAI
  • DistributedObjectUD
sendDeleteMsg:
  • ClientRepository
  • DistributedObject
  • OldClientRepository
sendDisableMsg:
  • ClientRepository
  • DistributedObject
  • OldClientRepository
sendDisconnect:
  • ClientRepositoryBase
sendDOIDrange:
  • ServerRepository
sendEvents:
  • InterestState
sendEverything:
  • CDistributedSmoothNodeBase
sendExit:
  • DisplayConnection
sendExtraHeader:
  • HTTPChannel
sendGenerateWithRequired:
  • DistributedObjectAI
  • DistributedObjectUD
sendHeartbeat:
  • ClientRepositoryBase
sendHeartbeatTask:
  • ClientRepositoryBase
SendMessage:
  • Buffered_DatagramConnection
sendMessageBundle:
  • CConnectionRepository
  • DistributedObjectAI
sendMoveCam:
  • DisplayConnection
sendMoveNamedObject:
  • DisplayConnection
sendMoveSelected:
  • DisplayConnection
sendNamedMovementDone:
  • ClusterClient
  • ClusterServer
  • DisplayConnection
sendPulse:
  • Pulse
sendRemoveZoneMsg:
  • ClientRepository
  • OldClientRepository
sendSetLocation:
  • ClientRepositoryBase
sendSetZone:
  • DistributedObjectAI
  • DistributedObjectUD
sendSetZoneMsg:
  • ClientRepository
  • OldClientRepository
sendState:
  • FourStateAI
sendSwapNow:
  • DisplayConnection
sendSwapReady:
  • ClusterServer
sendTimeData:
  • DisplayConnection
SendTo:
  • Socket_UDP
  • Socket_UDP_Incoming
  • Socket_UDP_Outgoing
sendToAll:
  • ServerRepository
sendToZoneExcept:
  • ServerRepository
sendUpdate:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectOV
  • DistributedObjectUD
sendUpdateToAccountId:
  • DistributedObjectAI
  • DistributedObjectUD
sendUpdateToAvatarId:
  • DistributedObjectAI
  • DistributedObjectUD
sendUpdateToChannel:
  • DistributedObjectAI
  • DistributedObjectUD
sendUpdateZone:
  • ClientRepository
  • OldClientRepository
serverAddFile:
  • DownloadDb
serverAddMultifile:
  • DownloadDb
set:
  • DialWidget
  • DirectEntry
  • DirectOptionMenu
  • EntryScale
  • EntryScaleGroup
  • FloaterGroup
  • FloaterWidget
  • InputState
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • OdeFixedJoint
  • OdeRayGeom
  • SliderWidget
  • StateVar
  • Valuator
  • ValuatorGroup
  • VectorEntry
set3dAttributes:
  • AudioSound
set3dMaxDistance:
  • AudioSound
set3dMinDistance:
  • AudioSound
set_fade:
  • MotionTrail
set_texture:
  • MotionTrail
set_vertex_color:
  • MotionTrail
setA0:
  • PolylightNode
setA1:
  • PolylightNode
setA2:
  • PolylightNode
setAcceptClockSkew:
  • SmoothMover
setAcceptEnabled:
  • PGEntry
setAccumBits:
  • FrameBufferProperties
setAck:
  • DistributedLargeBlobSenderAI
setActive:
  • AudioManager
  • AudioSound
  • BamCache
  • BaseForce
  • Camera
  • DisplayRegion
  • GraphicsOutput
  • GraphicsStateGuardian
  • MouseWatcherRegion
  • PGItem
  • PGSliderBar
  • PhysicsObject
setActiveNodePath:
  • Placer
setActivePandaCategory:
  • NotifyPanel
setActiveParent:
  • DirectSession
  • LevelEditor
setActiveSeverity:
  • NotifyPanel
setActiveState:
  • DirectLabel
setActiveSystemFlag:
  • ParticleSystem
setActors:
  • AnimPanel
setAddress:
  • NetDatagram
setAgainPattern:
  • CollisionHandlerEvent
setAirborneHeightFunc:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • PhysicsWalker
  • ShipPilot2
setAlias:
  • PhasedObject
setAlign:
  • OnscreenText
  • PNMTextMaker
  • TextNode
  • TextProperties
setAllCaps:
  • LevelEditorPanel
setAllColorScale:
  • NodePath
setAllInterestsCompleteCallback:
  • DoInterestManager
setAllowMultifile:
  • Patchfile
setAllowProxy:
  • HTTPChannel
setAllowTexMat:
  • MultitexReducer
SetAllSfxEnables:
  • ShowBase
setAllSpecified:
  • FrameBufferProperties
setAlmostStationarySpeed:
  • PhysicsCollisionHandler
setAlpha:
  • PNMImage
setAlphaBits:
  • FrameBufferProperties
setAlphaBlendMethod:
  • SpriteParticleRenderer
setAlphaDisable:
  • SpriteParticleRenderer
setAlphaFileChannel:
  • EggTexture
setAlphaFilename:
  • EggTexture
  • Texture
setAlphaFullpath:
  • EggTexture
  • Texture
setAlphaMode:
  • BaseParticleRenderer
  • EggRenderMode
setAlphaScale:
  • EggTexture
  • NodePath
  • TextureStage
setAlphaVal:
  • PNMImage
setAmb:
  • EggMaterial
setAmbient:
  • Material
setAmplitude:
  • BaseParticleEmitter
  • LinearForce
setAmplitudeSpread:
  • BaseParticleEmitter
setAnchor:
  • OdeBallJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeUniversalJoint
setAnchor2:
  • OdeBallJoint
setAnchorDelta:
  • OdeHingeJoint
setAngle:
  • OdeAMotorJoint
  • RingEmitter
setAngleParam:
  • OdePlane2dJoint
setAngularVel:
  • OdeBody
setAngularVelocity:
  • ZSpinParticleFactory
setAngularVelocitySpread:
  • ZSpinParticleFactory
setAnimAngleFlag:
  • SpriteParticleRenderer
setAnimateFramesEnable:
  • SpriteParticleRenderer
setAnimateFramesIndex:
  • SpriteParticleRenderer
setAnimateFramesRate:
  • SpriteParticleRenderer
setAnimation:
  • GeomVertexFormat
setAnimBlendFlag:
  • PartBundle
setAnisotropicDegree:
  • DynamicTextFont
  • EggTexture
  • Texture
setAntialias:
  • NodePath
setAny:
  • NetAddress
setAnyIP:
  • Socket_Address
setArc:
  • ArcEmitter
setArray:
  • Datagram
  • GeomVertexData
  • GeomVertexFormat
setAspectRatio:
  • Lens
setAssertHandler:
  • Notify
setAt:
  • EntryScaleGroup
  • FloaterGroup
  • ValuatorGroup
  • VectorEntry
setAttenuation:
  • PointLight
  • PolylightNode
  • Spotlight
setAttrib:
  • NodePath
  • NodePathCollection
  • PandaNode
  • RenderState
setAttribLock:
  • Material
setAudioVolume:
  • NodePath
setAudioVolumeOff:
  • NodePath
setAuthority:
  • URLSpec
setAutoCollideJointGroup:
  • OdeSpace
setAutoCollideWorld:
  • OdeSpace
setAutoDisableAngularThreshold:
  • OdeBody
  • OdeWorld
setAutoDisableDefaults:
  • OdeBody
setAutoDisableFlag:
  • OdeBody
  • OdeWorld
setAutoDisableLinearThreshold:
  • OdeBody
  • OdeWorld
setAutoDisableSteps:
  • OdeBody
  • OdeWorld
setAutoDisableTime:
  • OdeBody
  • OdeWorld
setAutoEnableDepthSf1:
  • OdeWorld
setAutoFinish:
  • CInterval
setAutoFlatten:
  • GeoMipTerrain
setAutoFlip:
  • GraphicsEngine
setAutoHide:
  • PGScrollFrame
setAutoHideScrollBars:
  • DirectScrolledFrame
setAutoPause:
  • CInterval
setAutoResolveExternals:
  • EggData
setAuxData:
  • Texture
setAuxFloat:
  • FrameBufferProperties
setAuxHrgba:
  • FrameBufferProperties
setAuxRgba:
  • FrameBufferProperties
setAuxSceneData:
  • Camera
setAvatar:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
setAvatarPhysicsIndicator:
  • GravityWalker
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
setAverageFrameRateInterval:
  • ClockObject
setAxis:
  • OdeAMotorJoint
  • OdeHingeJoint
  • OdeLMotorJoint
  • OdeSliderJoint
  • PGSliderBar
setAxis1:
  • OdeHinge2Joint
  • OdeUniversalJoint
setAxis2:
  • OdeHinge2Joint
  • OdeUniversalJoint
setAxisDelta:
  • OdeSliderJoint
setBackBuffers:
  • FrameBufferProperties
setBackground:
  • DialWidget
  • FloaterWidget
  • SliderWidget
setBackgroundColor:
  • DirectSessionPanel
  • ShowBase
setBackgroundColorVec:
  • DirectSessionPanel
setBackgroundFocus:
  • DirectEntry
  • PGItem
setBalance:
  • AudioSound
setBarBorderWidth:
  • DirectWaitBar
setBarColor:
  • DirectWaitBar
setBarRelief:
  • DirectWaitBar
setBarrierData:
  • DistributedObject
setBarrierReady:
  • DistributedObjectAI
  • DistributedObjectUD
setBarStyle:
  • PGWaitBar
setBarTexture:
  • DirectWaitBar
setBase:
  • Dial
setBaselineString:
  • LevelEditorPanel
setBasename:
  • Filename
setBasenameWoExtension:
  • Filename
setBattleCellType:
  • LevelEditorPanel
setBfaceFlag:
  • EggPrimitive
setBg:
  • OnscreenText
setBigFirstLetter:
  • LevelEditorPanel
setBillboardAxis:
  • NodePath
setBillboardCenter:
  • EggGroup
setBillboardPointEye:
  • NodePath
setBillboardPointWorld:
  • NodePath
setBillboardType:
  • EggGroup
setBin:
  • EggRenderMode
  • NodePath
  • TextNode
  • TextProperties
setBinActive:
  • CullBinManager
setBinary:
  • Filename
setBinNumber:
  • EggBin
setBinormal:
  • EggVertexUV
setBinSort:
  • CullBinManager
setBinType:
  • CullBinManager
setBirthRadius:
  • SparkleParticleRenderer
setBirthRate:
  • ParticleSystem
setBit:
  • BitArray
  • SparseArray
setBitTo:
  • BitArray
  • SparseArray
setBlend:
  • Actor
  • TransformBlendTable
setBlendColor:
  • EggGroup
setBlendMethod:
  • PointParticleRenderer
setBlendMode:
  • EggGroup
setBlendOperandA:
  • EggGroup
setBlendOperandB:
  • EggGroup
setBlendType:
  • PartBundle
  • PointParticleRenderer
setBlinkRate:
  • PGEntry
SetBlocking:
  • Socket_IP
setBlockingConnect:
  • HTTPChannel
setBlockSize:
  • GeoMipTerrain
setBloom:
  • CommonFilters
setBlue:
  • PNMImage
setBlueVal:
  • PNMImage
setBody:
  • OdeGeom
setBoolWord:
  • ConfigVariable
setBorderColor:
  • EggTexture
  • Texture
setBorderwidth:
  • DialWidget
  • FloaterWidget
  • SliderWidget
setBorderWidth:
  • DirectGuiWidget
setBounce:
  • OdeSurfaceParameters
setBounceVel:
  • OdeSurfaceParameters
setBound:
  • PandaNode
setBounds:
  • CollisionSolid
  • Geom
  • PandaNode
setBox:
  • OdeMass
setBoxColorScale:
  • DirectBoundingBox
setBoxTotal:
  • OdeMass
setBreakPt:
  • HotkeyBreaker
setBroadcast:
  • Socket_Address
setBroadcastStateChanges:
  • FSM
setBruteforce:
  • GeoMipTerrain
setBuildingStyle:
  • LevelEditor
setBuildingType:
  • LevelEditor
setBuildingWidth:
  • LevelEditor
setBundle:
  • PartBundleHandle
setButtonDownEvent:
  • ButtonThrower
setButtonDownPattern:
  • MouseWatcher
setButtonList:
  • ModifierButtons
setButtonMap:
  • ButtonNode
setButtonRepeatEvent:
  • ButtonThrower
setButtonRepeatPattern:
  • MouseWatcher
setButtonUpEvent:
  • ButtonThrower
setButtonUpPattern:
  • MouseWatcher
setCacheable:
  • DistributedObject
setCacheControl:
  • DocumentSpec
setCachedData:
  • CRDataCache
  • DistributedObject
setCacheLimit:
  • AudioManager
setCacheMaxKbytes:
  • BamCache
setCamera:
  • DisplayRegion
setCameraMask:
  • Camera
setCamFrustum:
  • ClusterConfigItem
setCamOffset:
  • ClusterConfigItem
setCandidateActive:
  • PGEntry
setCandidateEvent:
  • ButtonThrower
setCandidateInactive:
  • PGEntry
setCanvasSize:
  • DirectScrolledFrame
setCanvasTransform:
  • PGVirtualFrame
setCapsule:
  • OdeMass
setCapsuleTotal:
  • OdeMass
setCardActual:
  • TextNode
setCardAsMargin:
  • TextNode
setCardBorder:
  • TextNode
setCardColor:
  • TextNode
setCardDecal:
  • TextNode
setCardSize:
  • BufferViewer
setCardTexture:
  • TextNode
setCartoonInk:
  • CommonFilters
setCaseSensitive:
  • GlobPattern
setCategoryBits:
  • OdeGeom
  • OdeSpace
setCell:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
setCellIn:
  • PortalNode
setCellOut:
  • PortalNode
setCellWidth:
  • DistributedCartesianGrid
setCenter:
  • Actor
  • CollisionHandlerPhysical
  • CollisionSphere
  • LODNode
  • SelectionSphere
setCenterA:
  • CollisionDSSolid
setCenterB:
  • CollisionDSSolid
setCenterColor:
  • SparkleParticleRenderer
setCenterRadius:
  • SelectionSphere
setCfm:
  • OdeWorld
setChangeEvent:
  • Lens
setChannel:
  • PNMImage
setChannelVal:
  • PNMImage
setChildren:
  • State
setChildrenTag:
  • SceneGraphExplorer
  • TreeNode
setChildSort:
  • GraphicsOutput
setChunk:
  • DistributedLargeBlobSender
setCipherList:
  • HTTPClient
setClassDef:
  • DCClass
setCleanup:
  • OdeSpace
setClearActive:
  • DrawableRegion
setClearColor:
  • DrawableRegion
setClearColorActive:
  • DrawableRegion
setClearDepth:
  • DrawableRegion
setClearDepthActive:
  • DrawableRegion
setClearDepthBetweenEyes:
  • DisplayRegion
setClears:
  • FilterManager
setClearStencil:
  • DrawableRegion
setClearStencilActive:
  • DrawableRegion
setClearValue:
  • DrawableRegion
setClickSound:
  • DirectButton
  • DirectEntry
setClientCertificateFilename:
  • HTTPClient
setClientCertificatePassphrase:
  • HTTPClient
setClientCertificatePem:
  • HTTPClient
setClientDatagram:
  • CConnectionRepository
setClientMultifileComplete:
  • DownloadDb
setClientMultifileDecompressed:
  • DownloadDb
setClientMultifileDeltaSize:
  • DownloadDb
setClientMultifileExtracted:
  • DownloadDb
setClientMultifileHash:
  • DownloadDb
setClientMultifileIncomplete:
  • DownloadDb
setClientMultifileSize:
  • DownloadDb
setClientName:
  • PStatClient
setClipEffect:
  • PlaneNode
setClipFrame:
  • PGVirtualFrame
setClipPlane:
  • NodePath
  • PortalNode
setClipPlaneOff:
  • NodePath
setClockDelta:
  • CDistributedSmoothNodeBase
setClockObject:
  • FrameRateMeter
setCloseRequestEvent:
  • GraphicsWindow
setClosestHit:
  • OdeRayGeom
setCOAMode:
  • DirectSession
setCoef:
  • LinearCylinderVortexForce
  • LinearFrictionForce
setCol:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
setCollectTcp:
  • Connection
  • SocketStreamRecorder
  • SSWriter
setCollectTcpInterval:
  • Connection
  • SocketStreamRecorder
  • SSWriter
setCollideBits:
  • OdeGeom
  • OdeSpace
setCollideFlags:
  • EggGroup
setCollideId:
  • OdeSpace
setCollideMask:
  • CollisionNode
  • EggGroup
  • NodePath
  • NodePathCollection
setColliderSort:
  • CollisionNode
setCollisionName:
  • EggGroup
setCollisionsActive:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • ObserverWalker
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
setColor:
  • CardMaker
  • EggAttributes
  • EggTexture
  • Fog
  • GeomVertexData
  • LevelEditor
  • Light
  • LineNodePath
  • LineSegs
  • MouseWatcherGroup
  • NodePath
  • NodePathCollection
  • PGFrameStyle
  • PolylightNode
  • SampleObject
  • SpriteParticleRenderer
  • TextureStage
setColorA:
  • ColorInterpolationFunctionConstant
setColorB:
  • ColorInterpolationFunctionLinear
setColorBits:
  • FrameBufferProperties
setColorBlendMode:
  • BaseParticleRenderer
setColorMap:
  • GeoMipTerrain
setColorOff:
  • NodePath
setColorScale:
  • NodePath
  • NodePathCollection
setColorScaleOff:
  • NodePath
setColorType:
  • PNMImage
setColumn:
  • GeomVertexReader
  • GeomVertexRewriter
  • GeomVertexWriter
setCombineAlpha:
  • TextureStage
setCombineMode:
  • EggTexture
setCombineOperand:
  • EggTexture
setCombineRadius:
  • SceneGraphReducer
setCombineRgb:
  • TextureStage
setCombineSource:
  • EggTexture
setCommandButtons:
  • DirectButton
setComment:
  • EggComment
  • PNMImageHeader
setCompass:
  • NodePath
setComponent:
  • EggCompositePrimitive
setComponentH:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setComponentP:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setComponentR:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setComponentT:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setComponentTLive:
  • DistributedSmoothNode
setComponentType:
  • Texture
setComponentX:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setComponentY:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setComponentZ:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setCompression:
  • Texture
setCompressionMode:
  • EggTexture
setConcurrentSoundLimit:
  • AudioManager
setConnection:
  • NetDatagram
setConnectionHttp:
  • CConnectionRepository
setConnectTimeout:
  • HTTPChannel
setConstantAttenuation:
  • DirectSessionPanel
setContactInfo:
  • LandingPage
setContactMaxCorrectingVel:
  • OdeWorld
setContactNormal:
  • CollisionEntry
setContactPos:
  • CollisionEntry
setContactSurfaceLayer:
  • OdeWorld
setContactVector:
  • ActorNode
setContents:
  • EggXfmAnimData
setContrib:
  • PolylightEffect
setControlEffect:
  • Actor
  • PartBundle
setControlMappingOffset:
  • ClusterClient
  • ClusterServer
setControlStart:
  • MopathRecorder
setControlStop:
  • MopathRecorder
setConvergenceDistance:
  • Lens
setCookie:
  • HTTPClient
setCoordinateSystem:
  • ClientBase
  • EggData
  • GraphicsStateGuardian
  • Lens
  • TextNode
  • Trackball
setCpuAffinity:
  • TrueClock
setCropFrom:
  • MopathRecorder
setCropTo:
  • MopathRecorder
setCsType:
  • EggGroup
setCubeMapIndex:
  • DisplayRegion
setCubicLerping:
  • DiscEmitter
setCullCenter:
  • Camera
setCullName:
  • GraphicsThreadingModel
setCullSorting:
  • GraphicsThreadingModel
setCullTraverser:
  • DisplayRegion
setCurrent:
  • LevelAttribute
  • LevelEditor
setCurrentColor:
  • LevelEditorPanel
setCurrentEntry:
  • SelectionQueue
setCurrentIndex:
  • SelectionQueue
setCurrentTask:
  • TaskManagerWidget
setCurrentTimeFrame:
  • Task
setCursorFilename:
  • WindowProperties
setCursorHidden:
  • WindowProperties
setCursorKeysActive:
  • DirectEntry
  • PGEntry
setCursorPosition:
  • DirectEntry
  • PGEntry
setCurve:
  • RopeNode
setCurveType:
  • EggCurve
  • ParametricCurve
setCutoffDistance:
  • SfxPlayer
setCv:
  • EggNurbsSurface
  • NurbsCurveInterface
setCvColor:
  • MopathRecorder
setCvIn:
  • HermiteCurve
setCvName:
  • HermiteCurve
setCvOut:
  • HermiteCurve
setCvPoint:
  • HermiteCurve
  • NurbsCurveInterface
setCvTstart:
  • HermiteCurve
setCvType:
  • HermiteCurve
setCvVis:
  • MopathRecorder
setCvWeight:
  • NurbsCurveInterface
setCylinder:
  • OdeMass
setCylinderTotal:
  • OdeMass
setDartType:
  • EggGroup
setData:
  • BamCacheRecord
  • GeomVertexArrayDataHandle
  • OdeBody
  • OdeTriMeshGeom
  • StringStream
setData1f:
  • GeomVertexWriter
setData1i:
  • GeomVertexWriter
setData2f:
  • GeomVertexWriter
setData2i:
  • GeomVertexWriter
setData3f:
  • GeomVertexWriter
setData3i:
  • GeomVertexWriter
setData4f:
  • GeomVertexWriter
setData4i:
  • GeomVertexWriter
setDate:
  • DocumentSpec
setDconfigLevel:
  • DirectNotify
setDconfigLevels:
  • DirectNotify
setDcsType:
  • EggGroup
setDeathRadius:
  • SparkleParticleRenderer
setDebug:
  • Notifier
setDecal:
  • OnscreenText
setDecalFlag:
  • EggGroup
setDefault:
  • ShaderGenerator
setDefaultColor:
  • ColorInterpolationManager
setDefaultEncoding:
  • TextEncoder
setDefaultFont:
  • TextProperties
setDefaultGsg:
  • GraphicsStateGuardianBase
setDefaultParams:
  • ParamObj
setDefaultToStandingStill:
  • SmoothMover
setDefaultValues:
  • POD
setDeferInterval:
  • ClientRepositoryBase
setDegradeFactor:
  • ClockObject
setDelay:
  • SmoothMover
setDelta:
  • Dial
setDepth:
  • OdeContactGeom
setDepthBits:
  • FrameBufferProperties
setDepthTest:
  • NodePath
setDepthTestMode:
  • EggRenderMode
setDepthWrite:
  • NodePath
setDepthWriteMode:
  • EggRenderMode
setDesampleFrequency:
  • MopathRecorder
setDesc:
  • InterestState
setDescription:
  • LandingPage
setDict:
  • LevelAttribute
setDiff:
  • EggMaterial
setDiffuse:
  • Material
setDimensions:
  • DisplayRegion
  • MouseSubregion
setDirectFlag:
  • EggGroup
setDirectHostSpec:
  • HTTPClient
setDirection:
  • CollisionRay
  • DirectionalLight
setDirectionalVelocity:
  • SmoothMover
setDirectScalingFactor:
  • ObjectHandles
setDirname:
  • Filename
setDisplayRegion:
  • MouseWatcher
setDistanceFactor:
  • Audio3DManager
setDNAFlatBuildingStyle:
  • LevelStyleManager
setDNATargetCode:
  • LevelEditor
setDNATargetColor:
  • LevelEditor
setDNATargetOrientation:
  • LevelEditor
setDNATargetRoll:
  • LevelEditorPanel
setDNATargetScaleX:
  • LevelEditorPanel
setDNATargetScaleZ:
  • LevelEditorPanel
setDNATargetX:
  • LevelEditorPanel
setDNATargetZ:
  • LevelEditorPanel
setDNAWallStyle:
  • LevelStyleManager
setDomain:
  • HTTPCookie
setDoneEvent:
  • AsyncTask
  • CInterval
  • DistributedLargeBlobSender
  • Interval
setDopplerFactor:
  • Audio3DManager
setDoubleWord:
  • ConfigVariable
setDownloadThrottle:
  • HTTPChannel
setDrawName:
  • GraphicsThreadingModel
setDrawOrder:
  • EggRenderMode
  • TextNode
  • TextProperties
setDropOffFactor:
  • Audio3DManager
setDropShadow:
  • LevelEditorPanel
setDt:
  • ClockObject
setDuration:
  • AuxSceneData
setDynamicFrictionCoef:
  • PhysicsCollisionHandler
setEdgeColor:
  • SparkleParticleRenderer
setEditMode:
  • LevelEditor
  • LevelStyleManager
setEffect:
  • NodePath
  • PandaNode
setEffectCenter:
  • PolylightEffect
setEffectiveNormal:
  • CollisionSolid
setEffects:
  • NodePath
  • PandaNode
setEggFilename:
  • EggData
setEmission:
  • Material
setEmissionType:
  • BaseParticleEmitter
  • ParticlePanel
setEmit:
  • EggMaterial
setEmitter:
  • Particles
  • ParticleSystem
setEmitterAmplitude:
  • ParticlePanel
setEmitterAmplitudeSpread:
  • ParticlePanel
setEmitterBoxPoint1:
  • ParticlePanel
setEmitterBoxPoint2:
  • ParticlePanel
setEmitterDiscInnerAngle:
  • ParticlePanel
setEmitterDiscInnerVelocity:
  • ParticlePanel
setEmitterDiscOuterAngle:
  • ParticlePanel
setEmitterDiscOuterVelocity:
  • ParticlePanel
setEmitterDiscRadius:
  • ParticlePanel
setEmitterExplicitLaunchVector:
  • ParticlePanel
setEmitterLinePoint1:
  • ParticlePanel
setEmitterLinePoint2:
  • ParticlePanel
setEmitterOffsetForce:
  • ParticlePanel
setEmitterPointPosition:
  • ParticlePanel
setEmitterRadiateOrigin:
  • ParticlePanel
setEmitterRectanglePoint1:
  • ParticlePanel
setEmitterRectanglePoint2:
  • ParticlePanel
setEmitterRingLaunchAngle:
  • ParticlePanel
setEmitterRingRadius:
  • ParticlePanel
setEmitterRingRadiusSpread:
  • ParticlePanel
setEmitterSphereSurfaceRadius:
  • ParticlePanel
setEmitterSphereVolumeRadius:
  • ParticlePanel
setEmitterTangentRingRadius:
  • ParticlePanel
setEmitterTangentRingRadiusSpread:
  • ParticlePanel
setEnabled:
  • ColorInterpolationSegment
setEncoding:
  • TextEncoder
setEncryptionFlag:
  • Multifile
setEncryptionPassword:
  • Multifile
setEndAngle:
  • ArcEmitter
setEndColor:
  • CLerpNodePathInterval
  • PointParticleRenderer
setEndColorScale:
  • CLerpNodePathInterval
setEndEvent:
  • AutonomousLerp
  • Lerp
setEndHpr:
  • CLerpNodePathInterval
setEndpoint1:
  • LineEmitter
setEndpoint2:
  • LineEmitter
setEndPos:
  • CLerpNodePathInterval
setEndQuat:
  • CLerpNodePathInterval
setEndScale:
  • CLerpNodePathInterval
setEndShear:
  • CLerpNodePathInterval
setEndTexOffset:
  • CLerpNodePathInterval
setEndTexRotate:
  • CLerpNodePathInterval
setEndTexScale:
  • CLerpNodePathInterval
setEnterFunc:
  • State
setEnterPattern:
  • MouseWatcher
setEntry:
  • Valuator
setEntryFormat:
  • Valuator
setEnvironmentVariable:
  • ExecutionEnvironment
setEnvType:
  • EggTexture
setErp:
  • OdeWorld
setEventQueue:
  • CIntervalManager
setExclude:
  • BufferViewer
setExitFunc:
  • State
setExpDensity:
  • Fog
setExpectedBroadcastPeriod:
  • SmoothMover
setExpectedFileSize:
  • HTTPChannel
setExpires:
  • HTTPCookie
setExplicitLaunchVector:
  • BaseParticleEmitter
setExponent:
  • DirectSessionPanel
  • Spotlight
setExtendedVertex:
  • NurbsCurveEvaluator
  • NurbsSurfaceEvaluator
setExtendedVertices:
  • NurbsCurveEvaluator
  • NurbsSurfaceEvaluator
setExtendMode:
  • MopathRecorder
setExtension:
  • Filename
setExternalIndex:
  • EggVertex
setExtractDir:
  • Extractor
setExtraHandler:
  • MouseWatcher
setFactor:
  • GeoMipTerrain
setFactory:
  • Particles
  • ParticleSystem
setFactoryLifeSpan:
  • ParticlePanel
setFactoryLifeSpanSpread:
  • ParticlePanel
setFactoryParticleMass:
  • ParticlePanel
setFactoryParticleMassSpread:
  • ParticlePanel
setFactoryTerminalVelocity:
  • ParticlePanel
setFactoryTerminalVelocitySpread:
  • ParticlePanel
setFactoryZSpinAngularVelocity:
  • ParticlePanel
setFactoryZSpinAngularVelocitySpread:
  • ParticlePanel
setFactoryZSpinFinalAngle:
  • ParticlePanel
setFactoryZSpinFinalAngleSpread:
  • ParticlePanel
setFactoryZSpinInitialAngle:
  • ParticlePanel
setFactoryZSpinInitialAngleSpread:
  • ParticlePanel
setFadeColor:
  • Transitions
setFadeModel:
  • Transitions
setFadeTime:
  • FadeLODNode
setFakeTextureImage:
  • TexturePool
setFalloffType:
  • LinearDistanceForce
setFar:
  • DirectSessionPanel
  • DisplayRegionList
  • Lens
setFdir1:
  • OdeContact
setFg:
  • OnscreenText
  • PNMTextMaker
setFilename:
  • DistributedLargeBlobSender
  • EggFilenameNode
  • Texture
setFill:
  • PNMPainter
setFilmOffset:
  • Lens
setFilmSize:
  • Lens
setFinal:
  • PandaNode
setFinalAngle:
  • ZSpinParticleFactory
setFinalAngleSpread:
  • ZSpinParticleFactory
setFinalState:
  • ClassicFSM
setFinalVolume:
  • SfxPlayer
setFinalXScale:
  • GeomParticleRenderer
  • SpriteParticleRenderer
setFinalYScale:
  • GeomParticleRenderer
  • SpriteParticleRenderer
setFinalZScale:
  • GeomParticleRenderer
setFinishedEvent:
  • AudioSound
setFiniteRotationAxis:
  • OdeBody
setFiniteRotationMode:
  • OdeBody
setFixedSize:
  • WindowProperties
setFlag:
  • ShaderAttrib
setFlags:
  • LoaderOptions
setFlatBuildingHeight:
  • LevelEditorPanel
setFlatBuildingType:
  • LevelEditorPanel
setFlickerType:
  • PolylightNode
setFloorBitMask:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • ShipPilot
  • ShipPilot2
setFloorZ:
  • ParticleSystem
setFluidPos:
  • NodePath
setFluidX:
  • NodePath
setFluidY:
  • NodePath
setFluidZ:
  • NodePath
setFlushTime:
  • BamCache
setFocalLength:
  • Lens
setFocalPoint:
  • GeoMipTerrain
  • HeightfieldTesselator
setFocus:
  • DirectEntry
  • PGItem
setFog:
  • NodePath
setFogOff:
  • NodePath
setFont:
  • OnscreenText
  • TextNode
  • TextProperties
setFontSize:
  • FSMInspector
setFootprintLength:
  • Patchfile
setForce:
  • GeomVertexReader
  • OdeBody
setForceCenter:
  • LinearDistanceForce
setForceHardware:
  • FrameBufferProperties
setForceHeight:
  • DirectScrolledList
setForceMouse:
  • DriveInterface
setForceRoll:
  • DriveInterface
setForceSoftware:
  • FrameBufferProperties
setForeground:
  • WindowProperties
setFormat:
  • EggTexture
  • GeomVertexData
  • Texture
setForwardScale:
  • Trackball
setForwardSpeed:
  • DriveInterface
setFov:
  • DisplayRegionContext
  • DisplayRegionList
  • FisheyeMaker
  • Lens
setFps:
  • EggAnimData
  • EggXfmSAnim
setFrame:
  • CardMaker
  • MouseWatcherRegion
  • OnscreenText
  • PGItem
  • TextGraphic
setFrameActual:
  • TextNode
setFrameAsMargin:
  • TextNode
setFrameBlendFlag:
  • PartBundle
setFrameColor:
  • DirectGuiWidget
  • ProjectionScreen
  • TextNode
setFrameCorners:
  • TextNode
setFrameCount:
  • ClockObject
setFrameFullscreenQuad:
  • CardMaker
setFrameLineWidth:
  • TextNode
setFrameRate:
  • ClockObject
  • SequenceNode
setFrameRateMeter:
  • ShowBase
setFrameSize:
  • DirectCheckButton
  • DirectGuiWidget
  • DirectRadioButton
setFrameStepping:
  • ParticleSystemManager
setFrameStyle:
  • PGItem
setFrameTexture:
  • DirectGuiWidget
setFrameTie:
  • RecorderController
setFrameTime:
  • ClockObject
setFrameVisibleScale:
  • DirectGuiWidget
setFreq:
  • PolylightNode
setFromAxisAngle:
  • LQuaterniond
  • LQuaternionf
setFromAxisAngleRad:
  • LQuaterniond
  • LQuaternionf
setFromBin:
  • HashVal
setFromCollideMask:
  • CollisionNode
  • EggGroup
setFromDec:
  • HashVal
setFromHex:
  • HashVal
setFromLens:
  • CollisionRay
  • CollisionSegment
setFromMatrix:
  • LQuaterniond
  • LQuaternionf
setFromNode:
  • SpriteParticleRenderer
setFromPortalMask:
  • PortalNode
setFrustumFromCorners:
  • Lens
setFScaleWidgetByCam:
  • DirectSession
setFSortChildren:
  • SceneGraphExplorer
  • TreeNode
setFullpath:
  • EggFilenameNode
  • Filename
  • ModelRoot
  • Texture
setFullpathWoExtension:
  • Filename
setFullscreen:
  • WindowProperties
setFunction:
  • ColorInterpolationSegment
setG1:
  • OdeContactGeom
setG2:
  • OdeContactGeom
setGamma:
  • GraphicsStateGuardian
setGeom:
  • DirectFrame
  • GeomNode
  • OdeContact
  • OnscreenGeom
setGeometry:
  • MouseWatcher
setGeomNode:
  • Actor
  • GeomParticleRenderer
setGeomState:
  • GeomNode
setGlyphScale:
  • TextNode
  • TextProperties
setGlyphShift:
  • TextNode
  • TextProperties
setGraphCoordinateSystem:
  • TrackerNode
setGraphic:
  • TextPropertiesManager
setGravity:
  • CollisionHandlerGravity
  • OdeWorld
setGravityMode:
  • OdeBody
setGray:
  • PNMImage
setGrayVal:
  • PNMImage
setGreen:
  • PNMImage
setGreenVal:
  • PNMImage
setGridParent:
  • GridParent
setGridSize:
  • DirectGrid
  • FSMInspector
  • StateInspector
setGridSpacing:
  • DirectGrid
setGround:
  • ShadowCaster
setGroupNum:
  • LevelEditor
setGroupType:
  • EggGroup
setGsg:
  • SceneGraphReducer
setH:
  • DriveInterface
  • NodePath
  • SmoothMover
  • Trackball
setHalfPixelShift:
  • CommonFilters
setHandleCUpdates:
  • CConnectionRepository
setHardware:
  • GeomVertexAnimationSpec
setHas3dUvs:
  • CardMaker
setHashToEnd:
  • Filename
setHasNormals:
  • CardMaker
setHasUvs:
  • CardMaker
setHeadColor:
  • LineParticleRenderer
setHeadingNodePath:
  • DirectJoybox
setHeightfield:
  • GeoMipTerrain
  • HeightfieldTesselator
setHFov:
  • DirectSessionPanel
setHfov:
  • DisplayRegionContext
  • DisplayRegionList
setHighestIndex:
  • EggVertexPool
setHorizontal:
  • CollisionHandlerPusher
setHorizontalDeadZone:
  • DriveInterface
setHorizontalRampDownTime:
  • DriveInterface
setHorizontalRampUpTime:
  • DriveInterface
setHorizontalScale:
  • HeightfieldTesselator
setHorizontalSlider:
  • PGScrollFrame
setHost:
  • NetAddress
  • Socket_Address
setHpr:
  • AngularVectorForce
  • DriveInterface
  • LQuaterniond
  • LQuaternionf
  • NodePath
  • SmoothMover
  • Trackball
  • TransformState
setHprMultiplier:
  • DirectJoybox
setHprScale:
  • NodePath
setHprSnap:
  • DirectGrid
setHttpTimeout:
  • HTTPChannel
setHttpVersion:
  • HTTPClient
setHullColor:
  • MopathRecorder
setHullVis:
  • MopathRecorder
setI:
  • LQuaterniond
  • LQuaternionf
setIconFilename:
  • WindowProperties
setId:
  • PGItem
setIgnoreMouse:
  • DriveInterface
setIgnoreScale:
  • BaseParticleRenderer
setImage:
  • DirectFrame
  • OnscreenImage
setImportHooks:
  • MkImporter
setInactivityTimeout:
  • MouseWatcher
setInactivityTimeoutEvent:
  • MouseWatcher
setInclude:
  • BufferViewer
setIndent:
  • TextNode
  • TextProperties
setIndexedColor:
  • FrameBufferProperties
setIndexedFlag:
  • EggGroup
setIndexType:
  • GeomPrimitive
setIndicatorValue:
  • DirectCheckButton
  • DirectRadioButton
setInfinite:
  • BoundingVolume
setInfo:
  • Notifier
setInitialAngle:
  • ZSpinParticleFactory
setInitialAngleSpread:
  • ZSpinParticleFactory
setInitialState:
  • Camera
  • ClassicFSM
  • PieMenu
setInitialXScale:
  • GeomParticleRenderer
  • SpriteParticleRenderer
setInitialYScale:
  • GeomParticleRenderer
  • SpriteParticleRenderer
setInitialZScale:
  • GeomParticleRenderer
setInnerAngle:
  • DiscEmitter
setInnerMagnitude:
  • DiscEmitter
setInPattern:
  • CollisionHandlerEvent
setInt64Word:
  • ConfigVariable
setInterior:
  • PNMTextMaker
setInteriorFlag:
  • PNMTextMaker
setInteriorPoint:
  • CollisionEntry
setInterocularDistance:
  • Lens
setIntervalStartTime:
  • CMetaInterval
  • MetaInterval
setIntoCollideMask:
  • CollisionNode
  • EggGroup
  • PandaNode
setIntoPortalMask:
  • PortalNode
setIntValue:
  • WindowsRegistry
setIntWord:
  • ConfigVariable
setInvert:
  • Trackball
setInverted:
  • GraphicsOutput
setInvertUvs:
  • ProjectionScreen
setIpTimeToLive:
  • Connection
setIpTypeOfService:
  • Connection
setIsModulated:
  • ColorInterpolationSegment
setIsOn:
  • FourStateAI
setItemOffset:
  • PieMenu
setItems:
  • DirectOptionMenu
setJ:
  • LQuaterniond
  • LQuaternionf
setK:
  • LQuaterniond
  • LQuaternionf
setKeepAlive:
  • Connection
setKeepRamImage:
  • Texture
setKeyboard:
  • MouseWatcherRegion
setKeyframeHook:
  • MopathRecorder
setKeystone:
  • Lens
setKeystrokeEvent:
  • ButtonThrower
setKnot:
  • EggNurbsCurve
  • NurbsCurveEvaluator
  • NurbsCurveInterface
setKnotColor:
  • MopathRecorder
setKnotVis:
  • MopathRecorder
setLabel:
  • Valuator
setLandmarkSpecialType:
  • LevelEditorPanel
setLandmarkType:
  • LevelEditorPanel
setLastAngle:
  • LevelEditor
setLastPosition:
  • PhysicsObject
setLastRenderTime:
  • AuxSceneData
setLayout:
  • BufferViewer
setLeavePattern:
  • MouseWatcher
setLeftButton:
  • PGSliderBar
setLeftEyeMat:
  • MatrixLens
setLength:
  • LinearCylinderVortexForce
  • OdeRayGeom
setLengths:
  • OdeBoxGeom
setLens:
  • LensNode
setLevel:
  • PStatCollector
setLevels:
  • OdeHashSpace
setLifeScale:
  • SparkleParticleRenderer
setLifespanBase:
  • BaseParticleFactory
setLifespanSpread:
  • BaseParticleFactory
setLight:
  • NodePath
setLightColor:
  • DirectSessionPanel
setLightOff:
  • NodePath
setLinearAttenuation:
  • DirectSessionPanel
setLinearFallback:
  • Fog
setLinearOnsetPoint:
  • Fog
setLinearOpaquePoint:
  • Fog
setLinearRange:
  • Fog
setLinearVel:
  • OdeBody
setLineHeight:
  • TextFont
setLineScaleFactor:
  • LineParticleRenderer
setLinger:
  • Connection
SetLinger:
  • Socket_TCP
setList:
  • LevelAttribute
setListenerVelocity:
  • Audio3DManager
setListenerVelocityAuto:
  • Audio3DManager
setLitterSize:
  • ParticleSystem
setLitterSpread:
  • ParticleSystem
setLlUv:
  • SpriteParticleRenderer
setLoadedFromImage:
  • Texture
setLoadedFromTxo:
  • Texture
setLocal:
  • EggMaterial
  • Material
setLocalhost:
  • NetAddress
setLocalVelocityFlag:
  • ParticleSystem
setLocation:
  • DistributedNode
  • DistributedNodeAI
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectUD
  • PointEmitter
setLod:
  • EggGroup
setLOD:
  • Actor
setLodCenter:
  • Camera
setLodMode:
  • SceneGraphAnalyzer
setLODNode:
  • Actor
setLogging:
  • Notifier
setLoop:
  • AudioSound
  • Interval
  • MovieTexture
setLoopCount:
  • AudioSound
  • MovieTexture
setLoopPlayback:
  • MopathRecorder
setLruSize:
  • SimpleLruPage
setMagfilter:
  • DynamicTextFont
  • EggTexture
  • Texture
setManageButtons:
  • DirectScrollBar
setManagePieces:
  • PGScrollFrame
  • PGSliderBar
setManager:
  • CInterval
  • MetaInterval
setManageScrollBars:
  • DirectScrolledFrame
setMarkerSize:
  • FSMInspector
setMarkerVis:
  • MopathRecorder
setMass:
  • OdeBody
  • PhysicsObject
setMassBase:
  • BaseParticleFactory
setMassDependent:
  • LinearForce
setMassSpread:
  • BaseParticleFactory
setMat:
  • DriveInterface
  • NodePath
  • SmoothMover
  • Trackball
setMatchFramebufferFormat:
  • Texture
setMaterial:
  • EggPrimitive
  • NodePath
setMaterialOff:
  • NodePath
setMatrix:
  • RopeNode
  • UserVertexTransform
setMax:
  • EntryScale
  • Slider
  • SliderWidget
setMaxBound:
  • BoxEmitter
  • RectangleEmitter
setMaxBytesPerSecond:
  • HTTPChannel
setMaxChars:
  • PGEntry
setMaxDt:
  • ClockObject
setMaximumBitsPerPixel:
  • DisplaySearchParameters
setMaximumHeight:
  • DisplaySearchParameters
setMaximumWidth:
  • DisplaySearchParameters
setMaxPositionAge:
  • SmoothMover
setMaxRate:
  • PStatClient
setMaxRows:
  • TextAssembler
  • TextNode
setMaxSearchDepth:
  • NodePath
setMaxSegment:
  • Connection
setMaxSize:
  • GeomCacheManager
  • SimpleAllocator
  • SimpleLru
setMaxTriangles:
  • HeightfieldTesselator
setMaxUpdatesPerSecond:
  • HTTPChannel
setMaxval:
  • PNMImage
setMaxVelocity:
  • CollisionHandlerFloor
  • CollisionHandlerGravity
setMaxWidth:
  • PGEntry
setMayJump:
  • GravityWalker
setMenu:
  • LevelAttribute
setMessage:
  • DirectDialog
setMin:
  • EntryScale
  • Slider
  • SliderWidget
setMinBound:
  • BoxEmitter
  • RectangleEmitter
setMinfilter:
  • DynamicTextFont
  • EggTexture
  • Texture
setMinFov:
  • Lens
setMinimized:
  • WindowProperties
setMinimumBitsPerPixel:
  • DisplaySearchParameters
setMinimumHeight:
  • DisplaySearchParameters
setMinimumWidth:
  • DisplaySearchParameters
setMinLevel:
  • GeoMipTerrain
setMinPipelineStage:
  • Thread
setMode:
  • ClockObject
  • DirectJoybox
  • DistributedLargeBlobSender
  • Fog
  • OdeAMotorJoint
  • OdeSurfaceParameters
  • TextureStage
setModel:
  • TextGraphic
setModelFlag:
  • EggGroup
setModifierButtons:
  • ButtonThrower
  • MouseWatcher
setMotion1:
  • OdeSurfaceParameters
setMotion2:
  • OdeSurfaceParameters
setMouseMode:
  • WindowProperties
setMouseOn:
  • VirtualMouse
setMouseOnNode:
  • ShowBase
setMousePos:
  • VirtualMouse
setMouseWatcher:
  • PGTop
setMoveEvent:
  • ButtonThrower
setMovementMode:
  • Placer
setMu:
  • OdeSurfaceParameters
setMu2:
  • OdeSurfaceParameters
setMultifile:
  • Extractor
setMultisamples:
  • FrameBufferProperties
setName:
  • ClassicFSM
  • EggVertexUV
  • Event
  • GeomVertexData
  • HTTPCookie
  • LevelEditor
  • Namable
  • NodePath
  • PhysicsObject
  • State
  • TextureStage
setNativeAntialias:
  • DynamicTextFont
  • FreetypeFont
setNear:
  • DirectSessionPanel
  • DisplayRegionList
  • Lens
setNearFar:
  • DisplayRegionList
  • Lens
setNeverDisable:
  • DistributedObject
setNewCurveMode:
  • MopathRecorder
setNode:
  • Transform2SG
setNoDelay:
  • Connection
SetNoDelay:
  • Socket_TCP
setNodePath:
  • DirectJoybox
  • MopathRecorder
setNofogFlag:
  • EggGroup
setNonanimatedTheta:
  • SpriteParticleRenderer
setNonblock:
  • Connection
SetNonBlocking:
  • Socket_IP
setNone:
  • GeomVertexAnimationSpec
setNoNewInterests:
  • DoInterestManager
setNormal:
  • EggAttributes
  • OdeContactGeom
setNormalMap:
  • NodePath
setNormalMode:
  • RopeNode
setNormalScale:
  • CollisionVisualizer
setNumAxes:
  • OdeAMotorJoint
  • OdeLMotorJoint
setNumChannels:
  • PNMImage
setNumDigits:
  • DialWidget
  • FloaterWidget
  • SliderWidget
setNumDimensions:
  • ParametricCurve
setNumItemsVisible:
  • DirectScrolledList
setNumKnots:
  • EggNurbsCurve
setNumLines:
  • PGEntry
setNumRows:
  • GeomVertexArrayData
  • GeomVertexArrayDataHandle
  • GeomVertexData
setNumSamples:
  • MopathRecorder
setNumSegments:
  • DialWidget
setNumSegs:
  • MopathRecorder
setNumSlices:
  • RopeNode
setNumSubdiv:
  • RopeNode
setNumTicks:
  • MopathRecorder
setNumUKnots:
  • EggNurbsSurface
setNumUSubdiv:
  • SheetNode
setNumVersions:
  • DownloadDb
setNumVertices:
  • FisheyeMaker
setNumVKnots:
  • EggNurbsSurface
setNumVSubdiv:
  • SheetNode
setObscureMode:
  • DirectEntry
  • PGEntry
setOcclusionMask:
  • PipeOcclusionCullTraverser
setOff:
  • DirectLights
setOffset:
  • ActorControl
  • CollisionHandlerFloor
  • CollisionHandlerGravity
  • PolylightNode
setOffsetForce:
  • BaseParticleEmitter
setOffsetPosition:
  • OdeGeom
setOffsetQuaternion:
  • OdeGeom
setOffsetRotation:
  • OdeGeom
setOffsetWorldPosition:
  • OdeGeom
setOffsetWorldQuaternion:
  • OdeGeom
setOffsetWorldRotation:
  • OdeGeom
setOn:
  • DirectLights
setOneBitPerChannel:
  • FrameBufferProperties
setOneShot:
  • GraphicsOutput
setOpen:
  • PortalNode
  • WindowProperties
setOrder:
  • EggNurbsCurve
  • EggXfmAnimData
  • EggXfmSAnim
  • NurbsCurveEvaluator
  • NurbsCurveInterface
setOrientation:
  • DirectScrollBar
  • DirectSlider
  • DisplayRegionContext
  • PhysicsObject
setOriented:
  • PhysicsObject
setOrigin:
  • CollisionRay
  • Trackball
  • WindowProperties
setOstreamPtr:
  • Notify
setOthers:
  • DirectRadioButton
setOuterAngle:
  • DiscEmitter
setOuterMagnitude:
  • DiscEmitter
setOutPattern:
  • CollisionHandlerEvent
setOutput:
  • AnalogNode
setOverallHidden:
  • PandaNode
setOwnerClassDef:
  • DCClass
setP:
  • DriveInterface
  • NodePath
  • SmoothMover
  • Trackball
setPadSize:
  • Texture
setPageSize:
  • DirectScrollBar
  • DirectSlider
  • DynamicTextFont
  • PGSliderBar
setPanda:
  • GeomVertexAnimationSpec
setParabola:
  • CollisionParabola
setParam:
  • OdeLMotorJoint
setParamBounce:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
setParamCFM:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
setParameters:
  • OdeMass
setParamFMax:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
setParamFudgeFactor:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
setParamHiStop:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
setParamLoStop:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
setParams:
  • OdeCappedCylinderGeom
  • OdeCylinderGeom
  • OdePlaneGeom
  • OdeRayGeom
setParamStopCFM:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
setParamStopERP:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
setParamSuspensionCFM:
  • OdeHinge2Joint
setParamSuspensionERP:
  • OdeHinge2Joint
setParamVel:
  • OdeAMotorJoint
  • OdeHinge2Joint
  • OdeHingeJoint
  • OdeSliderJoint
  • OdeUniversalJoint
setParent:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
setParentingRules:
  • DistributedCartesianGrid
setParentNP:
  • SelectionQueue
setParentStr:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
setParentWindow:
  • WindowProperties
setPath:
  • HTTPCookie
  • URLSpec
setPathColor:
  • MopathRecorder
setPathDuration:
  • MopathRecorder
setPathDurationTo:
  • MopathRecorder
setPathVis:
  • MopathRecorder
setPattern:
  • Filename
  • GlobPattern
setPen:
  • PNMPainter
setPeriod:
  • ColorInterpolationFunctionSinusoid
setPersistentConnection:
  • HTTPChannel
setPerspective:
  • EggPoint
setPhase:
  • BufferedDistancePhasedNode
  • DistancePhasedNode
  • PhasedObject
setPhaseCollideMask:
  • DistancePhasedNode
setPhonyTimestamp:
  • SmoothMover
setPhysicsObject:
  • LinearControlForce
setPipelineStage:
  • Thread
setPixelSize:
  • FreetypeFont
setPixelsPerUnit:
  • DynamicTextFont
  • FreetypeFont
setPixelZoom:
  • DrawableRegion
setPlane:
  • CollisionPlane
  • PlaneNode
setPlaneA:
  • CollisionDSSolid
setPlaneB:
  • CollisionDSSolid
setPlaybackNodePath:
  • MopathRecorder
setPlaybackSF:
  • MopathRecorder
setPlayRate:
  • Actor
  • ActorControl
  • AnimInterface
  • AudioSound
  • CInterval
  • Interval
  • MovieTexture
setPoint:
  • DirectionalLight
  • PointLight
setPointA:
  • CollisionSegment
  • CollisionTube
setPointB:
  • CollisionSegment
  • CollisionTube
setPointScale:
  • CollisionVisualizer
setPointSize:
  • DynamicTextFont
  • FreetypeFont
  • PointParticleRenderer
setPolyCount:
  • HeightfieldTesselator
setPolylightFlag:
  • EggGroup
setPolyMargin:
  • DynamicTextFont
setPoolSize:
  • ParticleSystem
setPort:
  • NetAddress
  • Socket_Address
  • URLSpec
setPortalCull:
  • GraphicsEngine
setPortalFlag:
  • EggGroup
setPortalGeom:
  • PortalNode
setPortalMask:
  • PortalNode
setPos:
  • DriveInterface
  • EggVertex
  • NodePath
  • OdeContactGeom
  • OnscreenText
  • PolylightNode
  • SmoothMover
  • StateInspector
  • Trackball
  • TransformState
setPos2d:
  • TransformState
setPos4:
  • EggVertex
setPosHpr:
  • NodePath
setPosHprBroadcastPeriod:
  • DistributedSmoothNodeBase
setPosHprScale:
  • NodePath
setPosHprScaleShear:
  • NodePath
setPosition:
  • BufferViewer
  • OdeBody
  • OdeGeom
  • PhysicsObject
setPosQuat:
  • NodePath
setPosQuatScale:
  • NodePath
setPosQuatScaleShear:
  • NodePath
setPrecision:
  • CMetaInterval
setPredictionMode:
  • SmoothMover
setPrefix:
  • ButtonThrower
setPreRecordFunc:
  • MopathRecorder
setPreserveAttributes:
  • ModelNode
setPreserved:
  • GeomNode
setPreserveTrailingWhitespace:
  • TextProperties
setPreserveTransform:
  • ModelNode
setPrevTransform:
  • NodePath
  • PandaNode
setPrimitive:
  • Geom
setPriority:
  • AudioSound
  • EggTexture
  • Job
  • Light
  • PlaneNode
  • Task
  • TextureStage
setPriorParentVector:
  • GravityWalker
  • PhysicsWalker
  • ShipPilot2
setProc:
  • LinearUserDefinedForce
setProjector:
  • ProjectionScreen
setProp:
  • DirectGuiWidget
setProperties:
  • EggPolysetMaker
  • TextAssembler
  • TextPropertiesManager
setPropType:
  • LevelEditorPanel
setProxySpec:
  • HTTPClient
setProxyTunnel:
  • HTTPChannel
setPythonObject:
  • AsyncTask
setPythonRepository:
  • CConnectionRepository
setPythonTag:
  • NodePath
  • PandaNode
setQuadraticAttenuation:
  • DirectSessionPanel
setQualityLevel:
  • EggTexture
  • Texture
setQuat:
  • AngularVectorForce
  • NodePath
  • TransformState
setQuaternion:
  • OdeBody
  • OdeGeom
setQuatScale:
  • NodePath
setQuery:
  • URLSpec
setQuickStepNumIterations:
  • OdeWorld
setQuickStepW:
  • OdeWorld
setR:
  • DriveInterface
  • LQuaterniond
  • LQuaternionf
  • NodePath
  • SmoothMover
  • Trackball
setRadiateOrigin:
  • BaseParticleEmitter
setRadius:
  • CollisionSphere
  • CollisionTube
  • DiscEmitter
  • LinearCylinderVortexForce
  • LinearDistanceForce
  • OdeSphereGeom
  • PolylightNode
  • RingEmitter
  • SelectionSphere
  • SphereSurfaceEmitter
  • SphereVolumeEmitter
  • StateInspector
  • TangentRingEmitter
setRadiusA:
  • CollisionDSSolid
setRadiusB:
  • CollisionDSSolid
setRadiusSpread:
  • RingEmitter
  • TangentRingEmitter
setRamImage:
  • Texture
setRamMipmapImage:
  • Texture
setRandomBuildingStyle:
  • LevelEditor
setRandomSeed:
  • RecorderController
setRange:
  • BitArray
  • DirectScrollBar
  • DirectSlider
  • DirectWaitBar
  • PGSliderBar
  • PGWaitBar
  • SparseArray
setRangeTo:
  • BitArray
  • SparseArray
setRatio:
  • PGSliderBar
setRawMice:
  • WindowProperties
setRawMode:
  • ConnectionReader
  • ConnectionWriter
setReach:
  • CollisionHandlerFloor
  • CollisionHandlerGravity
setReadMipmaps:
  • EggTexture
setReadOnly:
  • BamCache
setReadSize:
  • PNMImage
setRealTime:
  • ClockObject
setReceiver:
  • Event
setRecorder:
  • CollisionTraverser
setRecordingType:
  • MopathRecorder
setRecordStart:
  • MopathRecorder
setRecordTimestamp:
  • Multifile
setRecvBufferSize:
  • Connection
SetRecvBufferSize:
  • Socket_IP
setRed:
  • PNMImage
setRedBlueStereo:
  • GraphicsOutput
setRedVal:
  • PNMImage
setRefCS:
  • DirectJoybox
setReference:
  • ModelRoot
setReferenceNodePath:
  • Placer
setRefineMode:
  • MopathRecorder
setRefineStop:
  • MopathRecorder
setReflection:
  • FisheyeMaker
setRelief:
  • DialWidget
  • DirectGuiWidget
  • FloaterWidget
  • SliderWidget
setRelTo:
  • Trackball
setRenderer:
  • Particles
  • ParticleSystem
setRendererAlphaMode:
  • ParticlePanel
setRendererColorBlendAttrib:
  • ParticlePanel
setRendererGeomColorBlendFbufferOperand:
  • ParticlePanel
setRendererGeomColorBlendIncomingOperand:
  • ParticlePanel
setRendererGeomColorBlendMethod:
  • ParticlePanel
setRendererGeomFinalXScale:
  • ParticlePanel
setRendererGeomFinalYScale:
  • ParticlePanel
setRendererGeomFinalZScale:
  • ParticlePanel
setRendererGeomInitialXScale:
  • ParticlePanel
setRendererGeomInitialYScale:
  • ParticlePanel
setRendererGeomInitialZScale:
  • ParticlePanel
setRendererGeomNode:
  • ParticlePanel
setRendererLineHeadColor:
  • ParticlePanel
setRendererLineScaleFactor:
  • ParticlePanel
setRendererLineTailColor:
  • ParticlePanel
setRendererPointEndColor:
  • ParticlePanel
setRendererPointSize:
  • ParticlePanel
setRendererPointStartColor:
  • ParticlePanel
setRendererSparkleBirthRadius:
  • ParticlePanel
setRendererSparkleCenterColor:
  • ParticlePanel
setRendererSparkleDeathRadius:
  • ParticlePanel
setRendererSparkleEdgeColor:
  • ParticlePanel
setRendererSparkleLifeScale:
  • ParticlePanel
setRendererSpriteAnimationEnable:
  • ParticlePanel
setRendererSpriteAnimationFrameRate:
  • ParticlePanel
setRendererSpriteBlendMethod:
  • ParticlePanel
setRendererSpriteColorBlendFbufferOperand:
  • ParticlePanel
setRendererSpriteColorBlendIncomingOperand:
  • ParticlePanel
setRendererSpriteColorBlendMethod:
  • ParticlePanel
setRendererSpriteFinalXScale:
  • ParticlePanel
setRendererSpriteFinalYScale:
  • ParticlePanel
setRendererSpriteInitialXScale:
  • ParticlePanel
setRendererSpriteInitialYScale:
  • ParticlePanel
setRendererSpriteNonAnimatedTheta:
  • ParticlePanel
setRendererUserAlpha:
  • ParticlePanel
setRenderMode:
  • DynamicTextFont
  • NodePath
  • RopeNode
setRenderModeFilled:
  • NodePath
setRenderModePerspective:
  • NodePath
setRenderModeThickness:
  • NodePath
setRenderModeWireframe:
  • NodePath
setRenderNodePath:
  • Particles
setRenderParent:
  • BufferViewer
  • ParticleSystem
setRenderToTexture:
  • Texture
setRepository:
  • CDistributedSmoothNodeBase
setRequestMode:
  • DocumentSpec
setResetColor:
  • LevelEditorPanel
setResetVelocityAge:
  • SmoothMover
setResizeThumb:
  • DirectScrollBar
  • PGSliderBar
setResolution:
  • EntryScale
setRespectEffectiveNormal:
  • CollisionSolid
setRespectPrevTransform:
  • CollisionTraverser
setReuseAddr:
  • Connection
SetReuseAddress:
  • Socket_IP
setReverseSpeed:
  • DriveInterface
setRgbColor:
  • FrameBufferProperties
setRgbScale:
  • EggTexture
  • TextureStage
setRightButton:
  • PGSliderBar
setRightEyeMat:
  • MatrixLens
setRoll:
  • OnscreenText
setRollover:
  • Dial
setRolloverSound:
  • DirectButton
  • DirectEntry
setRoot:
  • BamCache
setRootXform:
  • PartBundle
setRotate2d:
  • TransformState
setRotateInPlace:
  • DirectJoybox
setRotateMat:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
setRotateMatNormaxis:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
setRotateSpeed:
  • DriveInterface
setRotation:
  • OdeBody
  • OdeGeom
  • PhysicsObject
setRow:
  • GeomVertexReader
  • GeomVertexRewriter
  • GeomVertexWriter
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
setRows:
  • TransformBlendTable
setSa:
  • NodePath
setSamplingMode:
  • MopathRecorder
setSavedResult:
  • EggTexture
  • TextureStage
setSb:
  • NodePath
setScale:
  • ColorScaleAttrib
  • NodePath
  • OnscreenText
  • PerlinNoise2
  • PerlinNoise3
  • PolylightNode
  • SmoothMover
  • TransformState
setScale2d:
  • TransformState
setScaleFactor:
  • DynamicTextFont
  • FreetypeFont
  • Multifile
setScaleMat:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
setScaleShearMat:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
setScalingFactor:
  • ObjectHandles
setScalingMode:
  • Placer
setScene:
  • Camera
  • PipeOcclusionCullTraverser
setScheme:
  • URLSpec
setScissor:
  • NodePath
setScreenActive:
  • NonlinearImager
setScrollSize:
  • DirectScrollBar
  • DirectSlider
  • PGSliderBar
setScrollSpeed:
  • DirectScrolledList
setSecure:
  • HTTPCookie
setSendBufferSize:
  • Connection
SetSendBufferSize:
  • Socket_TCP
setServer:
  • URLSpec
setServerAndPort:
  • URLSpec
setServerDelta:
  • ClientRepositoryBase
  • Notifier
  • NotifyCategory
setServerMultifileHash:
  • DownloadDb
setServerMultifileSize:
  • DownloadDb
setSeverity:
  • Notifier
  • NotifyCategory
setSg:
  • NodePath
setShadeModel:
  • GeomPrimitive
setShader:
  • NodePath
  • ShaderAttrib
setShaderAuto:
  • NodePath
  • ShaderAttrib
setShaderInput:
  • NodePath
  • ShaderAttrib
setShaderModel:
  • GraphicsStateGuardian
setShaderOff:
  • NodePath
  • ShaderAttrib
setShaderUtilization:
  • Shader
setShadow:
  • OnscreenText
  • TextNode
  • TextProperties
setShadowColor:
  • TextNode
  • TextProperties
setShear:
  • NodePath
  • TransformState
setShear2d:
  • TransformState
setShearMat:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
setShininess:
  • EggMaterial
  • Material
setShip:
  • ShipPilot
setShxy:
  • NodePath
setShxz:
  • NodePath
setShyz:
  • NodePath
setSignBaselineCurve:
  • LevelEditorPanel
setSignBaselineKern:
  • LevelEditorPanel
setSignBaselineStomp:
  • LevelEditorPanel
setSignBaselineStumble:
  • LevelEditorPanel
setSignBaselineStyle:
  • LevelEditorPanel
setSignBaselineWiggle:
  • LevelEditorPanel
setSignBaslineFont:
  • LevelEditorPanel
setSimulatedDisconnect:
  • CConnectionRepository
setSize:
  • GraphicsBuffer
  • ParasiteBuffer
  • SpriteParticleRenderer
  • WindowProperties
setSizePadded:
  • Texture
setSlant:
  • TextNode
  • TextProperties
setSleep:
  • ShowBase
setSlider:
  • SliderTable
  • UserVertexSlider
setSliderRows:
  • SliderTable
setSliderTable:
  • GeomVertexData
setSlip1:
  • OdeSurfaceParameters
setSlip2:
  • OdeSurfaceParameters
setSmallCaps:
  • TextNode
  • TextProperties
setSmallCapsScale:
  • TextNode
  • TextProperties
setSmH:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setSmHpr:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setSmoothMode:
  • SmoothMover
setSmoothWrtReparents:
  • DistributedSmoothNode
setSmPos:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setSmPosHpr:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setSmStop:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setSmXY:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setSmXYH:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setSmXYZH:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setSmXZ:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setSmZ:
  • DistributedSmoothNode
  • DistributedSmoothNodeAI
setSnap:
  • Dial
setSnapAngle:
  • DirectGrid
SetSocket:
  • Socket_IP
setSoftBirthRate:
  • ParticleSystem
setSoftCfm:
  • OdeSurfaceParameters
setSoftErp:
  • OdeSurfaceParameters
setSolid:
  • CollisionNode
setSort:
  • BufferViewer
  • DisplayRegion
  • GraphicsOutput
  • MouseWatcherRegion
  • TextureStage
setSound:
  • PGItem
setSoundMaxDistance:
  • Audio3DManager
setSoundMinDistance:
  • Audio3DManager
setSoundVelocity:
  • Audio3DManager
setSoundVelocityAuto:
  • Audio3DManager
setSource:
  • MouseAndKeyboard
setSourceCamera:
  • NonlinearImager
setSourceFileName:
  • SpriteParticleRendererExt
setSourceGeometry:
  • CardMaker
setSourceInfo:
  • SpriteAnim
setSourceNodeName:
  • SpriteParticleRendererExt
setSourceTextureName:
  • SpriteParticleRendererExt
setSpaceAdvance:
  • TextFont
setSpawnOnDeathFlag:
  • ParticleSystem
setSpawnRenderNode:
  • ParticleSystem
setSpawnRenderNodePath:
  • ParticleSystem
setSpeakerMix:
  • AudioSound
setSpeakerSetup:
  • AudioManager
setSpec:
  • EggMaterial
setSpecificFlag:
  • ButtonThrower
setSpecular:
  • Material
setSpecularColor:
  • DirectionalLight
  • DirectSessionPanel
  • PointLight
  • Spotlight
setSpeeds:
  • ControlManager
setSpeedScale:
  • MopathRecorder
setSphere:
  • OdeMass
setSphereTotal:
  • OdeMass
setSpriteSourceType:
  • ParticlePanel
setSquareInscribed:
  • FisheyeMaker
setSr:
  • NodePath
setStackedClears:
  • FilterManager
setStageName:
  • EggTexture
setStartAngle:
  • ArcEmitter
setStartColor:
  • CLerpNodePathInterval
  • PointParticleRenderer
setStartColorScale:
  • CLerpNodePathInterval
setStartHpr:
  • CLerpNodePathInterval
setStartPos:
  • CLerpNodePathInterval
setStartQuat:
  • CLerpNodePathInterval
setStartScale:
  • CLerpNodePathInterval
setStartShear:
  • CLerpNodePathInterval
setStartSort:
  • PGTop
setStartStopHook:
  • MopathRecorder
setStartTexOffset:
  • CLerpNodePathInterval
setStartTexRotate:
  • CLerpNodePathInterval
setStartTexScale:
  • CLerpNodePathInterval
setStartTimeFrame:
  • Task
setState:
  • DirectGuiWidget
  • NodePath
  • PandaNode
  • PGItem
  • Valuator
setStateArray:
  • FSM
setStates:
  • ClassicFSM
setStaticFrictionCoef:
  • PhysicsCollisionHandler
setStencilBits:
  • FrameBufferProperties
setStepping:
  • TaskManager
setStepSize:
  • Lerp
  • PolylightNode
setStereo:
  • FrameBufferProperties
setStereoChannel:
  • DisplayRegion
setStopThisFrame:
  • DriveInterface
setStreetModuleType:
  • LevelEditorPanel
setStride:
  • GeomVertexArrayFormat
setStringValue:
  • ConfigVariable
  • WindowsRegistry
setStringWord:
  • ConfigVariable
setSubdata:
  • GeomVertexArrayDataHandle
setSubdiv:
  • EggCurve
setSubpartsComplete:
  • Actor
setSuitPointType:
  • LevelEditorPanel
setSuppressFlags:
  • MouseWatcherRegion
  • PGItem
setSurface:
  • OdeContact
  • SheetNode
setSurfaceEntry:
  • OdeWorld
setSurfaceNormal:
  • CollisionEntry
setSurfacePoint:
  • CollisionEntry
setSurfaceType:
  • OdeSpace
setSwitch:
  • LODNode
setSwitchFlag:
  • EggGroup
setSwitchFps:
  • EggGroup
setSx:
  • NodePath
  • SmoothMover
setSy:
  • NodePath
  • SmoothMover
setSystemAge:
  • ParticleSystem
setSystemBirthRate:
  • ParticlePanel
setSystemGrowsOlderFlag:
  • ParticleSystem
setSystemHpr:
  • ParticlePanel
setSystemLifespan:
  • ParticlePanel
  • ParticleSystem
setSystemLitterSize:
  • ParticlePanel
setSystemLitterSpread:
  • ParticlePanel
setSystemPoolSize:
  • ParticlePanel
setSystemPos:
  • ParticlePanel
setSystemTag:
  • PandaSystem
setSz:
  • NodePath
  • SmoothMover
setT:
  • AutonomousLerp
  • CInterval
  • CollisionEntry
  • Interval
  • Lerp
  • MetaInterval
  • Timer
setT1:
  • CollisionParabola
setT2:
  • CollisionParabola
setTableType:
  • EggTable
setTabWidth:
  • TextNode
  • TextProperties
setTag:
  • ControlManager
  • DevWalker
  • DocumentSpec
  • EggGroup
  • GravityWalker
  • NodePath
  • NonPhysicsWalker
  • PandaNode
  • ShipPilot
  • ShipPilot2
setTagState:
  • Camera
setTagStateKey:
  • Camera
setTailColor:
  • LineParticleRenderer
setTangent:
  • EggVertexUV
setTangible:
  • CollisionSolid
setTarget:
  • MultitexReducer
setTargetAvId:
  • DistributedLargeBlobSender
setTcpHeaderSize:
  • ConnectionReader
  • ConnectionWriter
setTemplateSystemFlag:
  • ParticleSystem
setTerminalVelocity:
  • PhysicsObject
setTerminalVelocityBase:
  • BaseParticleFactory
setTerminalVelocitySpread:
  • BaseParticleFactory
setTexcoordName:
  • ProjectionScreen
  • TextureStage
setTexGen:
  • EggTexture
  • NodePath
setTexHpr:
  • NodePath
setTexlistFlag:
  • EggGroup
setTexOffset:
  • NodePath
setTexPos:
  • NodePath
setTexProjector:
  • NodePath
setTexRotate:
  • NodePath
setTexScale:
  • NodePath
setText:
  • DirectFrame
  • Filename
  • OnscreenText
  • PGEntry
  • StateInspector
  • TextEncoder
  • TextNode
SetText:
  • SceneGraphExplorerItem
  • TreeItem
setTextColor:
  • TextNode
  • TextProperties
setTextDef:
  • PGEntry
setTextNode:
  • PGItem
setTextPattern:
  • FrameRateMeter
setTexTransform:
  • NodePath
setTexture:
  • EggPrimitive
  • NodePath
  • NodePathCollection
  • PGFrameStyle
  • SpriteParticleRenderer
setTextureFromFile:
  • SpriteParticleRendererExt
setTextureFromNode:
  • SpriteParticleRendererExt
setTextureMargin:
  • DynamicTextFont
setTextureOff:
  • NodePath
  • NodePathCollection
setTextureQualityOverride:
  • GraphicsStateGuardian
setTextureSize:
  • NonlinearImager
setTexturesPower2:
  • Texture
setTextureStage:
  • CLerpNodePathInterval
setTextureType:
  • EggTexture
setThick:
  • EggLine
  • EggPoint
setThickness:
  • LineNodePath
  • LineSegs
  • RopeNode
setThreadingModel:
  • GraphicsEngine
setThreadLevel:
  • PStatCollector
setThreshold:
  • ARToolKit
setThrowButtonsActive:
  • ButtonThrower
setThumbButton:
  • PGSliderBar
setTickColor:
  • MopathRecorder
setTickScale:
  • MopathRecorder
setTime:
  • AudioSound
  • MovieTexture
setTimeBegin:
  • ColorInterpolationSegment
setTimeEnd:
  • ColorInterpolationSegment
setTimeFlag:
  • ButtonThrower
setTimeslice:
  • JobManager
  • TaskThreaded
setTimestamp:
  • SmoothMover
setTimeStamp:
  • Logger
setTitle:
  • InspectorWindow
  • LandingPage
  • MemoryExplorer
  • WindowProperties
SetToBroadCast:
  • Socket_UDP
  • Socket_UDP_Incoming
  • Socket_UDP_Outgoing
setTorque:
  • OdeBody
setTraceVis:
  • MopathRecorder
setTrack:
  • FourState
setTrackerCoordinateSystem:
  • TrackerNode
setTrailLogDuration:
  • MouseWatcher
setTransform:
  • NodePath
  • PandaNode
  • TextNode
  • TransformBlend
  • TransformTable
setTransform2d:
  • EggTransform
setTransform3d:
  • EggTransform
setTransformBlendTable:
  • GeomVertexData
setTransformLimit:
  • ActorNode
  • ModelNode
setTransformTable:
  • GeomVertexData
setTransitions:
  • State
setTranslateMat:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
setTransparency:
  • NodePath
setTrustLevel:
  • ConfigPage
setTryAllDirect:
  • HTTPClient
setTubeUp:
  • RopeNode
setTwoside:
  • Material
setTwoSided:
  • NodePath
setType:
  • Filename
  • PGFrameStyle
  • PNMImageHeader
setUKnot:
  • EggNurbsSurface
  • NurbsSurfaceEvaluator
setUndecorated:
  • WindowProperties
setUnderscore:
  • TextProperties
setUnderscoreHeight:
  • TextProperties
setUnexpectedChange:
  • PandaNode
setUnicodeChar:
  • TextEncoder
setUnpackData:
  • DCPacker
setUOrder:
  • EggNurbsSurface
  • NurbsSurfaceEvaluator
setup:
  • DirectEntry
  • EggNurbsCurve
  • EggNurbsSurface
  • FallTest
  • PGButton
  • PGEntry
  • PGScrollFrame
  • PGVirtualFrame
  • PGWaitBar
  • Rope
  • RotationTest
  • ShadowPlacer
setUp:
  • TaskThread
setup1dTexture:
  • Texture
setup2dTexture:
  • Texture
setup3dTexture:
  • Texture
setupCollisions:
  • ShipPilot
setupCubeMap:
  • Texture
setupDataGraph:
  • ShowBase
setUpdateInterval:
  • FrameRateMeter
setUpdateOnlyOnChange:
  • PieMenu
setupEventSphere:
  • GravityWalker
setupFloorSphere:
  • GravityWalker
setupMinimal:
  • PGEntry
setupMouse:
  • ShowBase
setupParam:
  • LerpNodePathInterval
setUpper3:
  • LMatrix4d
  • LMatrix4f
setupPhysics:
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
setupPlay:
  • CInterval
  • Interval
setupPStats:
  • Task
setupRay:
  • GravityWalker
  • PhysicsWalker
  • ShipPilot2
setupRender:
  • ShowBase
setupRender2d:
  • ShowBase
setupRender2dp:
  • ShowBase
setupRenderTexture:
  • GraphicsOutput
setupResume:
  • CInterval
  • Interval
setupResumeUntil:
  • CInterval
setupScrollBar:
  • PGSliderBar
setupSlider:
  • PGSliderBar
setupSphere:
  • PhysicsWalker
  • ShipPilot2
setupTexture:
  • MovieVideoCursor
  • Texture
setupWallSphere:
  • GravityWalker
setupWindow:
  • FrameRateMeter
setupWindowControls:
  • ShowBase
setUrl:
  • DocumentSpec
  • URLSpec
setUrUv:
  • SpriteParticleRenderer
setUsageHint:
  • Geom
  • GeomPrimitive
  • GeomVertexArrayData
  • GeomVertexData
  • TextAssembler
  • TextNode
setUseGeom:
  • MultitexReducer
setUseHeadingNP:
  • DirectJoybox
setUserAlpha:
  • BaseParticleRenderer
setUserData:
  • EggObject
setUserMat:
  • MatrixLens
setUsername:
  • HTTPClient
  • URLSpec
setUseVertexColor:
  • RopeNode
  • SheetNode
setUseVertexThickness:
  • RopeNode
setUSubdiv:
  • EggSurface
setUv:
  • EggVertex
  • EggVertexUV
setUvDirection:
  • RopeNode
setUvMode:
  • RopeNode
setUvName:
  • EggTexture
setUvObj:
  • EggVertex
setUvRange:
  • CardMaker
setUvRangeCube:
  • CardMaker
setUvScale:
  • RopeNode
setUvw:
  • EggVertex
  • EggVertexUV
setValue:
  • AnimChannelMatrixDynamic
  • AnimChannelScalarDynamic
  • BasicSkel
  • ConfigVariableBool
  • ConfigVariableDouble
  • ConfigVariableFilename
  • ConfigVariableInt
  • ConfigVariableInt64
  • ConfigVariableString
  • DirectScrollBar
  • DirectSlider
  • DirectWaitBar
  • EggSAnimData
  • EggXfmSAnim
  • EventStorePandaNode
  • EventStoreTypedRefCount
  • HTTPCookie
  • PGSliderBar
  • PGWaitBar
  • TypedSkel
setValueAlt:
  • BasicSkel
  • TypedSkel
setValueNode:
  • AnimChannelMatrixDynamic
  • AnimChannelScalarDynamic
setVector:
  • LinearControlForce
  • LinearVectorForce
setVectorMasks:
  • LinearForce
setVelocity:
  • CollisionHandlerGravity
  • PhysicsObject
setVerbose:
  • CConnectionRepository
  • DirectNotify
  • TaskManager
setVerifySsl:
  • HTTPClient
setVertex:
  • EggPrimitive
  • LineNodePath
  • LineSegs
  • NurbsCurveEvaluator
  • NurbsSurfaceEvaluator
setVertexColor:
  • LineNodePath
  • LineSegs
setVertexData:
  • Geom
setVertexMembership:
  • EggGroup
setVertexSpace:
  • NurbsCurveEvaluator
  • NurbsSurfaceEvaluator
setVerticalDeadZone:
  • DriveInterface
setVerticalRampDownTime:
  • DriveInterface
setVerticalRampUpTime:
  • DriveInterface
setVerticalScale:
  • HeightfieldTesselator
setVerticalSlider:
  • PGScrollFrame
setVfov:
  • DisplayRegionContext
  • DisplayRegionList
setVFov:
  • DirectSessionPanel
setViewerCamera:
  • NonlinearImager
setViewGlow:
  • CommonFilters
setViewHpr:
  • Lens
setViewMat:
  • Lens
setViewVector:
  • Lens
setVignetteColor:
  • ProjectionScreen
setVignetteOn:
  • ProjectionScreen
setVirtualFrame:
  • PGScrollFrame
setViscosity:
  • Physical
  • PhysicsManager
setVisibilityMode:
  • EggRenderMode
setVisibilityRadius:
  • HeightfieldTesselator
setVisible:
  • PortalNode
setVisibleChild:
  • SwitchNode
setVisibleScale:
  • PGFrameStyle
setVizScale:
  • PlaneNode
setVKnot:
  • EggNurbsSurface
  • NurbsSurfaceEvaluator
setVolume:
  • AudioManager
  • AudioSound
  • AudioVolumeAttrib
setVOrder:
  • EggNurbsSurface
  • NurbsSurfaceEvaluator
setVSubdiv:
  • EggSurface
setW:
  • LVecBase4d
  • LVecBase4f
setWalkSpeed:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • PhysicsWalker
  • ShipPilot
  • ShipPilot2
setWallBitMask:
  • DevWalker
  • GravityWalker
  • NonPhysicsWalker
  • ShipPilot
  • ShipPilot2
setWallStyle:
  • LevelEditor
setWantMessageBundling:
  • CConnectionRepository
setWantsTCallback:
  • CInterval
setWarning:
  • Notifier
setWASDTurn:
  • ControlManager
setWeight:
  • PolylightEffect
  • TransformBlend
setWidth:
  • PGFrameStyle
setWidthA:
  • ColorInterpolationFunctionStepwave
setWidthB:
  • ColorInterpolationFunctionStepwave
setWindingOrder:
  • DynamicTextFont
setWindowCount:
  • LevelEditor
setWindowEvent:
  • GraphicsWindow
setWindowSize:
  • VirtualMouse
setWithinPattern:
  • MouseWatcher
setWithoutPattern:
  • MouseWatcher
setWord:
  • BitArray
  • ConfigVariableBool
  • ConfigVariableDouble
  • ConfigVariableFilename
  • ConfigVariableInt
  • ConfigVariableInt64
  • ConfigVariableString
setWordwrap:
  • OnscreenText
  • TextNode
  • TextProperties
setWorldContext:
  • DistributedCartesianGrid
setWrapMode:
  • EggTexture
setWrapU:
  • EggTexture
  • Texture
setWrapV:
  • EggTexture
  • Texture
setWrapW:
  • EggTexture
  • Texture
setWsubstr:
  • TextAssembler
setWtext:
  • PGEntry
  • TextAssembler
  • TextEncoder
  • TextNode
setX:
  • DriveInterface
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • NodePath
  • OnscreenText
  • SmoothMover
  • Trackball
setXel:
  • PNMImage
setXelA:
  • PNMImage
setXelVal:
  • PNMImage
setXParam:
  • OdePlane2dJoint
setXScaleFlag:
  • GeomParticleRenderer
  • SpriteParticleRenderer
setXSize:
  • Texture
setXY:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
setXYH:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
setXYZH:
  • DistributedNode
  • DistributedNodeAI
  • DistributedNodeUD
setXyzMultiplier:
  • DirectJoybox
setXyzSnap:
  • DirectGrid
setXZ:
  • DistributedNode
setY:
  • DriveInterface
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • NodePath
  • OnscreenText
  • SmoothMover
  • Trackball
setYParam:
  • OdePlane2dJoint
setYScaleFlag:
  • GeomParticleRenderer
  • SpriteParticleRenderer
setYSize:
  • Texture
setZ:
  • DriveInterface
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • NodePath
  • SmoothMover
  • Trackball
setZero:
  • OdeMass
setZOrder:
  • WindowProperties
setZScaleFlag:
  • GeomParticleRenderer
setZSize:
  • Texture
shadowEnvironmentVariable:
  • ExecutionEnvironment
shareDepthBuffer:
  • GraphicsOutput
shearMat:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
shift:
  • KeyboardButton
shiftLock:
  • KeyboardButton
shiftMouseMotion:
  • DialWidget
shouldRotate:
  • RotatingLog
show:
  • DirectBoundingBox
  • DirectDialog
  • NodePath
  • NodePathCollection
showAbout:
  • AppShell
showAllBounds:
  • Actor
showAllDescendants:
  • DirectSession
showAllHandles:
  • ObjectHandles
showAllParts:
  • Actor
showAllSwitches:
  • LODNode
showAllVisibles:
  • LevelEditor
showBattleCells:
  • LevelEditor
showBounds:
  • NodePath
showCameraFrustum:
  • ShowBase
showCollisions:
  • CollisionTraverser
showCurrentAges:
  • MemoryUsage
showCurrentTypes:
  • MemoryUsage
showFrustum:
  • LensNode
showGrid:
  • LevelEditor
showGuides:
  • ObjectHandles
showHandle:
  • ObjectHandles
showHelp:
  • InspectorWindow
showMode:
  • DirectJoybox
showPart:
  • Actor
showPopupMenu:
  • DirectOptionMenu
showRegions:
  • MouseWatcherGroup
showSuitPaths:
  • LevelEditor
showSwitch:
  • LODNode
showThrough:
  • NodePath
showTightBounds:
  • NodePath
showTrendAges:
  • MemoryUsage
showTrendTypes:
  • MemoryUsage
showWidget:
  • ObjectHandles
showWidgetIfActive:
  • ObjectHandles
shuffle:
  • RandomNumGen
shutdown:
  • AudioManager
  • EventManager
  • ShowBase
ShutdownSend:
  • Socket_TCP
signal:
  • ConditionVarDirect
  • ConditionVarFullDirect
signalAll:
  • ConditionVarFullDirect
signBaselineTrace:
  • LevelEditorPanel
signPanelSync:
  • LevelEditorPanel
silenceInput:
  • ShowBase
size:
  • ConfigVariableBool
  • ConfigVariableDouble
  • ConfigVariableInt
  • ConfigVariableInt64
  • ConfigVariableList
  • EggGroupNode
  • WindowProperties
sizeX:
  • MovieVideoCursor
sizeY:
  • MovieVideoCursor
skin:
  • LandingPage
skipBytes:
  • DatagramIterator
  • StreamReader
skipSamples:
  • MovieAudioCursor
sleep:
  • Thread
sleepCycleTask:
  • ShowBase
smoothPosition:
  • DistributedSmoothNode
softStart:
  • ParticleEffect
  • ParticleSystem
softStop:
  • ParticleEffect
  • ParticleSystem
sort:
  • MetaInterval
  • TextureStageCollection
sortByBasename:
  • EggTextureCollection
sortByMref:
  • EggMaterialCollection
sortByTref:
  • EggTextureCollection
sortEntries:
  • CollisionHandlerQueue
sortPoints:
  • CurveFitter
sortsLess:
  • EggBinMaker
  • TransformState
sortsLessThan:
  • EggAttributes
  • EggMaterial
  • EggTexture
  • EggVertex
space:
  • KeyboardButton
spaceFly:
  • DirectJoybox
spaceMode:
  • DirectJoybox
spam:
  • NotifyCategory
spawnContextTask:
  • DisplayRegionList
spawnFollowSelectedNodePathTask:
  • DirectManipulationControl
spawnHPanYZoom:
  • DirectCameraControl
spawnHPPan:
  • DirectCameraControl
spawnInsertionMarkerTask:
  • LevelEditor
spawnManipulateObjectTask:
  • DirectManipulationControl
spawnMouseRollTask:
  • DirectCameraControl
spawnMouseRotateTask:
  • DirectCameraControl
spawnMoveToView:
  • DirectCameraControl
spawnPieMenuTask:
  • PieMenu
spawnTaskHook:
  • TaskManagerWidget
spawnXZTranslate:
  • DirectCameraControl
spawnXZTranslateOrHPanYZoom:
  • DirectCameraControl
spawnXZTranslateOrHPPan:
  • DirectCameraControl
special_args:
  • Signature
standardize:
  • Filename
start:
  • AutonomousLerp
  • CInterval
  • DisplayRegionList
  • Interval
  • MetaInterval
  • ParticleEffect
  • ParticleFloorTest
  • PStatCollector
  • TestInterval
  • Thread
  • Timer
startCallback:
  • Timer
startCheckingIncomingHTTP:
  • aiWebServer
  • webNotifyDebug
  • WebRequestDispatcher
startCollect:
  • InterestWatcher
startControlObjectTask:
  • ClusterClient
  • ClusterServer
startDirect:
  • ShowBase
startElement:
  • ExcelHandler
startGenerate:
  • DCClass
startHeartbeat:
  • ClientRepositoryBase
startJumpDelay:
  • GravityWalker
startListenerPollTask:
  • ClusterServer
startMessageBundle:
  • CConnectionRepository
  • DistributedObjectAI
startMoveCamTask:
  • ClusterClient
startMoveSelectedTask:
  • ClusterClient
startOsd:
  • TaskManager
startPlayback:
  • MopathRecorder
startPosHprBroadcast:
  • DistributedSmoothNodeBase
startReaderPollTask:
  • ClusterClient
  • ClusterServer
  • ConnectionRepository
startSmooth:
  • DistributedSmoothNode
startStopPlayback:
  • MopathRecorder
startSwapCoordinator:
  • ClusterServer
startSwapCoordinatorTask:
  • ClusterClientSync
startSynchronizeTimeTask:
  • ClusterClient
startThreads:
  • AsyncTaskManager
startTk:
  • ShowBase
startUpdateGridTask:
  • DistributedCartesianGridAI
startWx:
  • ShowBase
stash:
  • NodePath
  • NodePathCollection
stashChild:
  • PandaNode
status:
  • AudioSound
stealChildren:
  • EggGroupNode
  • PandaNode
stealVrefs:
  • EggGroup
step:
  • CIntervalManager
  • Extractor
  • IntervalManager
  • Lerp
  • OdeWorld
  • TaskManager
stepFast1:
  • OdeWorld
stepPlay:
  • CInterval
  • Interval
stickToWidgetTask:
  • DirectCameraControl
stitch:
  • ParametricCurve
  • ParametricCurveCollection
stop:
  • Actor
  • AnimControlCollection
  • AnimInterface
  • AudioSound
  • AutonomousLerp
  • ControlManager
  • DisplayRegionList
  • Mopath
  • MovieTexture
  • PStatCollector
  • TaskManager
  • Timer
stopActorControls:
  • AnimPanel
stopAll:
  • AnimControlCollection
stopAllSounds:
  • AudioManager
stopCheckingIncomingHTTP:
  • aiWebServer
  • webNotifyDebug
  • WebRequestDispatcher
stopCollect:
  • InterestWatcher
stopGenerate:
  • DCClass
stopHeartbeat:
  • ClientRepositoryBase
stopJoint:
  • Actor
stopOsd:
  • TaskManager
stopPlayback:
  • MopathRecorder
stopPosHprBroadcast:
  • DistributedSmoothNodeBase
stopReaderPollTask:
  • ConnectionRepository
stopSmooth:
  • DistributedSmoothNode
stopThreads:
  • AsyncTaskManager
  • VertexDataPage
stopUpdateGridTask:
  • DistributedCartesianGridAI
store:
  • BamCache
  • BitArray
  • Texture
storeAnim:
  • AnimControlCollection
storeObjectLocation:
  • DoHierarchy
streaming:
  • MovieVideoCursor
stringAlphaMode:
  • EggRenderMode
stringBillboardType:
  • EggGroup
stringBlendMode:
  • EggGroup
stringBlendOperand:
  • EggGroup
stringBlendType:
  • CLerpInterval
stringCollideFlags:
  • EggGroup
stringCombineMode:
  • EggTexture
stringCombineOperand:
  • EggTexture
stringCombineSource:
  • EggTexture
stringCompressionMode:
  • EggTexture
stringCsType:
  • EggGroup
stringCurveType:
  • EggCurve
stringDartType:
  • EggGroup
stringDcsType:
  • EggGroup
stringDepthTestMode:
  • EggRenderMode
stringDepthWriteMode:
  • EggRenderMode
stringEnvType:
  • EggTexture
stringFilterType:
  • EggTexture
stringFormat:
  • EggTexture
stringForPartNumber:
  • Inspector
stringGroupType:
  • EggGroup
stringQualityLevel:
  • EggTexture
stringTableType:
  • EggTable
stringTexGen:
  • EggTexture
stringTextureType:
  • EggTexture
stringVisibilityMode:
  • EggRenderMode
stringWrapMode:
  • EggTexture
stripNormals:
  • EggData
  • EggGroupNode
strongEquiv:
  • HTTPEntityTag
subLevel:
  • PStatCollector
subLevelNow:
  • PStatCollector
substr:
  • Filename
subsumes:
  • FrameBufferProperties
subThreadLevel:
  • PStatCollector
suggestResync:
  • DistributedSmoothNode
supportsCompressed:
  • LoaderFileType
supportsPixelZoom:
  • DrawableRegion
supportsType:
  • GraphicsPipe
suspend:
  • Job
swapCoordinator:
  • ClusterClientSync
swapCoordinatorTask:
  • ClusterServer
swapData:
  • StringStream
swapFloorBitMask:
  • GravityWalker
  • NonPhysicsWalker
swingCamAboutWidget:
  • DirectCameraControl
switchMode:
  • DirectJoybox
switchToDriveMode:
  • LevelEditor
switchToMoveMode:
  • DirectManipulationControl
switchToNextStateTask:
  • FourStateAI
sync:
  • Sync
syncFrame:
  • GraphicsEngine
syncFrameTime:
  • ClockObject
synchronizeTimeTask:
  • ClusterClient
synchronizeTo:
  • MovieTexture
synthesizeShader:
  • ShaderGenerator
systemInfo:
  • aiWebServer
tab:
  • KeyboardButton
takedownPhysics:
  • ShipPilot
  • ShipPilot2
takeFrom:
  • PNMImage
takeLongest:
  • HprLerpFunctor
  • HprScaleLerpFunctor
  • PosHprLerpFunctor
  • PosHprScaleLerpFunctor
takeShortest:
  • HprLerpFunctor
  • HprScaleLerpFunctor
  • PosHprLerpFunctor
  • PosHprScaleLerpFunctor
tankFly:
  • DirectJoybox
tankMode:
  • DirectJoybox
taskName:
  • DirectGuiWidget
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectOV
  • DistributedObjectUD
taskTimeLeft:
  • TaskThreaded
tearDown:
  • TaskThread
tell:
  • MovieAudioCursor
  • Ramfile
  • RotatingLog
tellg:
  • istream
tellp:
  • ostream
temporary:
  • Filename
testGrefIntegrity:
  • EggVertex
testPrefIntegrity:
  • EggVertex
testRefCountIntegrity:
  • CachedTypedWritableReferenceCount
  • NodeCachedReferenceCount
  • NodeReferenceCount
  • ReferenceCount
testRefCountNonzero:
  • ReferenceCount
testTrajectory:
  • ProjectileInterval
testUnderIntegrity:
  • EggNode
testVrefIntegrity:
  • EggGroup
  • EggPrimitive
textFilename:
  • Filename
textureOff:
  • ShowBase
textureOn:
  • ShowBase
thaw:
  • OnscreenText
threadTick:
  • PStatClient
three:
  • MouseButton
tick:
  • ClockObject
timeLeft:
  • TaskThread
timeline:
  • CMetaInterval
  • MetaInterval
timeout:
  • AsyncRequest
  • WebRequest
timeStamp:
  • aiWebServer
title:
  • ClassInspector
  • CodeInspector
  • FunctionInspector
  • Inspector
  • InstanceInspector
  • InstanceMethodInspector
toggle:
  • DirectLights
toggle_pause_motion_trail:
  • MotionTrail
toggleActiveLight:
  • DirectSessionPanel
toggleAllControls:
  • AnimPanel
toggleAngularVelocity:
  • ParticlePanel
toggleBackface:
  • ShowBase
toggleBalloon:
  • AppShell
  • EntryScaleGroup
  • FloaterGroup
  • FSMInspector
  • LevelEditorPanel
  • ValuatorGroupPanel
  • VisGroupsEditor
toggleBattleCells:
  • LevelEditorPanel
toggleCOALock:
  • DirectCameraControl
toggleCollisions:
  • LevelEditor
toggleDirect:
  • DirectSession
  • DirectSessionPanel
toggleDirectGrid:
  • DirectSessionPanel
toggleEffect:
  • ParticlePanel
toggleEmitterDiscCubicLerping:
  • ParticlePanel
toggleEnable:
  • BufferViewer
toggleForce:
  • ParticlePanel
toggleForceGroup:
  • ParticlePanel
toggleGrid:
  • DirectGrid
  • DirectSessionPanel
  • LevelEditorPanel
toggleGridSnap:
  • FSMInspector
toggleHprSnap:
  • DirectSessionPanel
  • LevelEditorPanel
toggleJoybox:
  • DirectSessionPanel
toggleLights:
  • DirectSessionPanel
toggleMapVis:
  • LevelEditor
  • LevelEditorPanel
toggleMarkerVis:
  • DirectCameraControl
toggleMaya:
  • LevelEditorPanel
toggleObjectHandlesMode:
  • DirectManipulationControl
toggleParticleEffect:
  • ParticlePanel
toggleParticleMgr:
  • ParticlePanel
toggleParticles:
  • ParticlePanel
  • ShowBase
toggleRecord:
  • MopathRecorder
toggleRecordVar:
  • MopathRecorder
toggleRendererGeomXScale:
  • ParticlePanel
toggleRendererGeomYScale:
  • ParticlePanel
toggleRendererGeomZScale:
  • ParticlePanel
toggleRendererSpriteAlphaDisable:
  • ParticlePanel
toggleRendererSpriteAnimAngle:
  • ParticlePanel
toggleRendererSpriteXScale:
  • ParticlePanel
toggleRendererSpriteYScale:
  • ParticlePanel
toggleShowLandmarkBlock:
  • LevelEditor
toggleSuitPaths:
  • LevelEditorPanel
toggleSystemGrowsOlder:
  • ParticlePanel
toggleSystemLocalVelocity:
  • ParticlePanel
toggleTaskMgrVerbose:
  • TaskManagerWidget
toggleTexture:
  • ShowBase
toggleVerbose:
  • CConnectionRepository
  • Messenger
toggleVis:
  • DirectSession
toggleVisAll:
  • SelectedNodePaths
toggleVisGroup:
  • VisGroupsEditor
toggleVisibility:
  • LevelEditor
toggleVisSelected:
  • SelectedNodePaths
toggleWidget:
  • ObjectHandles
toggleWidgetOnTop:
  • DirectSessionPanel
toggleWidgetVis:
  • DirectSession
toggleWireframe:
  • ShowBase
toggleXyzSnap:
  • DirectSessionPanel
  • LevelEditorPanel
toggleZoneColors:
  • LevelEditor
toggleZoneLabels:
  • LevelEditorPanel
toList:
  • lTOC
toOsGeneric:
  • Filename
toOsLongName:
  • Filename
toOsShortName:
  • Filename
toOsSpecific:
  • Filename
top:
  • Queue
  • Stack
topInspector:
  • InspectorWindow
tostring:
  • Structure
totalTurns:
  • PointerEventList
touch:
  • Filename
toVal:
  • PNMImage
transferObjectHandlesScale:
  • ObjectHandles
transferVertices:
  • MotionTrail
transform:
  • EggAttributes
  • EggNode
  • EggSwitchCondition
  • EggVertex
  • EggVertexPool
  • EggVertexUV
transformIsIdentity:
  • EggTransform
transformPoint:
  • TransformBlend
transformRGB:
  • AppShell
transformVector:
  • TransformBlend
transformVertices:
  • Geom
transformVerticesOnly:
  • EggNode
transitionsToAny:
  • State
transitionTo:
  • StateInspector
translate:
  • OdeMass
translateMat:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
transposeFrom:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
transposeInPlace:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
traversalOff:
  • LevelEditor
traversalOn:
  • LevelEditor
traverse:
  • CollisionTraverser
  • DataGraphTraverser
traverseBelow:
  • DataGraphTraverser
triangulate:
  • Triangulator
triangulateInPlace:
  • EggCompositePrimitive
  • EggPolygon
triangulateInto:
  • EggCompositePrimitive
  • EggPolygon
triangulatePolygons:
  • EggGroupNode
triggerCopy:
  • GraphicsOutput
truncate:
  • RotatingLog
tryConnectNet:
  • CConnectionRepository
turnCatOff:
  • webNotifyDebug
turnCatOn:
  • webNotifyDebug
turnOff:
  • CRCache
  • DistributedCartesianGrid
turnOn:
  • CRCache
  • DistributedCartesianGrid
two:
  • MouseButton
typeFreqStr:
  • ExclusiveObjectPool
  • ObjectPool
  • ObjectReport
unbind:
  • DirectGuiBase
unbindAnim:
  • AnimControlCollection
uncacheSound:
  • AudioManager
uncheck:
  • DirectRadioButton
uncleanSetNumRows:
  • GeomVertexArrayData
  • GeomVertexArrayDataHandle
  • GeomVertexData
undo:
  • DirectSession
undoHook:
  • DirectSessionPanel
  • MopathRecorder
  • Placer
undoListEmptyHook:
  • DirectSessionPanel
  • MopathRecorder
  • Placer
unicodeIsalpha:
  • TextEncoder
unicodeIsdigit:
  • TextEncoder
unicodeIslower:
  • TextEncoder
unicodeIspunct:
  • TextEncoder
unicodeIsspace:
  • TextEncoder
unicodeIsupper:
  • TextEncoder
unicodeTolower:
  • TextEncoder
unicodeToupper:
  • TextEncoder
unify:
  • Geom
  • GeomNode
  • SceneGraphReducer
unifyAttributes:
  • EggGroupNode
  • EggPrimitive
unifyInPlace:
  • Geom
unifyTextureStages:
  • NodePath
  • TextureAttrib
unique:
  • lTOC
uniqueName:
  • ClientRepositoryBase
  • DirectGuiWidget
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectOV
  • DistributedObjectUD
uniquify:
  • EggNameUniquifier
uniquifyMrefs:
  • EggMaterialCollection
uniquifyTrefs:
  • EggTextureCollection
unitScale:
  • Placer
unitW:
  • LPoint4d
  • LPoint4f
  • LVecBase4d
  • LVecBase4f
  • LVector4d
  • LVector4f
unitX:
  • LPoint2d
  • LPoint2f
  • LPoint3d
  • LPoint3f
  • LPoint4d
  • LPoint4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • LVector2d
  • LVector2f
  • LVector3d
  • LVector3f
  • LVector4d
  • LVector4f
unitY:
  • LPoint2d
  • LPoint2f
  • LPoint3d
  • LPoint3f
  • LPoint4d
  • LPoint4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • LVector2d
  • LVector2f
  • LVector3d
  • LVector3f
  • LVector4d
  • LVector4f
unitZ:
  • LPoint3d
  • LPoint3f
  • LPoint4d
  • LPoint4f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • LVector3d
  • LVector3f
  • LVector4d
  • LVector4f
unlink:
  • Filename
unload:
  • StateData
unloadAnims:
  • Actor
unloadModel:
  • Loader
unloadSfx:
  • Loader
unloadShader:
  • Loader
unloadTexture:
  • Loader
unlockCOA:
  • DirectCameraControl
unlockParams:
  • ParamObj
unmount:
  • VirtualFileSystem
unmountAll:
  • VirtualFileSystem
unmountPoint:
  • VirtualFileSystem
unpackAndFormat:
  • DCPacker
unpackArgs:
  • DCField
unpackDouble:
  • DCPacker
unpackInt:
  • DCPacker
unpackInt64:
  • DCPacker
unpackLiteralValue:
  • DCPacker
unpackObject:
  • DCPacker
unpackSkip:
  • DCPacker
unpackString:
  • DCPacker
unpackUint:
  • DCPacker
unpackUint64:
  • DCPacker
unpackValidate:
  • DCPacker
unquote:
  • URLSpec
unquotePlus:
  • URLSpec
unref:
  • GeomVertexArrayFormat
  • GeomVertexFormat
  • InternalName
  • ReferenceCount
  • RenderAttrib
  • RenderEffects
  • RenderState
  • TransformState
unrefAllVertices:
  • EggGroup
unrefVertex:
  • EggGroup
unregister_motion_trail:
  • MotionTrail
unregisterGETHandler:
  • WebRequestDispatcher
unregisterParent:
  • ParentMgr
unshareDepthBuffer:
  • GraphicsOutput
unstash:
  • NodePath
  • NodePathCollection
unstashAll:
  • NodePath
unstashChild:
  • PandaNode
unsynchronize:
  • MovieTexture
up:
  • KeyboardButton
  • LVector3d
  • LVector3f
upAncestry:
  • DirectSession
update:
  • Actor
  • Audio3DManager
  • AudioManager
  • BulletinBoard
  • Character
  • DirectWaitBar
  • FrameRateMeter
  • GeoMipTerrain
  • InspectorWindow
  • PartBundle
  • ParticleSystem
  • ProgressBar
  • SceneGraphExplorer
  • TextNode
  • TreeNode
update_motion_trail:
  • MotionTrail
update_vertices:
  • MotionTrail
updateAll:
  • TreeNode
updateAllRequiredFields:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectOV
  • DistributedObjectUD
updateAllRequiredOtherFields:
  • DistributedObjectAI
  • DistributedObjectUD
updateAuxiliaryCoordinateSystems:
  • Placer
updateBarricadeDict:
  • LevelEditor
updateBarStyle:
  • DirectWaitBar
updateBBoxLines:
  • DirectBoundingBox
updateBlend:
  • TransformBlend
updateBTWidth:
  • MemoryExplorer
updateCoa:
  • DirectCameraControl
updateCoaMarkerSize:
  • DirectCameraControl
updateCoaMarkerSizeOnDeath:
  • DirectCameraControl
updateContext:
  • DisplayRegionList
updateCpuFrequency:
  • DisplayInformation
updateDefaultBTWidth:
  • MemoryExplorer
updateDialSF:
  • DialWidget
updateDialTask:
  • DialWidget
updateDisplay:
  • ActorControl
updateDisplayRegionInfo:
  • DirectSessionPanel
updateEffectsMenus:
  • ParticlePanel
updateEmitterWidgets:
  • ParticlePanel
updateEnvironmentInfo:
  • DirectSessionPanel
updateFactoryWidgets:
  • ParticlePanel
updateFloaterSF:
  • FloaterWidget
updateFloaterTask:
  • FloaterWidget
updateForceGroupMenus:
  • ParticlePanel
updateForceWidgets:
  • ParticlePanel
updateFrameStyle:
  • DirectGuiWidget
updateFrom:
  • HTTPCookie
updateGrid:
  • DirectGrid
updateGridInfo:
  • DirectSessionPanel
updateGridTask:
  • DistributedCartesianGridAI
updateHeightList:
  • LevelEditorPanel
updateHprWidgets:
  • Placer
updateIndicator:
  • DialWidget
  • FloaterWidget
  • SliderWidget
updateIndicatorDegrees:
  • DialWidget
updateIndicatorRadians:
  • DialWidget
updateInfo:
  • DirectSessionPanel
  • LevelEditorPanel
  • ParticlePanel
updateInterestDescription:
  • DoInterestManager
updateLabels:
  • ParticlePanel
updateLightInfo:
  • DirectSessionPanel
updateManagers:
  • ShowBase
updateMemoryInformation:
  • DisplayInformation
updateMenus:
  • ParticlePanel
updateMenusAndLabels:
  • ParticlePanel
updateParticlesMenus:
  • ParticlePanel
updatePlacer:
  • Placer
updatePose:
  • LevelEditor
updatePosWidgets:
  • Placer
updateProgress:
  • AppShell
  • ProgressBar
updateQuickStat:
  • LandingPage
updateRegions:
  • MouseWatcherGroup
updateRendererWidgets:
  • ParticlePanel
updateRequiredFields:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectOV
  • DistributedObjectUD
updateRequiredOtherFields:
  • DistributedObject
  • DistributedObjectAI
  • DistributedObjectOV
  • DistributedObjectUD
updateResetValues:
  • Placer
updateScaleWidgets:
  • Placer
updateSelectedObjColor:
  • LevelEditorPanel
updateSelectedPose:
  • LevelEditor
updateSelectedWallWidth:
  • LevelEditorPanel
updateSelection:
  • SceneGraphExplorer
updateSignPage:
  • LevelEditorPanel
updateSubfile:
  • Multifile
updateSystemWidgets:
  • ParticlePanel
updateTask:
  • DirectFastrak
  • DirectJoybox
  • DirectRadamec
updateTaskListBox:
  • TaskManagerWidget
updateTaskMgrVerbose:
  • TaskManagerWidget
updateToNow:
  • Character
updateTransform:
  • ActorNode
updateTransformMat:
  • OnscreenText
updateVals:
  • DirectJoybox
updateValsUnrolled:
  • DirectJoybox
updateWidgets:
  • MopathRecorder
updateZone:
  • DistributedObject
upper:
  • TextEncoder
uprightCam:
  • DirectCameraControl
use:
  • ControlManager
useDirectFly:
  • LevelEditor
useDrive:
  • ShowBase
useDriveMode:
  • LevelEditor
useLOD:
  • Actor
useObjectHandles:
  • DirectSession
userExit:
  • ShowBase
usesColor:
  • TextureStage
usesMipmaps:
  • Texture
useTrackball:
  • ShowBase
validate:
  • DistributedObjectAI
  • DistributedObjectUD
validateAttribs:
  • RenderAttrib
validateChanges:
  • WidgetPropertiesDialog
validateComponent:
  • MetaInterval
  • Track
validateComponents:
  • MetaInterval
validateEffects:
  • RenderEffect
validateEntryInput:
  • Valuator
validatePtr:
  • BoundingBox
  • BoundingLine
  • BoundingPlane
  • BoundingSphere
  • Geom
  • GeomPrimitive
  • GeomVertexArrayData
  • GeomVertexData
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
validateRanges:
  • DCField
validateStates:
  • RenderEffects
  • RenderState
  • TransformState
vecAsString:
  • DirectBoundingBox
vectorFromWorld:
  • OdeBody
vectorToWorld:
  • OdeBody
verifyChildBounds:
  • LODNode
verifyComplete:
  • NodePath
verifyFont:
  • FontPool
verifyHardwareSoftware:
  • FrameBufferProperties
verifyModel:
  • ModelPool
verifyPoints:
  • CollisionPolygon
verifyShader:
  • ShaderPool
verifyTexture:
  • TexturePool
view:
  • ClassicFSM
  • TreeNode
visibilityOff:
  • LevelEditor
visibilityOn:
  • LevelEditor
wait:
  • ConditionVarDirect
  • ConditionVarFullDirect
WaitForNetworkReadEvent:
  • Buffered_DatagramConnection
waitForNextHeartBeat:
  • ClientRepositoryBase
waitForTasks:
  • AsyncTaskManager
walkthruMode:
  • DirectJoybox
wantSmoothPosBroadcastTask:
  • DistributedSmoothNodeBase
wantsSmoothing:
  • DistributedSmoothNode
warning:
  • Notifier
  • NotifyCategory
wasDeleted:
  • WeakPointerToVoid
wasImageModified:
  • TextureContext
wasModified:
  • IndexBufferContext
  • TextureContext
  • VertexBufferContext
wasPropertiesModified:
  • TextureContext
watch:
  • InputState
watchMouseTask:
  • DirectManipulationControl
watchWithModifiers:
  • InputState
weakEquiv:
  • HTTPEntityTag
webPrintObjectCount:
  • DoCollectionManager
wheelDown:
  • MouseButton
wheelUp:
  • MouseButton
whichAnimPlaying:
  • AnimControlCollection
whoAccepts:
  • Messenger
widgetCheck:
  • DirectManipulationControl
widgetResizeTask:
  • DirectSession
windowEvent:
  • FilterManager
wireframeOff:
  • ShowBase
wireframeOn:
  • ShowBase
wrapHpr:
  • CurveFitter
write:
  • AngularForce
  • AnimControlCollection
  • AnimGroup
  • AsyncTaskManager
  • AttribNodeRegistry
  • AudioManager
  • AudioSound
  • AuxSceneData
  • BamCacheRecord
  • BaseForce
  • BaseParticleEmitter
  • BaseParticleFactory
  • BaseParticleRenderer
  • BitArray
  • BoundingVolume
  • ButtonRegistry
  • CInterval
  • CIntervalManager
  • CollisionEntry
  • CollisionHandlerQueue
  • CollisionSolid
  • CollisionTraverser
  • ConfigPage
  • ConfigPageManager
  • ConfigVariableBase
  • ConfigVariableList
  • ConfigVariableManager
  • ConfigVariableSearchPath
  • CullBinManager
  • CurveFitter
  • Datagram
  • DatagramIterator
  • DCDeclaration
  • DCField
  • DCFile
  • DocumentSpec
  • DownloadDb
  • DSearchPath
  • DynamicTextFont
  • EggAttributes
  • EggGroup
  • EggNode
  • EggPrimitive
  • EggRenderMode
  • EggSwitchCondition
  • EggTexture
  • EggTransform
  • EggVertex
  • EggVertexUV
  • EventHandler
  • FontPool
  • ForceNode
  • Geom
  • GeomPrimitive
  • GeomVertexArrayData
  • GeomVertexArrayFormat
  • GeomVertexData
  • GeomVertexFormat
  • InternalNameCollection
  • Lens
  • LightLensNode
  • LightNode
  • LinearForce
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LoaderFileTypeRegistry
  • Material
  • MaterialCollection
  • MaterialPool
  • ModelPool
  • ModifierButtons
  • MouseWatcherGroup
  • MouseWatcherRegion
  • NodePathCollection
  • OdeBody
  • OdeGeom
  • OdeJoint
  • OdeMass
  • OdeSpace
  • OdeTriMeshData
  • PandaNode
  • PandaSystem
  • Parabolad
  • Parabolaf
  • ParametricCurveCollection
  • PartGroup
  • ParticleSystem
  • ParticleSystemManager
  • Physical
  • PhysicalNode
  • PhysicsManager
  • PhysicsObject
  • PhysicsObjectCollection
  • Planed
  • Planef
  • PNMFileTypeRegistry
  • PNMImage
  • RenderAttrib
  • RenderEffect
  • RenderEffects
  • RenderState
  • RotatingLog
  • SceneGraphAnalyzer
  • ShaderPool
  • SimpleAllocator
  • SliderTable
  • SmoothMover
  • TextFont
  • TextNode
  • TextProperties
  • TextPropertiesManager
  • Texture
  • TextureCollection
  • TexturePool
  • TextureStage
  • TextureStageCollection
  • TransformBlend
  • TransformBlendTable
  • TransformState
  • TransformTable
  • TypeRegistry
  • UniqueIdAllocator
  • VertexSlider
  • VertexTransform
  • VirtualFileSystem
  • VrpnClient
writeAngularForces:
  • Physical
  • PhysicsManager
writeBamFile:
  • NodePath
writeBamStream:
  • NodePath
writeBillboardFlags:
  • EggGroup
writeBounds:
  • NodePath
writeClientDb:
  • DownloadDb
writeCollideFlags:
  • EggGroup
writeConnections:
  • DataNode
writeCookies:
  • HTTPClient
writeCv:
  • HermiteCurve
  • NurbsCurveInterface
writeDatagram:
  • HashVal
writeDb:
  • DownloadDb
writeDecalFlags:
  • EggGroup
writeEgg:
  • EggData
  • ParametricCurve
  • ParametricCurveCollection
writeFaces:
  • OdeTriMeshData
writeForces:
  • ForceNode
writeFreeParticleFifo:
  • ParticleSystem
writeGeoms:
  • GeomNode
writeHeaders:
  • HTTPChannel
writeInputs:
  • DataNode
writeLinearForces:
  • GeomParticleRenderer
  • Physical
  • PhysicsManager
writelines:
  • RotatingLog
writeModelFlags:
  • EggGroup
writeObject:
  • BamFile
writeObjectTypes:
  • EggGroup
writeOutputs:
  • DataNode
writeParts:
  • Character
writePartValues:
  • Character
writePhysicals:
  • PhysicsManager
writePhysicsObjects:
  • Physical
writePrcVariables:
  • ConfigVariableManager
writePsList:
  • ParticleSystemManager
writeRenderMode:
  • EggGroup
writeServerDb:
  • DownloadDb
writeSpawnTemplates:
  • ParticleSystem
writeSpriteRendererAnimations:
  • ParticlePanel
writeStatus:
  • Thread
writeStream:
  • HashVal
writeString:
  • Notify
writeSwitchFlags:
  • EggGroup
writeTags:
  • EggGroup
writeTxo:
  • Texture
writeVerbose:
  • GeomNode
writeVersionMap:
  • DownloadDb
writeWithData:
  • GeomVertexArrayFormat
  • GeomVertexFormat
writeWithValue:
  • PartGroup
wrtReparentTo:
  • DistributedSmoothNode
  • NodePath
  • NodePathCollection
xform:
  • GeometricBoundingVolume
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
  • LQuaterniond
  • LQuaternionf
  • Parabolad
  • Parabolaf
  • PartBundle
  • Placer
  • Planed
  • Planef
xformOrbit:
  • Placer
xformPoint:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
xformRelative:
  • Placer
xformScale:
  • Placer
xformStart:
  • Placer
xformStop:
  • Placer
xformVec:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
xformVecGeneral:
  • LMatrix3d
  • LMatrix3f
  • LMatrix4d
  • LMatrix4f
xlate1D:
  • DirectManipulationControl
xlate2D:
  • DirectManipulationControl
xlateCamXY:
  • DirectManipulationControl
xlateCamXZ:
  • DirectManipulationControl
xreadlines:
  • RotatingLog
XZTranslateOrHPanYZoomTask:
  • DirectCameraControl
XZTranslateOrHPPanTask:
  • DirectCameraControl
XZTranslateTask:
  • DirectCameraControl
yToZUpMat:
  • LMatrix4d
  • LMatrix4f
zero:
  • LPoint2d
  • LPoint2f
  • LPoint3d
  • LPoint3f
  • LPoint4d
  • LPoint4f
  • LVecBase2d
  • LVecBase2f
  • LVecBase3d
  • LVecBase3f
  • LVecBase4d
  • LVecBase4f
  • LVector2d
  • LVector2f
  • LVector3d
  • LVector3f
  • LVector4d
  • LVector4f
  • Valuator
zeroAll:
  • Placer
zeroHpr:
  • Placer
zeroPos:
  • Placer
zerosMat:
  • LMatrix4d
  • LMatrix4f
zoomCam:
  • DirectCameraControl
zToYUpMat:
  • LMatrix4d
  • LMatrix4f


List of Global Functions - Panda 1.5.4

_createContainerLeak | GetCompiled | pause
_createGarbage | getConfigExpress | pdir
_createTaskLeak | getConfigShowbase | piratesAvatarShadow
_getcode | getCrankAngle | pivotScalar
_has_keywordargs | getDefaultClickSound | pkgfinder
_is_variadic | getDefaultCoordinateSystem | place
_leakMessengerObject | getDefaultDialogGeom | planeIntersect
_locate | getDefaultDrawOrder | print_exc_plus
_locatepython | getDefaultFont | printListEnum
_pdir | getDefaultPanel | printListEnumGen
_test_dir | getDefaultRolloverSound | printNumberedTyped
_varnames | getFileData | printNumberedTypes
addFullscreenTestsize | getfullnameof | printNumberedTypesGen
addListsByValue | getImports | printProfile
AddPackagePath | getImports1 | printReverseStack
adjust | getImports2 | printStack
appendStr | getinstalldir | printThisCall
arbitraryShadow | getLargeBlobPath | printVerboseStack
autoBind | getloader | profile
avatarShadow | getModelPath | profiled
average | getNearProjectionPoint | qSlerp
binaryRepr | getNetworkError | queryFullscreenTestresult
boolEqual | getNumberedTypedSortedString | quickProfile
bound | getNumberedTypedSortedStringWithReferrers | rad2Deg
calcHeight | getNumberedTypedSortedStringWithReferrersGen | randFloat
callerInfo | getNumberedTypedString | randHash
checkAdler | getParticlePath | randInt32
checkCrc | getpath | randUint31
choice | getPaths | randUint32
CLAMP | getPluginPath | rebindClass
clampScalar | getQuickStatsTable | recordCreationStack
cleanupAsyncRequests | getRowClassString | recordCreationStackStr
cleanupDelayDeletes | getScreenXY | recordFunctorCreationStacks
cleanupDialog | getSetter | reduceAngle
closestDestAngle | getSetterName | relHpr
closestDestAngle2 | getShortestRotation | remove_task
composeMatrix | getSoundPath | replace
composeMatrixNewHpr | getTabs | replaceAIRFunc
composeMatrixOldHpr | getTexturePath | replaceCRFunc
contains | getTkColorString | replaceIvalFunc
copyFile | getTotalAnnounceTime | replaceMessengerFunc
copyFuncs | getURITable | replaceStateFunc
CopyIcons | getWriteError | replaceTaskMgrFunc
CopyIcons_FromIco | globalActivateSmoothing | report
createBounce | handleSocketError | resetSequence
createClusterClient | hashPrcVariables | resetVariableDict
createHBounce | headsUp | resetWidgetDict
createHeightCode | identify | rgbPanel
createPBounce | idtype | rgbPanel
createRBounce | indent | rotateTo
createScaleXBounce | initializeInspectorMap | ROUND_INT
createScaleYBounce | initializeInspectorMap | ROUND_TO
createScaleZBounce | inspect | run
createXBounce | inspect | runtestFullscreenSizes
createYBounce | inspectObject | safeRepr
createZBounce | inspectorFor | sameElements
decomposeMatrix | inspectorFor | sequence
decomposeMatrixNewHpr | install_with | serialNum
decomposeMatrixOldHpr | installCArchive | setDefaultClickSound
decryptString | intersection | setDefaultDialogGeom
deCygwinify | invert | setDefaultDrawOrder
deeptype | invertDict | setDefaultFont
deg2Rad | invertDictLossless | setDefaultFontFunc
Dependencies | isDefaultValue | setDefaultPanel
Dependencies | ispackage | setDefaultRolloverSound
describeException | itersorted | setGuiGridSpacing
difference | itype | SetStrafe
disjoint | lerp | setupMirror
DNAClassEqual | lerpBackgroundColor | setupPdb
DNAGetBaselineString | lightRGBPanel | showFrustum
DNAGetChild | lineInfo | solveQuadratic
DNAGetChildOfClass | lineTag | spawnNewTask
DNAGetChildRecursive | lineupPos | spawnTkLoop
DNAGetChildren | list2dict | spawnWxLoop
DNAGetClassType | listToIndex2item | squeeze
DNAGetWallHeights | listToItem2index | stackEntryInfo
DNAIsDerivedFrom | loadEggData | startProfile
DNARemoveAllChildrenOfClass | loadEggFile | superFlattenShip
DNARemoveChildOfClass | loadPrcFile | tagRepr
DNARemoveChildren | loadPrcFileData | tagWithCaller
DNASetBaselineString | logBlock | taskCallback
doc | logMethodCalls | test
doTest | lookAt | throwNewFrame
encryptString | loop | tkLoop
ensure | loopGen | toggleGuiGridSnap
errorToText | main | ToggleStrafe
exceptionLogged | make_loop | trace
expand | make_sequence | traceFunctionCall
explore | makefilter | traceParentCall
fastRepr | makeFlywheelGen | transpose
findClass | makeList | troff
findDialog | makeresource | tron
findPythonModule | makeTarget | union
fitDestAngle2Src | makeTuple | unique
fitSrcAngle2Dest | mostDerivedLast | uniqueElements
flywheel | newimport | uniqueName
formatElapsedSeconds | newToOldHpr | unloadPrcFile
formatTimeCompact | nonRepeatingRandomList | usage
gcDebugOn | normalDistrib | useDirectRenderStyle
genericReadDatagram | notNone | verify
genericWriteDatagram | nullGen | weightedChoice
get_registry_value | oldToNewHpr | weightedRand
getAnnounceGenerateTime | operator * | writeFsmTree
getBase | pandaBreak | wxLoop
getBlend | pandaTrace |
getClassLineage | passwordHash |
_createContainerLeak
def _createContainerLeak()

Undocumented function.

_createGarbage
def _createGarbage(num=1)

Undocumented function.

_createTaskLeak
def _createTaskLeak()

Undocumented function.

_getcode
def _getcode(f)

_getcode(f) This function returns the name and function object of a callable object.

_has_keywordargs
def _has_keywordargs(function)

Undocumented function.

_is_variadic
def _is_variadic(function)

Undocumented function.

_leakMessengerObject
def _leakMessengerObject()

Undocumented function.

_locate
def _locate(nm, xtrapath=None, base=None)

Find a file / directory named NM in likely places.
XTRAPATH is a list of paths to prepend to BASE. If BASE is None, sys.path (as extended by packages) is used.

_locatepython
def _locatepython(name, xtrapath=None)

Locate a Python resource named NAME.
All of the standard file extensions will be tried. XTRAPATH is prepended to sys.path.

_pdir
def _pdir(obj, str=None, width=None, fTruncate=1, lineWidth=75, wantPrivate=0)

Print out a formatted list of members and methods of an instance or class

_test_dir
def _test_dir()

Debug/test function to create DirectoryImporters from sys.path.

_varnames
def _varnames(function)

Undocumented function.

addFullscreenTestsize
void add_fullscreen_testsize(int xsize, int ysize);

klunky interface since we cant pass array from python->C++

addListsByValue
def addListsByValue(a, b)

returns a new array containing the sums of the two array arguments (c[0] = a[0 + b[0], etc.)

AddPackagePath
def AddPackagePath(packagename, path)

Undocumented function.

adjust
def adjust(command=None, dim=1, parent=None, **kw)

adjust(command = None, parent = None, **kw) Popup and entry scale to adjust a parameter
Accepts any Slider keyword argument. Typical arguments include: command: The one argument command to execute min: The min value of the slider max: The max value of the slider resolution: The resolution of the slider text: The label on the slider
These values can be accessed and/or changed after the fact >>> vg = adjust() >>> vg['min'] 0.0 >>> vg['min'] = 10.0 >>> vg['min'] 10.0

appendStr
def appendStr(obj, st)

adds a string onto the __str__ output of an instance

arbitraryShadow
def arbitraryShadow(node)

Undocumented function.

autoBind
void auto_bind(PandaNode *root_node, AnimControlCollection &controls, int hierarchy_match_flags = (0));

Description: Walks the scene graph or subgraph beginning at the indicated node, and attempts to bind any AnimBundles found to their matching PartBundles, when possible.
The list of all resulting AnimControls created is filled into controls.

avatarShadow
def avatarShadow()

Undocumented function.

average
def average(*args)

returns simple average of list of values

binaryRepr
def binaryRepr(number, max_length=32)

Undocumented function.

boolEqual
def boolEqual(a, b)

returns true if a and b are both true or both false. returns false otherwise (a.k.a. xnor -- eXclusive Not OR).

bound
def bound(value, bound1, bound2)

returns value if value is between bound1 and bound2 otherwise returns bound that is closer to value

calcHeight
def calcHeight(heightList)

Undocumented function.

callerInfo
def callerInfo(baseFileName=1, howFarBack=0)

returns the sourcefilename, line number, and function name of the caller of the function that called this function (answers the question: 'hey callerInfo, who called me?') see stackEntryInfo, above, for info on 'baseFileName' and return types

checkAdler
unsigned long int check_adler(Filename name);

Undocumented function.

checkCrc
unsigned long int check_crc(Filename name);

Undocumented function.

choice
def choice(condition, ifTrue, ifFalse)

Undocumented function.

CLAMP
def CLAMP(val, minVal, maxVal)

Undocumented function.

clampScalar
def clampScalar(value, a, b)

Undocumented function.

cleanupAsyncRequests
def cleanupAsyncRequests()

Only call this when the application is shuting down.

cleanupDelayDeletes
def cleanupDelayDeletes(interval)

Undocumented function.

cleanupDialog
def cleanupDialog(uniqueName)

cleanupPanel(string uniqueName)
Cleans up (removes) the panel with the given uniqueName. This may be useful when some panels know about each other and know that opening panel A should automatically close panel B, for instance.

closestDestAngle
def closestDestAngle(src, dest)

Undocumented function.

closestDestAngle2
def closestDestAngle2(src, dest)

Undocumented function.

composeMatrix
void compose_matrix(LMatrix3f &mat, LVecBase3f const &scale, LVecBase3f const &shear, LVecBase3f const &hpr, CoordinateSystem cs = (CS_default));

Undocumented function.

composeMatrixNewHpr
void compose_matrix_new_hpr(LMatrix3f &mat, LVecBase3f const &scale, LVecBase3f const &shear, LVecBase3f const &hpr, CoordinateSystem cs = (CS_default));

Undocumented function.

composeMatrixOldHpr
void compose_matrix_old_hpr(LMatrix3f &mat, LVecBase3f const &scale, LVecBase3f const &shear, LVecBase3f const &hpr, CoordinateSystem cs = (CS_default));

Undocumented function.

contains
def contains(whole, sub)

Return 1 if whole contains sub, 0 otherwise

copyFile
def copyFile(srcFiles, destFile, append=0)

Copy one or more files to another file. If srcFiles is a list, then all will be concatenated together to destFile. The append flag is also valid for single file copies.
destFile will have the mode, ownership and timestamp of the last file copied/appended.

copyFuncs
def copyFuncs(fromClass, toClass)

Undocumented function.

CopyIcons
def CopyIcons(dstpath, srcpath)

Undocumented function.

CopyIcons_FromIco
def CopyIcons_FromIco(dstpath, srcpath)

Undocumented function.

createBounce
def createBounce(nodeObj, numBounces, startValues, totalTime, amplitude, bounceType=SZ_BOUNCE)

createBounce: create and return a list of intervals to make a given nodePath bounce a given number of times over a give total time.

createClusterClient
def createClusterClient()

Undocumented function.

createHBounce
def createHBounce(nodeObj, numBounces, startValues, totalTime, amplitude)

Undocumented function.

createHeightCode
def createHeightCode(heightList)

Undocumented function.

createPBounce
def createPBounce(nodeObj, numBounces, startValues, totalTime, amplitude)

Undocumented function.

createRBounce
def createRBounce(nodeObj, numBounces, startValues, totalTime, amplitude)

Undocumented function.

createScaleXBounce
def createScaleXBounce(nodeObj, numBounces, startValues, totalTime, amplitude)

Undocumented function.

createScaleYBounce
def createScaleYBounce(nodeObj, numBounces, startValues, totalTime, amplitude)

Undocumented function.

createScaleZBounce
def createScaleZBounce(nodeObj, numBounces, startValue, totalTime, amplitude)

Undocumented function.

createXBounce
def createXBounce(nodeObj, numBounces, startValues, totalTime, amplitude)

Undocumented function.

createYBounce
def createYBounce(nodeObj, numBounces, startValues, totalTime, amplitude)

Undocumented function.

createZBounce
def createZBounce(nodeObj, numBounces, startValues, totalTime, amplitude)

Undocumented function.

decomposeMatrix
bool decompose_matrix(LMatrix3f const &mat, LVecBase3f &scale, LVecBase3f &shear, LVecBase3f &hpr, CoordinateSystem cs = (CS_default));

Undocumented function.

decomposeMatrixNewHpr
bool decompose_matrix_new_hpr(LMatrix3f const &mat, LVecBase3f &scale, LVecBase3f &shear, LVecBase3f &hpr, CoordinateSystem cs = (CS_default));

Undocumented function.

decomposeMatrixOldHpr
bool decompose_matrix_old_hpr(LMatrix3f const &mat, LVecBase3f &scale, LVecBase3f &shear, LVecBase3f &hpr, CoordinateSystem cs = (CS_default));

Undocumented function.

decryptString
string decrypt_string(string const &source, string const &password);

Undocumented function.

deCygwinify
def deCygwinify(path)

Undocumented function.

deeptype
def deeptype(obj, maxLen=100, _visitedIds=None)

Undocumented function.

deg2Rad
double deg_2_rad(double f);

Undocumented function.

Dependencies
def Dependencies(lTOC)

Expand LTOC to include all the closure of binary dependencies.
LTOC is a logical table of contents, ie, a seq of tuples (name, path). Return LTOC expanded by all the binary dependencies of the entries in LTOC, except those listed in the module global EXCLUDES

Dependencies
def Dependencies(lTOC)

Expand LTOC to include all the closure of binary dependencies.
LTOC is a logical table of contents, ie, a seq of tuples (name, path). Return LTOC expanded by all the binary dependencies of the entries in LTOC, except those listed in the module global EXCLUDES

describeException
def describeException(backTrace=4)

Undocumented function.

difference
def difference(a, b)

difference(list, list):

disjoint
def disjoint(L1, L2)

returns non-zero if L1 and L2 have no common elements

DNAClassEqual
def DNAClassEqual(dnaObject, classType)

Undocumented function.

DNAGetBaselineString
def DNAGetBaselineString(baseline)

Undocumented function.

DNAGetChild
def DNAGetChild(dnaObject, type=DNA_NODE, childNum=0)

Undocumented function.

DNAGetChildOfClass
def DNAGetChildOfClass(dnaNode, classType)

Undocumented function.

DNAGetChildRecursive
def DNAGetChildRecursive(dnaObject, type=DNA_NODE, childNum=0)

Undocumented function.

DNAGetChildren
def DNAGetChildren(dnaNode, classType=None)

Return the objects of that type

DNAGetClassType
def DNAGetClassType(dnaObject)

Undocumented function.

DNAGetWallHeights
def DNAGetWallHeights(aDNAFlatBuilding)

Get a list of wall heights for a given flat building

DNAIsDerivedFrom
def DNAIsDerivedFrom(dnaObject, classType)

Undocumented function.

DNARemoveAllChildrenOfClass
def DNARemoveAllChildrenOfClass(dnaNode, classType)

Remove the objects of that type

DNARemoveChildOfClass
def DNARemoveChildOfClass(dnaNode, classType, childNum=0)

Remove the nth object of that type you come across

DNARemoveChildren
def DNARemoveChildren(dnaObject)

Utility function to delete all the children of a DNANode

DNASetBaselineString
def DNASetBaselineString(baseline, text)

Undocumented function.

doc
def doc(obj)

Undocumented function.

doTest
def doTest()

Undocumented function.

encryptString
string encrypt_string(string const &source, string const &password);

Undocumented function.

ensure
def ensure(dirct)

Undocumented function.

errorToText
string error_to_text(ErrorUtilCode err);

Undocumented function.

exceptionLogged
def exceptionLogged(append=True)

decorator that outputs the function name and all arguments if an exception passes back through the stack frame if append is true, string is appended to the __str__ output of the exception. if append is false, string is printed to the log directly. If the output will take up many lines, it's recommended to set append to False so that the exception stack is not hidden by the output of this decorator.

expand
def expand(plist)

expand a list of paths (like sys.path) to include all the directories that qualify as packages

explore
def explore(nodePath=render)

Undocumented function.

fastRepr
def fastRepr(obj, maxLen=200, strFactor=10, _visitedIds=None)

caps the length of iterable types, so very large objects will print faster. also prevents infinite recursion

findClass
def findClass(className)

Look in sys.modules dictionary for a module that defines a class with this className.

findDialog
def findDialog(uniqueName)

findPanel(string uniqueName)
Returns the panel whose uniqueName is given. This is mainly useful for debugging, to get a pointer to the current onscreen panel of a particular type.

findPythonModule
def findPythonModule(module)

Undocumented function.

fitDestAngle2Src
def fitDestAngle2Src(src, dest)

given a src and destination angle, returns an equivalent dest angle that is within [-180..180) of src examples: fitDestAngle2Src(30, 60) == 60 fitDestAngle2Src(60, 30) == 30 fitDestAngle2Src(0, 180) == -180 fitDestAngle2Src(1, 180) == 180

fitSrcAngle2Dest
def fitSrcAngle2Dest(src, dest)

given a src and destination angle, returns an equivalent src angle that is within [-180..180) of dest examples: fitSrcAngle2Dest(30, 60) == 30 fitSrcAngle2Dest(60, 30) == 60 fitSrcAngle2Dest(0, 180) == 0 fitSrcAngle2Dest(-1, 180) == 359 fitSrcAngle2Dest(-180, 180) == 180

flywheel
def flywheel(*args, **kArgs)

>>> for i in flywheel([1,2,3], countList=[10, 5, 1]): ... print i, ... 1 2 3 1 2 1 2 1 2 1 2 1 1 1 1 1

formatElapsedSeconds
def formatElapsedSeconds(seconds)

Returns a string of the form "mm:ss" or "hh:mm:ss" or "n days", representing the indicated elapsed time in seconds.

formatTimeCompact
def formatTimeCompact(seconds)

Undocumented function.

gcDebugOn
def gcDebugOn()

Undocumented function.

genericReadDatagram
void generic_read_datagram(LMatrix3f &result, DatagramIterator &source);

Undocumented function.

genericWriteDatagram
void generic_write_datagram(Datagram &dest, LMatrix3f const &value);

Undocumented function.

get_registry_value
def get_registry_value(key, subkey, value)

Undocumented function.

getAnnounceGenerateTime
def getAnnounceGenerateTime(stat)

Undocumented function.

getBase
def getBase()

Undocumented function.

getBlend
def getBlend(blendType)

Return the C++ blend class corresponding to blendType string

getClassLineage
def getClassLineage(obj)

print object inheritance list

GetCompiled
def GetCompiled(seq, lvl='c')

SEQ is a list of .py files, or a logical TOC. Return as .pyc or .pyo files (LVL) after ensuring their existence

getConfigExpress
Config::Config< ConfigureGetConfig_config_express > &get_config_express(void);

Undocumented function.

getConfigShowbase
Config::Config< ConfigureGetConfig_config_showbase > &get_config_showbase(void);

Undocumented function.

getCrankAngle
def getCrankAngle(center)

Undocumented function.

getDefaultClickSound
def getDefaultClickSound()

Undocumented function.

getDefaultCoordinateSystem
CoordinateSystem get_default_coordinate_system(void);

Undocumented function.

getDefaultDialogGeom
def getDefaultDialogGeom()

Undocumented function.

getDefaultDrawOrder
def getDefaultDrawOrder()

Undocumented function.

getDefaultFont
def getDefaultFont()

Undocumented function.

getDefaultPanel
def getDefaultPanel()

Undocumented function.

getDefaultRolloverSound
def getDefaultRolloverSound()

Undocumented function.

getFileData
def getFileData(filename, separator=',')

Open the specified file and strip out unwanted whitespace and empty lines. Return file as list of lists, one file line per element, list elements based upon separator

getfullnameof
def getfullnameof(mod, xtrapath=None)

Return the full path name of MOD.
MOD is the basename of a dll or pyd. XTRAPATH is a path or list of paths to search first. Return the full path name of MOD. Will search the full Windows search path, as well as sys.path

getImports
def getImports(pth)

Forwards to either getImports1 or getImports2

getImports1
def getImports1(pth)

Find the binary dependencies of PTH.
This implementation (not used right now) uses the MSVC utility dumpbin

getImports2
def getImports2(pth)

Find the binary dependencies of PTH.
This implementation walks through the PE header

getinstalldir
def getinstalldir(prompt="Enter an installation directory: ")

Undocumented function.

getLargeBlobPath
def getLargeBlobPath()

Undocumented function.

getloader
def getloader(data, package)

Undocumented function.

getModelPath
ConfigVariableSearchPath &get_model_path(void);

The above variables are also shadowed by these functions, so that they can easily be accessed in the interpreter (e.g. Python).

getNearProjectionPoint
def getNearProjectionPoint(nodePath)

Undocumented function.

getNetworkError
int get_network_error(void);

Undocumented function.

getNumberedTypedSortedString
def getNumberedTypedSortedString(items, maxLen=5000, numPrefix='')

get a string that has each item of the list on its own line, the items are stringwise-sorted, and each item is numbered on the left from zero

getNumberedTypedSortedStringWithReferrers
def getNumberedTypedSortedStringWithReferrers(items, maxLen=10000, numPrefix='')

get a string that has each item of the list on its own line, the items are stringwise-sorted, the object's referrers are shown, and each item is numbered on the left from zero

getNumberedTypedSortedStringWithReferrersGen
def getNumberedTypedSortedStringWithReferrersGen(items, maxLen=10000, numPrefix='')

get a string that has each item of the list on its own line, the items are stringwise-sorted, the object's referrers are shown, and each item is numbered on the left from zero

getNumberedTypedString
def getNumberedTypedString(items, maxLen=5000, numPrefix='')

get a string that has each item of the list on its own line, and each item is numbered on the left from zero

getParticlePath
ConfigVariableSearchPath &get_particle_path(void);

Undocumented function.

getpath
def getpath()

Return the path that Windows will search for dlls.

getPaths
def getPaths()

Add to sys.path the appropriate director(ies) to search for the various Panda projects. Typically, these will all be in the same directory (which is presumably already on sys.path), but if the VR Studio ctattach tools are in use they could be scattered around in several places.

getPluginPath
ConfigVariableSearchPath &get_plugin_path(void);

Undocumented function.

getQuickStatsTable
def getQuickStatsTable(quickStats)

Undocumented function.

getRowClassString
def getRowClassString(rowNum)

Undocumented function.

getScreenXY
def getScreenXY(nodePath)

Undocumented function.

getSetter
def getSetter(targetObj, valueName, prefix='set')

Undocumented function.

getSetterName
def getSetterName(valueName, prefix='set')

Undocumented function.

getShortestRotation
def getShortestRotation(start, end)

Given two heading values, return a tuple describing the shortest interval from 'start' to 'end'. This tuple can be used to lerp a camera between two rotations while avoiding the 'spin' problem.

getSoundPath
ConfigVariableSearchPath &get_sound_path(void);

Undocumented function.

getTabs
def getTabs(menu, activeTab)

Undocumented function.

getTexturePath
ConfigVariableSearchPath &get_texture_path(void);

Undocumented function.

getTkColorString
def getTkColorString(color)

Print out a Tk compatible version of a color string

getTotalAnnounceTime
def getTotalAnnounceTime()

Undocumented function.

getURITable
def getURITable(title, uriList, uriToHandler)

Undocumented function.

getWriteError
int get_write_error(void);

Undocumented function.

globalActivateSmoothing
def globalActivateSmoothing(smoothing, prediction)

Globally activates or deactivates smoothing and prediction on all DistributedSmoothNodes currently in existence, or yet to be generated.

handleSocketError
string handle_socket_error(void);

Undocumented function.

hashPrcVariables
void hash_prc_variables(HashVal &hash);

Description: Fills HashVal with the hash from the current prc file state as reported by ConfigVariableManager::write_prc_variables().

headsUp
void heads_up(LMatrix3f &mat, LVector3f const &fwd, LVector3f const &up = ((up())), CoordinateSystem cs = (CS_default));

Undocumented function.

identify
def identify(name, xtrapath=None)

Find, and identify the type of NAME, using XTRAPATH as the first place to look.
Return type, name and full path name. NAME can be a logical or physical name. However, the logical name of a Python module can easily conflict with the physical name of something else, so beware.

idtype
def idtype(fullnm)

Figure out what type of resource FULLNM refers to.

indent
def indent(stream, numIndents, str)

Write str to stream with numIndents in front of it

initializeInspectorMap
def initializeInspectorMap()

Undocumented function.

initializeInspectorMap
def initializeInspectorMap()

Undocumented function.

inspect
def inspect(anObject)

Undocumented function.

inspect
def inspect(anObject)

Undocumented function.

inspectObject
def inspectObject(anObject)

Undocumented function.

inspectorFor
def inspectorFor(anObject)

Undocumented function.

inspectorFor
def inspectorFor(anObject)

Undocumented function.

install_with
def install_with(func)

Undocumented function.

installCArchive
def installCArchive(nm, basedir, suffixdir)

Undocumented function.

intersection
def intersection(a, b)

intersection(list, list):

invert
LMatrix3f invert(LMatrix3f const &a);

Undocumented function.

invertDict
def invertDict(D, lossy=False)

creates a dictionary by 'inverting' D; keys are placed in the new dictionary under their corresponding value in the old dictionary. It is an error if D contains any duplicate values.
>>> old = {'key1':1, 'key2':2} >>> invertDict(old) {1: 'key1', 2: 'key2'}

invertDictLossless
def invertDictLossless(D)

similar to invertDict, but values of new dict are lists of keys from old dict. No information is lost.
>>> old = {'key1':1, 'key2':2, 'keyA':2} >>> invertDictLossless(old) {1: ['key1'], 2: ['key2', 'keyA']}

isDefaultValue
def isDefaultValue(x)

Undocumented function.

ispackage
def ispackage(name)

Determine if NAME is the name of a package.

itersorted
def itersorted(iterable, cmp=cmp, key=lambdax:x, reverse=False)

This function returns a generator object that yields sorted items from 'iterable'.
It implements a form of lazy sorting that's most useful in two cases: 1) When you only need the first few values in the sorted data. 2) When you want to amortize the cost of the sort over the time you use the data.
It is to be considered a 'stable sort', where values with equivalent sorting criteria maintain their relative order as it is in the input data set.
'cmp' MUST return values in [-1,0,1]. Otherwise, behavior is undefined, and will most likely be very incorrect.

itype
def itype(obj)

Undocumented function.

lerp
def lerp(v0, v1, t)

returns a value lerped between v0 and v1, according to t t == 0 maps to v0, t == 1 maps to v1

lerpBackgroundColor
def lerpBackgroundColor(r, g, b, duration)

Function to lerp background color to a new value

lightRGBPanel
def lightRGBPanel(light, style='mini')

Undocumented function.

lineInfo
def lineInfo(baseFileName=1)

returns the sourcefilename, line number, and function name of the code that called this function (answers the question: 'hey lineInfo, where am I in the codebase?') see stackEntryInfo, above, for info on 'baseFileName' and return types

lineTag
def lineTag(baseFileName=1, verbose=0, separator=':')

returns a string containing the sourcefilename and line number of the code that called this function (equivalent to lineInfo, above, with different return type) see stackEntryInfo, above, for info on 'baseFileName'
if 'verbose' is false, returns a compact string of the form 'fileName:lineNum:funcName' if 'verbose' is true, returns a longer string that matches the format of Python stack trace dumps
returns empty string on error

lineupPos
def lineupPos(i, num, spacing)

use to line up a series of 'num' objects, in one dimension, centered around zero 'i' is the index of the object in the lineup 'spacing' is the amount of space between objects in the lineup

list2dict
def list2dict(L, value=None)

creates dict using elements of list, all assigned to same value

listToIndex2item
def listToIndex2item(L)

converts list to dict of list index->list item

listToItem2index
def listToItem2index(L)

converts list to dict of list item->list index This is lossy if there are duplicate list items

loadEggData
PointerTo< PandaNode > load_egg_data(EggData *data, CoordinateSystem cs = (CS_default));

Description: Another convenience function; works like load_egg_file() but starts from an already-filled EggData structure. The structure is destroyed in the loading.

loadEggFile
PointerTo< PandaNode > load_egg_file(string const &filename, CoordinateSystem cs = (CS_default), BamCacheRecord *record = ((void *)(0)));

Description: A convenience function; the primary interface to this package. Loads up the indicated egg file, and returns the root of a scene graph. Returns NULL if the file cannot be read for some reason.
Also see the EggLoader class, which can exercise a bit more manual control over the loading process.

loadPrcFile
ConfigPage *load_prc_file(string const &filename);

Description: A convenience function for loading explicit prc files from a disk file or from within a multifile (via the virtual file system). Save the return value and pass it to unload_prc_file() if you ever want to unload this file later.
The filename is first searched along the default prc search path, and then also along the model path, for convenience.
This function is defined in putil instead of in dtool with the read of the prc stuff, so that it can take advantage of the virtual file system (which is defined in express), and the model path (which is in putil).

loadPrcFileData
ConfigPage *load_prc_file_data(string const &name, string const &data);

Description: Another convenience function to load a prc file from an explicit string, which represents the contents of the prc file.
The first parameter is an arbitrary name to assign to this in-memory prc file. Supply a filename if the data was read from a file, or use any other name that is meaningful to you. The name is only used when the set of loaded prc files is listed.

logBlock
def logBlock(id, msg)

Undocumented function.

logMethodCalls
def logMethodCalls(cls)

Undocumented function.

lookAt
void look_at(LMatrix3f &mat, LVector3f const &fwd, LVector3f const &up = ((up())), CoordinateSystem cs = (CS_default));

Undocumented function.

loop
def loop(*taskList)

Undocumented function.

loopGen
def loopGen(l)

Undocumented function.

main
def main(opts, args)

Undocumented function.

make_loop
def make_loop(taskList)

Undocumented function.

make_sequence
def make_sequence(taskList)

Undocumented function.

makefilter
def makefilter(name, xtrapath=None)

Undocumented function.

makeFlywheelGen
def makeFlywheelGen(objects, countList=None, countFunc=None, scale=None)

Undocumented function.

makeList
def makeList(x)

returns x, converted to a list

makeresource
def makeresource(name, xtrapath=None)

Factory function that returns a resource subclass.
NAME is the logical or physical name of a resource. XTRAPTH is a path or list of paths to search first. return one of the resource subclasses. Warning - logical names can conflict; archive might return a directory, when the module archive.py was desired.

makeTarget
def makeTarget(cfg, section)

Undocumented function.

makeTuple
def makeTuple(x)

returns x, converted to a tuple

mostDerivedLast
def mostDerivedLast(classList)

pass in list of classes. sorts list in-place, with derived classes appearing after their bases

newimport
def newimport(*args, **kw)

Undocumented function.

newToOldHpr
LVecBase3f new_to_old_hpr(LVecBase3f const &new_hpr);

Undocumented function.

nonRepeatingRandomList
def nonRepeatingRandomList(vals, max)

Undocumented function.

normalDistrib
def normalDistrib(a, b, gauss=random.gauss)

NOTE: assumes a < b
Returns random number between a and b, using gaussian distribution, with mean=avg(a, b), and a standard deviation that fits ~99.7% of the curve between a and b. Outlying results are clipped to a and b.
------------------------------------------------------------------------
http://www-stat.stanford.edu/~naras/jsm/NormalDensity/NormalDensity.html
The 68-95-99.7% Rule ==================== All normal density curves satisfy the following property which is often referred to as the Empirical Rule: 68% of the observations fall within 1 standard deviation of the mean. 95% of the observations fall within 2 standard deviations of the mean. 99.7% of the observations fall within 3 standard deviations of the mean.
Thus, for a normal distribution, almost all values lie within 3 standard deviations of the mean.
In calculating our standard deviation, we divide (b-a) by 6, since the 99.7% figure includes 3 standard deviations _on_either_side_ of the mean.

notNone
def notNone(A, B)

Undocumented function.

nullGen
def nullGen()

Undocumented function.

oldToNewHpr
LVecBase3f old_to_new_hpr(LVecBase3f const &old_hpr);

Undocumented function.

operator *
LVecBase3f operator *(LVecBase3f const &v, LMatrix3f const &m);

Undocumented function.

pandaBreak
def pandaBreak(dotpath, linenum, temporary=0, cond=None)

Undocumented function.

pandaTrace
def pandaTrace()

Undocumented function.

passwordHash
string password_hash(string const &password, string const &salt, int iters, int keylen);

Undocumented function.

pause
def pause(delayTime)

Undocumented function.

pdir
def pdir(obj, str=None, width=None, fTruncate=1, lineWidth=75, wantPrivate=0)

Undocumented function.

piratesAvatarShadow
def piratesAvatarShadow()

Undocumented function.

pivotScalar
def pivotScalar(scalar, pivot)

Undocumented function.

pkgfinder
def pkgfinder(pkgdirs, dir, fnms)

Undocumented function.

place
def place(nodePath)

Undocumented function.

planeIntersect
def planeIntersect(lineOrigin, lineDir, planeOrigin, normal)

Undocumented function.

print_exc_plus
def print_exc_plus()

Print the usual traceback information, followed by a listing of all the local variables in each frame.

printListEnum
def printListEnum(l)

Undocumented function.

printListEnumGen
def printListEnumGen(l)

Undocumented function.

printNumberedTyped
def printNumberedTyped(items, maxLen=5000)

print out each item of the list on its own line, with each item numbered on the left from zero

printNumberedTypes
def printNumberedTypes(items, maxLen=5000)

print out the type of each item of the list on its own line, with each item numbered on the left from zero

printNumberedTypesGen
def printNumberedTypesGen(items, maxLen=5000)

Undocumented function.

printProfile
def printProfile(filename=PyUtilProfileDefaultFilename, lines=PyUtilProfileDefaultLines, sorts=PyUtilProfileDefaultSorts, callInfo=1)

Undocumented function.

printReverseStack
def printReverseStack()

Undocumented function.

printStack
def printStack()

Undocumented function.

printThisCall
def printThisCall()

Undocumented function.

printVerboseStack
def printVerboseStack()

Undocumented function.

profile
def profile(callback, name, terse)

Undocumented function.

profiled
def profiled(category=None, terse=False)

decorator for profiling functions turn categories on and off via "want-profile-categoryName 1"
e.g.
@profiled('particles') def loadParticles(): ...
want-profile-particles 1

qSlerp
def qSlerp(startQuat, endQuat, t)

Undocumented function.

queryFullscreenTestresult
bool query_fullscreen_testresult(int xsize, int ysize);

Undocumented function.

quickProfile
def quickProfile(name="unnamed")

Undocumented function.

rad2Deg
double rad_2_deg(double f);

Undocumented function.

randFloat
def randFloat(a, b=0., rng=random.random)

returns a random float in [a, b] call with single argument to generate random float between arg and zero

randHash
def randHash(num)

this returns a random 16-bit integer, given a seed integer. It will always return the same output given the same input. This is useful for repeatably mapping numbers with predictable bit patterns (i.e. doIds or zoneIds) to numbers with random bit patterns

randInt32
def randInt32(rng=random.random)

returns a random integer in [-2147483648..2147483647]. rng must return float in [0..1]

randUint31
def randUint31(rng=random.random)

returns a random integer in [0..2^31). rng must return float in [0..1]

randUint32
def randUint32(rng=random.random)

returns a random integer in [0..2^32). rng must return float in [0..1]

rebindClass
def rebindClass(filename)

Undocumented function.

recordCreationStack
def recordCreationStack(cls)

Undocumented function.

recordCreationStackStr
def recordCreationStackStr(cls)

Undocumented function.

recordFunctorCreationStacks
def recordFunctorCreationStacks()

Undocumented function.

reduceAngle
def reduceAngle(deg)

Reduces an angle (in degrees) to a value in [-180..180)

relHpr
def relHpr(nodePath, base, h, p, r)

Undocumented function.

remove_task
def remove_task()

Undocumented function.

replace
def replace(list, old, new, all=0)

replace 'old' with 'new' in 'list' if all == 0, replace first occurrence otherwise replace all occurrences returns the number of items replaced

replaceAIRFunc
def replaceAIRFunc(replaceFuncList)

Undocumented function.

replaceCRFunc
def replaceCRFunc(replaceFuncList)

Undocumented function.

replaceIvalFunc
def replaceIvalFunc(replaceFuncList)

Undocumented function.

replaceMessengerFunc
def replaceMessengerFunc(replaceFuncList)

Undocumented function.

replaceStateFunc
def replaceStateFunc(replaceFuncList)

Undocumented function.

replaceTaskMgrFunc
def replaceTaskMgrFunc(replaceFuncList)

Undocumented function.

report
def report(types=[], prefix='', xform=None, notifyFunc=None, dConfigParam=[])

This is a decorator generating function. Use is similar to a @decorator, except you must be sure to call it as a function. It actually returns the decorator which is then used to transform your decorated function. Confusing at first, I know.
Decoration occurs at function definition time.
If __dev__ is not defined, or resolves to False, this function has no effect and no wrapping/transform occurs. So in production, it's as if the report has been asserted out.
Parameters:: types : A subset list of ['timeStamp', 'frameCount', 'avLocation'] This allows you to specify certain useful bits of info.
module: Prints the module that this report statement can be found in. args: Prints the arguments as they were passed to this function. timeStamp: Adds the current frame time to the output. deltaStamp: Adds the current AI synched frame time to the output frameCount: Adds the current frame count to the output. Usually cleaner than the timeStamp output. avLocation: Adds the localAvatar's network location to the output. Useful for interest debugging. interests: Prints the current interest state after the report. stackTrace: Prints a stack trace after the report.
prefix: Optional string to prepend to output, just before the function. Allows for easy grepping and is useful when merging AI/Client reports into a single file.
notifyFunc: A notify function such as info, debug, warning, etc. By default the report will be printed to stdout. This will allow you send the report to a designated 'notify' output.
dConfigParam: A list of Config.prc string variables. By default the report will always print. If you specify this param, it will only print if one of the specified config strings resolve to True.

resetSequence
def resetSequence(task)

Undocumented function.

resetVariableDict
def resetVariableDict()

Undocumented function.

resetWidgetDict
def resetWidgetDict()

Undocumented function.

rgbPanel
def rgbPanel(nodePath, callback=None, style='mini')

Undocumented function.

rgbPanel
def rgbPanel(nodePath, callback=None, style='mini')

Undocumented function.

rotateTo
void rotate_to(LMatrix3f &mat, LVector3f const &a, LVector3f const &b);

Undocumented function.

ROUND_INT
def ROUND_INT(val)

Undocumented function.

ROUND_TO
def ROUND_TO(value, divisor)

Undocumented function.

run
def run(file)

Undocumented function.

runtestFullscreenSizes
void runtest_fullscreen_sizes(GraphicsWindow *win);

klunky interface since we cant pass array from python->C++

safeRepr
def safeRepr(obj)

Undocumented function.

sameElements
def sameElements(a, b)

Undocumented function.

sequence
def sequence(*taskList)

Undocumented function.

serialNum
def serialNum()

Undocumented function.

setDefaultClickSound
def setDefaultClickSound(newSound)

Undocumented function.

setDefaultDialogGeom
def setDefaultDialogGeom(newDialogGeom)

Undocumented function.

setDefaultDrawOrder
def setDefaultDrawOrder(newDrawOrder)

Undocumented function.

setDefaultFont
def setDefaultFont(newFont)

Undocumented function.

setDefaultFontFunc
def setDefaultFontFunc(newFontFunc)

Undocumented function.

setDefaultPanel
def setDefaultPanel(newPanel)

Undocumented function.

setDefaultRolloverSound
def setDefaultRolloverSound(newSound)

Undocumented function.

setGuiGridSpacing
def setGuiGridSpacing(spacing)

Undocumented function.

SetStrafe
def SetStrafe(status)

Undocumented function.

setupMirror
def setupMirror(name, width, height)

Undocumented function.

setupPdb
def setupPdb()

Undocumented function.

showFrustum
def showFrustum(np)

Undocumented function.

solveQuadratic
def solveQuadratic(a, b, c)

Undocumented function.

spawnNewTask
def spawnNewTask()

Undocumented function.

spawnTkLoop
def spawnTkLoop()

Undocumented function.

spawnWxLoop
def spawnWxLoop()

Undocumented function.

squeeze
def squeeze(app, start, filelist, outputDir)

Undocumented function.

stackEntryInfo
def stackEntryInfo(depth=0, baseFileName=1)

returns the sourcefilename, line number, and function name of an entry in the stack. 'depth' is how far back to go in the stack; 0 is the caller of this function, 1 is the function that called the caller of this function, etc. by default, strips off the path of the filename; override with baseFileName returns (fileName, lineNum, funcName) --> (string, int, string) returns (None, None, None) on error

startProfile
def startProfile(filename=PyUtilProfileDefaultFilename, lines=PyUtilProfileDefaultLines, sorts=PyUtilProfileDefaultSorts, silent=0, callInfo=1, cmd='run()')

Undocumented function.

superFlattenShip
def superFlattenShip(ship)

Undocumented function.

tagRepr
def tagRepr(obj, tag)

adds a string onto the repr output of an instance

tagWithCaller
def tagWithCaller(obj)

add info about the caller of the caller

taskCallback
def taskCallback(task)

Undocumented function.

test
def test()

Undocumented function.

throwNewFrame
void throw_new_frame(void);

Undocumented function.

tkLoop
def tkLoop(self)

Undocumented function.

toggleGuiGridSnap
def toggleGuiGridSnap()

Undocumented function.

ToggleStrafe
def ToggleStrafe()

Undocumented function.

trace
def trace(frame, event, arg)

Undocumented function.

traceFunctionCall
def traceFunctionCall(frame)

return a string that shows the call frame with calling arguments. e.g. foo(x=234, y=135)

traceParentCall
def traceParentCall()

Undocumented function.

transpose
LMatrix3f transpose(LMatrix3f const &a);

Undocumented function.

troff
def troff()

Undocumented function.

tron
def tron()

Undocumented function.

union
def union(a, b)

union(list, list):

unique
def unique(L1, L2)

Return a list containing all items in 'L1' that are not in 'L2'

uniqueElements
def uniqueElements(L)

are all elements of list unique?

uniqueName
def uniqueName(name)

Undocumented function.

unloadPrcFile
bool unload_prc_file(ConfigPage *page);

Description: Unloads (and deletes) a ConfigPage that represents a prc file that was previously loaded by load_prc_file(). Returns true if successful, false if the file was unknown.
After this function has been called, the ConfigPage pointer is no longer valid and should not be used again.

usage
def usage()

Undocumented function.

useDirectRenderStyle
def useDirectRenderStyle(nodePath, priority=0)

Function to force a node path to use direct render style: no lighting, and no wireframe

verify
def verify(assertion)

verify() is intended to be used in place of assert where you wish to have the assertion checked, even in release (-O) code.

weightedChoice
def weightedChoice(choiceList, rng=random.random, sum=None)

given a list of (weight, item) pairs, chooses an item based on the weights. rng must return 0..1. if you happen to have the sum of the weights, pass it in 'sum'.

weightedRand
def weightedRand(valDict, rng=random.random)

pass in a dictionary with a selection -> weight mapping. Eg. {"Choice 1": 10, "Choice 2": 30, "bear": 100}
-Weights need not add up to any particular value.
-The actual selection will be returned.

writeFsmTree
def writeFsmTree(instance, indent=0)

Undocumented function.

wxLoop
def wxLoop(self)

Undocumented function.


List of Classes - Panda 1.5.4

_ExtFilter | EventGroup | OdeSurfaceParameters
_Filter | EventHandler | OdeTriMeshData
_NameFilter | EventInterval | OdeTriMeshGeom
_PathFilter | EventManager | OdeUniversalJoint
_PatternFilter | EventParameter | OdeUtil
_TaskNamePatternLeakDetector | EventPulse | OdeWorld
_TypeFilter | EventQueue | OkCancelDialog
AcceptInterval | EventStorePandaNode | OkDialog
Actor | EventStoreTypedRefCount | OldClientRepository
ActorControl | EventStoreValueBase | OldLevelEditor
ActorInterval | ExcelHandler | OmniBoundingVolume
ActorNode | ExclusiveObjectPool | OnScreenDebug
aiWebServer | ExecutionEnvironment | OnscreenGeom
AlphaTestAttrib | ExeTarget | OnscreenImage
AlreadyInTransition | ExternalThread | OnscreenText
AmbientLight | ExtFilter | OrthographicLens
AnalogNode | Extractor | OSocketStream
AngleDial | Factory | ostream
AngularEulerIntegrator | FadeLODNode | PackageArchive
AngularForce | FakeObject | PackageArchiveImporter
AngularIntegrator | FallTest | PandaLoader
AngularVectorForce | FfmpegAudio | PandaNode
AnimBundle | FfmpegAudioCursor | PandaSystem
AnimBundleNode | FFMpegTexture | Parabolad
AnimChannelBase | FfmpegVideo | Parabolaf
AnimChannelMatrixDynamic | FfmpegVideoCursor | Parallel
AnimChannelMatrixXfmTable | FileFilter | ParallelEndTogether
AnimChannelScalarDynamic | Filename | ParametricCurve
AnimChannelScalarTable | FilterConfig | ParametricCurveCollection
AnimControl | FilterManager | ParamObj
AnimControlCollection | FilterProperties | ParasiteBuffer
AnimGroup | FindContainers | ParentInterval
AnimInterface | FiniteBoundingVolume | ParentMgr
AnimPanel | FisheyeLens | PartBundle
AntialiasAttrib | FisheyeMaker | PartBundleHandle
AppShell | Floater | PartBundleNode
ArcEmitter | FloaterGroup | PartGroup
Archive | FloaterWidget | ParticleEffect
archiveresource | Fog | ParticleFloorTest
ArchiveTarget | FogAttrib | ParticleInterval
ArgumentEater | FontPool | ParticlePanel
ARToolKit | ForceGroup | Particles
AsyncRequest | ForceNode | ParticleSystem
AsyncTask | FourState | ParticleSystemManager
AsyncTaskManager | FourStateAI | PartSubset
AttribNodeRegistry | FrameBufferProperties | Patcher
AttrSetter | FrameDelayedCall | Patchfile
Audio3DManager | FrameRateMeter | PatternFilter
AudioManager | FreetypeFont | PerlinNoise
AudioSound | Frustum | PerlinNoise2
AudioVolumeAttrib | Frustumd | PerlinNoise3
AutonomousLerp | FrustumD | PerspectiveLens
AuxBitplaneAttrib | Frustumf | PGButton
AuxSceneData | FSM | PGEntry
BamCache | FSMException | PGFrameStyle
BamCacheRecord | FSMInspector | PGItem
BamFile | FullExeTarget | PGMouseWatcherBackground
BaseForce | Func | PGMouseWatcherParameter
BaseParticleEmitter | FuncImporter | PGScrollFrame
BaseParticleFactory | FunctionCall | PGSliderBar
BaseParticleRenderer | FunctionInspector | PGTop
BasicSkel | FunctionInterval | PGVirtualFrame
BattleWalker | Functor | PGWaitBar
BillboardEffect | GarbageLeakDetector | PhasedObject
binaryresource | GarbageLogger | Physical
BitArray | GarbageReport | PhysicalNode
BoundingBox | GarbageReportScheduler | PhysicsCollisionHandler
BoundingHexahedron | Geom | PhysicsManager
BoundingLine | GeomCacheManager | PhysicsObject
BoundingPlane | GeomContext | PhysicsObjectCollection
BoundingSphere | GeomEnums | PhysicsWalker
BoundingVolume | GeometricBoundingVolume | PiecewiseCurve
BoxEmitter | GeoMipTerrain | PieMenu
Buffer | GeomLines | PipeOcclusionCullTraverser
BufferContext | GeomLinestrips | PkgFilter
Buffered_DatagramConnection | GeomNode | pkgresource
BufferedDistancePhasedNode | GeomParticleRenderer | Placer
BufferViewer | GeomPoints | Plane
BulletinBoard | GeomPrimitive | Planed
BulletinBoardWatcher | GeomTextGlyph | PlaneD
ButtonHandle | GeomTriangles | Planef
ButtonNode | GeomTrifans | PlaneNode
ButtonRegistry | GeomTristrips | PNMBrush
ButtonThrower | GeomVertexAnimationSpec | PNMFileType
CachedDOData | GeomVertexArrayData | PNMFileTypeRegistry
CachedTypedWritableReferenceCount | GeomVertexArrayDataHandle | PNMImage
Camera | GeomVertexArrayFormat | PNMImageHeader
CArchive | GeomVertexColumn | PNMPainter
CardMaker | GeomVertexData | PNMTextMaker
CartesianGridBase | GeomVertexFormat | POD
CConnectionRepository | GeomVertexReader | Point2
CDistributedSmoothNodeBase | GeomVertexRewriter | Point2D
Character | GeomVertexWriter | Point3
CharacterJoint | GhostWalker | Point3D
CharacterJointBundle | GlobalForceGroup | Point4
CharacterJointEffect | GlobPattern | Point4D
CharacterSlider | GoldenRectangle | PointEmitter
CharacterVertexSlider | GraphicsBuffer | PointerEventList
CheckContainers | GraphicsDevice | PointerToVoid
CInterval | GraphicsEngine | PointLight
CIntervalManager | GraphicsOutput | PointParticleFactory
ClassicFSM | GraphicsPipe | PointParticleRenderer
ClassicStyle | GraphicsPipeSelection | PolylightEffect
ClassInspector | GraphicsStateGuardian | PolylightNode
ClassTree | GraphicsStateGuardianBase | Pool
CLerpAnimEffectInterval | GraphicsThreadingModel | PortalNode
CLerpInterval | GraphicsWindow | PosHprInterval
CLerpNodePathInterval | GravityWalker | PosHprLerpFunctor
ClientBase | GridParent | PosHprScaleInterval
ClientRepository | GRPICONDIR | PosHprScaleLerpFunctor
ClientRepositoryBase | GRPICONDIRENTRY | PosInterval
ClipPlaneAttrib | HashVal | PosLerpFunctor
ClockDelta | HeightfieldTesselator | PreparedGraphicsObjects
ClockObject | HermiteCurve | ProfileTimer
ClusterClient | HideInterval | ProgressBar
ClusterClientSync | HierarchyException | ProjectileInterval
ClusterConfigItem | HotkeyBreaker | ProjectionScreen
ClusterMsgHandler | HprInterval | PruneObjectRefs
ClusterServer | HprLerpFunctor | PSphereLens
CMetaInterval | HprScaleInterval | PStatClient
CodeInspector | HprScaleLerpFunctor | PStatCollector
CollectTarget | HTTPChannel | PStatCollectorForward
CollisionDSSolid | HTTPClient | PStatCollectorForwardBase
CollisionEntry | HTTPCookie | PStatThread
CollisionFloorMesh | HTTPDate | Pulse
CollisionHandler | HTTPEntityTag | PushesStateChanges
CollisionHandlerEvent | HTTPEnum | PyDatagram
CollisionHandlerFloor | ICONDIRENTRY | PyDatagramIterator
CollisionHandlerFluidPusher | ICONDIRHEADER | pythonresource
CollisionHandlerGravity | IconFile | PythonThread
CollisionHandlerPhysical | IgnoreInterval | PYZTarget
CollisionHandlerPusher | Importer | Quat
CollisionHandlerQueue | IndexBufferContext | QuatD
CollisionInvSphere | IndirectInterval | Queue
CollisionLine | Indirection | QueuedConnectionListener
CollisionNode | InkblotVideo | QueuedConnectionManager
CollisionParabola | InkblotVideoCursor | QueuedConnectionReader
CollisionPlane | InputState | Ramfile
CollisionPolygon | InputStateForceToken | RandomNumGen
CollisionRay | InputStateToken | ReceivesMultipleStateChanges
CollisionRecorder | InputStateTokenGroup | ReceivesStateChanges
CollisionSegment | InputStateWatchToken | RecentConnectionReader
CollisionSolid | Inspector | RecorderBase
CollisionSphere | InspectorWindow | RecorderController
CollisionTraverser | InstallTarget | RectangleEmitter
CollisionTube | InstanceInspector | RefCounter
CollisionVisualizer | InstanceMethodInspector | ReferenceCount
ColorAttrib | InterestHandle | RelatedObjectMgr
ColorBlendAttrib | InterestState | ReMutex
ColorEntry | InterestWatcher | ReMutexDirect
ColorInterpolationFunctionConstant | InternalName | RenderAttrib
ColorInterpolationFunctionLinear | InternalNameCollection | RenderEffect
ColorInterpolationFunctionSinusoid | Interval | RenderEffects
ColorInterpolationFunctionStepwave | IntervalManager | RenderModeAttrib
ColorInterpolationManager | ios | RenderState
ColorInterpolationSegment | ios_base | RequestDenied
ColorLerpFunctor | iostream | RescaleNormalAttrib
ColorScaleAttrib | ISocketStream | resource
ColorScaleLerpFunctor | istream | RetryCancelDialog
ColorWriteAttrib | Job | RigidBodyCombiner
CommonFilters | JobManager | RingEmitter
CompassEffect | JointVertexTransform | Rope
ComplexInspector | KeyboardButton | RopeNode
ConditionVar | LandingPage | RotatingLog
ConditionVarDirect | LeakDetector | RotationTest
ConditionVarFull | LEAvatar | SampleObject
ConditionVarFullDirect | Lens | SavedContext
ConfigFlags | LensNode | ScaleInterval
ConfigPage | Lerp | ScaleLerpFunctor
ConfigPageManager | LerpAnimInterval | SceneGraphAnalyzer
ConfigVariable | LerpBlendType | SceneGraphExplorer
ConfigVariableBase | LerpColorInterval | SceneGraphExplorerItem
ConfigVariableBool | LerpColorScaleInterval | SceneGraphLeakDetector
ConfigVariableDouble | LerpFunc | SceneGraphReducer
ConfigVariableFilename | LerpFuncNS | ScissorAttrib
ConfigVariableInt | LerpFunctionInterval | ScissorEffect
ConfigVariableInt64 | LerpFunctionNoStateInterval | ScratchPad
ConfigVariableList | LerpFunctor | scriptresource
ConfigVariableManager | LerpHprInterval | SelectedNodePaths
ConfigVariableSearchPath | LerpHprScaleInterval | SelectionQueue
ConfigVariableString | LerpNodePathInterval | SelectionRay
Connection | LerpPosHprInterval | SelectionSegment
ConnectionListener | LerpPosHprScaleInterval | SelectionSphere
ConnectionManager | LerpPosHprScaleShearInterval | SelectiveChildNode
ConnectionReader | LerpPosInterval | Sequence
ConnectionRepository | LerpPosQuatInterval | SequenceInspector
ConnectionWriter | LerpPosQuatScaleInterval | SequenceNode
ContainerLeakDetector | LerpPosQuatScaleShearInterval | SerialNumGen
ContainerReport | LerpQuatInterval | ServerRepository
ControlManager | LerpQuatScaleInterval | SfxPlayer
CoordinateSystem | LerpScaleInterval | ShadeModelAttrib
CopyOnWriteObject | LerpShearInterval | Shader
CountedResource | LerpTexOffsetInterval | ShaderAttrib
CppMemoryUsage | LerpTexRotateInterval | ShaderContext
CRCache | LerpTexScaleInterval | ShaderGenerator
CRDataCache | LevelAttribute | ShaderInput
CTOC | LevelEditor | ShaderPool
CubicCurveseg | LevelEditorPanel | ShadowCaster
CullBinAttrib | LevelStyleManager | ShadowPlacer
CullBinEnums | Light | SheetNode
CullBinManager | LightAttrib | ShipPilot
CullFaceAttrib | LightLensNode | ShipPilot2
CullTraverser | LightNode | ShowBase
CurveFitter | LightRampAttrib | ShowBoundsEffect
CylindricalLens | LinearControlForce | ShowInterval
Datagram | LinearCylinderVortexForce | Signature
DatagramIterator | LinearDistanceForce | SimpleAllocator
DataGraphTraverser | LinearEulerIntegrator | SimpleAllocatorBlock
DataNode | LinearForce | SimpleLru
dataresource | LinearFrictionForce | SimpleLruPage
DCArrayParameter | LinearIntegrator | Singleton
DCAtomicField | LinearJitterForce | SingletonError
DCClass | LinearNoiseForce | SliceInspector
DCClassParameter | LinearRandomForce | Slider
DCDeclaration | LinearSinkForce | SliderTable
DCField | LinearSourceForce | SliderWidget
DCFile | LinearUserDefinedForce | SmoothMover
DCKeyword | LinearVectorForce | Socket_Address
DCKeywordList | LineEmitter | Socket_IP
DCMolecularField | LineNodePath | Socket_TCP
DCPackData | LineParticleRenderer | Socket_TCP_Listen
DCPacker | LineSegs | Socket_UDP
DCPackerInterface | LineStream | Socket_UDP_Incoming
DCPackType | LMatrix3d | Socket_UDP_Outgoing
DCParameter | LMatrix3f | SocketStream
DCSimpleParameter | LMatrix4d | SocketStreamRecorder
DCSubatomicType | LMatrix4f | SoundInterval
DCSwitch | Loader | SparkleParticleRenderer
DCSwitchParameter | LoaderFileType | SparseArray
DCTypedef | LoaderFileTypeRegistry | SphereSurfaceEmitter
DecalEffect | LoaderOptions | SphereVolumeEmitter
Decompressor | LODNode | Spotlight
DelayDelete | LODNodeType | SpriteAnim
DelayedCall | Logger | SpriteParticleRenderer
DelayedFunctor | LOrientationd | SpriteParticleRendererExt
DeltaProfiler | LOrientationf | Squeezer
DepthOffsetAttrib | LPoint2d | SSReader
DepthTestAttrib | LPoint2f | SSWriter
DepthWriteAttrib | LPoint3d | Stack
DestructiveScratchPad | LPoint3f | StackedPerlinNoise2
DevWalker | LPoint4d | StackedPerlinNoise3
Dial | LPoint4f | StackTrace
DialNode | LQuaterniond | State
DialWidget | LQuaternionf | StateChangeNode
DictionaryInspector | LRotationd | StateData
Diff | LRotationf | StateInspector
DirectAnalogs | lTOC | StateVar
DirectBoundingBox | LVecBase2d | StaticTextFont
DirectButton | LVecBase2f | StdLibFilter
DirectButtons | LVecBase3d | StencilAttrib
DirectCameraControl | LVecBase3f | StencilRenderStates
DirectCheckBox | LVecBase4d | StreamReader
DirectCheckButton | LVecBase4f | StreamWriter
DirectDeviceManager | LVector2d | StringStream
DirectDialog | LVector2f | Structure
DirectDials | LVector3d | SubframeCall
DirectEntry | LVector3f | SwimWalker
DirectFastrak | LVector4d | SwitchNode
DirectFrame | LVector4f | Sync
DirectGrid | MainThread | SystemInformation
DirectGuiBase | Mat3 | TangentRingEmitter
DirectGuiWidget | Mat3D | Target
DirectionalLight | Mat4 | Task
DirectJoybox | Mat4D | TaskLeakDetector
DirectLabel | Material | TaskLeakDetectorBase
DirectLight | MaterialAttrib | TaskManager
DirectLights | MaterialCollection | TaskManagerPanel
DirectManipulationControl | MaterialPool | TaskManagerWidget
DirectNodePath | MathNumbers | TaskPriorityList
DirectNotify | MatrixLens | TaskThread
DirectObject | MemoryExplorer | TaskThreaded
DirectOptionMenu | MemoryExplorerItem | TestAppShell
DirectoryImporter | MEMORYSTATUS | TestInterval
DirectRadamec | MemoryUsage | TexGenAttrib
DirectRadioButton | MemoryUsagePointers | TexMatrixAttrib
DirectScrollBar | Mersenne | TexProjectorEffect
DirectScrolledFrame | Messenger | TextAssembler
DirectScrolledList | MessengerLeakDetector | TextEncoder
DirectScrolledListItem | MessengerLeakObject | TextFont
DirectSession | MetaInterval | TextGraphic
DirectSessionPanel | MicrophoneAudio | TextNode
DirectSlider | MiniLog | TextPieMenu
DirectTimecodeReader | MiniLogSentry | TextProperties
DirectTracker | MkImporter | TextPropertiesManager
DirectWaitBar | ModelFlattenRequest | Texture
DirFilter | ModelLoadRequest | TextureAttrib
dirresource | ModelNode | TextureCollection
DiscEmitter | ModelPool | TextureContext
DisplayConnection | ModelRoot | TexturePool
DisplayInformation | ModFilter | TextureStage
DisplayRegion | ModifierButtons | TextureStageCollection
DisplayRegionContext | Module | Thread
DisplayRegionList | ModuleFinder | ThreadPriority
DisplaySearchParameters | ModuleInspector | ThreeUpShow
DistancePhasedNode | moduleresource | Timer
DistributedActor | Mopath | TimeVal
DistributedCartesianGrid | MopathInterval | ToonEyes
DistributedCartesianGridAI | MopathRecorder | Track
DistributedLargeBlobSender | MotionTrail | Trackball
DistributedLargeBlobSenderAI | MotionTrailFrame | TrackerNode
DistributedNode | MotionTrailVertex | Transform2SG
DistributedNodeAI | MouseAndKeyboard | TransformBlend
DistributedNodeUD | MouseButton | TransformBlendTable
DistributedObject | MouseData | TransformState
DistributedObjectAI | MouseInterfaceNode | TransformTable
DistributedObjectBase | MouseRecorder | Transitions
DistributedObjectGlobal | MouseSubregion | TransparencyAttrib
DistributedObjectGlobalAI | MouseWatcher | TreeItem
DistributedObjectGlobalUD | MouseWatcherGroup | TreeNode
DistributedObjectOV | MouseWatcherParameter | treeresource
DistributedObjectUD | MouseWatcherRegion | Triangulator
DistributedSmoothNode | MovieAudio | TrueClock
DistributedSmoothNodeAI | MovieAudioCursor | TwoDWalker
DistributedSmoothNodeBase | MovieTexture | TypedObject
DNABaselineStyle | MovieVideo | TypedReferenceCount
DNAFlatBuildingStyle | MovieVideoCursor | TypedSkel
DNAWallStyle | MovingPartBase | TypedWritable
DoCollectionManager | MovingPartMatrix | TypedWritableReferenceCount
DocumentSpec | MovingPartScalar | TypeFilter
DoHierarchy | Multifile | TypeHandle
DoInterestManager | MultiLerpFunctor | TypeRegistry
DownloadDb | MultiplexStream | UniqueIdAllocator
DrawableRegion | MultitexReducer | UpdateSeq
DrawMaskAttrib | Mutex | URLSpec
DriveInterface | MutexDirect | UserDataAudio
DSearchPath | Namable | UserDataAudioCursor
DummyClusterClient | NetAddress | UserVertexSlider
DynamicTextFont | NetDatagram | UserVertexTransform
DynamicTextPage | NetMessenger | Valuator
EaseInBlendType | NeverFreeMemory | ValuatorGroup
EaseInOutBlendType | NewStyle | ValuatorGroupPanel
EaseOutBlendType | NoBlendType | VBase2
EggAnimData | NodeCachedReferenceCount | VBase2D
EggAttributes | NodePath | VBase3
EggBin | NodePathCollection | VBase3D
EggBinMaker | NodeReferenceCount | VBase4
EggComment | NodeVertexTransform | VBase4D
EggCompositePrimitive | NoDictKey | Vec2
EggCurve | NonlinearImager | Vec2D
EggData | NonPhysicsWalker | Vec3
EggExternalReference | Notifier | Vec3D
EggFilenameNode | Notify | Vec4
EggGroup | NotifyCategory | Vec4D
EggGroupNode | NotifyPanel | Vector2Entry
EggGroupUniquifier | NotifySeverity | Vector3Entry
EggLine | NurbsCurve | Vector4Entry
EggMaterial | NurbsCurveEvaluator | VectorEntry
EggMaterialCollection | NurbsCurveInterface | VertexBufferContext
EggNamedObject | NurbsCurveResult | VertexDataBlock
EggNameUniquifier | NurbsSurfaceEvaluator | VertexDataBook
EggNode | NurbsSurfaceResult | VertexDataPage
EggNurbsCurve | ObjectHandles | VertexDataSaveFile
EggNurbsSurface | ObjectPool | VertexSlider
EggObject | ObjectRef | VertexTransform
EggPoint | ObjectReport | VideoTexture
EggPolygon | ObserverWalker | VirtualFile
EggPolysetMaker | OdeAMotorJoint | VirtualFileComposite
EggPoolUniquifier | OdeBallJoint | VirtualFileList
EggPrimitive | OdeBody | VirtualFileSimple
EggRenderMode | OdeBoxGeom | VirtualFileSystem
EggSAnimData | OdeCappedCylinderGeom | VirtualMouse
EggSurface | OdeContact | VisGroupsEditor
EggSwitchCondition | OdeContactGeom | VrpnClient
EggSwitchConditionDistance | OdeContactJoint | Wait
EggTable | OdeCylinderGeom | WaitInterval
EggTexture | OdeFixedJoint | WeakPointerToVoid
EggTextureCollection | OdeGeom | WebcamVideo
EggTransform | OdeHashSpace | webNotifyDebug
EggTriangleFan | OdeHinge2Joint | WebRequest
EggTriangleStrip | OdeHingeJoint | WebRequestDispatcher
EggUserData | OdeJoint | WeightedChoice
EggVertex | OdeJointCollection | WidgetPropertiesDialog
EggVertexPool | OdeJointGroup | WindowControls
EggVertexUV | OdeLMotorJoint | WindowProperties
EggXfmAnimData | OdeMass | WindowsRegistry
EggXfmSAnim | OdeNullJoint | WritableConfigurable
EnterExit | OdePlane2dJoint | WrtParentInterval
EntryScale | OdePlaneGeom | YesNoCancelDialog
EntryScaleGroup | OdeQuadTreeSpace | YesNoDialog
Enum | OdeRayGeom | ZlibArchive
EnumIter | OdeSimpleSpace | zlibresource
ErrorUtilCode | OdeSliderJoint | ZSpinParticleFactory
Event | OdeSpace |
EventArgument | OdeSphereGeom |


AcceptInterval

    from direct.interval.FunctionInterval import AcceptInterval

Inheritance:

    AcceptInterval:

Methods of AcceptInterval:

    __init__
__init__
def __init__(self, dirObj, event, function, name=None)

__init__(dirObj, event, function, name)


Actor

    from direct.actor.Actor import Actor
    Actor class: Contains methods for creating, manipulating and playing animations on characters

Inheritance:

    Actor:

Methods of Actor:

    __bindAnimToPart
    __cmp__
    __copyAnimControls
    __copyPartBundles
    __copySubpartDict
    __doListJoints
    __init__
    __prepareBundle
    __str__
    __updateSortedLODNames
    actorInterval
    addLOD
    animPanel
    attach
    bindAllAnims
    bindAnim
    cleanup
    clearPythonData
    controlJoint
    copyActor
    delete
    disableBlend
    drawInFront
    enableBlend
    exposeJoint
    faceAwayFromViewer
    faceTowardsViewer
    fixBounds
    fixBounds_old
    flush
    freezeJoint
    getActorInfo
    getAnimBlends
    getAnimControl
    getAnimControlDict
    getAnimControls
    getAnimFilename
    getAnimNames
    getBaseFrameRate
    getCurrentAnim
    getCurrentFrame
    getDuration
    getFrameRate
    getFrameTime
    getGeomNode
    getJoints
    getJointTransform
    getLOD
    getLODNames
    getLODNode
    getNumFrames
    getPart
    getPartBundle
    getPartBundleDict
    getPartNames
    getPlayRate
    getSubpartsComplete
    hasLOD
    hideAllBounds
    hidePart
    initAnimsOnAllLODs
    instance
    listJoints
    loadAnims
    loadAnimsOnAllLODs
    loadModel
    loop
    makeSubpart
    osdAnimBlends
    pingpong
    play
    pose
    postFlatten
    pprint
    printAnimBlends
    printLOD
    releaseJoint
    removeAnimControlDict
    removeNode
    removePart
    renamePartBundles
    resetLOD
    setBlend
    setCenter
    setControlEffect
    setGeomNode
    setLOD
    setLODNode
    setPlayRate
    setSubpartsComplete
    showAllBounds
    showAllParts
    showPart
    stop
    stopJoint
    unloadAnims
    update
    useLOD
__bindAnimToPart
def __bindAnimToPart(self, animName, partName, lodName)

for internal use only!

__cmp__
def __cmp__(self, other)

Undocumented function.

__copyAnimControls
def __copyAnimControls(self, other)

__copyAnimControls(self, Actor) Get the anims from the anim control's in the anim control dictionary of another actor. Bind these anim's to the part bundles in our part bundle dict that have matching names, and store the resulting anim controls in our own part bundle dict

__copyPartBundles
def __copyPartBundles(self, other)

__copyPartBundles(self, Actor) Copy the part bundle dictionary from another actor as this instance's own. NOTE: this method does not actually copy geometry

__copySubpartDict
def __copySubpartDict(self, other)

Copies the subpartDict from another as this instance's own. This makes a deep copy of the map and all of the names and PartSubset objects within it. We can't use copy.deepcopy() because of the included C++ PartSubset objects.

__doListJoints
def __doListJoints(self, indentLevel, part, isIncluded, subset)

Undocumented function.

__init__
def __init__(self, models=None, anims=None, other=None, copy=1, lodNode=None, flattenable=1, setFinal=0, mergeLODBundles=None)

__init__(self, string | string:string{}, string:string{} | string:(string:string{}){}, Actor=None) Actor constructor: can be used to create single or multipart actors. If another Actor is supplied as an argument this method acts like a copy constructor. Single part actors are created by calling with a model and animation dictionary (animName:animPath{}) as follows:
a = Actor("panda-3k.egg", {"walk":"panda-walk.egg" "run":"panda-run.egg"})
This could be displayed and animated as such:
a.reparentTo(render) a.loop("walk") a.stop()
Multipart actors expect a dictionary of parts and a dictionary of animation dictionaries (partName:(animName:animPath{}){}) as below:
a = Actor(
part dictionary {"head":"char/dogMM/dogMM_Shorts-head-mod", "torso":"char/dogMM/dogMM_Shorts-torso-mod", "legs":"char/dogMM/dogMM_Shorts-legs-mod"}, dictionary of anim dictionaries {"head":{"walk":"char/dogMM/dogMM_Shorts-head-walk", "run":"char/dogMM/dogMM_Shorts-head-run"}, "torso":{"walk":"char/dogMM/dogMM_Shorts-torso-walk", "run":"char/dogMM/dogMM_Shorts-torso-run"}, "legs":{"walk":"char/dogMM/dogMM_Shorts-legs-walk", "run":"char/dogMM/dogMM_Shorts-legs-run"} })
In addition multipart actor parts need to be connected together in a meaningful fashion:
a.attach("head", "torso", "joint-head") a.attach("torso", "legs", "joint-hips")
ADD LOD COMMENT HERE!
Other useful Actor class functions:
fix actor eye rendering a.drawInFront("joint-pupil?", "eyes*")
fix bounding volumes - this must be done after drawing the actor for a few frames, otherwise it has no effect a.fixBounds()

__prepareBundle
def __prepareBundle(self, bundleNP, partModel, partName="modelRoot", lodName="lodRoot")

Undocumented function.

__str__
def __str__(self)

Actor print function

__updateSortedLODNames
def __updateSortedLODNames(self)

Undocumented function.

actorInterval
def actorInterval(self, *args, **kw)

Undocumented function.

addLOD
def addLOD(self, lodName, inDist=0, outDist=0, center=None)

addLOD(self, string) Add a named node under the LODNode to parent all geometry of a specific LOD under.

animPanel
def animPanel(self)

Undocumented function.

attach
def attach(self, partName, anotherPartName, jointName, lodName="lodRoot")

attach(self, string, string, string, key="lodRoot") Attach one actor part to another at a joint called jointName

bindAllAnims
def bindAllAnims(self)

Loads and binds all animations that have been defined for the Actor.

bindAnim
def bindAnim(self, animName, partName="modelRoot", lodName="lodRoot")

bindAnim(self, string, string='modelRoot', string='lodRoot') Bind the named animation to the named part and lod

cleanup
def cleanup(self)

Actor cleanup function

clearPythonData
def clearPythonData(self)

Undocumented function.

controlJoint
def controlJoint(self, node, partName, jointName, lodName="lodRoot")

The converse of exposeJoint: this associates the joint with the indicated node, so that the joint transform will be copied from the node to the joint each frame. This can be used for programmer animation of a particular joint at runtime.
The parameter node should be the NodePath for the node whose transform will animate the joint. If node is None, a new node will automatically be created and loaded with the joint's initial transform. In either case, the node used will be returned.
It used to be necessary to call this before any animations have been loaded and bound, but that is no longer so.

copyActor
def copyActor(self, other, overwrite=False)

Undocumented function.

delete
def delete(self)

Undocumented function.

disableBlend
def disableBlend(self, partName=None)

Restores normal one-animation-at-a-time operation after a previous call to enableBlend().
This method is deprecated. You should use setBlend() instead.

drawInFront
def drawInFront(self, frontPartName, backPartName, mode, root=None, lodName=None)

drawInFront(self, string, int, string=None, key=None)
Arrange geometry so the frontPart(s) are drawn in front of backPart.
If mode == -1, the geometry is simply arranged to be drawn in the correct order, assuming it is already under a direct-render scene graph (like the DirectGui system). That is, frontPart is reparented to backPart, and backPart is reordered to appear first among its siblings.
If mode == -2, the geometry is arranged to be drawn in the correct order, and depth test/write is turned off for frontPart.
If mode == -3, frontPart is drawn as a decal onto backPart. This assumes that frontPart is mostly coplanar with and does not extend beyond backPart, and that backPart is mostly flat (not self-occluding).
If mode > 0, the frontPart geometry is placed in the 'fixed' bin, with the indicated drawing order. This will cause it to be drawn after almost all other geometry. In this case, the backPartName is actually unused.
Takes an optional argument root as the start of the search for the given parts. Also takes optional lod name to refine search for the named parts. If root and lod are defined, we search for the given root under the given lod.

enableBlend
def enableBlend(self, blendType=PartBundle.BTNormalizedLinear, partName=None)

Enables blending of multiple animations simultaneously. After this is called, you may call play(), loop(), or pose() on multiple animations and have all of them contribute to the final pose each frame.
With blending in effect, starting a particular animation with play(), loop(), or pose() does not implicitly make the animation visible; you must also call setControlEffect() for each animation you wish to use to indicate how much each animation contributes to the final pose.
This method is deprecated. You should use setBlend() instead.

exposeJoint
def exposeJoint(self, node, partName, jointName, lodName="lodRoot", localTransform=0)

exposeJoint(self, NodePath, string, string, key="lodRoot") Starts the joint animating the indicated node. As the joint animates, it will transform the node by the corresponding amount. This will replace whatever matrix is on the node each frame. The default is to expose the net transform from the root, but if localTransform is true, only the node's local transform from its parent is exposed.

faceAwayFromViewer
def faceAwayFromViewer(self)

Undocumented function.

faceTowardsViewer
def faceTowardsViewer(self)

Undocumented function.

fixBounds
def fixBounds(self, partName=None)

Undocumented function.

fixBounds_old
def fixBounds_old(self, part=None)

fixBounds(self, nodePath=None) Force recomputation of bounding spheres for all geoms in a given part. If no part specified, fix all geoms in this actor

flush
def flush(self)

Actor flush function

freezeJoint
def freezeJoint(self, partName, jointName, transform=None, pos=Vec3(0, 0, 0), hpr=Vec3(0, 0, 0), scale=Vec3(1, 1, 1))

Similar to controlJoint, but the transform assigned is static, and may not be animated at runtime (without another subsequent call to freezeJoint). This is slightly more optimal than controlJoint() for cases in which the transform is not intended to be animated during the lifetime of the Actor.

getActorInfo
def getActorInfo(self)

Utility function to create a list of information about an actor. Useful for iterating over details of an actor.

getAnimBlends
def getAnimBlends(self, animName=None, partName=None, lodName=None)

Returns a list of the form:
[ (lodName, [(animName, [(partName, effect), (partName, effect), ...]), (animName, [(partName, effect), (partName, effect), ...]), ...]), (lodName, [(animName, [(partName, effect), (partName, effect), ...]), (animName, [(partName, effect), (partName, effect), ...]), ...]), ... ]
This list reports the non-zero control effects for each partName within a particular animation and LOD.

getAnimControl
def getAnimControl(self, animName, partName=None, lodName=None)

getAnimControl(self, string, string, string="lodRoot") Search the animControl dictionary indicated by lodName for a given anim and part. If none specified, try the first part and lod. Return the animControl if present, or None otherwise

getAnimControlDict
def getAnimControlDict(self)

Undocumented function.

getAnimControls
def getAnimControls(self, animName=None, partName=None, lodName=None)

getAnimControls(self, string, string=None, string=None)
Returns a list of the AnimControls that represent the given animation for the given part and the given lod. If animName is omitted, the currently-playing animation (or all currently-playing animations) is returned. If partName is omitted, all parts are returned (or possibly the one overall Actor part, according to the subpartsComplete flag). If lodName is omitted, all LOD's are returned.

getAnimFilename
def getAnimFilename(self, animName, partName='modelRoot')

getAnimFilename(self, animName) return the animFilename given the animName

getAnimNames
def getAnimNames(self)

Undocumented function.

getBaseFrameRate
def getBaseFrameRate(self, animName=None, partName=None)

getBaseFrameRate(self, string, string=None) Return frame rate of given anim name and given part, unmodified by any play rate in effect.

getCurrentAnim
def getCurrentAnim(self, partName=None)

Return the anim currently playing on the actor. If part not specified return current anim of an arbitrary part in dictionary. NOTE: only returns info for an arbitrary LOD

getCurrentFrame
def getCurrentFrame(self, animName=None, partName=None)

Return the current frame number of the anim current playing on the actor. If part not specified return current anim of first part in dictionary. NOTE: only returns info for an arbitrary LOD

getDuration
def getDuration(self, animName=None, partName=None, fromFrame=None, toFrame=None)

Return duration of given anim name and given part. If no anim specified, use the currently playing anim. If no part specified, return anim duration of first part. NOTE: returns info for arbitrary LOD

getFrameRate
def getFrameRate(self, animName=None, partName=None)

getFrameRate(self, string, string=None) Return actual frame rate of given anim name and given part. If no anim specified, use the currently playing anim. If no part specified, return anim durations of first part. NOTE: returns info only for an arbitrary LOD

getFrameTime
def getFrameTime(self, anim, frame, partName=None)

Undocumented function.

getGeomNode
def getGeomNode(self)

Return the node that contains all actor geometry

getJoints
def getJoints(self, jointName)

Undocumented function.

getJointTransform
def getJointTransform(self, partName, jointName, lodName='lodRoot')

Undocumented function.

getLOD
def getLOD(self, lodName)

getLOD(self, string) Get the named node under the LOD to which we parent all LOD specific geometry to. Returns 'None' if not found

getLODNames
def getLODNames(self)

Return list of Actor LOD names. If not an LOD actor, returns 'lodRoot' Caution - this returns a reference to the list - not your own copy

getLODNode
def getLODNode(self)

Return the node that switches actor geometry in and out

getNumFrames
def getNumFrames(self, animName=None, partName=None)

Undocumented function.

getPart
def getPart(self, partName, lodName="lodRoot")

Find the named part in the optional named lod and return it, or return None if not present

getPartBundle
def getPartBundle(self, partName, lodName="lodRoot")

Find the named part in the optional named lod and return its associated PartBundle, or return None if not present

getPartBundleDict
def getPartBundleDict(self)

Undocumented function.

getPartNames
def getPartNames(self)

Return list of Actor part names. If not an multipart actor, returns 'modelRoot' NOTE: returns parts of arbitrary LOD

getPlayRate
def getPlayRate(self, animName=None, partName=None)

Return the play rate of given anim for a given part. If no part is given, assume first part in dictionary. If no anim is given, find the current anim for the part. NOTE: Returns info only for an arbitrary LOD

getSubpartsComplete
def getSubpartsComplete(self)

See setSubpartsComplete().

hasLOD
def hasLOD(self)

Return 1 if the actor has LODs, 0 otherwise

hideAllBounds
def hideAllBounds(self)

Hide the bounds of all actor geoms

hidePart
def hidePart(self, partName, lodName="lodRoot")

Make the given part of the optionally given lod not render, even though still in the tree. NOTE: this will affect child geometry

initAnimsOnAllLODs
def initAnimsOnAllLODs(self, partNames)

Undocumented function.

instance
def instance(self, path, partName, jointName, lodName="lodRoot")

instance(self, NodePath, string, string, key="lodRoot") Instance a nodePath to an actor part at a joint called jointName

listJoints
def listJoints(self, partName="modelRoot", lodName="lodRoot")

Handy utility function to list the joint hierarchy of the actor.

loadAnims
def loadAnims(self, anims, partName="modelRoot", lodName="lodRoot")

loadAnims(self, string:string{}, string='modelRoot', string='lodRoot') Actor anim loader. Takes an optional partName (defaults to 'modelRoot' for non-multipart actors) and lodName (defaults to 'lodRoot' for non-LOD actors) and dict of corresponding anims in the form animName:animPath{}

loadAnimsOnAllLODs
def loadAnimsOnAllLODs(self, anims, partName="modelRoot")

loadAnims(self, string:string{}, string='modelRoot', string='lodRoot') Actor anim loader. Takes an optional partName (defaults to 'modelRoot' for non-multipart actors) and lodName (defaults to 'lodRoot' for non-LOD actors) and dict of corresponding anims in the form animName:animPath{}

loadModel
def loadModel(self, modelPath, partName="modelRoot", lodName="lodRoot", copy=1)

loadModel(self, string, string="modelRoot", string="lodRoot", bool = 0) Actor model loader. Takes a model name (ie file path), a part name(defaults to "modelRoot") and an lod name(defaults to "lodRoot"). If copy is set to 0, do a loadModel instead of a loadModelCopy.

loop
def loop(self, animName, restart=1, partName=None, fromFrame=None, toFrame=None)

loop(self, string, int=1, string=None) Loop the given animation on the given part of the actor, restarting at zero frame if requested. If no part name is given then try to loop on all parts. NOTE: loops on all LOD's

makeSubpart
def makeSubpart(self, partName, includeJoints, excludeJoints=[], parent="modelRoot")

Defines a new "part" of the Actor that corresponds to the same geometry as the named parent part, but animates only a certain subset of the joints. This can be used for partial-body animations, for instance to animate a hand waving while the rest of the body continues to play its walking animation.
includeJoints is a list of joint names that are to be animated by the subpart. Each name can include globbing characters like '?' or '*', which will match one or any number of characters, respectively. Including a joint by naming it in includeJoints implicitly includes all of the descendents of that joint as well, except for excludeJoints, below.
excludeJoints is a list of joint names that are *not* to be animated by the subpart. As in includeJoints, each name can include globbing characters. If a joint is named by excludeJoints, it will not be included (and neither will any of its descendents), even if a parent joint was named by includeJoints.
parent is the actual partName that this subpart is based on.

osdAnimBlends
def osdAnimBlends(self, animName=None, partName=None, lodName=None)

Undocumented function.

pingpong
def pingpong(self, animName, restart=1, partName=None, fromFrame=None, toFrame=None)

pingpong(self, string, int=1, string=None) Loop the given animation on the given part of the actor, restarting at zero frame if requested. If no part name is given then try to loop on all parts. NOTE: loops on all LOD's

play
def play(self, animName, partName=None, fromFrame=None, toFrame=None)

play(self, string, string=None) Play the given animation on the given part of the actor. If no part is specified, try to play on all parts. NOTE: plays over ALL LODs

pose
def pose(self, animName, frame, partName=None, lodName=None)

pose(self, string, int, string=None) Pose the actor in position found at given frame in the specified animation for the specified part. If no part is specified attempt to apply pose to all parts.

postFlatten
def postFlatten(self)

Call this after performing an aggressive flatten operation, such as flattenStrong(), that involves the Actor. This is especially necessary when mergeLODBundles is true, since this kind of actor may be broken after a flatten operation; this method should restore proper Actor functionality.

pprint
def pprint(self)

Pretty print actor's details

printAnimBlends
def printAnimBlends(self, animName=None, partName=None, lodName=None)

Undocumented function.

printLOD
def printLOD(self)

Undocumented function.

releaseJoint
def releaseJoint(self, partName, jointName)

Undoes a previous call to controlJoint() or freezeJoint() and restores the named joint to its normal animation.

removeAnimControlDict
def removeAnimControlDict(self)

Undocumented function.

removeNode
def removeNode(self)

Undocumented function.

removePart
def removePart(self, partName, lodName="lodRoot")

Remove the geometry and animations of the named part of the optional named lod if present. NOTE: this will remove child geometry also!

renamePartBundles
def renamePartBundles(self, partName, newBundleName)

Undocumented function.

resetLOD
def resetLOD(self)

Restore all switch distance info (usually after a useLOD call)

setBlend
def setBlend(self, animBlend=None, frameBlend=None, blendType=None, partName=None)

Changes the way the Actor handles blending of multiple different animations, and/or interpolation between consecutive frames.
The animBlend and frameBlend parameters are boolean flags. You may set either or both to True or False. If you do not specify them, they do not change from the previous value.
When animBlend is True, multiple different animations may simultaneously be playing on the Actor. This means you may call play(), loop(), or pose() on multiple animations and have all of them contribute to the final pose each frame.
In this mode (that is, when animBlend is True), starting a particular animation with play(), loop(), or pose() does not implicitly make the animation visible; you must also call setControlEffect() for each animation you wish to use to indicate how much each animation contributes to the final pose.
The frameBlend flag is unrelated to playing multiple animations. It controls whether the Actor smoothly interpolates between consecutive frames of its animation (when the flag is True) or holds each frame until the next one is ready (when the flag is False). The default value of frameBlend is controlled by the interpolate-frames Config.prc variable.
In either case, you may also specify blendType, which controls the precise algorithm used to blend two or more different matrix values into a final result. Different skeleton hierarchies may benefit from different algorithms. The default blendType is controlled by the anim-blend-type Config.prc variable.

setCenter
def setCenter(self, center)

Undocumented function.

setControlEffect
def setControlEffect(self, animName, effect, partName=None, lodName=None)

Sets the amount by which the named animation contributes to the overall pose. This controls blending of multiple animations; it only makes sense to call this after a previous call to setBlend(animBlend = True).

setGeomNode
def setGeomNode(self, node)

Set the node that contains all actor geometry

setLOD
def setLOD(self, lodName, inDist=0, outDist=0)

setLOD(self, string) Set the switch distance for given LOD

setLODNode
def setLODNode(self, node=None)

Set the node that switches actor geometry in and out. If one is not supplied as an argument, make one

setPlayRate
def setPlayRate(self, rate, animName, partName=None)

setPlayRate(self, float, string, string=None) Set the play rate of given anim for a given part. If no part is given, set for all parts in dictionary.
It used to be legal to let the animName default to the currently-playing anim, but this was confusing and could lead to the wrong anim's play rate getting set. Better to insist on this parameter. NOTE: sets play rate on all LODs

setSubpartsComplete
def setSubpartsComplete(self, flag)

Sets the subpartsComplete flag. This affects the behavior of play(), loop(), stop(), etc., when no explicit parts are specified.
When this flag is False (the default), play() with no parts means to play the animation on the overall Actor, which is a separate part that overlaps each of the subparts. If you then play a different animation on a subpart, it may stop the overall animation (in non-blend mode) or blend with it (in blend mode).
When this flag is True, play() with no parts means to play the animation on each of the subparts--instead of on the overall Actor. In this case, you may then play a different animation on a subpart, which replaces only that subpart's animation.
It makes sense to set this True when the union of all of your subparts completely defines the entire Actor.

showAllBounds
def showAllBounds(self)

Show the bounds of all actor geoms

showAllParts
def showAllParts(self, partName, lodName="lodRoot")

Make the given part and all its children render while in the tree. NOTE: this will affect child geometry

showPart
def showPart(self, partName, lodName="lodRoot")

Make the given part render while in the tree. NOTE: this will affect child geometry

stop
def stop(self, animName=None, partName=None)

stop(self, string=None, string=None) Stop named animation on the given part of the actor. If no name specified then stop all animations on the actor. NOTE: stops all LODs

stopJoint
def stopJoint(self, partName, jointName, lodName="lodRoot")

stopJoint(self, string, string, key="lodRoot") Stops the joint from animating external nodes. If the joint is animating a transform on a node, this will permanently stop it. However, this does not affect vertex animations.

unloadAnims
def unloadAnims(self, anims=None, partName=None, lodName=None)

unloadAnims(self, string:string{}, string='modelRoot', string='lodRoot') Actor anim unloader. Takes an optional partName (defaults to 'modelRoot' for non-multipart actors) and lodName (defaults to 'lodRoot' for non-LOD actors) and dict of corresponding anims in the form animName:animPath{}. Deletes the anim control for the given animation and parts/lods.
If any parameter is None or omitted, it means all of them.

update
def update(self, lod=0, partName=None, lodName=None, force=False)

Updates all of the Actor's joints in the indicated LOD. The LOD may be specified by name, or by number, where 0 is the highest level of detail, 1 is the next highest, and so on.
If force is True, this will update every joint, even if we don't believe it's necessary.
Returns True if any joint has changed as a result of this, False otherwise.

useLOD
def useLOD(self, lodName)

Make the Actor ONLY display the given LOD


ActorControl

    from direct.tkpanels.AnimPanel import ActorControl

Inheritance:

    ActorControl:

Methods of ActorControl:

    __init__
    __onPress
    __onRelease
    _updateLabelText
    disableControl
    displayFrameCounts
    displaySeconds
    enableControl
    goTo
    goToF
    goToT
    play
    resetToEnd
    resetToZero
    selectAnimNamed
    setOffset
    setPlayRate
    updateDisplay
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

__onPress
def __onPress(self, event)

Undocumented function.

__onRelease
def __onRelease(self, event)

Undocumented function.

_updateLabelText
def _updateLabelText(self)

Undocumented function.

disableControl
def disableControl(self)

Undocumented function.

displayFrameCounts
def displayFrameCounts(self)

Undocumented function.

displaySeconds
def displaySeconds(self)

Undocumented function.

enableControl
def enableControl(self)

Undocumented function.

goTo
def goTo(self, t)

Undocumented function.

goToF
def goToF(self, f)

Undocumented function.

goToT
def goToT(self, t)

Undocumented function.

play
def play(self, deltaT, fLoop)

Undocumented function.

resetToEnd
def resetToEnd(self)

Undocumented function.

resetToZero
def resetToZero(self)

Undocumented function.

selectAnimNamed
def selectAnimNamed(self, name)

Undocumented function.

setOffset
def setOffset(self)

Undocumented function.

setPlayRate
def setPlayRate(self, rate)

Undocumented function.

updateDisplay
def updateDisplay(self)

Undocumented function.


ActorInterval

    from direct.interval.ActorInterval import ActorInterval

Inheritance:

    ActorInterval:

Methods of ActorInterval:

    __init__
    getCurrentFrame
    privFinalize
    privStep
    resetControls
__init__
def __init__(self, actor, animName, loop=0, constrainedLoop=0, duration=None, startTime=None, endTime=None, startFrame=None, endFrame=None, playRate=1.0, name=None, forceUpdate=0, partName=None, lodName=None)

Undocumented function.

getCurrentFrame
def getCurrentFrame(self)

Calculate the current frame playing in this interval.
returns a float value between startFrame and endFrame, inclusive returns None if there are any problems

privFinalize
def privFinalize(self)

Undocumented function.

privStep
def privStep(self, t)

Undocumented function.

resetControls
def resetControls(self, partName, lodName=None)

Undocumented function.


ActorNode

    from pandac.PandaModules import ActorNode

Inheritance:

    ActorNode: PhysicalNode
    PhysicalNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of ActorNode:

    ActorNode (Constructor)
    getClassType
    getContactVector
    getPhysicsObject
    setContactVector
    setTransformLimit
    updateTransform

Methods of PhysicalNode:

    PhysicalNode (Constructor)
    addPhysical
    addPhysicalsFrom
    clear
    getClassType
    getNumPhysicals
    getPhysical
    removePhysical
    write

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
ActorNode
ActorNode::ActorNode(string const &name = (""));

Description : Constructor
Description : Copy Constructor.

getClassType
static TypeHandle ActorNode::get_class_type(void);

Undocumented function.

getContactVector
LVector3f const &ActorNode::get_contact_vector(void) const;

Description :

getPhysicsObject
PhysicsObject *ActorNode::get_physics_object(void);

Undocumented function.

setContactVector
void ActorNode::set_contact_vector(LVector3f const &contact_vector);

Description :

setTransformLimit
void ActorNode::set_transform_limit(float limit);

Undocumented function.

updateTransform
void ActorNode::update_transform(void);

update the parent scene graph node with PhysicsObject information i.e. copy from PhysicsObject to PandaNode
Description : this sets the transform generated by the contained Physical, moving the node and subsequent geometry. i.e. copy from PhysicsObject to PandaNode

PhysicalNode
PhysicalNode::PhysicalNode(string const &name);

Description : default constructor
Description : copy constructor

addPhysical
void PhysicalNode::add_physical(Physical *physical);

Undocumented function.

addPhysicalsFrom
void PhysicalNode::add_physicals_from(PhysicalNode const &other);

Description : append operation

clear
void PhysicalNode::clear(void);

Undocumented function.

getClassType
static TypeHandle PhysicalNode::get_class_type(void);

Undocumented function.

getNumPhysicals
int PhysicalNode::get_num_physicals(void) const;

Undocumented function.

getPhysical
Physical *PhysicalNode::get_physical(int index) const;

Undocumented function.

removePhysical
void PhysicalNode::remove_physical(Physical *physical);

Description : remove operation

write
virtual void PhysicalNode::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


aiWebServer

    from direct.http.webAIInspector import aiWebServer

Inheritance:

    aiWebServer:

Methods of aiWebServer:

    __init__
    blank
    genAvSelect
    generateSortedIDList
    genQuestSelect
    inspect
    magicWord
    oInst
    oMenu
    oType
    pollHTTPTask
    startCheckingIncomingHTTP
    stopCheckingIncomingHTTP
    systemInfo
    timeStamp
__init__
def __init__(self, air, listenPort=8080)

Undocumented function.

blank
def blank(self, replyTo, **kw)

Undocumented function.

genAvSelect
def genAvSelect(self)

Undocumented function.

generateSortedIDList
def generateSortedIDList(self)

Undocumented function.

genQuestSelect
def genQuestSelect(self)

Undocumented function.

inspect
def inspect(self, replyTo, **kw)

Undocumented function.

magicWord
def magicWord(self, replyTo, **kw)

Undocumented function.

oInst
def oInst(self, replyTo, **kw)

Undocumented function.

oMenu
def oMenu(self, replyTo, **kw)

Undocumented function.

oType
def oType(self, replyTo, **kw)

Undocumented function.

pollHTTPTask
def pollHTTPTask(self, task)

Task that polls the HTTP server for new requests.

startCheckingIncomingHTTP
def startCheckingIncomingHTTP(self)

Undocumented function.

stopCheckingIncomingHTTP
def stopCheckingIncomingHTTP(self)

Undocumented function.

systemInfo
def systemInfo(self, replyTo, **kw)

Undocumented function.

timeStamp
def timeStamp(self)

Undocumented function.


AlphaTestAttrib

    from pandac.PandaModules import AlphaTestAttrib
    Class : AlphaTestAttrib
    Description : Enables or disables writing of pixel to framebuffer based on its alpha value relative to a reference alpha value

Inheritance:

    AlphaTestAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of AlphaTestAttrib:

    getClassType
    getMode
    getReferenceAlpha
    make

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle AlphaTestAttrib::get_class_type(void);

Undocumented function.

getMode
RenderAttrib::PandaCompareFunc AlphaTestAttrib::get_mode(void) const;

Description: Returns the alpha write mode.

getReferenceAlpha
float AlphaTestAttrib::get_reference_alpha(void) const;

Description: Returns the alpha reference value.

make
static ConstPointerTo< RenderAttrib > AlphaTestAttrib::make(RenderAttrib::PandaCompareFunc mode, float reference_alpha);

Description: Constructs a new AlphaTestAttrib object.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


AlreadyInTransition

    from direct.fsm.FSM import AlreadyInTransition

Inheritance:

    AlreadyInTransition:


AmbientLight

    from pandac.PandaModules import AmbientLight
    Class : AmbientLight
    Description : A light source that seems to illuminate all points in space at once. This kind of light need not actually be part of the scene graph, since it has no meaningful position.

Inheritance:

    AmbientLight: LightNode
    LightNode: Light PandaNode
    Light: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    Namable:
    LinkedListNode:

Methods of AmbientLight:

    AmbientLight (Constructor)
    getClassType

Methods of LightNode:

    getClassType
    output
    write

Methods of Light:

    asNode
    getClassPriority
    getClassType
    getColor
    getPriority
    setColor
    setPriority

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
AmbientLight
AmbientLight::AmbientLight(string const &name);

Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

getClassType
static TypeHandle AmbientLight::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle LightNode::get_class_type(void);

Undocumented function.

output
virtual void LightNode::output(ostream &out) const;

We have to explicitly publish these because they resolve the multiple inheritance.
Description:

write
virtual void LightNode::write(ostream &out, int indent_level = (0)) const;

We have to explicitly publish these because they resolve the multiple inheritance.
Description:

asNode
virtual PandaNode *Light::as_node(void) = 0;

Undocumented function.

getClassPriority
virtual int Light::get_class_priority(void) const = 0;

Undocumented function.

getClassType
static TypeHandle Light::get_class_type(void);

Undocumented function.

getColor
LVecBase4f const &Light::get_color(void) const;

Description: Returns the basic color of the light.

getPriority
int Light::get_priority(void) const;

Description: Returns the priority associated with this light. See set_priority().

setColor
void Light::set_color(LVecBase4f const &color);

Description: Sets the basic color of the light.

setPriority
void Light::set_priority(int priority);

Description: Changes the relative importance of this light relative to the other lights that are applied simultaneously.
The priority number is used to decide which of the requested lights are to be selected for rendering when more lights are requested than the hardware will support. The highest-priority n lights are selected for rendering.
This is similar to TextureStage::set_priority().

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


AnalogNode

    from pandac.PandaModules import AnalogNode
    Class : AnalogNode
    Description : This is the primary interface to analog controls like sliders and joysticks associated with a ClientBase. This creates a node that connects to the named analog device, if it exists, and provides hooks to the user to read the state of any of the sequentially numbered controls associated with that device.
    Each control can return a value ranging from -1 to 1, reflecting the current position of the control within its total range of motion.
    The user may choose up to two analog controls to place on the data graph as the two channels of an xy datagram, similarly to the way a mouse places its position data. In this way, an AnalogNode may be used in place of a mouse.

Inheritance:

    AnalogNode: DataNode
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of AnalogNode:

    AnalogNode (Constructor)
    clearOutput
    getClassType
    getControlState
    getNumControls
    getOutput
    isControlKnown
    isOutputFlipped
    isValid
    setOutput

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
AnalogNode
AnalogNode::AnalogNode(ClientBase *client, string const &device_name);

Description:

clearOutput
void AnalogNode::clear_output(int channel);

Description: Removes the output to the data graph associated with the indicated channel. See set_output().

getClassType
static TypeHandle AnalogNode::get_class_type(void);

Undocumented function.

getControlState
double AnalogNode::get_control_state(int index) const;

Description: Returns the current position of indicated analog control identified by its index number, or 0.0 if the control is unknown. The normal range of a single control is -1.0 to 1.0.

getNumControls
int AnalogNode::get_num_controls(void) const;

Description: Returns the number of analog controls known to the AnalogNode. This number may change as more controls are discovered.

getOutput
int AnalogNode::get_output(int channel) const;

Description: Returns the analog control index that is output to the data graph on the indicated channel, or -1 if no control is output on that channel. See set_output().

isControlKnown
bool AnalogNode::is_control_known(int index) const;

Description: Returns true if the state of the indicated analog control is known, or false if we have never heard anything about this particular control.

isOutputFlipped
bool AnalogNode::is_output_flipped(int channel) const;

Description: Returns true if the analog control index that is output to the data graph on the indicated channel is flipped. See set_output().

isValid
bool AnalogNode::is_valid(void) const;

Description: Returns true if the AnalogNode is valid and connected to a server, false otherwise.

setOutput
void AnalogNode::set_output(int channel, int index, bool flip);

Description: Causes a particular analog control to be placed in the data graph for the indicated channel. Normally, a mouse uses channels 0 and 1 for the X and Y information, respectively; channels 0, 1, and 2 are available. If flip is true, the analog control value will be reversed before outputting it.

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


AngleDial

    from direct.tkwidgets.Dial import AngleDial

Inheritance:

    AngleDial:

Methods of AngleDial:

    __init__
__init__
def __init__(self, parent=None, **kw)

Undocumented function.


AngularEulerIntegrator

    from pandac.PandaModules import AngularEulerIntegrator

Inheritance:

    AngularEulerIntegrator: AngularIntegrator
    AngularIntegrator: BaseIntegrator
    BaseIntegrator:

Methods of AngularEulerIntegrator:

    AngularEulerIntegrator (Constructor)
AngularEulerIntegrator
AngularEulerIntegrator::AngularEulerIntegrator(void);

Description : constructor


AngularForce

    from pandac.PandaModules import AngularForce
    Class : AngularForce
    Description : pure virtual parent of all quat-based forces.

Inheritance:

    AngularForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of AngularForce:

    getClassType
    getQuat
    makeCopy
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle AngularForce::get_class_type(void);

Undocumented function.

getQuat
LRotationf AngularForce::get_quat(PhysicsObject const *po);

Description : access query

makeCopy
virtual AngularForce *AngularForce::make_copy(void) const = 0;

Undocumented function.

write
virtual void AngularForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


AngularIntegrator

    from pandac.PandaModules import AngularIntegrator
    Class : BaseAngularIntegrator
    Description : Pure virtual base class for physical modeling. Takes physically modelable objects and applies forces to them.

Inheritance:

    AngularIntegrator: BaseIntegrator
    BaseIntegrator:


AngularVectorForce

    from pandac.PandaModules import AngularVectorForce
    Class : AngularVectorForce
    Description : a simple directed torque force, the angular equivalent of simple vector force.

Inheritance:

    AngularVectorForce: AngularForce
    AngularForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of AngularVectorForce:

    AngularVectorForce (Constructor)
    getClassType
    getLocalQuat
    setHpr
    setQuat

Methods of AngularForce:

    getClassType
    getQuat
    makeCopy
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
AngularVectorForce
AngularVectorForce::AngularVectorForce(LRotationf const &quat);

Description : constructor
Description : copy constructor

getClassType
static TypeHandle AngularVectorForce::get_class_type(void);

Undocumented function.

getLocalQuat
LRotationf AngularVectorForce::get_local_quat(void) const;

Undocumented function.

setHpr
void AngularVectorForce::set_hpr(float h, float p, float r);

Undocumented function.

setQuat
void AngularVectorForce::set_quat(LRotationf const &quat);

Undocumented function.

getClassType
static TypeHandle AngularForce::get_class_type(void);

Undocumented function.

getQuat
LRotationf AngularForce::get_quat(PhysicsObject const *po);

Description : access query

makeCopy
virtual AngularForce *AngularForce::make_copy(void) const = 0;

Undocumented function.

write
virtual void AngularForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


AnimBundle

    from pandac.PandaModules import AnimBundle
    Class : AnimBundle
    Description : This is the root of an AnimChannel hierarchy. It knows the frame rate and number of frames of all the channels in the hierarchy (which must all match).

Inheritance:

    AnimBundle: AnimGroup
    AnimGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of AnimBundle:

    AnimBundle (Constructor)
    copyBundle
    getBaseFrameRate
    getClassType
    getNumFrames

Methods of AnimGroup:

    findChild
    getChild
    getClassType
    getNumChildren
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
AnimBundle
AnimBundle::AnimBundle(string const &name, float fps, int num_frames);

Description:
Description: Creates a new AnimBundle, just like this one, without copying any children. The new copy is added to the indicated parent. Intended to be called by make_copy() only.

copyBundle
PointerTo< AnimBundle > AnimBundle::copy_bundle(void) const;

Description: Returns a full copy of the bundle and its entire tree of nested AnimGroups. However, the actual data stored in the leaves--that is, animation tables, such as those stored in an AnimChannelMatrixXfmTable--will be shared.

getBaseFrameRate
double AnimBundle::get_base_frame_rate(void) const;

Description: Returns the ideal number of frames per second of the animation, when it is running at normal speed. This may not be the same as the actual playing frame rate, as it might have been adjusted through set_play_rate() on the AnimControl object. See AnimControl::get_effective_frame_rate().

getClassType
static TypeHandle AnimBundle::get_class_type(void);

Undocumented function.

getNumFrames
int AnimBundle::get_num_frames(void) const;

Description: Returns the number of frames of animation, or 0 if the animation has no fixed number of frames.

findChild
AnimGroup *AnimGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
AnimGroup *AnimGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle AnimGroup::get_class_type(void);

Undocumented function.

getNumChildren
int AnimGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

output
virtual void AnimGroup::output(ostream &out) const;

Description: Writes a one-line description of the group.

write
virtual void AnimGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


AnimBundleNode

    from pandac.PandaModules import AnimBundleNode
    Class : AnimBundleNode
    Description : This is a node that contains a pointer to an AnimBundle. Like AnimBundleNode, it exists solely to make it easy to store AnimBundles in the scene graph.

Inheritance:

    AnimBundleNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of AnimBundleNode:

    getBundle
    getClassType

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
getBundle
AnimBundle *AnimBundleNode::get_bundle(void) const;

Description:

getClassType
static TypeHandle AnimBundleNode::get_class_type(void);

Undocumented function.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


AnimChannelBase

    from pandac.PandaModules import AnimChannelBase
    Class : AnimChannelBase
    Description : Parent class for all animation channels. An AnimChannel is an arbitrary function that changes over time (actually, over frames), usually defined by a table read from an egg file (but possibly computed or generated in any other way).

Inheritance:

    AnimChannelBase: AnimGroup
    AnimGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of AnimChannelBase:

    getClassType

Methods of AnimGroup:

    findChild
    getChild
    getClassType
    getNumChildren
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
getClassType
static TypeHandle AnimChannelBase::get_class_type(void);

Undocumented function.

findChild
AnimGroup *AnimGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
AnimGroup *AnimGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle AnimGroup::get_class_type(void);

Undocumented function.

getNumChildren
int AnimGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

output
virtual void AnimGroup::output(ostream &out) const;

Description: Writes a one-line description of the group.

write
virtual void AnimGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


AnimChannelMatrixDynamic

    from pandac.PandaModules import AnimChannelMatrixDynamic
    Class : AnimChannelMatrixDynamic
    Description : An animation channel that accepts a matrix each frame from some dynamic input provided by code.
    This object operates in two modes: in explicit mode, the programmer should call set_value() each frame to indicate the new value; in implicit mode, the programmer should call set_value_node() to indicate the node whose transform will be copied to the joint each frame.

Inheritance:

    AnimChannelMatrixDynamic: AnimChannel< ACMatrixSwitchType >
    AnimChannel< ACMatrixSwitchType >: AnimChannelBase
    AnimChannelBase: AnimGroup
    AnimGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of AnimChannelMatrixDynamic:

    getClassType
    getValueNode
    getValueTransform
    setValue
    setValueNode

Methods of AnimChannel< ACMatrixSwitchType >:

    getClassType
    getHpr
    getPos
    getQuat
    getScale
    getShear
    getValue
    getValueNoScaleShear

Methods of AnimChannelBase:

    getClassType

Methods of AnimGroup:

    findChild
    getChild
    getClassType
    getNumChildren
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
getClassType
static TypeHandle AnimChannelMatrixDynamic::get_class_type(void);

Undocumented function.

getValueNode
PandaNode *AnimChannelMatrixDynamic::get_value_node(void) const;

Description: Returns the node that was set via set_value_node(), if any.

getValueTransform
TransformState const *AnimChannelMatrixDynamic::get_value_transform(void) const;

Description: Returns the explicit TransformState value that was set via set_value(), if any.

setValue
void AnimChannelMatrixDynamic::set_value(LMatrix4f const &value);

Description: Explicitly sets the matrix value.
Description: Explicitly sets the matrix value, using the indicated TransformState object as a convenience.

setValueNode
void AnimChannelMatrixDynamic::set_value_node(PandaNode *node);

Description: Specifies a node whose transform will be queried each frame to implicitly specify the transform of this joint.

getClassType
static TypeHandle ::AnimChannel< ACMatrixSwitchType >::get_class_type(void);

Undocumented function.

getHpr
virtual void ::AnimChannel< ACMatrixSwitchType >::get_hpr(int frame, LVecBase3f &hpr);

Undocumented function.

getPos
virtual void ::AnimChannel< ACMatrixSwitchType >::get_pos(int frame, LVecBase3f &pos);

Undocumented function.

getQuat
virtual void ::AnimChannel< ACMatrixSwitchType >::get_quat(int frame, LQuaternionf &quat);

Undocumented function.

getScale
virtual void ::AnimChannel< ACMatrixSwitchType >::get_scale(int frame, LVecBase3f &scale);

These transform-component methods only have meaning for matrix types.

getShear
virtual void ::AnimChannel< ACMatrixSwitchType >::get_shear(int frame, LVecBase3f &shear);

Undocumented function.

getValue
virtual void ::AnimChannel< ACMatrixSwitchType >::get_value(int frame, LMatrix4f &value) = 0;

Undocumented function.

getValueNoScaleShear
virtual void ::AnimChannel< ACMatrixSwitchType >::get_value_no_scale_shear(int frame, LMatrix4f &value);

These transform-component methods only have meaning for matrix types.

getClassType
static TypeHandle AnimChannelBase::get_class_type(void);

Undocumented function.

findChild
AnimGroup *AnimGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
AnimGroup *AnimGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle AnimGroup::get_class_type(void);

Undocumented function.

getNumChildren
int AnimGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

output
virtual void AnimGroup::output(ostream &out) const;

Description: Writes a one-line description of the group.

write
virtual void AnimGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


AnimChannelMatrixXfmTable

    from pandac.PandaModules import AnimChannelMatrixXfmTable
    Class : AnimChannelMatrixXfmTable
    Description : An animation channel that issues a matrix each frame, read from a table such as might have been read from an egg file. The table actually consists of nine sub-tables, each representing one component of the transform: scale, rotate, translate.

Inheritance:

    AnimChannelMatrixXfmTable: AnimChannel< ACMatrixSwitchType >
    AnimChannel< ACMatrixSwitchType >: AnimChannelBase
    AnimChannelBase: AnimGroup
    AnimGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of AnimChannelMatrixXfmTable:

    clearAllTables
    clearTable
    getClassType
    hasTable

Methods of AnimChannel< ACMatrixSwitchType >:

    getClassType
    getHpr
    getPos
    getQuat
    getScale
    getShear
    getValue
    getValueNoScaleShear

Methods of AnimChannelBase:

    getClassType

Methods of AnimGroup:

    findChild
    getChild
    getClassType
    getNumChildren
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
clearAllTables
void AnimChannelMatrixXfmTable::clear_all_tables(void);

Description: Removes all the tables from the channel, and resets it to its initial state.

clearTable
void AnimChannelMatrixXfmTable::clear_table(char table_id);

Description: Removes the indicated table from the definition.

getClassType
static TypeHandle AnimChannelMatrixXfmTable::get_class_type(void);

Undocumented function.

hasTable
bool AnimChannelMatrixXfmTable::has_table(char table_id) const;

Description: Returns true if the indicated subtable has been assigned.

getClassType
static TypeHandle ::AnimChannel< ACMatrixSwitchType >::get_class_type(void);

Undocumented function.

getHpr
virtual void ::AnimChannel< ACMatrixSwitchType >::get_hpr(int frame, LVecBase3f &hpr);

Undocumented function.

getPos
virtual void ::AnimChannel< ACMatrixSwitchType >::get_pos(int frame, LVecBase3f &pos);

Undocumented function.

getQuat
virtual void ::AnimChannel< ACMatrixSwitchType >::get_quat(int frame, LQuaternionf &quat);

Undocumented function.

getScale
virtual void ::AnimChannel< ACMatrixSwitchType >::get_scale(int frame, LVecBase3f &scale);

These transform-component methods only have meaning for matrix types.

getShear
virtual void ::AnimChannel< ACMatrixSwitchType >::get_shear(int frame, LVecBase3f &shear);

Undocumented function.

getValue
virtual void ::AnimChannel< ACMatrixSwitchType >::get_value(int frame, LMatrix4f &value) = 0;

Undocumented function.

getValueNoScaleShear
virtual void ::AnimChannel< ACMatrixSwitchType >::get_value_no_scale_shear(int frame, LMatrix4f &value);

These transform-component methods only have meaning for matrix types.

getClassType
static TypeHandle AnimChannelBase::get_class_type(void);

Undocumented function.

findChild
AnimGroup *AnimGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
AnimGroup *AnimGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle AnimGroup::get_class_type(void);

Undocumented function.

getNumChildren
int AnimGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

output
virtual void AnimGroup::output(ostream &out) const;

Description: Writes a one-line description of the group.

write
virtual void AnimGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


AnimChannelScalarDynamic

    from pandac.PandaModules import AnimChannelScalarDynamic
    Class : AnimChannelScalarDynamic
    Description : An animation channel that accepts a scalar each frame from some dynamic input provided by code.
    This object operates in two modes: in explicit mode, the programmer should call set_value() each frame to indicate the new value; in implicit mode, the programmer should call set_value_node() to indicate the node whose X component will be copied to the scalar each frame.

Inheritance:

    AnimChannelScalarDynamic: AnimChannel< ACScalarSwitchType >
    AnimChannel< ACScalarSwitchType >: AnimChannelBase
    AnimChannelBase: AnimGroup
    AnimGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of AnimChannelScalarDynamic:

    getClassType
    setValue
    setValueNode

Methods of AnimChannel< ACScalarSwitchType >:

    getClassType
    getHpr
    getPos
    getQuat
    getScale
    getShear
    getValue
    getValueNoScaleShear

Methods of AnimChannelBase:

    getClassType

Methods of AnimGroup:

    findChild
    getChild
    getClassType
    getNumChildren
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
getClassType
static TypeHandle AnimChannelScalarDynamic::get_class_type(void);

Undocumented function.

setValue
void AnimChannelScalarDynamic::set_value(float value);

Description: Explicitly sets the value.

setValueNode
void AnimChannelScalarDynamic::set_value_node(PandaNode *node);

Description: Specifies a node whose transform will be queried each frame to implicitly specify the transform of this joint.

getClassType
static TypeHandle ::AnimChannel< ACScalarSwitchType >::get_class_type(void);

Undocumented function.

getHpr
virtual void ::AnimChannel< ACScalarSwitchType >::get_hpr(int frame, LVecBase3f &hpr);

Undocumented function.

getPos
virtual void ::AnimChannel< ACScalarSwitchType >::get_pos(int frame, LVecBase3f &pos);

Undocumented function.

getQuat
virtual void ::AnimChannel< ACScalarSwitchType >::get_quat(int frame, LQuaternionf &quat);

Undocumented function.

getScale
virtual void ::AnimChannel< ACScalarSwitchType >::get_scale(int frame, LVecBase3f &scale);

These transform-component methods only have meaning for matrix types.

getShear
virtual void ::AnimChannel< ACScalarSwitchType >::get_shear(int frame, LVecBase3f &shear);

Undocumented function.

getValue
virtual void ::AnimChannel< ACScalarSwitchType >::get_value(int frame, float &value) = 0;

Undocumented function.

getValueNoScaleShear
virtual void ::AnimChannel< ACScalarSwitchType >::get_value_no_scale_shear(int frame, float &value);

These transform-component methods only have meaning for matrix types.

getClassType
static TypeHandle AnimChannelBase::get_class_type(void);

Undocumented function.

findChild
AnimGroup *AnimGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
AnimGroup *AnimGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle AnimGroup::get_class_type(void);

Undocumented function.

getNumChildren
int AnimGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

output
virtual void AnimGroup::output(ostream &out) const;

Description: Writes a one-line description of the group.

write
virtual void AnimGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


AnimChannelScalarTable

    from pandac.PandaModules import AnimChannelScalarTable
    Class : AnimChannelScalarTable
    Description : An animation channel that issues a scalar each frame, read from a table such as might have been read from an egg file.

Inheritance:

    AnimChannelScalarTable: AnimChannel< ACScalarSwitchType >
    AnimChannel< ACScalarSwitchType >: AnimChannelBase
    AnimChannelBase: AnimGroup
    AnimGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of AnimChannelScalarTable:

    clearTable
    getClassType
    hasTable

Methods of AnimChannel< ACScalarSwitchType >:

    getClassType
    getHpr
    getPos
    getQuat
    getScale
    getShear
    getValue
    getValueNoScaleShear

Methods of AnimChannelBase:

    getClassType

Methods of AnimGroup:

    findChild
    getChild
    getClassType
    getNumChildren
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
clearTable
void AnimChannelScalarTable::clear_table(void);

Description: Empties the data table.

getClassType
static TypeHandle AnimChannelScalarTable::get_class_type(void);

Undocumented function.

hasTable
bool AnimChannelScalarTable::has_table(void) const;

Description: Returns true if the data table has been assigned.

getClassType
static TypeHandle ::AnimChannel< ACScalarSwitchType >::get_class_type(void);

Undocumented function.

getHpr
virtual void ::AnimChannel< ACScalarSwitchType >::get_hpr(int frame, LVecBase3f &hpr);

Undocumented function.

getPos
virtual void ::AnimChannel< ACScalarSwitchType >::get_pos(int frame, LVecBase3f &pos);

Undocumented function.

getQuat
virtual void ::AnimChannel< ACScalarSwitchType >::get_quat(int frame, LQuaternionf &quat);

Undocumented function.

getScale
virtual void ::AnimChannel< ACScalarSwitchType >::get_scale(int frame, LVecBase3f &scale);

These transform-component methods only have meaning for matrix types.

getShear
virtual void ::AnimChannel< ACScalarSwitchType >::get_shear(int frame, LVecBase3f &shear);

Undocumented function.

getValue
virtual void ::AnimChannel< ACScalarSwitchType >::get_value(int frame, float &value) = 0;

Undocumented function.

getValueNoScaleShear
virtual void ::AnimChannel< ACScalarSwitchType >::get_value_no_scale_shear(int frame, float &value);

These transform-component methods only have meaning for matrix types.

getClassType
static TypeHandle AnimChannelBase::get_class_type(void);

Undocumented function.

findChild
AnimGroup *AnimGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
AnimGroup *AnimGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle AnimGroup::get_class_type(void);

Undocumented function.

getNumChildren
int AnimGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

output
virtual void AnimGroup::output(ostream &out) const;

Description: Writes a one-line description of the group.

write
virtual void AnimGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


AnimControl

    from pandac.PandaModules import AnimControl
    Class : AnimControl
    Description : Controls the timing of a character animation. An AnimControl object is created for each character/bundle binding and manages the state of the animation: whether started, stopped, or looping, and the current frame number and play rate.

Inheritance:

    AnimControl: ReferenceCount AnimInterface
    ReferenceCount: MemoryBase
    MemoryBase:
    AnimInterface:

Methods of AnimControl:

    getAnim
    getBoundJoints
    getChannelIndex
    getClassType
    getPart
    output

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of AnimInterface:

    getClassType
    getFrac
    getFrame
    getFrameRate
    getFullFframe
    getFullFrame
    getNextFrame
    getNumFrames
    getPlayRate
    isPlaying
    loop
    output
    pingpong
    play
    pose
    setPlayRate
    stop
getAnim
AnimBundle *AnimControl::get_anim(void) const;

Description: Returns the AnimBundle bound in with this AnimControl.

getBoundJoints
BitArray const &AnimControl::get_bound_joints(void) const;

Description: Returns the subset of joints controlled by this AnimControl. Most of the time, this will be BitArray::all_on(), for a normal full-body animation. For a subset animation, however, this will be just a subset of those bits, corresponding to the set of joints and sliders actually bound (as enumerated by bind_hierarchy() in depth-first LIFO order).

getChannelIndex
int AnimControl::get_channel_index(void) const;

Description: Returns the particular channel index associated with this AnimControl. This channel index is the slot on which each AnimGroup is bound to its associated PartGroup, for each joint in the animation.
It will be true that get_part()->find_child("n")->get_bound(get_channel_index()) == get_anim()->find_child("n"), for each joint "n".

getClassType
static TypeHandle AnimControl::get_class_type(void);

Undocumented function.

getPart
PartBundle *AnimControl::get_part(void) const;

Description: Returns the PartBundle bound in with this AnimControl.

output
virtual void AnimControl::output(ostream &out) const;

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

getClassType
static TypeHandle AnimInterface::get_class_type(void);

Undocumented function.

getFrac
double AnimInterface::get_frac(void) const;

Description: Returns the fractional part of the current frame. Normally, this is in the range 0.0 <= f < 1.0, but in the one special case of an animation playing to its end frame and stopping, it might exactly equal 1.0.
It will always be true that get_full_frame() + get_frac() == get_full_fframe().

getFrame
int AnimInterface::get_frame(void) const;

Description: Returns the current integer frame number. This number will be in the range 0 <= f < get_num_frames().

getFrameRate
double AnimInterface::get_frame_rate(void) const;

Description: Returns the native frame rate of the animation. This is the number of frames per second that will elapse when the play_rate is set to 1.0. It is a fixed property of the animation and may not be adjusted by the user.

getFullFframe
double AnimInterface::get_full_fframe(void) const;

Description: Returns the current floating-point frame number.
Unlike the value returned by get_frame(), this frame number may extend beyond the range of get_num_frames() if the frame range passed to play(), loop(), etc. did.
Unlike the value returned by get_full_frame(), this return value may equal (to_frame + 1.0), when the animation has played to its natural end. However, in this case the return value of get_full_frame() will be to_frame, not (to_frame + 1).

getFullFrame
int AnimInterface::get_full_frame(void) const;

Description: Returns the current integer frame number.
Unlike the value returned by get_frame(), this frame number may extend beyond the range of get_num_frames() if the frame range passed to play(), loop(), etc. did.
Unlike the value returned by get_full_fframe(), this return value will never exceed the value passed to to_frame in the play() method.

getNextFrame
int AnimInterface::get_next_frame(void) const;

Description: Returns the current integer frame number + 1, constrained to the range 0 <= f < get_num_frames().
If the play mode is PM_play, this will clamp to the same value as get_frame() at the end of the animation. If the play mode is any other value, this will wrap around to frame 0 at the end of the animation.

getNumFrames
virtual int AnimInterface::get_num_frames(void) const;

Description: Returns the number of frames in the animation. This is a property of the animation and may not be directly adjusted by the user (although it may change without warning with certain kinds of animations, since this is a virtual method that may be overridden).

getPlayRate
double AnimInterface::get_play_rate(void) const;

Description: Returns the rate at which the animation plays. See set_play_rate().

isPlaying
bool AnimInterface::is_playing(void) const;

Description: Returns true if the animation is currently playing, false if it is stopped (e.g. because stop() or pose() was called, or because it reached the end of the animation after play() was called).

loop
void AnimInterface::loop(bool restart);

Description: Starts the entire animation looping. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.
Description: Loops the animation from the frame "from" to and including the frame "to", indefinitely. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.

output
virtual void AnimInterface::output(ostream &out) const;

Description:

pingpong
void AnimInterface::pingpong(bool restart);

Description: Starts the entire animation bouncing back and forth between its first frame and last frame. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.
Description: Loops the animation from the frame "from" to and including the frame "to", and then back in the opposite direction, indefinitely.

play
void AnimInterface::play(void);

Description: Runs the entire animation from beginning to end and stops.
Description: Runs the animation from the frame "from" to and including the frame "to", at which point the animation is stopped. Both "from" and "to" frame numbers may be outside the range (0, get_num_frames()) and the animation will follow the range correctly, reporting numbers modulo get_num_frames(). For instance, play(0, get_num_frames() * 2) will play the animation twice and then stop.

pose
void AnimInterface::pose(double frame);

Description: Sets the animation to the indicated frame and holds it there.

setPlayRate
void AnimInterface::set_play_rate(double play_rate);

Description: Changes the rate at which the animation plays. 1.0 is the normal speed, 2.0 is twice normal speed, and 0.5 is half normal speed. 0.0 is legal to pause the animation, and a negative value will play the animation backwards.

stop
void AnimInterface::stop(void);

Description: Stops a currently playing or looping animation right where it is. The animation remains posed at the current frame.


AnimControlCollection

    from pandac.PandaModules import AnimControlCollection
    Class : AnimControlCollection
    Description : This is a named collection of AnimControl pointers. An AnimControl may be added to the collection by name. While an AnimControl is associated, its reference count is maintained; associating a new AnimControl with the same name will decrement the previous control's reference count (and possibly delete it, unbinding its animation).

Inheritance:

    AnimControlCollection:

Methods of AnimControlCollection:

    AnimControlCollection (Constructor)
    clearAnims
    findAnim
    getAnim
    getAnimName
    getFrame
    getNumAnims
    getNumFrames
    isPlaying
    loop
    loopAll
    output
    play
    playAll
    pose
    poseAll
    stop
    stopAll
    storeAnim
    unbindAnim
    whichAnimPlaying
    write
AnimControlCollection
AnimControlCollection::AnimControlCollection(void);

Description: Returns the AnimControl associated with the given name, or NULL if no such control has been associated.

clearAnims
void AnimControlCollection::clear_anims(void);

Description: Disassociates all anims from this collection.

findAnim
AnimControl *AnimControlCollection::find_anim(string const &name) const;

Description: Returns the AnimControl associated with the given name, or NULL if no such control has been associated.

getAnim
AnimControl *AnimControlCollection::get_anim(int n) const;

Description: Returns the nth AnimControl associated with this collection.

getAnimName
string AnimControlCollection::get_anim_name(int n) const;

Description: Returns the name of the nth AnimControl associated with this collection.

getFrame
int AnimControlCollection::get_frame(string const &anim_name) const;

Description: Returns the current frame in the named animation, or 0 if the animation is not found.
Description: Returns the current frame in the last-started animation.

getNumAnims
int AnimControlCollection::get_num_anims(void) const;

Description: Returns the number of AnimControls associated with this collection.

getNumFrames
int AnimControlCollection::get_num_frames(string const &anim_name) const;

Description: Returns the total number of frames in the named animation, or 0 if the animation is not found.
Description: Returns the total number of frames in the last-started animation.

isPlaying
bool AnimControlCollection::is_playing(string const &anim_name) const;

Description: Returns true if the named animation is currently playing, false otherwise.
Description: Returns true if the last-started animation is currently playing, false otherwise.

loop
bool AnimControlCollection::loop(string const &anim_name, bool restart);

Description: Starts the named animation looping.

loopAll
void AnimControlCollection::loop_all(bool restart);

Description: Starts all animations looping.

output
void AnimControlCollection::output(ostream &out) const;

Description:

play
bool AnimControlCollection::play(string const &anim_name);

The following functions are convenience functions that vector directly into the AnimControl's functionality by anim name.
Filename: animControlCollection.I Created by: drose (22Feb00)
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."
Description: Starts the named animation playing.

playAll
void AnimControlCollection::play_all(void);

These functions operate on all anims at once.
Description: Starts all animations playing.

pose
bool AnimControlCollection::pose(string const &anim_name, int frame);

Description: Sets to a particular frame in the named animation.

poseAll
void AnimControlCollection::pose_all(int frame);

Description: Sets all animations to the indicated frame.

stop
bool AnimControlCollection::stop(string const &anim_name);

Description: Stops the named animation.

stopAll
bool AnimControlCollection::stop_all(void);

Description: Stops all currently playing animations. Returns true if any animations were stopped, false if none were playing.

storeAnim
void AnimControlCollection::store_anim(AnimControl *control, string const &name);

Description: Associates the given AnimControl with this collection under the given name. The AnimControl will remain associated until a new AnimControl is associated with the same name later, or until unbind_anim() is called with this name.

unbindAnim
bool AnimControlCollection::unbind_anim(string const &name);

Description: Removes the AnimControl associated with the given name, if any. Returns true if an AnimControl was removed, false if there was no AnimControl with the indicated name.

whichAnimPlaying
string AnimControlCollection::which_anim_playing(void) const;

Description: Returns the name of the bound AnimControl currently playing, if any. If more than one AnimControl is currently playing, returns all of the names separated by spaces.

write
void AnimControlCollection::write(ostream &out) const;

Description:


AnimGroup

    from pandac.PandaModules import AnimGroup
    Class : AnimGroup
    Description : This is the base class for AnimChannel and AnimBundle. It implements a hierarchy of AnimChannels. The root of the hierarchy must be an AnimBundle.

Inheritance:

    AnimGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of AnimGroup:

    findChild
    getChild
    getClassType
    getNumChildren
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
findChild
AnimGroup *AnimGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
AnimGroup *AnimGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle AnimGroup::get_class_type(void);

Undocumented function.

getNumChildren
int AnimGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

output
virtual void AnimGroup::output(ostream &out) const;

Description: Writes a one-line description of the group.

write
virtual void AnimGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


AnimInterface

    from pandac.PandaModules import AnimInterface
    Class : AnimInterface
    Description : This is the fundamental interface for things that have a play/loop/stop type interface for frame-based animation, such as animated characters. This is the base class for AnimControl and other, similar classes.

Inheritance:

    AnimInterface:

Methods of AnimInterface:

    getClassType
    getFrac
    getFrame
    getFrameRate
    getFullFframe
    getFullFrame
    getNextFrame
    getNumFrames
    getPlayRate
    isPlaying
    loop
    output
    pingpong
    play
    pose
    setPlayRate
    stop
getClassType
static TypeHandle AnimInterface::get_class_type(void);

Undocumented function.

getFrac
double AnimInterface::get_frac(void) const;

Description: Returns the fractional part of the current frame. Normally, this is in the range 0.0 <= f < 1.0, but in the one special case of an animation playing to its end frame and stopping, it might exactly equal 1.0.
It will always be true that get_full_frame() + get_frac() == get_full_fframe().

getFrame
int AnimInterface::get_frame(void) const;

Description: Returns the current integer frame number. This number will be in the range 0 <= f < get_num_frames().

getFrameRate
double AnimInterface::get_frame_rate(void) const;

Description: Returns the native frame rate of the animation. This is the number of frames per second that will elapse when the play_rate is set to 1.0. It is a fixed property of the animation and may not be adjusted by the user.

getFullFframe
double AnimInterface::get_full_fframe(void) const;

Description: Returns the current floating-point frame number.
Unlike the value returned by get_frame(), this frame number may extend beyond the range of get_num_frames() if the frame range passed to play(), loop(), etc. did.
Unlike the value returned by get_full_frame(), this return value may equal (to_frame + 1.0), when the animation has played to its natural end. However, in this case the return value of get_full_frame() will be to_frame, not (to_frame + 1).

getFullFrame
int AnimInterface::get_full_frame(void) const;

Description: Returns the current integer frame number.
Unlike the value returned by get_frame(), this frame number may extend beyond the range of get_num_frames() if the frame range passed to play(), loop(), etc. did.
Unlike the value returned by get_full_fframe(), this return value will never exceed the value passed to to_frame in the play() method.

getNextFrame
int AnimInterface::get_next_frame(void) const;

Description: Returns the current integer frame number + 1, constrained to the range 0 <= f < get_num_frames().
If the play mode is PM_play, this will clamp to the same value as get_frame() at the end of the animation. If the play mode is any other value, this will wrap around to frame 0 at the end of the animation.

getNumFrames
virtual int AnimInterface::get_num_frames(void) const;

Description: Returns the number of frames in the animation. This is a property of the animation and may not be directly adjusted by the user (although it may change without warning with certain kinds of animations, since this is a virtual method that may be overridden).

getPlayRate
double AnimInterface::get_play_rate(void) const;

Description: Returns the rate at which the animation plays. See set_play_rate().

isPlaying
bool AnimInterface::is_playing(void) const;

Description: Returns true if the animation is currently playing, false if it is stopped (e.g. because stop() or pose() was called, or because it reached the end of the animation after play() was called).

loop
void AnimInterface::loop(bool restart);

Description: Starts the entire animation looping. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.
Description: Loops the animation from the frame "from" to and including the frame "to", indefinitely. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.

output
virtual void AnimInterface::output(ostream &out) const;

Description:

pingpong
void AnimInterface::pingpong(bool restart);

Description: Starts the entire animation bouncing back and forth between its first frame and last frame. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.
Description: Loops the animation from the frame "from" to and including the frame "to", and then back in the opposite direction, indefinitely.

play
void AnimInterface::play(void);

Description: Runs the entire animation from beginning to end and stops.
Description: Runs the animation from the frame "from" to and including the frame "to", at which point the animation is stopped. Both "from" and "to" frame numbers may be outside the range (0, get_num_frames()) and the animation will follow the range correctly, reporting numbers modulo get_num_frames(). For instance, play(0, get_num_frames() * 2) will play the animation twice and then stop.

pose
void AnimInterface::pose(double frame);

Description: Sets the animation to the indicated frame and holds it there.

setPlayRate
void AnimInterface::set_play_rate(double play_rate);

Description: Changes the rate at which the animation plays. 1.0 is the normal speed, 2.0 is twice normal speed, and 0.5 is half normal speed. 0.0 is legal to pause the animation, and a negative value will play the animation backwards.

stop
void AnimInterface::stop(void);

Description: Stops a currently playing or looping animation right where it is. The animation remains posed at the current frame.


AnimPanel

    from direct.tkpanels.AnimPanel import AnimPanel

Inheritance:

    AnimPanel:

Methods of AnimPanel:

    __init__
    clearActorControls
    createActorControls
    createInterface
    disableActorControlAt
    disableActorControls
    displayFrameCounts
    displaySeconds
    enableActorControlAt
    enableActorControls
    getActorControlAt
    loadAnim
    play
    playActorControls
    resetAllToEnd
    resetAllToZero
    setActors
    stopActorControls
    toggleAllControls
__init__
def __init__(self, aList=[], parent=None, session=None, **kw)

Undocumented function.

clearActorControls
def clearActorControls(self)

Undocumented function.

createActorControls
def createActorControls(self)

Undocumented function.

createInterface
def createInterface(self)

Undocumented function.

disableActorControlAt
def disableActorControlAt(self, index)

Undocumented function.

disableActorControls
def disableActorControls(self)

Undocumented function.

displayFrameCounts
def displayFrameCounts(self)

Undocumented function.

displaySeconds
def displaySeconds(self)

Undocumented function.

enableActorControlAt
def enableActorControlAt(self, index)

Undocumented function.

enableActorControls
def enableActorControls(self)

Undocumented function.

getActorControlAt
def getActorControlAt(self, index)

Undocumented function.

loadAnim
def loadAnim(self)

Undocumented function.

play
def play(self, task)

Undocumented function.

playActorControls
def playActorControls(self)

Undocumented function.

resetAllToEnd
def resetAllToEnd(self)

Undocumented function.

resetAllToZero
def resetAllToZero(self)

Undocumented function.

setActors
def setActors(self)

Undocumented function.

stopActorControls
def stopActorControls(self)

Undocumented function.

toggleAllControls
def toggleAllControls(self)

Undocumented function.


AntialiasAttrib

    from pandac.PandaModules import AntialiasAttrib
    Class : AntialiasAttrib
    Description : Specifies whether or how to enable antialiasing, if supported by the backend renderer.

Inheritance:

    AntialiasAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of AntialiasAttrib:

    getClassType
    getMode
    getModeQuality
    getModeType
    make

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in AntialiasAttrib:

    MNone | (Mode)
MPoint | (Mode)
MLine | (Mode)
MPolygon | (Mode)
MMultisample | (Mode)
MAuto | (Mode)
MTypeMask | (Mode)
MFaster | (Mode)
MBetter | (Mode)
MDontCare | (Mode)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle AntialiasAttrib::get_class_type(void);

Undocumented function.

getMode
unsigned short int AntialiasAttrib::get_mode(void) const;

Description: Returns the specified antialias mode.

getModeQuality
unsigned short int AntialiasAttrib::get_mode_quality(void) const;

Description: Returns the specified antialias mode, with the type bits masked out. This therefore indicates only the requested quality settings: one of M_faster, M_better, M_dont_care, or zero (unspecified).

getModeType
unsigned short int AntialiasAttrib::get_mode_type(void) const;

Description: Returns the specified antialias mode, with the quality bits masked out. This therefore indicates only the requested type of antialiasing: M_none, M_auto, or some specific combination.

make
static ConstPointerTo< RenderAttrib > AntialiasAttrib::make(unsigned short int mode);

Description: Constructs a new AntialiasAttrib object.
The mode should be either M_none, M_auto, or a union of any or all of M_point, M_line, M_polygon, and M_multisample. Also, in addition to the above choices, it may include either of M_better of M_faster to specify a performance/quality tradeoff hint.
If M_none is specified, no antialiasing is performed.
If M_multisample is specified, it means to use the special framebuffer multisample bits for antialiasing, if it is available. If so, the M_point, M_line, and M_polygon modes are ignored. This advanced antialiasing mode is only available on certain graphics hardware. If it is not available, the M_multisample bit is ignored (and the other modes may be used instead, if specified).
M_point, M_line, and/or M_polygon specify per-primitive smoothing. When enabled, M_point and M_line may force transparency on. M_polygon requires a frame buffer that includes an alpha channel, and it works best if the primitives are sorted front-to-back.
If M_auto is specified, M_multisample is selected if it is available, otherwise M_polygon is selected, unless drawing lines or points, in which case M_line or M_point is selected (these two generally produce better results than M_multisample)

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


AppShell

    from direct.tkwidgets.AppShell import AppShell

Inheritance:

    AppShell:

Methods of AppShell:

    __createAboutBox
    __createBalloon
    __createCommandArea
    __createDataArea
    __createInterface
    __createMenuBar
    __createMessageBar
    __init__
    addVariable
    addWidget
    alignbuttons
    appInit
    balloon
    bind
    buttonAdd
    buttonBox
    createInterface
    createMenuBar
    createWidget
    getVariable
    getWidget
    interior
    messageBar
    newCreateButton
    newCreateCheckbutton
    newCreateColorEntry
    newCreateComboBox
    newCreateDial
    newCreateEntryScale
    newCreateFloater
    newCreateLabeledEntry
    newCreateOptionMenu
    newCreateRadiobutton
    newCreateSider
    newCreateVector2Entry
    newCreateVector3Entry
    onDestroy
    quit
    showAbout
    toggleBalloon
    transformRGB
    updateProgress
__createAboutBox
def __createAboutBox(self)

Undocumented function.

__createBalloon
def __createBalloon(self)

Undocumented function.

__createCommandArea
def __createCommandArea(self)

Undocumented function.

__createDataArea
def __createDataArea(self)

Undocumented function.

__createInterface
def __createInterface(self)

Undocumented function.

__createMenuBar
def __createMenuBar(self)

Undocumented function.

__createMessageBar
def __createMessageBar(self)

Undocumented function.

__init__
def __init__(self, parent=None, **kw)

Undocumented function.

addVariable
def addVariable(self, category, text, variable)

Undocumented function.

addWidget
def addWidget(self, category, text, widget)

Undocumented function.

alignbuttons
def alignbuttons(self)

Make all buttons wide as widest

appInit
def appInit(self)

Undocumented function.

balloon
def balloon(self)

Undocumented function.

bind
def bind(self, child, balloonHelpMsg, statusHelpMsg=None)

Undocumented function.

buttonAdd
def buttonAdd(self, buttonName, helpMessage=None, statusMessage=None, **kw)

Undocumented function.

buttonBox
def buttonBox(self)

Undocumented function.

createInterface
def createInterface(self)

Undocumented function.

createMenuBar
def createMenuBar(self)

Undocumented function.

createWidget
def createWidget(self, parent, category, text, widgetClass, help, command, side, fill, expand, kw)

Undocumented function.

getVariable
def getVariable(self, category, text)

Undocumented function.

getWidget
def getWidget(self, category, text)

Undocumented function.

interior
def interior(self)

Undocumented function.

messageBar
def messageBar(self)

Undocumented function.

newCreateButton
def newCreateButton(self, parent, category, text, help='', command=None, side=LEFT, fill=X, expand=0, **kw)

createButton(parent, category, text, [options])

newCreateCheckbutton
def newCreateCheckbutton(self, parent, category, text, help='', command=None, initialState=0, anchor=W, side=LEFT, fill=X, expand=0, **kw)

createCheckbutton(parent, category, text, [options])

newCreateColorEntry
def newCreateColorEntry(self, parent, category, text, help='', command=None, side=LEFT, fill=X, expand=0, **kw)

Undocumented function.

newCreateComboBox
def newCreateComboBox(self, parent, category, text, help='', command=None, items=[], state=DISABLED, history=0, labelpos=W, label_anchor=W, label_width=16, entry_width=16, side=LEFT, fill=X, expand=0, **kw)

Undocumented function.

newCreateDial
def newCreateDial(self, parent, category, text, help='', command=None, side=LEFT, fill=X, expand=0, **kw)

Undocumented function.

newCreateEntryScale
def newCreateEntryScale(self, parent, category, text, help='', command=None, side=LEFT, fill=X, expand=0, **kw)

Undocumented function.

newCreateFloater
def newCreateFloater(self, parent, category, text, help='', command=None, side=LEFT, fill=X, expand=0, **kw)

Undocumented function.

newCreateLabeledEntry
def newCreateLabeledEntry(self, parent, category, text, help='', command=None, value='', width=12, relief=SUNKEN, side=LEFT, fill=X, expand=0)

createLabeledEntry(parent, category, text, [options])

newCreateOptionMenu
def newCreateOptionMenu(self, parent, category, text, help='', command=None, items=[], labelpos=W, label_anchor=W, label_width=16, menu_tearoff=1, side=LEFT, fill=X, expand=0, **kw)

Undocumented function.

newCreateRadiobutton
def newCreateRadiobutton(self, parent, category, text, variable, value, command=None, help='', anchor=W, side=LEFT, fill=X, expand=0, **kw)

createRadiobutton(parent, category, text, variable, value, [options])

newCreateSider
def newCreateSider(self, parent, category, text, help='', command=None, side=LEFT, fill=X, expand=0, **kw)

Undocumented function.

newCreateVector2Entry
def newCreateVector2Entry(self, parent, category, text, help='', command=None, side=LEFT, fill=X, expand=0, **kw)

Undocumented function.

newCreateVector3Entry
def newCreateVector3Entry(self, parent, category, text, help='', command=None, side=LEFT, fill=X, expand=0, **kw)

Undocumented function.

onDestroy
def onDestroy(self, event)

Undocumented function.

quit
def quit(self)

Undocumented function.

showAbout
def showAbout(self)

Undocumented function.

toggleBalloon
def toggleBalloon(self)

Undocumented function.

transformRGB
def transformRGB(self, rgb, max=1.0)

Undocumented function.

updateProgress
def updateProgress(self, newValue=0, newMax=0)

Undocumented function.


ArcEmitter

    from pandac.PandaModules import ArcEmitter

Inheritance:

    ArcEmitter: RingEmitter
    RingEmitter: BaseParticleEmitter
    BaseParticleEmitter: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of ArcEmitter:

    ArcEmitter (Constructor)
    getEndAngle
    getStartAngle
    setArc
    setEndAngle
    setStartAngle

Methods of RingEmitter:

    RingEmitter (Constructor)
    getAngle
    getRadius
    getRadiusSpread
    setAngle
    setRadius
    setRadiusSpread

Methods of BaseParticleEmitter:

    generate
    getAmplitude
    getAmplitudeSpread
    getEmissionType
    getExplicitLaunchVector
    getOffsetForce
    getRadiateOrigin
    makeCopy
    output
    setAmplitude
    setAmplitudeSpread
    setEmissionType
    setExplicitLaunchVector
    setOffsetForce
    setRadiateOrigin
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleEmitter:

    ETEXPLICIT | (emissionType)
ETRADIATE | (emissionType)
ETCUSTOM | (emissionType)
ArcEmitter
ArcEmitter::ArcEmitter(void);

Description : constructor
Description : copy constructor

getEndAngle
float ArcEmitter::get_end_angle(void);

Description : get end angle

getStartAngle
float ArcEmitter::get_start_angle(void);

Description : get start angle

setArc
void ArcEmitter::set_arc(float startAngle, float endAngle);

Description : arc sweep set

setEndAngle
void ArcEmitter::set_end_angle(float angle);

Description : end angle set

setStartAngle
void ArcEmitter::set_start_angle(float angle);

Description : start angle set

RingEmitter
RingEmitter::RingEmitter(void);

Description : constructor
Description : copy constructor

getAngle
float RingEmitter::get_angle(void) const;

Description : angle of elevation get

getRadius
float RingEmitter::get_radius(void) const;

Description : radius get

getRadiusSpread
float RingEmitter::get_radius_spread(void) const;

Description : radius_spread get

setAngle
void RingEmitter::set_angle(float angle);

Description : angle of elevation set

setRadius
void RingEmitter::set_radius(float r);

Description : radius set

setRadiusSpread
void RingEmitter::set_radius_spread(float spread);

Description : radius_spread set

generate
void BaseParticleEmitter::generate(LPoint3f &pos, LVector3f &vel);

Description : parent generation function

getAmplitude
float BaseParticleEmitter::get_amplitude(void) const;

Description : amplitude query

getAmplitudeSpread
float BaseParticleEmitter::get_amplitude_spread(void) const;

Description : amplitude spread query

getEmissionType
BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type(void) const;

Description : emission type query

getExplicitLaunchVector
LVector3f BaseParticleEmitter::get_explicit_launch_vector(void) const;

Description : query for explicit emission launch vector

getOffsetForce
LVector3f BaseParticleEmitter::get_offset_force(void) const;

Description : user-defined force

getRadiateOrigin
LPoint3f BaseParticleEmitter::get_radiate_origin(void) const;

Description : query for explicit emission launch vector

makeCopy
virtual BaseParticleEmitter *BaseParticleEmitter::make_copy(void) = 0;

Undocumented function.

output
virtual void BaseParticleEmitter::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAmplitude
void BaseParticleEmitter::set_amplitude(float a);

Description : amplitude assignment

setAmplitudeSpread
void BaseParticleEmitter::set_amplitude_spread(float as);

Description : amplitude spread assignment

setEmissionType
void BaseParticleEmitter::set_emission_type(BaseParticleEmitter::emissionType et);

Description : emission type assignment

setExplicitLaunchVector
void BaseParticleEmitter::set_explicit_launch_vector(LVector3f const &elv);

this is a constant force applied to all particles
Description : assignment of explicit emission launch vector

setOffsetForce
void BaseParticleEmitter::set_offset_force(LVector3f const &of);

Description : user-defined force

setRadiateOrigin
void BaseParticleEmitter::set_radiate_origin(LPoint3f const &ro);

this is a constant force applied to all particles
Description : assignment of radiate emission origin point

write
virtual void BaseParticleEmitter::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Archive

    from direct.pyinst.archive_rt import Archive
    A base class for a repository of python code objects. The extract method is used by imputil.ArchiveImporter to get code objects by name (fully qualified name), so an enduser "import a.b" would become extract('a.__init__') extract('a.b')

Inheritance:

    Archive:

Methods of Archive:

    __init__
    checkmagic
    contents
    extract
    get_code
    loadtoc
__init__
def __init__(self, path=None, start=0)

Initialize an Archive. If path is omitted, it will be an empty Archive.

checkmagic
def checkmagic(self)

Overridable. Check to see if the file object self.lib actually has a file we understand.

contents
def contents(self)

Return a list of the contents Default implementation assumes self.toc is a dict like object. Not required by ArchiveImporter.

extract
def extract(self, name)

Get the object corresponding to name, or None. For use with imputil ArchiveImporter, object is a python code object. 'name' is the name as specified in an 'import name'. 'import a.b' will become: extract('a') (return None because 'a' is not a code object) extract('a.__init__') (return a code object) extract('a.b') (return a code object) Default implementation: self.toc is a dict self.toc[name] is pos self.lib has the code object marshal-ed at pos

get_code
def get_code(self, parent, modname, fqname)

Undocumented function.

loadtoc
def loadtoc(self)

Overridable.
Default: After magic comes an int (4 byte native) giving the position of the TOC within self.lib.
Default: The TOC is a marshal-able string.


archiveresource

    from direct.pyinst.resource import archiveresource
    A sublcass for CArchives.

Inheritance:

    archiveresource:

Methods of archiveresource:

    __init__
__init__
def __init__(self, name, fullname=None)

Undocumented function.


ArchiveTarget

    from direct.pyinst.Builder import ArchiveTarget

Inheritance:

    ArchiveTarget:

Methods of ArchiveTarget:

    __init__
    assemble
    edit
    gather
__init__
def __init__(self, cfg, sectnm, cnvrts)

Undocumented function.

assemble
def assemble(self, pkgnm=None)

Undocumented function.

edit
def edit(self)

Undocumented function.

gather
def gather(self)

Undocumented function.


ArgumentEater

    from direct.showbase.PythonUtil import ArgumentEater

Inheritance:

    ArgumentEater:

Methods of ArgumentEater:

    __call__
    __init__
    destroy
__call__
def __call__(self, *args, **kwArgs)

Undocumented function.

__init__
def __init__(self, numToEat, func)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


ARToolKit

    from pandac.PandaModules import ARToolKit
    Class : ARToolKit
    Description : ARToolKit is a software library for building Augmented Reality (AR) applications. These are applications that involve the overlay of virtual imagery on the real world. It was developed by Dr. Hirokazu Kato. Its ongoing development is being supported by the Human Interface Technology Laboratory (HIT Lab) at the University of Washington, HIT Lab NZ at the University of Canterbury, New Zealand, and ARToolworks, Inc, Seattle. It is available under a GPL license. It is also possible to negotiate other licenses with the copyright holders.
    This class is a wrapper around the ARToolKit library.

Inheritance:

    ARToolKit:

Methods of ARToolKit:

    analyze
    attachPattern
    detachPatterns
    make
    setThreshold
analyze
void ARToolKit::analyze(Texture *tex);

Description: Analyzes the non-pad region of the specified texture. This causes all attached nodepaths to move.

attachPattern
void ARToolKit::attach_pattern(Filename const &pattern, NodePath path);

Description: Associates the specified glyph with the specified NodePath. Each time you call analyze, ARToolKit will update the NodePath's transform. If the node is not visible, its scale will be set to zero.

detachPatterns
void ARToolKit::detach_patterns(void);

Description: Dissociates all patterns from all NodePaths.

make
static ARToolKit *ARToolKit::make(NodePath camera, Filename const &paramfile, double markersize);

Description: Create a new ARToolKit instance.
Camera must be the nodepath of a panda camera object. The panda camera's field of view is initialized to match the field of view of the physical webcam. Each time you call analyze, all marker nodepaths will be moved into a position which is relative to this camera. The marker_size parameter indicates how large you printed the physical markers. You should use the same size units that you wish to use in the panda code.

setThreshold
void ARToolKit::set_threshold(double n);

Filename: arToolKit.I Created by: jyelon (01Nov2007)
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."
Description: As part of its analysis, the ARToolKit occasionally converts images to black and white by thresholding them. The threshold is set to 0.5 by default, but you can tweak it here.


AsyncRequest

    from direct.distributed.AsyncRequest import AsyncRequest
    This class is used to make asynchronos reads and creates to a database.
    You can create a list of self.neededObjects and then ask for each to be read or created, or if you only have one object that you need you can skip the self.neededObjects because calling askForObject or createObject will set the self.neededObjects value for you.
    Once all the objects have been read or created, the self.finish() method will be called. You may override this function to run your code in a derived class.
    If you wish to queue up several items that you all need before the finish method is called, you can put items in self.neededObjects and then call askForObject or createObject afterwards. That way the _checkCompletion will not call finish until after all the requests have been done.
    If you need to chain serveral object reads or creates, just add more entries to the self.neededObjects dictionary in the self.finish function and return without calling AsyncRequest.finish(). Your finish method will be called again when the new self.neededObjects is complete. You may repeat this as necessary.

Inheritance:

    AsyncRequest:

Methods of AsyncRequest:

    __init__
    _checkCompletion
    _doCreateObject
    _resetTimeoutTask
    askForObject
    askForObjectField
    askForObjectFields
    createObject
    createObjectId
    delete
    finish
    timeout
__init__
def __init__(self, air, replyToChannelId=None, timeoutTime=ASYNC_REQUEST_DEFAULT_TIMEOUT_IN_SECONDS, numRetries=ASYNC_REQUEST_DEFAULT_NUM_RETRIES)

air is the AI Respository. replyToChannelId may be an avatarId, an accountId, or a channelId. timeoutTime is how many seconds to wait before aborting the request. numRetries is the number of times to retry the request before giving up.

_checkCompletion
def _checkCompletion(self, name, context, distObj)

This checks whether we have all the needed objects and calls finish() if we do.

_doCreateObject
def _doCreateObject(self, name, className, values, doId)

Undocumented function.

_resetTimeoutTask
def _resetTimeoutTask(self, createAnew=True)

Undocumented function.

askForObject
def askForObject(self, doId, context=None)

Request an already created object, i.e. read from database.

askForObjectField
def askForObjectField(self, dclassName, fieldName, doId, key=None, context=None)

Request an already created object, i.e. read from database.

askForObjectFields
def askForObjectFields(self, dclassName, fieldNames, doId, key=None, context=None)

Request an already created object, i.e. read from database.

createObject
def createObject(self, name, className, databaseId=None, values=None, context=None)

Create a new database object. You can get the doId from within your self.finish() function.
This functions is different from createObjectId in that it does generate the object when the response comes back. The object is added to the doId2do and so forth and treated as a full regular object (which it is). This is useful on the AI where we really do want the object on the AI.

createObjectId
def createObjectId(self, name, className, values=None, context=None)

Create a new database object. You can get the doId from within your self.finish() function.
This functions is different from createObject in that it does not generate the object when the response comes back. It only tells you the doId. This is useful on the UD where we don't really want the object on the UD, we just want the object created and the UD wants to send messages to it using the ID.

delete
def delete(self)

Undocumented function.

finish
def finish(self)

This is the function that gets called when all of the needed objects are in (i.e. all the askForObject and createObject requests have been satisfied). If the other requests timeout, finish will not be called.

timeout
def timeout(self, task)

Undocumented function.


AsyncTask

    from pandac.PandaModules import AsyncTask
    Class : AsyncTask
    Description : This class represents a concrete task performed by an AsyncManager. Normally, you would subclass from this class, and override do_task(), to define the functionality you wish to have the task perform.

Inheritance:

    AsyncTask: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of AsyncTask:

    getClassType
    getDoneEvent
    getPythonObject
    getState
    output
    setDoneEvent
    setPythonObject

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in AsyncTask:

    SInactive | (State)
SActive | (State)
SServicing | (State)
getClassType
static TypeHandle AsyncTask::get_class_type(void);

Undocumented function.

getDoneEvent
string const &AsyncTask::get_done_event(void) const;

Description: Returns the event name that will be triggered when the task finishes. See set_done_event().

getPythonObject
PyObject *AsyncTask::get_python_object(void) const;

Description: Returns the Python object that was specified to set_python_object(), if any, or None if no object was specified.

getState
AsyncTask::State AsyncTask::get_state(void) const;

Description: Returns the current state of the task.

output
virtual void AsyncTask::output(ostream &out) const;

HAVE_PYTHON
Description:

setDoneEvent
void AsyncTask::set_done_event(string const &done_event);

Description: Sets the event name that will be triggered when the task finishes. This should only be called before the task has been started, or after it has finished and before it is about to be restarted (i.e. when get_state() returns S_inactive).

setPythonObject
void AsyncTask::set_python_object(PyObject *python_object);

Description: Specifies an arbitrary Python object that will be piggybacked on the task object.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


AsyncTaskManager

    from pandac.PandaModules import AsyncTaskManager
    Class : AsyncTaskManager
    Description : A class to manage a loose queue of isolated tasks, which can be performed by a background thread (in particular, for instance, loading a model file).
    The AsyncTaskManager will spawn a specified number of threads (possibly 0) to serve the tasks. If there are no threads, you must call poll() from time to time to serve the tasks in the main thread.
    Each task, once added to the FIFO queue, will eventually be executed by one of the threads; if the task then indicates it has more work to do, it will be replaced at the end of the queue to go around again.

Inheritance:

    AsyncTaskManager: TypedReferenceCount Namable
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of AsyncTaskManager:

    AsyncTaskManager (Constructor)
    add
    addAndDo
    getClassType
    getNumTasks
    getNumThreads
    hasTask
    isStarted
    output
    poll
    remove
    startThreads
    stopThreads
    waitForTasks
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
AsyncTaskManager
AsyncTaskManager::AsyncTaskManager(string const &name, int num_threads);

Description:

add
void AsyncTaskManager::add(AsyncTask *task);

Description: Adds the indicated task to the active queue. It is an error if the task is already added to this or any other active queue.

addAndDo
bool AsyncTaskManager::add_and_do(AsyncTask *task);

Description: Adds the indicated task to the active queue, and executes it immediately if this is a non-threaded task manager.
The only difference between this method and add() is in the case of a non-threaded task manager: in this case, the method will execute the task inline, at least one frame, before returning. If the task completes in one frame, this means it will completely execute the task before returning in the non-threaded case. In the threaded case, this method behaves exactly the same as add().
The return value is true if the task has been added and is still pending, false if it has completed.

getClassType
static TypeHandle AsyncTaskManager::get_class_type(void);

Undocumented function.

getNumTasks
int AsyncTaskManager::get_num_tasks(void) const;

Description: Returns the number of tasks that are currently active within the task manager.

getNumThreads
int AsyncTaskManager::get_num_threads(void) const;

Description: Returns the number of threads that have been created to service the tasks within this task manager. This will return 0 before the threads have been started; it will also return 0 if thread support is not available.

hasTask
bool AsyncTaskManager::has_task(AsyncTask *task) const;

Description: Returns true if the indicated task is currently in this manager's active queue, or false otherwise.

isStarted
bool AsyncTaskManager::is_started(void) const;

Description: Returns true if the thread(s) have been started and are ready to service requests, false otherwise. If this is false, the next call to add() or add_and_do() will automatically start the threads.

output
virtual void AsyncTaskManager::output(ostream &out) const;

Description:

poll
void AsyncTaskManager::poll(void);

Description: Runs through all the tasks in the task list, once, if the task manager is running in single-threaded mode (no threads available). This method does nothing in threaded mode, so it may safely be called in either case.

remove
bool AsyncTaskManager::remove(AsyncTask *task);

Description: Removes the indicated task from the active queue. Returns true if the task is successfully removed, or false if it wasn't there.

startThreads
void AsyncTaskManager::start_threads(void);

Description: Starts any requested threads to service the tasks on the queue. This is normally not necessary, since adding a task will start the threads automatically.

stopThreads
void AsyncTaskManager::stop_threads(void);

Description: Stops any threads that are currently running. If any tasks are still pending and have not yet been picked up by a thread, they will not be serviced unless poll() or start_threads() is later called.

waitForTasks
void AsyncTaskManager::wait_for_tasks(void);

Description: Blocks until the task list is empty.

write
virtual void AsyncTaskManager::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


AttribNodeRegistry

    from pandac.PandaModules import AttribNodeRegistry
    Class : AttribNodeRegistry
    Description : This global object records NodePaths that are referenced by scene graph attribs, such as ClipPlaneAttribs and LightAttribs.
    Its primary purpose is to unify attribs that are loaded in from bam files. Attrib nodes are identified by name and type; when a bam file that contains references to some attrib nodes is loaded, those nodes are first looked up here in the AttribNodeRegistry. If there is a match (by name and node type), the identified node is used instead of the node referenced within the bam file itself.

Inheritance:

    AttribNodeRegistry:

Methods of AttribNodeRegistry:

    addNode
    clear
    findNode
    getGlobalPtr
    getNode
    getNodeName
    getNodeType
    getNumNodes
    lookupNode
    output
    removeNode
    write
addNode
void AttribNodeRegistry::add_node(NodePath const &attrib_node);

Description: Adds the indicated NodePath to the registry. The name and type of the node are noted at the time of this call; if the name changes later, it will not update the registry index.
The NodePath must reference some kind of an attribute node, such as a LightNode or a PlaneNode. When bam files that reference an attribute node of the same type and the same name are loaded, they will quietly be redirected to reference this NodePath.
If there is already a node matching the indicated name and type, it will be replaced.

clear
void AttribNodeRegistry::clear(void);

Description: Removes all nodes from the registry.

findNode
int AttribNodeRegistry::find_node(NodePath const &attrib_node) const;

Description: Returns the index number of the indicated NodePath in the registry (assuming its name hasn't changed since it was recorded in the registry), or -1 if the NodePath cannot be found (for instance, because its name has changed).
Description: Returns the index number of the node with the indicated type and name in the registry, or -1 if there is no such node in the registry.

getGlobalPtr
static AttribNodeRegistry *AttribNodeRegistry::get_global_ptr(void);

Description:

getNode
NodePath AttribNodeRegistry::get_node(int n) const;

Description: Returns the nth NodePath recorded in the registry.

getNodeName
string AttribNodeRegistry::get_node_name(int n) const;

Description: Returns the name of the nth node, as recorded in the registry. This will be the node name as it was at the time the node was recorded; if the node has changed names since then, this will still return the original name.

getNodeType
TypeHandle AttribNodeRegistry::get_node_type(int n) const;

Description: Returns the type of the nth node, as recorded in the registry.

getNumNodes
int AttribNodeRegistry::get_num_nodes(void) const;

Description: Returns the total number of nodes in the registry.

lookupNode
NodePath AttribNodeRegistry::lookup_node(NodePath const &orig_node) const;

Description: Looks up the indicated NodePath in the registry. If there is a node already in the registry with the matching name and type, returns that NodePath instead; otherwise, returns the original NodePath.

output
void AttribNodeRegistry::output(ostream &out) const;

Description:

removeNode
bool AttribNodeRegistry::remove_node(NodePath const &attrib_node);

Description: Removes the indicated NodePath from the registry. The name of the node must not have changed since the matching call to add_node(), or it will not be successfully removed.
Returns true if the NodePath is found and removed, false if it is not found (for instance, because the name has changed).
Description: Removes the nth node from the registry.

write
void AttribNodeRegistry::write(ostream &out) const;

Description:


AttrSetter

    from direct.fsm.StatePush import AttrSetter

Inheritance:

    AttrSetter:

Methods of AttrSetter:

    __init__
    _handleStateChange
__init__
def __init__(self, source, object, attrName)

Undocumented function.

_handleStateChange
def _handleStateChange(self)

Undocumented function.


Audio3DManager

    from direct.showbase.Audio3DManager import Audio3DManager

Inheritance:

    Audio3DManager:

Methods of Audio3DManager:

    __init__
    attachListener
    attachSoundToObject
    detachListener
    detachSound
    getDistanceFactor
    getDopplerFactor
    getDropOffFactor
    getListenerVelocity
    getSoundMaxDistance
    getSoundMinDistance
    getSoundsOnObject
    getSoundVelocity
    loadSfx
    setDistanceFactor
    setDopplerFactor
    setDropOffFactor
    setListenerVelocity
    setListenerVelocityAuto
    setSoundMaxDistance
    setSoundMinDistance
    setSoundVelocity
    setSoundVelocityAuto
    update
__init__
def __init__(self, audio_manager, listener_target=None, root=None, taskPriority=51)

Undocumented function.

attachListener
def attachListener(self, object)

Sounds will be heard relative to this object. Should probably be the camera.

attachSoundToObject
def attachSoundToObject(self, sound, object)

Sound will come from the location of the object it is attached to

detachListener
def detachListener(self)

Sounds will be heard relative to the root, probably render.

detachSound
def detachSound(self, sound)

sound will no longer have it's 3D position updated

getDistanceFactor
def getDistanceFactor(self)

Control the scale that sets the distance units for 3D spacialized audio. Default is 1.0 which is adjust in panda to be feet.

getDopplerFactor
def getDopplerFactor(self)

Control the presence of the Doppler effect. Default is 1.0 Exaggerated Doppler, use >1.0 Diminshed Doppler, use <1.0

getDropOffFactor
def getDropOffFactor(self)

Exaggerate or diminish the effect of distance on sound. Default is 1.0 Valid range is 0 to 10 Faster drop off, use >1.0 Slower drop off, use <1.0

getListenerVelocity
def getListenerVelocity(self)

Get the velocity of the listener.

getSoundMaxDistance
def getSoundMaxDistance(self, sound)

Controls the maximum distance (in units) that this sound stops falling off. The sound does not stop at that point, it just doesn't get any quieter. You should rarely need to adjust this. Default is 1000000000.0

getSoundMinDistance
def getSoundMinDistance(self, sound)

Controls the distance (in units) that this sound begins to fall off. Also affects the rate it falls off. Default is 3.28 (in feet, this is 1 meter)

getSoundsOnObject
def getSoundsOnObject(self, object)

returns a list of sounds attached to an object

getSoundVelocity
def getSoundVelocity(self, sound)

Get the velocity of the sound.

loadSfx
def loadSfx(self, name)

Use Audio3DManager.loadSfx to load a sound with 3D positioning enabled

setDistanceFactor
def setDistanceFactor(self, factor)

Control the scale that sets the distance units for 3D spacialized audio. Default is 1.0 which is adjust in panda to be feet. When you change this, don't forget that this effects the scale of setSoundMinDistance

setDopplerFactor
def setDopplerFactor(self, factor)

Control the presence of the Doppler effect. Default is 1.0 Exaggerated Doppler, use >1.0 Diminshed Doppler, use <1.0

setDropOffFactor
def setDropOffFactor(self, factor)

Exaggerate or diminish the effect of distance on sound. Default is 1.0 Valid range is 0 to 10 Faster drop off, use >1.0 Slower drop off, use <1.0

setListenerVelocity
def setListenerVelocity(self, velocity)

Set the velocity vector (in units/sec) of the listener, for calculating doppler shift. This is relative to the sound root (probably render).
Default: VBase3(0, 0, 0)

setListenerVelocityAuto
def setListenerVelocityAuto(self)

If velocity is set to auto, the velocity will be determined by the previous position of the object the listener is attached to and the frame dt. Make sure if you use this method that you remember to clear the previous transformation between frames.

setSoundMaxDistance
def setSoundMaxDistance(self, sound, dist)

Controls the maximum distance (in units) that this sound stops falling off. The sound does not stop at that point, it just doesn't get any quieter. You should rarely need to adjust this. Default is 1000000000.0

setSoundMinDistance
def setSoundMinDistance(self, sound, dist)

Controls the distance (in units) that this sound begins to fall off. Also affects the rate it falls off. Default is 3.28 (in feet, this is 1 meter) Don't forget to change this when you change the DistanceFactor

setSoundVelocity
def setSoundVelocity(self, sound, velocity)

Set the velocity vector (in units/sec) of the sound, for calculating doppler shift. This is relative to the sound root (probably render).
Default: VBase3(0, 0, 0)

setSoundVelocityAuto
def setSoundVelocityAuto(self, sound)

If velocity is set to auto, the velocity will be determined by the previous position of the object the sound is attached to and the frame dt. Make sure if you use this method that you remember to clear the previous transformation between frames.

update
def update(self, task=None)

Updates position of sounds in the 3D audio system. Will be called automatically in a task.


AudioManager

    from pandac.PandaModules import AudioManager

Inheritance:

    AudioManager: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of AudioManager:

    audio3dGetDistanceFactor
    audio3dGetDopplerFactor
    audio3dGetDropOffFactor
    audio3dGetListenerAttributes
    audio3dSetDistanceFactor
    audio3dSetDopplerFactor
    audio3dSetDropOffFactor
    audio3dSetListenerAttributes
    clearCache
    configureFilters
    createAudioManager
    getActive
    getCacheLimit
    getClassType
    getConcurrentSoundLimit
    getDlsPathname
    getNullSound
    getSound
    getSpeakerSetup
    getVolume
    isValid
    output
    reduceSoundsPlayingTo
    setActive
    setCacheLimit
    setConcurrentSoundLimit
    setSpeakerSetup
    setVolume
    shutdown
    stopAllSounds
    uncacheSound
    update
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in AudioManager:

    SPEAKERMODERaw | (SpeakerModeCategory)
SPEAKERMODEMono | (SpeakerModeCategory)
SPEAKERMODEStereo | (SpeakerModeCategory)
SPEAKERMODEQuad | (SpeakerModeCategory)
SPEAKERMODESurround | (SpeakerModeCategory)
SPEAKERMODE5point1 | (SpeakerModeCategory)
SPEAKERMODE7point1 | (SpeakerModeCategory)
SPEAKERMODEPrologic | (SpeakerModeCategory)
SPEAKERMODEMax | (SpeakerModeCategory)
SPEAKERMODECOUNT | (SpeakerModeCategory)
SPKNone | (SpeakerId)
SPKFrontleft | (SpeakerId)
SPKFrontright | (SpeakerId)
SPKCenter | (SpeakerId)
SPKSub | (SpeakerId)
SPKBackleft | (SpeakerId)
SPKBackright | (SpeakerId)
SPKSideleft | (SpeakerId)
SPKSideright | (SpeakerId)
SPKCOUNT | (SpeakerId)
SMHeuristic | (StreamMode)
SMSample | (StreamMode)
SMStream | (StreamMode)
audio3dGetDistanceFactor
virtual float AudioManager::audio_3d_get_distance_factor(void) const;

Control the "relative scale that sets the distance factor" units for 3D spacialized audio. Default is 1.0 Fmod uses meters internally, so give a float in Units-per meter Don't know what Miles uses. Default is 1.0 which is adjust in panda to be feet.

audio3dGetDopplerFactor
virtual float AudioManager::audio_3d_get_doppler_factor(void) const;

Control the presence of the Doppler effect. Default is 1.0 Exaggerated Doppler, use >1.0 Diminshed Doppler, use <1.0

audio3dGetDropOffFactor
virtual float AudioManager::audio_3d_get_drop_off_factor(void) const;

Exaggerate or diminish the effect of distance on sound. Default is 1.0 Valid range is 0 to 10 Faster drop off, use >1.0 Slower drop off, use <1.0

audio3dGetListenerAttributes
virtual void AudioManager::audio_3d_get_listener_attributes(float *px, float *py, float *pz, float *vx, float *vy, float *vz, float *fx, float *fy, float *fz, float *ux, float *uy, float *uz);

Undocumented function.

audio3dSetDistanceFactor
virtual void AudioManager::audio_3d_set_distance_factor(float factor);

Control the "relative scale that sets the distance factor" units for 3D spacialized audio. Default is 1.0 Fmod uses meters internally, so give a float in Units-per meter Don't know what Miles uses. Default is 1.0 which is adjust in panda to be feet.

audio3dSetDopplerFactor
virtual void AudioManager::audio_3d_set_doppler_factor(float factor);

Control the presence of the Doppler effect. Default is 1.0 Exaggerated Doppler, use >1.0 Diminshed Doppler, use <1.0

audio3dSetDropOffFactor
virtual void AudioManager::audio_3d_set_drop_off_factor(float factor);

Exaggerate or diminish the effect of distance on sound. Default is 1.0 Valid range is 0 to 10 Faster drop off, use >1.0 Slower drop off, use <1.0

audio3dSetListenerAttributes
virtual void AudioManager::audio_3d_set_listener_attributes(float px, float py, float pz, float vx, float vy, float vz, float fx, float fy, float fz, float ux, float uy, float uz);

This controls the "set of ears" that listens to 3D spacialized sound px, py, pz are position coordinates. vx, vy, vz are a velocity vector in UNITS PER SECOND (default: meters). fx, fy and fz are the respective components of a unit forward-vector ux, uy and uz are the respective components of a unit up-vector

clearCache
virtual void AudioManager::clear_cache(void) = 0;

Tell the AudioManager there is no need to keep this one cached. This doesn't break any connection between AudioSounds that have already given by get_sound() from this manager. It's only affecting whether the AudioManager keeps a copy of the sound in its pool/cache.

configureFilters
virtual bool AudioManager::configure_filters(FilterProperties *config);

Undocumented function.

createAudioManager
static PointerTo< AudioManager > AudioManager::create_AudioManager(void);

Create an AudioManager for each category of sounds you have. E.g. MySoundEffects = create_AudioManager::AudioManager(); MyMusicManager = create_AudioManager::AudioManager(); ... my_sound = MySoundEffects.get_sound("neatSfx.mp3"); my_music = MyMusicManager.get_sound("introTheme.mid");

getActive
virtual bool AudioManager::get_active(void) const = 0;

Turn the manager on or off. If you play a sound while the manager is inactive, it won't start. If you deactivate the manager while sounds are playing, they'll stop. If you activate the manager while looping sounds are playing (those that have a loop_count of zero), they will start playing from the begining of their loop. inits to true.

getCacheLimit
virtual unsigned int AudioManager::get_cache_limit(void) const = 0;

Undocumented function.

getClassType
static TypeHandle AudioManager::get_class_type(void);

Undocumented function.

getConcurrentSoundLimit
virtual unsigned int AudioManager::get_concurrent_sound_limit(void) const = 0;

This controls the number of sounds that you allow at once. This is more of a user choice -- it avoids talk over and the creation of a cacophony. It can also be used to help performance. 0 == unlimited. 1 == mutually exclusive (one sound at a time). Which is an example of: n == allow n sounds to be playing at the same time.

getDlsPathname
static Filename AudioManager::get_dls_pathname(void);

Undocumented function.

getNullSound
PointerTo< AudioSound > AudioManager::get_null_sound(void);

Undocumented function.

getSound
virtual PointerTo< AudioSound > AudioManager::get_sound(string const &file_name, bool positional = (0), int mode = (SM_heuristic)) = 0;

Get a sound:

getSpeakerSetup
virtual int AudioManager::getSpeakerSetup(void);

Undocumented function.

getVolume
virtual float AudioManager::get_volume(void) const = 0;

Control volume: FYI: If you start a sound with the volume off and turn the volume up later, you'll hear the sound playing at that late point. 0 = minimum; 1.0 = maximum. inits to 1.0.

isValid
virtual bool AudioManager::is_valid(void) = 0;

If you're interested in knowing whether this audio manager is valid, here's the call to do it. It is not necessary to check whether the audio manager is valid before making other calls. You are free to use an invalid sound manager, you may get silent sounds from it though. The sound manager and the sounds it creates should not crash the application even when the objects are not valid.

output
virtual void AudioManager::output(ostream &out) const;

Undocumented function.

reduceSoundsPlayingTo
virtual void AudioManager::reduce_sounds_playing_to(unsigned int count) = 0;

This is likely to be a utility function for the concurrent_sound_limit options. It is exposed as an API, because it's reasonable that it may be useful to be here. It reduces the number of concurrently playing sounds to count by some implementation specific means. If the number of sounds currently playing is at or below count then there is no effect.

setActive
virtual void AudioManager::set_active(bool flag) = 0;

Turn the manager on or off. If you play a sound while the manager is inactive, it won't start. If you deactivate the manager while sounds are playing, they'll stop. If you activate the manager while looping sounds are playing (those that have a loop_count of zero), they will start playing from the begining of their loop. inits to true.

setCacheLimit
virtual void AudioManager::set_cache_limit(unsigned int count) = 0;

Undocumented function.

setConcurrentSoundLimit
virtual void AudioManager::set_concurrent_sound_limit(unsigned int limit = (0)) = 0;

This controls the number of sounds that you allow at once. This is more of a user choice -- it avoids talk over and the creation of a cacophony. It can also be used to help performance. 0 == unlimited. 1 == mutually exclusive (one sound at a time). Which is an example of: n == allow n sounds to be playing at the same time.

setSpeakerSetup
virtual void AudioManager::setSpeakerSetup(AudioManager::SpeakerModeCategory cat);

Undocumented function.

setVolume
virtual void AudioManager::set_volume(float volume) = 0;

Control volume: FYI: If you start a sound with the volume off and turn the volume up later, you'll hear the sound playing at that late point. 0 = minimum; 1.0 = maximum. inits to 1.0.

shutdown
virtual void AudioManager::shutdown(void);

Undocumented function.

stopAllSounds
virtual void AudioManager::stop_all_sounds(void) = 0;

Stop playback on all sounds managed by this manager. This is effectively the same as reduce_sounds_playing_to(0), but this call may be for efficient on some implementations.

uncacheSound
virtual void AudioManager::uncache_sound(string const &file_name) = 0;

Tell the AudioManager there is no need to keep this one cached. This doesn't break any connection between AudioSounds that have already given by get_sound() from this manager. It's only affecting whether the AudioManager keeps a copy of the sound in its pool/cache.

update
virtual void AudioManager::update(void);

This should be called every frame. Failure to call could cause problems.

write
virtual void AudioManager::write(ostream &out) const;

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


AudioSound

    from pandac.PandaModules import AudioSound

Inheritance:

    AudioSound: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of AudioSound:

    configureFilters
    get3dAttributes
    get3dMaxDistance
    get3dMinDistance
    getActive
    getBalance
    getClassType
    getFinishedEvent
    getLoop
    getLoopCount
    getName
    getPlayRate
    getPriority
    getSpeakerMix
    getTime
    getVolume
    length
    output
    play
    set3dAttributes
    set3dMaxDistance
    set3dMinDistance
    setActive
    setBalance
    setFinishedEvent
    setLoop
    setLoopCount
    setPlayRate
    setPriority
    setSpeakerMix
    setTime
    setVolume
    status
    stop
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in AudioSound:

    BAD | (SoundStatus)
READY | (SoundStatus)
PLAYING | (SoundStatus)
configureFilters
virtual bool AudioSound::configure_filters(FilterProperties *config);

Undocumented function.

get3dAttributes
virtual void AudioSound::get_3d_attributes(float *px, float *py, float *pz, float *vx, float *vy, float *vz);

Undocumented function.

get3dMaxDistance
virtual float AudioSound::get_3d_max_distance(void) const;

Controls the maximum distance (in units) that this sound stops falling off. The sound does not stop at that point, it just doesn't get any quieter. You should rarely need to adjust this. Default is 1000000000.0

get3dMinDistance
virtual float AudioSound::get_3d_min_distance(void) const;

Controls the distance (in units) that this sound begins to fall off. Also affects the rate it falls off. Default is 1.0 Closer/Faster, <1.0 Farther/Slower, >1.0

getActive
virtual bool AudioSound::get_active(void) const = 0;

inits to manager's state.

getBalance
virtual float AudioSound::get_balance(void) const = 0;

-1.0 is hard left
0.0 is centered 1.0 is hard right inits to 0.0.

getClassType
static TypeHandle AudioSound::get_class_type(void);

Undocumented function.

getFinishedEvent
virtual string const &AudioSound::get_finished_event(void) const = 0;

Set (or clear) the event that will be thrown when the sound finishes playing. To clear the event, pass an empty string.

getLoop
virtual bool AudioSound::get_loop(void) const = 0;

loop: false = play once; true = play forever. inits to false.

getLoopCount
virtual unsigned long int AudioSound::get_loop_count(void) const = 0;

loop_count: 0 = forever; 1 = play once; n = play n times. inits to 1.

getName
virtual string const &AudioSound::get_name(void) const = 0;

There is no set_name(), this is intentional.

getPlayRate
virtual float AudioSound::get_play_rate(void) const = 0;

play_rate is any positive float value. inits to 1.0.

getPriority
virtual int AudioSound::get_priority(void);

Undocumented function.

getSpeakerMix
virtual float AudioSound::get_speaker_mix(int speaker);

Undocumented function.

getTime
virtual float AudioSound::get_time(void) const = 0;

Control time position within the sound. This is similar (in concept) to the seek position within a file. time in seconds: 0 = beginning; length() = end. inits to 0.0.
- The current time position will not change while the sound is
playing; you must call play() again to effect the change. To play the same sound from a time offset a second time, explicitly set the time position again. When looping, the second and later loops will start from the beginning of the sound.
- If a sound is playing, calling get_time() repeatedly will
return different results over time. e.g.: float percent_complete = s.get_time() / s.length();

getVolume
virtual float AudioSound::get_volume(void) const = 0;

0 = minimum; 1.0 = maximum. inits to 1.0.

length
virtual float AudioSound::length(void) const = 0;

return: playing time in seconds.

output
virtual void AudioSound::output(ostream &out) const;

Undocumented function.

play
virtual void AudioSound::play(void) = 0;

For best compatability, set the loop_count, volume, and balance, prior to calling play(). You may set them while they're playing, but it's implementation specific whether you get the results.
- Calling play() a second time on the same sound before it is
finished will start the sound again (creating a skipping or stuttering effect).

set3dAttributes
virtual void AudioSound::set_3d_attributes(float px, float py, float pz, float vx, float vy, float vz);

Controls the position of this sound's emitter. px, py and pz are the emitter's position. vx, vy and vz are the emitter's velocity in UNITS PER SECOND (default: meters).

set3dMaxDistance
virtual void AudioSound::set_3d_max_distance(float dist);

Controls the maximum distance (in units) that this sound stops falling off. The sound does not stop at that point, it just doesn't get any quieter. You should rarely need to adjust this. Default is 1000000000.0

set3dMinDistance
virtual void AudioSound::set_3d_min_distance(float dist);

Controls the distance (in units) that this sound begins to fall off. Also affects the rate it falls off. Default is 1.0 Closer/Faster, <1.0 Farther/Slower, >1.0

setActive
virtual void AudioSound::set_active(bool flag = (1)) = 0;

inits to manager's state.

setBalance
virtual void AudioSound::set_balance(float balance_right = (0)) = 0;

-1.0 is hard left
0.0 is centered 1.0 is hard right inits to 0.0.

setFinishedEvent
virtual void AudioSound::set_finished_event(string const &event) = 0;

Set (or clear) the event that will be thrown when the sound finishes playing. To clear the event, pass an empty string.

setLoop
virtual void AudioSound::set_loop(bool loop = (1)) = 0;

loop: false = play once; true = play forever. inits to false.

setLoopCount
virtual void AudioSound::set_loop_count(unsigned long int loop_count = (1)) = 0;

loop_count: 0 = forever; 1 = play once; n = play n times. inits to 1.

setPlayRate
virtual void AudioSound::set_play_rate(float play_rate = (1)) = 0;

play_rate is any positive float value. inits to 1.0.

setPriority
virtual void AudioSound::set_priority(int priority);

Undocumented function.

setSpeakerMix
virtual void AudioSound::set_speaker_mix(float frontleft, float frontright, float center, float sub, float backleft, float backright, float sideleft, float sideright);

Undocumented function.

setTime
virtual void AudioSound::set_time(float start_time = (0)) = 0;

Control time position within the sound. This is similar (in concept) to the seek position within a file. time in seconds: 0 = beginning; length() = end. inits to 0.0.
- The current time position will not change while the sound is
playing; you must call play() again to effect the change. To play the same sound from a time offset a second time, explicitly set the time position again. When looping, the second and later loops will start from the beginning of the sound.
- If a sound is playing, calling get_time() repeatedly will
return different results over time. e.g.: float percent_complete = s.get_time() / s.length();

setVolume
virtual void AudioSound::set_volume(float volume = (1)) = 0;

0 = minimum; 1.0 = maximum. inits to 1.0.

status
virtual AudioSound::SoundStatus AudioSound::status(void) const = 0;

Undocumented function.

stop
virtual void AudioSound::stop(void) = 0;

For best compatability, set the loop_count, volume, and balance, prior to calling play(). You may set them while they're playing, but it's implementation specific whether you get the results.
- Calling play() a second time on the same sound before it is
finished will start the sound again (creating a skipping or stuttering effect).

write
virtual void AudioSound::write(ostream &out) const;

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


AudioVolumeAttrib

    from pandac.PandaModules import AudioVolumeAttrib
    Class : AudioVolumeAttrib
    Description : Applies a scale to audio volume for positional sounds in the scene graph.

Inheritance:

    AudioVolumeAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of AudioVolumeAttrib:

    getClassType
    getVolume
    hasVolume
    isOff
    make
    makeIdentity
    makeOff
    setVolume

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle AudioVolumeAttrib::get_class_type(void);

Undocumented function.

getVolume
float AudioVolumeAttrib::get_volume(void) const;

Description: Returns the volume to be applied to sounds.

hasVolume
bool AudioVolumeAttrib::has_volume(void) const;

Description: Returns true if the AudioVolumeAttrib has a non-identity volume, false otherwise (in which case it might be an off attrib or an identity attrib).

isOff
bool AudioVolumeAttrib::is_off(void) const;

Description: Returns true if the AudioVolumeAttrib will ignore any color scales inherited from above, false otherwise. This is not the same thing as !has_scale(); a AudioVolumeAttrib may have the "off" flag set and also have another scale specified.

make
static ConstPointerTo< RenderAttrib > AudioVolumeAttrib::make(float volume);

Description: Constructs a new AudioVolumeAttrib object that indicates audio volume should be scaled by the indicated factor.

makeIdentity
static ConstPointerTo< RenderAttrib > AudioVolumeAttrib::make_identity(void);

Description: Constructs an identity audio volume attrib.

makeOff
static ConstPointerTo< RenderAttrib > AudioVolumeAttrib::make_off(void);

Description: Constructs a new AudioVolumeAttrib object that ignores any AudioVolumeAttrib inherited from above. You may also specify an additional volume scale to apply to geometry below (using set_volume()).

setVolume
ConstPointerTo< RenderAttrib > AudioVolumeAttrib::set_volume(float volume) const;

Description: Returns a new AudioVolumeAttrib, just like this one, but with the volume changed to the indicated value.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


AutonomousLerp

    from pandac.PandaModules import AutonomousLerp

Inheritance:

    AutonomousLerp: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of AutonomousLerp:

    AutonomousLerp (Constructor)
    getClassType
    getEndEvent
    getFunctor
    getT
    isDone
    operator =
    resume
    setEndEvent
    setT
    start
    stop

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
AutonomousLerp
AutonomousLerp::AutonomousLerp(LerpFunctor *func, float endt, LerpBlendType *blend, EventHandler *handler);

Undocumented function.

getClassType
static TypeHandle AutonomousLerp::get_class_type(void);

now for typehandle stuff

getEndEvent
string AutonomousLerp::get_end_event(void) const;

Undocumented function.

getFunctor
LerpFunctor *AutonomousLerp::get_functor(void) const;

Undocumented function.

getT
float AutonomousLerp::get_t(void) const;

Undocumented function.

isDone
bool AutonomousLerp::is_done(void) const;

Undocumented function.

operator =
AutonomousLerp &AutonomousLerp::operator =(AutonomousLerp const &);

Undocumented function.

resume
void AutonomousLerp::resume(void);

Undocumented function.

setEndEvent
void AutonomousLerp::set_end_event(string const &);

Undocumented function.

setT
void AutonomousLerp::set_t(float );

Undocumented function.

start
void AutonomousLerp::start(void);

Undocumented function.

stop
void AutonomousLerp::stop(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


AuxBitplaneAttrib

    from pandac.PandaModules import AuxBitplaneAttrib
    Class : AuxBitplaneAttrib
    Description : Modern frame buffers can have 'aux' bitplanes, which are additional bitplanes above and beyond the standard depth and color. This attrib controls what gets rendered into those additional bitplanes. It can also affect what goes into the alpha channel of the primary color buffer.
    ABO_glow: copy the glow map into the alpha channel of the primary frame buffer. If there is no glow map, set it to zero. Caveat: it is not possible to write glow or depth values to the framebuffer alpha channel at the same time as using alpha blending or alpha testing. Any attempt to use transparency, blending, or alpha testing will cause this flag to be overridden.
    ABO_aux_normal: put the camera-space normal into the into the R,G components of the first auxiliary bitplane.
    ABO_aux_modelz: put the clip-space Z coordinate of the center of the model (after perspective divide) into the B channel of the first auxiliary bitplane.
    ABO_aux_glow: put a copy of the glow map into the alpha channel of the first auxiliary bitplane. If there is no glow map, set it to zero.
    AuxBitplaneAttrib is relevant only when shader generation is enabled. Otherwise, it has no effect.

Inheritance:

    AuxBitplaneAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of AuxBitplaneAttrib:

    getClassType
    getOutputs
    make

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in AuxBitplaneAttrib:

    ABOGlow | (AuxBitplaneOutput)
ABOAuxNormal | (AuxBitplaneOutput)
ABOAuxGlow | (AuxBitplaneOutput)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle AuxBitplaneAttrib::get_class_type(void);

Undocumented function.

getOutputs
int AuxBitplaneAttrib::get_outputs(void) const;

Description: Returns the AuxBitplaneAttrib output bits.

make
static ConstPointerTo< RenderAttrib > AuxBitplaneAttrib::make(void);

Description: Constructs a default AuxBitplaneAttrib object.
Description: Constructs a specified AuxBitplaneAttrib object.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


AuxSceneData

    from pandac.PandaModules import AuxSceneData
    Class : AuxSceneData
    Description : This is a base class for a generic data structure that can be attached per-instance to the camera, to store per-instance data that must be preserved over multiple frames.
    In particular, this is used to implement the FadeLODNode, which must remember during traversal at what point it is in the fade, separately for each instance and for each camera.

Inheritance:

    AuxSceneData: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of AuxSceneData:

    getClassType
    getDuration
    getExpirationTime
    getLastRenderTime
    output
    setDuration
    setLastRenderTime
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle AuxSceneData::get_class_type(void);

Undocumented function.

getDuration
double AuxSceneData::get_duration(void) const;

Description: Returns the minimum length in time, in seconds, to keep this AuxSceneData object around in the scene graph after the last time it was rendered.

getExpirationTime
double AuxSceneData::get_expiration_time(void) const;

Description: Returns the frame_time at which this AuxSceneData object is currently scheduled to be removed from the scene graph.

getLastRenderTime
double AuxSceneData::get_last_render_time(void) const;

Description: Returns the last time this object was used during traversal (according to set_last_render_time()).

output
virtual void AuxSceneData::output(ostream &out) const;

Description:

setDuration
void AuxSceneData::set_duration(double duration);

Description: Specifies the minimum length in time, in seconds, to keep this AuxSceneData object around in the scene graph after the last time it was rendered.

setLastRenderTime
void AuxSceneData::set_last_render_time(double render_time);

Description: Should be called with the current frame_time each time the AuxSceneData is used during traversal.

write
virtual void AuxSceneData::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BamCache

    from pandac.PandaModules import BamCache
    Class : BamCache
    Description : This 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).
    This class also maintains a persistent index that lists all of the cached objects (see BamCacheIndex). We go through some considerable effort to make sure this index gets saved correctly to disk, even in the presence of multiple different processes writing to the same index, and without relying too heavily on low-level os-provided file locks (which work poorly with C++ iostreams).

Inheritance:

    BamCache:

Methods of BamCache:

    BamCache (Constructor)
    considerFlushIndex
    flushIndex
    getActive
    getCacheMaxKbytes
    getFlushTime
    getGlobalPtr
    getReadOnly
    getRoot
    lookup
    setActive
    setCacheMaxKbytes
    setFlushTime
    setReadOnly
    setRoot
    store
BamCache
BamCache::BamCache(void);

Description:

considerFlushIndex
void BamCache::consider_flush_index(void);

Description: Flushes the index if enough time has elapsed since the index was last flushed.

flushIndex
void BamCache::flush_index(void);

Description: Ensures the index is written to disk.

getActive
bool BamCache::get_active(void) const;

Description: Returns true if the BamCache is currently active, false if it is not. "active" means that the cache should be consulted automatically on loads, "not active" means that objects should be loaded directly without consulting the cache.

getCacheMaxKbytes
int BamCache::get_cache_max_kbytes(void) const;

Description: Returns the maximum size, in kilobytes, which the cache is allowed to grow to. See set_cache_max_kbytes().

getFlushTime
int BamCache::get_flush_time(void) const;

Description: Returns the time in seconds between automatic flushes of the cache index.

getGlobalPtr
static BamCache *BamCache::get_global_ptr(void);

Description: Returns a pointer to the global BamCache object, which is used automatically by the ModelPool and TexturePool.

getReadOnly
bool BamCache::get_read_only(void) const;

Description: Returns true if the cache is in read-only mode. Normally, the cache starts in read-write mode. It can put itself into read-only mode automatically if it discovers that it does not have write access to the cache.

getRoot
Filename const &BamCache::get_root(void) const;

Description: Returns the current root pathname of the cache. See set_root().

lookup
PointerTo< BamCacheRecord > BamCache::lookup(Filename const &source_filename, string const &cache_extension);

Description: Looks up a file in the cache.
If the file is cacheable, then regardless of whether the file is found in the cache or not, this returns a BamCacheRecord. On the other hand, if the file cannot be cached, returns NULL.
If record->has_data() returns true, then the file was found in the cache, and you may call record->extract_data() to get the object. If record->has_data() returns false, then the file was not found in the cache or the cache was stale; and you should reload the source file (calling record->add_dependent_file() for each file loaded, including the original source file), and then call record->set_data() to record the resulting loaded object; and finally, you should call store() to write the cached record to disk.

setActive
void BamCache::set_active(bool flag);

Description: Changes the state of the active flag. "active" means that the cache should be consulted automatically on loads, "not active" means that objects should be loaded directly without consulting the cache.

setCacheMaxKbytes
void BamCache::set_cache_max_kbytes(int max_kbytes);

Description: Specifies the maximum size, in kilobytes, which the cache is allowed to grow to. If a newly cached file would exceed this size, an older file is removed from the cache.
Note that in the case of multiple different processes simultaneously operating on the same cache directory, the actual cache size may slightly exceed this value from time to time due to latency in checking between the processes.

setFlushTime
void BamCache::set_flush_time(int flush_time);

Description: Specifies the time in seconds between automatic flushes of the cache index.

setReadOnly
void BamCache::set_read_only(bool ro);

Description: Can be used to put the cache in read-only mode, or take it out of read-only mode. Note that if you put it into read-write mode, and it discovers that it does not have write access, it will put itself right back into read-only mode.

setRoot
void BamCache::set_root(Filename const &root);

Description: Changes the current root pathname of the cache. This specifies where the cache files are stored on disk. This should name a directory that is on a disk local to the machine (not on a network-mounted disk), for instance, /tmp/panda-cache or /c/panda-cache.
If the directory does not already exist, it will be created as a result of this call.

store
bool BamCache::store(BamCacheRecord *record);

Description: Flushes a cache entry to disk. You must have retrieved the cache record via a prior call to lookup(), and then stored the data via record->set_data(). Returns true on success, false on failure.


BamCacheRecord

    from pandac.PandaModules import BamCacheRecord
    Class : BamCacheRecord
    Description : An instance of this class is written to the front of a Bam or Txo file to make the file a cached instance of some other loadable resource. This record contains information needed to test the validity of the cache.

Inheritance:

    BamCacheRecord: TypedWritableReferenceCount LinkedListNode
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    LinkedListNode:

Methods of BamCacheRecord:

    addDependentFile
    clearData
    clearDependentFiles
    dependentsUnchanged
    extractData
    getCacheFilename
    getClassType
    getData
    getDependentPathname
    getNumDependentFiles
    getRecordedTime
    getSourcePathname
    hasData
    makeCopy
    operator ==
    output
    setData
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
addDependentFile
void BamCacheRecord::add_dependent_file(Filename const &pathname);

Description: Adds the indicated file to the list of files that will be loaded to generate the data in this record. This should be called once for the primary source file, and again for each secondary source file, if any.

clearData
void BamCacheRecord::clear_data(void);

Description: Removes the in-memory data object associated with this record, if any. This does not affect the on-disk representation of the record.

clearDependentFiles
void BamCacheRecord::clear_dependent_files(void);

Description: Empties the list of files that contribute to the data in this record.

dependentsUnchanged
bool BamCacheRecord::dependents_unchanged(void) const;

Description: Returns true if all of the dependent files are still the same as when the cache was recorded, false otherwise.

extractData
TypedWritable *BamCacheRecord::extract_data(void);

Description: Removes the in-memory data object associated with this record, and returns it. This transfers ownership of the data pointer; the caller will be responsible for subsequently deleting this object.
It is an error to call this if the record does not own the pointer.

getCacheFilename
Filename const &BamCacheRecord::get_cache_filename(void) const;

Description: Returns the name of the cache file as hashed from the source_pathname. This will be relative to the root of the cache directory, and it will not include any suffixes that may be appended to resolve hash conflicts.

getClassType
static TypeHandle BamCacheRecord::get_class_type(void);

Undocumented function.

getData
TypedWritable const *BamCacheRecord::get_data(void) const;

Description: Returns a read-only pointer to the data stored in the record, or NULL if there is no data. This does not change ownership of the data pointer.

getDependentPathname
Filename const &BamCacheRecord::get_dependent_pathname(int n) const;

Description: Returns the full pathname of the nth source files that contributes to the cache.

getNumDependentFiles
int BamCacheRecord::get_num_dependent_files(void) const;

Description: Returns the number of source files that contribute to the cache.

getRecordedTime
unsigned int BamCacheRecord::get_recorded_time(void) const;

Description: Returns the time at which this particular record was recorded or updated.

getSourcePathname
Filename const &BamCacheRecord::get_source_pathname(void) const;

Description: Returns the full pathname to the source file that originally generated this cache request. In some cases, for instance in the case of a of a multipage texture like "cube_#.png", this may not not a true filename on disk.

hasData
bool BamCacheRecord::has_data(void) const;

Description: Returns true if this cache record has an in-memory data object associated--that is, the object stored in the cache.

makeCopy
PointerTo< BamCacheRecord > BamCacheRecord::make_copy(void) const;

Description: Returns a duplicate of the BamCacheRecord. The duplicate will not have a data pointer set, even though one may have been assigned to the original via set_data().

operator ==
bool BamCacheRecord::operator ==(BamCacheRecord const &other) const;

Description: Returns true if the record matches the other record in those attributes which get written to disk. Does not compare the data pointer.

output
void BamCacheRecord::output(ostream &out) const;

Description:

setData
void BamCacheRecord::set_data(TypedWritable *data, bool owns_pointer);

Description: Stores a new data object on the record. If owns_pointer is true, the record owns the pointer, and will eventually be responsible for deleting it.

write
void BamCacheRecord::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BamFile

    from pandac.PandaModules import BamFile
    Class : BamFile
    Description : The principle public interface to reading and writing Bam disk files. See also BamReader and BamWriter, the more general implementation of this class.
    Bam files are most often used to store scene graphs or subgraphs, and by convention they are given filenames ending in the extension ".bam" when they are used for this purpose. However, a Bam file may store any arbitrary list of TypedWritable objects; in this more general usage, they are given filenames ending in ".boo" to differentiate them from the more common scene graph files.

Inheritance:

    BamFile:

Methods of BamFile:

    BamFile (Constructor)
    close
    getCurrentMajorVer
    getCurrentMinorVer
    getFileEndian
    getFileMajorVer
    getFileMinorVer
    getReader
    getWriter
    isEof
    isValidRead
    isValidWrite
    openRead
    openWrite
    readNode
    readObject
    resolve
    writeObject
BamFile
BamFile::BamFile(void);

Description:

close
void BamFile::close(void);

Description: Closes the input or output stream.

getCurrentMajorVer
int BamFile::get_current_major_ver(void);

Description: Returns the system current major version number. This is the version number that will be assigned to any generated Bam files.

getCurrentMinorVer
int BamFile::get_current_minor_ver(void);

Description: Returns the system current minor version number. This is the version number that will be assigned to any generated Bam files.

getFileEndian
BamEndian BamFile::get_file_endian(void) const;

Description: Returns the endian preference indicated by the Bam file currently being read or written.

getFileMajorVer
int BamFile::get_file_major_ver(void);

Description: Returns the major version number of the file currently being read, or the system current major version number if no file is currently open for reading.

getFileMinorVer
int BamFile::get_file_minor_ver(void);

Description: Returns the minor version number of the file currently being read, or the system current minor version number if no file is currently open for reading.

getReader
BamReader *BamFile::get_reader(void);

Description: Returns the BamReader in charge of performing the read operations. This will return NULL unless open_read() was called.

getWriter
BamWriter *BamFile::get_writer(void);

Description: Returns the BamWriter in charge of performing the write operations. This will return NULL unless open_write() was called.

isEof
bool BamFile::is_eof(void) const;

Description: Returns true if the reader has reached end-of-file, false otherwise. This call is only valid after a call to read_object().

isValidRead
bool BamFile::is_valid_read(void) const;

Description: Returns true if the Bam file is open and ready for reading with no errors so far detected, or false otherwise.

isValidWrite
bool BamFile::is_valid_write(void) const;

Description: Returns true if the Bam file is open and ready for writing with no errors so far detected, or false otherwise.

openRead
bool BamFile::open_read(Filename const &bam_filename, bool report_errors = (1));

Description: Attempts to open the indicated filename for reading. Returns true if successful, false on error.
Description: Attempts to open the indicated stream for reading. The filename is just for information purposes only. Returns true if successful, false on error.

openWrite
bool BamFile::open_write(Filename const &bam_filename, bool report_errors = (1));

Description: Attempts to open the indicated file for writing. If another file by the same name already exists, it will be silently removed. Returns true if successful, false otherwise.
Description: Attempts to open the indicated stream for writing. The filename is just for information purposes only. Returns true if successful, false on error.

readNode
PointerTo< PandaNode > BamFile::read_node(bool report_errors = (1));

Description: Although the bam file format is general enough to store a list of objects of arbitrary type, bam files on disk usually contain just one object, a PandaNode that is the root of a scene graph. (Bam files that store other kinds of things are usually given the extension "boo", for "binary other objects", to differentiate them from the normal scene graph type file.)
This is a convenience method for when you believe you are reading a scene graph bam file. It reads the one PandaNode and returns it. It also calls resolve() to fully resolve the object, since we expect this will be the only object in the file.
If the bam file contains something other than a PandaNode, an error is printed and NULL is returned.

readObject
TypedWritable *BamFile::read_object(void);

Description: Reads and returns the next object from the Bam file, or NULL if the end of the file has been reached, or if there is an error condition. Use is_eof() to differentiate these two cases.
The pointers returned by this method will not be valid for use until resolve() is subsequently called.

resolve
bool BamFile::resolve(void);

Description: This must be called after one or more objects have been read via calls to read_object() in order to resolve all internal pointer references in the objects read and make all the pointers valid. It returns true if all objects are successfully resolved, or false if some have not been (in which case you must call resolve() again later).

writeObject
bool BamFile::write_object(TypedWritable const *object);

Description: Writes the indicated object to the Bam file. Returns true if successful, false on error.


BaseForce

    from pandac.PandaModules import BaseForce
    Class : BaseForce
    Description : pure virtual base class for all forces that could POSSIBLY exist.

Inheritance:

    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BaseParticleEmitter

    from pandac.PandaModules import BaseParticleEmitter
    //////
    Class : BaseParticleEmitter
    Description : Describes a physical region in space in which particles are randomly generated.

Inheritance:

    BaseParticleEmitter: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of BaseParticleEmitter:

    generate
    getAmplitude
    getAmplitudeSpread
    getEmissionType
    getExplicitLaunchVector
    getOffsetForce
    getRadiateOrigin
    makeCopy
    output
    setAmplitude
    setAmplitudeSpread
    setEmissionType
    setExplicitLaunchVector
    setOffsetForce
    setRadiateOrigin
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleEmitter:

    ETEXPLICIT | (emissionType)
ETRADIATE | (emissionType)
ETCUSTOM | (emissionType)
generate
void BaseParticleEmitter::generate(LPoint3f &pos, LVector3f &vel);

Description : parent generation function

getAmplitude
float BaseParticleEmitter::get_amplitude(void) const;

Description : amplitude query

getAmplitudeSpread
float BaseParticleEmitter::get_amplitude_spread(void) const;

Description : amplitude spread query

getEmissionType
BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type(void) const;

Description : emission type query

getExplicitLaunchVector
LVector3f BaseParticleEmitter::get_explicit_launch_vector(void) const;

Description : query for explicit emission launch vector

getOffsetForce
LVector3f BaseParticleEmitter::get_offset_force(void) const;

Description : user-defined force

getRadiateOrigin
LPoint3f BaseParticleEmitter::get_radiate_origin(void) const;

Description : query for explicit emission launch vector

makeCopy
virtual BaseParticleEmitter *BaseParticleEmitter::make_copy(void) = 0;

Undocumented function.

output
virtual void BaseParticleEmitter::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAmplitude
void BaseParticleEmitter::set_amplitude(float a);

Description : amplitude assignment

setAmplitudeSpread
void BaseParticleEmitter::set_amplitude_spread(float as);

Description : amplitude spread assignment

setEmissionType
void BaseParticleEmitter::set_emission_type(BaseParticleEmitter::emissionType et);

Description : emission type assignment

setExplicitLaunchVector
void BaseParticleEmitter::set_explicit_launch_vector(LVector3f const &elv);

this is a constant force applied to all particles
Description : assignment of explicit emission launch vector

setOffsetForce
void BaseParticleEmitter::set_offset_force(LVector3f const &of);

Description : user-defined force

setRadiateOrigin
void BaseParticleEmitter::set_radiate_origin(LPoint3f const &ro);

this is a constant force applied to all particles
Description : assignment of radiate emission origin point

write
virtual void BaseParticleEmitter::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BaseParticleFactory

    from pandac.PandaModules import BaseParticleFactory
    Class : BaseParticleFactory
    Description : Pure Virtual base class for creating particles

Inheritance:

    BaseParticleFactory: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of BaseParticleFactory:

    allocParticle
    getLifespanBase
    getLifespanSpread
    getMassBase
    getMassSpread
    getTerminalVelocityBase
    getTerminalVelocitySpread
    output
    populateParticle
    setLifespanBase
    setLifespanSpread
    setMassBase
    setMassSpread
    setTerminalVelocityBase
    setTerminalVelocitySpread
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
allocParticle
virtual BaseParticle *BaseParticleFactory::alloc_particle(void) const = 0;

Undocumented function.

getLifespanBase
float BaseParticleFactory::get_lifespan_base(void) const;

Description : public

getLifespanSpread
float BaseParticleFactory::get_lifespan_spread(void) const;

Description : public

getMassBase
float BaseParticleFactory::get_mass_base(void) const;

Description : public

getMassSpread
float BaseParticleFactory::get_mass_spread(void) const;

Description : public

getTerminalVelocityBase
float BaseParticleFactory::get_terminal_velocity_base(void) const;

Description : public

getTerminalVelocitySpread
float BaseParticleFactory::get_terminal_velocity_spread(void) const;

Description : public

output
virtual void BaseParticleFactory::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

populateParticle
void BaseParticleFactory::populate_particle(BaseParticle *bp);

Description : public

setLifespanBase
void BaseParticleFactory::set_lifespan_base(float lb);

Description : public

setLifespanSpread
void BaseParticleFactory::set_lifespan_spread(float ls);

Description : public

setMassBase
void BaseParticleFactory::set_mass_base(float mb);

Description : public

setMassSpread
void BaseParticleFactory::set_mass_spread(float ms);

Description : public

setTerminalVelocityBase
void BaseParticleFactory::set_terminal_velocity_base(float tvb);

Description : public

setTerminalVelocitySpread
void BaseParticleFactory::set_terminal_velocity_spread(float tvs);

Description : public

write
virtual void BaseParticleFactory::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BaseParticleRenderer

    from pandac.PandaModules import BaseParticleRenderer
    Class : BaseParticleRenderer
    Description : Pure virtual particle renderer base class

Inheritance:

    BaseParticleRenderer: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of BaseParticleRenderer:

    getAlphaMode
    getIgnoreScale
    getRenderNode
    getRenderNodePath
    getUserAlpha
    output
    setAlphaMode
    setColorBlendMode
    setIgnoreScale
    setUserAlpha
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleRenderer:

    PRALPHANONE | (ParticleRendererAlphaMode)
PRALPHAOUT | (ParticleRendererAlphaMode)
PRALPHAIN | (ParticleRendererAlphaMode)
PRALPHAINOUT | (ParticleRendererAlphaMode)
PRALPHAUSER | (ParticleRendererAlphaMode)
PRNOTINITIALIZEDYET | (ParticleRendererAlphaMode)
PPNOBLEND | (ParticleRendererBlendMethod)
PPBLENDLINEAR | (ParticleRendererBlendMethod)
PPBLENDCUBIC | (ParticleRendererBlendMethod)
getAlphaMode
BaseParticleRenderer::ParticleRendererAlphaMode BaseParticleRenderer::get_alpha_mode(void) const;

Undocumented function.

getIgnoreScale
bool BaseParticleRenderer::get_ignore_scale(void) const;

Description : Returns the "ignore scale" flag. See set_ignore_scale().

getRenderNode
GeomNode *BaseParticleRenderer::get_render_node(void) const;

Class : Published
Description : Query the geomnode pointer

getRenderNodePath
NodePath BaseParticleRenderer::get_render_node_path(void) const;

Class : Published
Description : Query the geomnode pointer

getUserAlpha
float BaseParticleRenderer::get_user_alpha(void) const;

Description : gets alpha for "user" alpha mode

output
virtual void BaseParticleRenderer::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAlphaMode
void BaseParticleRenderer::set_alpha_mode(BaseParticleRenderer::ParticleRendererAlphaMode am);

Undocumented function.

setColorBlendMode
void BaseParticleRenderer::set_color_blend_mode(ColorBlendAttrib::Mode bm, ColorBlendAttrib::Operand oa = (O_zero), ColorBlendAttrib::Operand ob = (O_zero));

Description : sets the ColorBlendAttrib on the _render_node

setIgnoreScale
void BaseParticleRenderer::set_ignore_scale(bool ignore_scale);

Description : Sets the "ignore scale" flag. When this is true, particles will be drawn as if they had no scale, regardless of whatever scale might be inherited from above the render node in the scene graph.
This flag is mainly useful to support legacy code that was written for a very early version of Panda, whose sprite particle renderer had a bug that incorrectly ignored the inherited scale.

setUserAlpha
void BaseParticleRenderer::set_user_alpha(float ua);

Description : sets alpha for "user" alpha mode

write
virtual void BaseParticleRenderer::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BasicSkel

    from pandac.PandaModules import BasicSkel
    Class : BasicSkel
    Description : This is the most basic of the skeleton classes. It stores an integer, and will return it on request.
    The skeleton classes are intended to help you learn how to add C++ classes to panda. See also the manual, "Adding C++ Classes to Panda."

Inheritance:

    BasicSkel:

Methods of BasicSkel:

    BasicSkel (Constructor)
    getValue
    getValueAlt
    setValue
    setValueAlt
BasicSkel
BasicSkel::BasicSkel(void);

Filename: basicSkel.I Created by: jyelon (31Jan07)
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."
Description:

getValue
int BasicSkel::get_value(void);

These inline functions allow you to get and set _value.
Description: Retreives a value that was previously stored.

getValueAlt
int BasicSkel::get_value_alt(void);

These do the same thing as the functions above.
Description: Retreives a value that was previously stored. Exact same functionality as get_value, except that this isn't an inline function.

setValue
void BasicSkel::set_value(int n);

These inline functions allow you to get and set _value.
Description: Stores an integer value.

setValueAlt
void BasicSkel::set_value_alt(int n);

These do the same thing as the functions above.
Description: Stores an integer value. Exact same functionality as set_value, except that this isn't an inline function.


BattleWalker

    from direct.controls.BattleWalker import BattleWalker

Inheritance:

    BattleWalker:

Methods of BattleWalker:

    __init__
    getSpeeds
    handleAvatarControls
__init__
def __init__(self)

Undocumented function.

getSpeeds
def getSpeeds(self)

Undocumented function.

handleAvatarControls
def handleAvatarControls(self, task)

Check on the arrow keys and update the avatar.


BillboardEffect

    from pandac.PandaModules import BillboardEffect
    Class : BillboardEffect
    Description : Indicates that geometry at this node should automatically rotate to face the camera, or any other arbitrary node.

Inheritance:

    BillboardEffect: RenderEffect
    RenderEffect: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of BillboardEffect:

    getAxialRotate
    getClassType
    getEyeRelative
    getLookAt
    getLookAtPoint
    getOffset
    getUpVector
    isOff
    make
    makeAxis
    makePointEye
    makePointWorld

Methods of RenderEffect:

    compareTo
    getClassType
    getNumEffects
    listEffects
    output
    validateEffects
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getAxialRotate
bool BillboardEffect::get_axial_rotate(void) const;

Description: Returns true if this billboard rotates only around the axis of the up vector, or false if it rotates freely in three dimensions.

getClassType
static TypeHandle BillboardEffect::get_class_type(void);

Undocumented function.

getEyeRelative
bool BillboardEffect::get_eye_relative(void) const;

Description: Returns true if this billboard interprets the up vector relative to the camera, or false if it is relative to the world.

getLookAt
NodePath const &BillboardEffect::get_look_at(void) const;

Description: Returns the node this billboard will rotate to look towards. If this is empty, it means the billboard will rotate towards the current camera node, wherever that might be.

getLookAtPoint
LPoint3f const &BillboardEffect::get_look_at_point(void) const;

Description: Returns the point, relative to the look_at node, towards which the billboard will rotate. Normally this is (0, 0, 0).

getOffset
float BillboardEffect::get_offset(void) const;

Description: Returns the distance toward the camera (or the look_at_point) the billboard is moved towards, after rotating. This can be used to ensure the billboard is not obscured by nearby geometry.

getUpVector
LVector3f const &BillboardEffect::get_up_vector(void) const;

Description: Returns the up vector in effect for this billboard.

isOff
bool BillboardEffect::is_off(void) const;

Description: Returns true if the BillboardEffect is an 'off' BillboardEffect, indicating that it does not enable billboarding. This kind of BillboardEffect isn't particularly useful and isn't normally created or stored in the graph; it might be implicitly discovered as the result of a NodePath::get_rel_state().

make
static ConstPointerTo< RenderEffect > BillboardEffect::make(LVector3f const &up_vector, bool eye_relative, bool axial_rotate, float offset, NodePath const &look_at, LPoint3f const &look_at_point);

Description: Constructs a new BillboardEffect object with the indicated properties.

makeAxis
static ConstPointerTo< RenderEffect > BillboardEffect::make_axis(void);

Description: A convenience function to make a typical axis-rotating billboard.

makePointEye
static ConstPointerTo< RenderEffect > BillboardEffect::make_point_eye(void);

Description: A convenience function to make a typical eye-relative point-rotating billboard.

makePointWorld
static ConstPointerTo< RenderEffect > BillboardEffect::make_point_world(void);

Description: A convenience function to make a typical world-relative point-rotating billboard.

compareTo
int RenderEffect::compare_to(RenderEffect const &other) const;

Description: Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderEffect class because all equivalent RenderEffect objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderEffect::get_class_type(void);

Undocumented function.

getNumEffects
static int RenderEffect::get_num_effects(void);

Description: Returns the total number of unique RenderEffect objects allocated in the world. This will go up and down during normal operations.

listEffects
static void RenderEffect::list_effects(ostream &out);

Description: Lists all of the RenderEffects in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderEffect::output(ostream &out) const;

Description:

validateEffects
static bool RenderEffect::validate_effects(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderEffect objects).

write
virtual void RenderEffect::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


binaryresource

    from direct.pyinst.resource import binaryresource
    A .dll or .pyd.
    dependencies() yields more binaryresources

Inheritance:

    binaryresource:

Methods of binaryresource:

    __init__
    asFilter
    dependencies
__init__
def __init__(self, name, fullname)

Undocumented function.

asFilter
def asFilter(self)

Create a FileFilter from self.

dependencies
def dependencies(self)

Return a list of binary dependencies.


BitArray

    from pandac.PandaModules import BitArray
    Class : BitArray
    Description : A dynamic array with an unlimited number of bits.
    This is similar to a BitMask, except it appears to contain an infinite number of bits. You can use it very much as you would use a BitMask.

Inheritance:

    BitArray:

Methods of BitArray:

    BitArray (Constructor)
    allOff
    allOn
    bit
    clear
    clearBit
    clearRange
    compareTo
    extract
    getBit
    getClassType
    getHighestBits
    getHighestOffBit
    getHighestOnBit
    getLowestOffBit
    getLowestOnBit
    getMaxNumBits
    getNextHigherDifferentBit
    getNumBits
    getNumBitsPerWord
    getNumOffBits
    getNumOnBits
    getNumWords
    getWord
    hasAllOf
    hasAnyOf
    hasBitsInCommon
    hasMaxNumBits
    invertInPlace
    isAllOn
    isZero
    lowerOn
    operator !=
    operator &
    operator &=
    operator <
    operator <<
    operator <<=
    operator =
    operator ==
    operator >>
    operator >>=
    operator ^
    operator ^=
    operator |
    operator |=
    operator ~
    output
    outputBinary
    outputHex
    range
    setBit
    setBitTo
    setRange
    setRangeTo
    setWord
    store
    write
BitArray
BitArray::BitArray(void);

Description:

allOff
static BitArray BitArray::all_off(void);

Description: Returns a BitArray whose bits are all off.

allOn
static BitArray BitArray::all_on(void);

Description: Returns a BitArray with an infinite array of bits, all on.

bit
static BitArray BitArray::bit(int index);

Description: Returns a BitArray with only the indicated bit on.

clear
void BitArray::clear(void);

Description: Sets all the bits in the BitArray off.

clearBit
void BitArray::clear_bit(int index);

Description: Sets the nth bit off. If n >= get_num_bits(), this automatically extends the array.

clearRange
void BitArray::clear_range(int low_bit, int size);

Description: Sets the indicated range of bits off.

compareTo
int BitArray::compare_to(BitArray const &other) const;

Description: Returns a number less than zero if this BitArray sorts before the indicated other BitArray, greater than zero if it sorts after, or 0 if they are equivalent. This is based on the same ordering defined by operator <.

extract
unsigned int BitArray::extract(int low_bit, int size) const;

Description: Returns a word that represents only the indicated range of bits within this BitArray, shifted to the least-significant position. size must be <= get_num_bits_per_word().

getBit
bool BitArray::get_bit(int index) const;

Description: Returns true if the nth bit is set, false if it is cleared. It is valid for n to increase beyond get_num_bits(), but the return value get_num_bits() will always be the same.

getClassType
static TypeHandle BitArray::get_class_type(void);

Undocumented function.

getHighestBits
bool BitArray::get_highest_bits(void) const;

Description: Returns true if the infinite set of bits beyond get_num_bits() are all on, or false of they are all off.

getHighestOffBit
int BitArray::get_highest_off_bit(void) const;

Description: Returns the index of the highest 0 bit in the array. Returns -1 if there are no 0 bits or if there an infinite number of 1 bits.

getHighestOnBit
int BitArray::get_highest_on_bit(void) const;

Description: Returns the index of the highest 1 bit in the array. Returns -1 if there are no 1 bits or if there an infinite number of 1 bits.

getLowestOffBit
int BitArray::get_lowest_off_bit(void) const;

Description: Returns the index of the lowest 0 bit in the array. Returns -1 if there are no 0 bits.

getLowestOnBit
int BitArray::get_lowest_on_bit(void) const;

Description: Returns the index of the lowest 1 bit in the array. Returns -1 if there are no 1 bits.

getMaxNumBits
static int BitArray::get_max_num_bits(void);

Description: If get_max_num_bits() returned true, this method may be called to return the maximum number of bits that may be stored in this structure. It is an error to call this if get_max_num_bits() return false.
It is always an error to call this method. The BitArray has no maximum number of bits. This method is defined so generic programming algorithms can use BitMask or BitArray interchangeably.

getNextHigherDifferentBit
int BitArray::get_next_higher_different_bit(int low_bit) const;

Description: Returns the index of the next bit in the array, above low_bit, whose value is different that the value of low_bit. Returns low_bit again if all bits higher than low_bit have the same value.
This can be used to quickly iterate through all of the bits in the array.

getNumBits
int BitArray::get_num_bits(void) const;

Description: Returns the current number of possibly different bits in this array. There are actually an infinite number of bits, but every bit higher than this bit will have the same value, either 0 or 1 (see get_highest_bits()).
This number may grow and/or shrink automatically as needed.

getNumBitsPerWord
static int BitArray::get_num_bits_per_word(void);

Description: Returns the number of bits stored per word internally. This is of interest only in that it limits the maximum number of bits that may be queried or set at once by extract() and store().

getNumOffBits
int BitArray::get_num_off_bits(void) const;

Description: Returns the number of bits that are set to 0 in the array. Returns -1 if there are an infinite number of 0 bits.

getNumOnBits
int BitArray::get_num_on_bits(void) const;

Description: Returns the number of bits that are set to 1 in the array. Returns -1 if there are an infinite number of 1 bits.

getNumWords
int BitArray::get_num_words(void) const;

Description: Returns the number of possibly-unique words stored in the array.

getWord
BitMask< unsigned int, 32 > BitArray::get_word(int n) const;

Description: Returns the nth word in the array. It is valid for n to be greater than get_num_words(), but the return value beyond get_num_words() will always be the same.

hasAllOf
bool BitArray::has_all_of(int low_bit, int size) const;

Description: Returns true if all bits in the indicated range are set, false otherwise.

hasAnyOf
bool BitArray::has_any_of(int low_bit, int size) const;

Description: Returns true if any bit in the indicated range is set, false otherwise.

hasBitsInCommon
bool BitArray::has_bits_in_common(BitArray const &other) const;

Description: Returns true if this BitArray has any "one" bits in common with the other one, false otherwise.
This is equivalent to (array & other) != 0, but may be faster.

hasMaxNumBits
static bool BitArray::has_max_num_bits(void);

Description: Returns true if there is a maximum number of bits that may be stored in this structure, false otherwise. If this returns true, the number may be queried in get_max_num_bits().
This method always returns false. The BitArray has no maximum number of bits. This method is defined so generic programming algorithms can use BitMask or BitArray interchangeably.

invertInPlace
void BitArray::invert_in_place(void);

Description: Inverts all the bits in the BitArray. This is equivalent to array = ~array.

isAllOn
bool BitArray::is_all_on(void) const;

Description: Returns true if the entire bitmask is one, false otherwise.

isZero
bool BitArray::is_zero(void) const;

Description: Returns true if the entire bitmask is zero, false otherwise.

lowerOn
static BitArray BitArray::lower_on(int on_bits);

Description: Returns a BitArray whose lower on_bits bits are on.

operator !=
bool BitArray::operator !=(BitArray const &other) const;

Description:

operator &
BitArray BitArray::operator &(BitArray const &other) const;

Description:

operator &=
void BitArray::operator &=(BitArray const &other);

Description:

operator <
bool BitArray::operator <(BitArray const &other) const;

Description: Returns true if the unsigned integer which is represented by this BitArray is less than that of the other one, false otherwise.

operator <<
BitArray BitArray::operator <<(int shift) const;

Description:

operator <<=
void BitArray::operator <<=(int shift);

Description: Logical left shift. The rightmost bits are filled in with zeroes. Since this is an infinite bit array, none of the bits on the left are lost.

operator =
BitArray &BitArray::operator =(BitArray const &copy);

Description:

operator ==
bool BitArray::operator ==(BitArray const &other) const;

Description:

operator >>
BitArray BitArray::operator >>(int shift) const;

Description:

operator >>=
void BitArray::operator >>=(int shift);

Description: Logical right shift. The rightmost bits are lost. Since this is an infinite bit array, there is no question of sign extension; there is no need to synthesize bits on the left.

operator ^
BitArray BitArray::operator ^(BitArray const &other) const;

Description:

operator ^=
void BitArray::operator ^=(BitArray const &other);

Description:

operator |
BitArray BitArray::operator |(BitArray const &other) const;

Description:

operator |=
void BitArray::operator |=(BitArray const &other);

Description:

operator ~
BitArray BitArray::operator ~(void) const;

Undocumented function.

output
void BitArray::output(ostream &out) const;

Description: Writes the BitArray out as a hex number. For a BitArray, this is always the same as output_hex(); it's too confusing for the output format to change back and forth at runtime.

outputBinary
void BitArray::output_binary(ostream &out, int spaces_every = (4)) const;

Description: Writes the BitArray out as a binary number, with spaces every four bits.

outputHex
void BitArray::output_hex(ostream &out, int spaces_every = (4)) const;

Description: Writes the BitArray out as a hexadecimal number, with spaces every four digits.

range
static BitArray BitArray::range(int low_bit, int size);

Description: Returns a BitArray whose size bits, beginning at low_bit, are on.

setBit
void BitArray::set_bit(int index);

Description: Sets the nth bit on. If n >= get_num_bits(), this automatically extends the array.

setBitTo
void BitArray::set_bit_to(int index, bool value);

Description: Sets the nth bit either on or off, according to the indicated bool value.

setRange
void BitArray::set_range(int low_bit, int size);

Description: Sets the indicated range of bits on.

setRangeTo
void BitArray::set_range_to(bool value, int low_bit, int size);

Description: Sets the indicated range of bits to either on or off.

setWord
void BitArray::set_word(int n, BitMask< unsigned int, 32 > value);

Description: Replaces the nth word in the array. If n >= get_num_words(), this automatically extends the array.

store
void BitArray::store(unsigned int value, int low_bit, int size);

Description: Stores the indicated word into the indicated range of bits with this BitArray.

write
void BitArray::write(ostream &out, int indent_level = (0)) const;

Description: Writes the BitArray out as a binary or a hex number, according to the number of bits.


BoundingBox

    from pandac.PandaModules import BoundingBox
    Class : BoundingBox
    Description : An axis-aligned bounding box; that is, a minimum and maximum coordinate triple.
    This box is always axis-aligned. If you need a more general bounding box, try BoundingHexahedron.

Inheritance:

    BoundingBox: FiniteBoundingVolume
    FiniteBoundingVolume: GeometricBoundingVolume
    GeometricBoundingVolume: BoundingVolume
    BoundingVolume: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of BoundingBox:

    BoundingBox (Constructor)
    getClassType
    getNumPlanes
    getNumPoints
    getPlane
    getPoint
    operator delete
    operator new
    validatePtr

Methods of FiniteBoundingVolume:

    getClassType
    getMax
    getMin
    getVolume

Methods of GeometricBoundingVolume:

    around
    contains
    extendBy
    getApproxCenter
    getClassType
    xform

Methods of BoundingVolume:

    around
    contains
    extendBy
    getClassType
    isEmpty
    isInfinite
    makeCopy
    output
    setInfinite
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BoundingVolume:

    IFNoIntersection | (IntersectionFlags)
IFPossible | (IntersectionFlags)
IFSome | (IntersectionFlags)
IFAll | (IntersectionFlags)
IFDontUnderstand | (IntersectionFlags)
BTBest | (BoundsType)
BTSphere | (BoundsType)
BTBox | (BoundsType)
BTInvalid | (BoundsType)
BoundingBox
BoundingBox::BoundingBox(void);

Description: Constructs an empty box object.
Description: Constructs a specific box object.

getClassType
static TypeHandle BoundingBox::get_class_type(void);

Undocumented function.

getNumPlanes
int BoundingBox::get_num_planes(void) const;

Description: Returns 6: the number of faces of a rectangular solid.

getNumPoints
int BoundingBox::get_num_points(void) const;

Description: Returns 8: the number of vertices of a rectangular solid.

getPlane
Planef BoundingBox::get_plane(int n) const;

Description: Returns the nth face of the rectangular solid.

getPoint
LPoint3f BoundingBox::get_point(int n) const;

Description: Returns the nth vertex of the rectangular solid.

operator delete
void BoundingBox::operator delete(void *ptr);

Undocumented function.

operator new
void *BoundingBox::operator new(unsigned int size);

Undocumented function.

validatePtr
static bool BoundingBox::validate_ptr(void const *ptr);

Undocumented function.

getClassType
static TypeHandle FiniteBoundingVolume::get_class_type(void);

Undocumented function.

getMax
virtual LPoint3f FiniteBoundingVolume::get_max(void) const = 0;

Undocumented function.

getMin
virtual LPoint3f FiniteBoundingVolume::get_min(void) const = 0;

Undocumented function.

getVolume
virtual float FiniteBoundingVolume::get_volume(void) const;

Description:

around
bool GeometricBoundingVolume::around(GeometricBoundingVolume const **first, GeometricBoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated.
Description: Resets the volume to enclose only the points indicated.

contains
int GeometricBoundingVolume::contains(GeometricBoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated point.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated line segment.

extendBy
bool GeometricBoundingVolume::extend_by(GeometricBoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.
Description: Increases the size of the volume to include the given point.

getApproxCenter
virtual LPoint3f GeometricBoundingVolume::get_approx_center(void) const = 0;

Undocumented function.

getClassType
static TypeHandle GeometricBoundingVolume::get_class_type(void);

Undocumented function.

xform
virtual void GeometricBoundingVolume::xform(LMatrix4f const &mat) = 0;

Undocumented function.

around
bool BoundingVolume::around(BoundingVolume const **first, BoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated. Returns true if successful, false if the volume doesn't know how to do that or can't do that.

contains
int BoundingVolume::contains(BoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.

extendBy
bool BoundingVolume::extend_by(BoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.

getClassType
static TypeHandle BoundingVolume::get_class_type(void);

Undocumented function.

isEmpty
bool BoundingVolume::is_empty(void) const;

Description: Any kind of volume might be empty. This is a degenerate volume that contains no points; it's not the same as, for instance, a sphere with radius zero, since that contains one point (the center). It intersects with no other volumes.

isInfinite
bool BoundingVolume::is_infinite(void) const;

Description: The other side of the empty coin is an infinite volume. This is a degenerate state of a normally finite volume that contains all points. (Note that some kinds of infinite bounding volumes, like binary separating planes, do not contain all points and thus correctly return is_infinite() == false, even though they are technically infinite. This is a special case of the word 'infinite' meaning the volume covers all points in space.)
It completely intersects with all other volumes except empty volumes.

makeCopy
virtual BoundingVolume *BoundingVolume::make_copy(void) const = 0;

Undocumented function.

output
virtual void BoundingVolume::output(ostream &out) const = 0;

Undocumented function.

setInfinite
void BoundingVolume::set_infinite(void);

Description: Marks the volume as infinite, even if it is normally finite. You can think of this as an infinite extend_by() operation.

write
virtual void BoundingVolume::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BoundingHexahedron

    from pandac.PandaModules import BoundingHexahedron
    Class : BoundingHexahedron
    Description : This defines a bounding convex hexahedron. It is typically used to represent a frustum, but may represent any enclosing convex hexahedron, including simple boxes. However, if all you want is an axis-aligned bounding box, you may be better off with the simpler BoundingBox class.

Inheritance:

    BoundingHexahedron: FiniteBoundingVolume
    FiniteBoundingVolume: GeometricBoundingVolume
    GeometricBoundingVolume: BoundingVolume
    BoundingVolume: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of BoundingHexahedron:

    BoundingHexahedron (Constructor)
    getClassType
    getNumPlanes
    getNumPoints
    getPlane
    getPoint

Methods of FiniteBoundingVolume:

    getClassType
    getMax
    getMin
    getVolume

Methods of GeometricBoundingVolume:

    around
    contains
    extendBy
    getApproxCenter
    getClassType
    xform

Methods of BoundingVolume:

    around
    contains
    extendBy
    getClassType
    isEmpty
    isInfinite
    makeCopy
    output
    setInfinite
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BoundingVolume:

    IFNoIntersection | (IntersectionFlags)
IFPossible | (IntersectionFlags)
IFSome | (IntersectionFlags)
IFAll | (IntersectionFlags)
IFDontUnderstand | (IntersectionFlags)
BTBest | (BoundsType)
BTSphere | (BoundsType)
BTBox | (BoundsType)
BTInvalid | (BoundsType)
BoundingHexahedron
BoundingHexahedron::BoundingHexahedron(Frustumf const &frustum, bool is_ortho, CoordinateSystem cs = (CS_default));

Description:

getClassType
static TypeHandle BoundingHexahedron::get_class_type(void);

Undocumented function.

getNumPlanes
int BoundingHexahedron::get_num_planes(void) const;

Description: Returns 6: the number of faces of a hexahedron.

getNumPoints
int BoundingHexahedron::get_num_points(void) const;

Description: Returns 8: the number of vertices of a hexahedron.

getPlane
Planef BoundingHexahedron::get_plane(int n) const;

Description: Returns the nth face of the hexahedron.

getPoint
LPoint3f BoundingHexahedron::get_point(int n) const;

Description: Returns the nth vertex of the hexahedron.

getClassType
static TypeHandle FiniteBoundingVolume::get_class_type(void);

Undocumented function.

getMax
virtual LPoint3f FiniteBoundingVolume::get_max(void) const = 0;

Undocumented function.

getMin
virtual LPoint3f FiniteBoundingVolume::get_min(void) const = 0;

Undocumented function.

getVolume
virtual float FiniteBoundingVolume::get_volume(void) const;

Description:

around
bool GeometricBoundingVolume::around(GeometricBoundingVolume const **first, GeometricBoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated.
Description: Resets the volume to enclose only the points indicated.

contains
int GeometricBoundingVolume::contains(GeometricBoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated point.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated line segment.

extendBy
bool GeometricBoundingVolume::extend_by(GeometricBoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.
Description: Increases the size of the volume to include the given point.

getApproxCenter
virtual LPoint3f GeometricBoundingVolume::get_approx_center(void) const = 0;

Undocumented function.

getClassType
static TypeHandle GeometricBoundingVolume::get_class_type(void);

Undocumented function.

xform
virtual void GeometricBoundingVolume::xform(LMatrix4f const &mat) = 0;

Undocumented function.

around
bool BoundingVolume::around(BoundingVolume const **first, BoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated. Returns true if successful, false if the volume doesn't know how to do that or can't do that.

contains
int BoundingVolume::contains(BoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.

extendBy
bool BoundingVolume::extend_by(BoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.

getClassType
static TypeHandle BoundingVolume::get_class_type(void);

Undocumented function.

isEmpty
bool BoundingVolume::is_empty(void) const;

Description: Any kind of volume might be empty. This is a degenerate volume that contains no points; it's not the same as, for instance, a sphere with radius zero, since that contains one point (the center). It intersects with no other volumes.

isInfinite
bool BoundingVolume::is_infinite(void) const;

Description: The other side of the empty coin is an infinite volume. This is a degenerate state of a normally finite volume that contains all points. (Note that some kinds of infinite bounding volumes, like binary separating planes, do not contain all points and thus correctly return is_infinite() == false, even though they are technically infinite. This is a special case of the word 'infinite' meaning the volume covers all points in space.)
It completely intersects with all other volumes except empty volumes.

makeCopy
virtual BoundingVolume *BoundingVolume::make_copy(void) const = 0;

Undocumented function.

output
virtual void BoundingVolume::output(ostream &out) const = 0;

Undocumented function.

setInfinite
void BoundingVolume::set_infinite(void);

Description: Marks the volume as infinite, even if it is normally finite. You can think of this as an infinite extend_by() operation.

write
virtual void BoundingVolume::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BoundingLine

    from pandac.PandaModules import BoundingLine
    Class : BoundingLine
    Description : This funny bounding volume is an infinite line with no thickness and extending to infinity in both directions.
    Note that it *always* extends in both directions, despite the fact that you specify two points to the constructor. These are not endpoints, they are two arbitrary points on the line.

Inheritance:

    BoundingLine: GeometricBoundingVolume
    GeometricBoundingVolume: BoundingVolume
    BoundingVolume: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of BoundingLine:

    BoundingLine (Constructor)
    getClassType
    getPointA
    getPointB
    operator delete
    operator new
    validatePtr

Methods of GeometricBoundingVolume:

    around
    contains
    extendBy
    getApproxCenter
    getClassType
    xform

Methods of BoundingVolume:

    around
    contains
    extendBy
    getClassType
    isEmpty
    isInfinite
    makeCopy
    output
    setInfinite
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BoundingVolume:

    IFNoIntersection | (IntersectionFlags)
IFPossible | (IntersectionFlags)
IFSome | (IntersectionFlags)
IFAll | (IntersectionFlags)
IFDontUnderstand | (IntersectionFlags)
BTBest | (BoundsType)
BTSphere | (BoundsType)
BTBox | (BoundsType)
BTInvalid | (BoundsType)
BoundingLine
BoundingLine::BoundingLine(LPoint3f const &a, LPoint3f const &b);

Description:

getClassType
static TypeHandle BoundingLine::get_class_type(void);

Undocumented function.

getPointA
LPoint3f const &BoundingLine::get_point_a(void) const;

Description: Returns the first point that defines the line.

getPointB
LPoint3f BoundingLine::get_point_b(void) const;

Description: Returns the second point that defines the line.

operator delete
void BoundingLine::operator delete(void *ptr);

Undocumented function.

operator new
void *BoundingLine::operator new(unsigned int size);

Undocumented function.

validatePtr
static bool BoundingLine::validate_ptr(void const *ptr);

Undocumented function.

around
bool GeometricBoundingVolume::around(GeometricBoundingVolume const **first, GeometricBoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated.
Description: Resets the volume to enclose only the points indicated.

contains
int GeometricBoundingVolume::contains(GeometricBoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated point.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated line segment.

extendBy
bool GeometricBoundingVolume::extend_by(GeometricBoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.
Description: Increases the size of the volume to include the given point.

getApproxCenter
virtual LPoint3f GeometricBoundingVolume::get_approx_center(void) const = 0;

Undocumented function.

getClassType
static TypeHandle GeometricBoundingVolume::get_class_type(void);

Undocumented function.

xform
virtual void GeometricBoundingVolume::xform(LMatrix4f const &mat) = 0;

Undocumented function.

around
bool BoundingVolume::around(BoundingVolume const **first, BoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated. Returns true if successful, false if the volume doesn't know how to do that or can't do that.

contains
int BoundingVolume::contains(BoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.

extendBy
bool BoundingVolume::extend_by(BoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.

getClassType
static TypeHandle BoundingVolume::get_class_type(void);

Undocumented function.

isEmpty
bool BoundingVolume::is_empty(void) const;

Description: Any kind of volume might be empty. This is a degenerate volume that contains no points; it's not the same as, for instance, a sphere with radius zero, since that contains one point (the center). It intersects with no other volumes.

isInfinite
bool BoundingVolume::is_infinite(void) const;

Description: The other side of the empty coin is an infinite volume. This is a degenerate state of a normally finite volume that contains all points. (Note that some kinds of infinite bounding volumes, like binary separating planes, do not contain all points and thus correctly return is_infinite() == false, even though they are technically infinite. This is a special case of the word 'infinite' meaning the volume covers all points in space.)
It completely intersects with all other volumes except empty volumes.

makeCopy
virtual BoundingVolume *BoundingVolume::make_copy(void) const = 0;

Undocumented function.

output
virtual void BoundingVolume::output(ostream &out) const = 0;

Undocumented function.

setInfinite
void BoundingVolume::set_infinite(void);

Description: Marks the volume as infinite, even if it is normally finite. You can think of this as an infinite extend_by() operation.

write
virtual void BoundingVolume::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BoundingPlane

    from pandac.PandaModules import BoundingPlane
    Class : BoundingPlane
    Description : This funny bounding volume is an infinite plane that divides space into two regions: the part behind the normal, which is "inside" the bounding volume, and the part in front of the normal, which is "outside" the bounding volume.

Inheritance:

    BoundingPlane: GeometricBoundingVolume
    GeometricBoundingVolume: BoundingVolume
    BoundingVolume: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of BoundingPlane:

    BoundingPlane (Constructor)
    getClassType
    getPlane
    operator delete
    operator new
    validatePtr

Methods of GeometricBoundingVolume:

    around
    contains
    extendBy
    getApproxCenter
    getClassType
    xform

Methods of BoundingVolume:

    around
    contains
    extendBy
    getClassType
    isEmpty
    isInfinite
    makeCopy
    output
    setInfinite
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BoundingVolume:

    IFNoIntersection | (IntersectionFlags)
IFPossible | (IntersectionFlags)
IFSome | (IntersectionFlags)
IFAll | (IntersectionFlags)
IFDontUnderstand | (IntersectionFlags)
BTBest | (BoundsType)
BTSphere | (BoundsType)
BTBox | (BoundsType)
BTInvalid | (BoundsType)
BoundingPlane
BoundingPlane::BoundingPlane(void);

Description: Constructs an empty "plane" that has no intersections.
Description:

getClassType
static TypeHandle BoundingPlane::get_class_type(void);

Undocumented function.

getPlane
Planef const &BoundingPlane::get_plane(void) const;

Description:

operator delete
void BoundingPlane::operator delete(void *ptr);

Undocumented function.

operator new
void *BoundingPlane::operator new(unsigned int size);

Undocumented function.

validatePtr
static bool BoundingPlane::validate_ptr(void const *ptr);

Undocumented function.

around
bool GeometricBoundingVolume::around(GeometricBoundingVolume const **first, GeometricBoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated.
Description: Resets the volume to enclose only the points indicated.

contains
int GeometricBoundingVolume::contains(GeometricBoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated point.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated line segment.

extendBy
bool GeometricBoundingVolume::extend_by(GeometricBoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.
Description: Increases the size of the volume to include the given point.

getApproxCenter
virtual LPoint3f GeometricBoundingVolume::get_approx_center(void) const = 0;

Undocumented function.

getClassType
static TypeHandle GeometricBoundingVolume::get_class_type(void);

Undocumented function.

xform
virtual void GeometricBoundingVolume::xform(LMatrix4f const &mat) = 0;

Undocumented function.

around
bool BoundingVolume::around(BoundingVolume const **first, BoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated. Returns true if successful, false if the volume doesn't know how to do that or can't do that.

contains
int BoundingVolume::contains(BoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.

extendBy
bool BoundingVolume::extend_by(BoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.

getClassType
static TypeHandle BoundingVolume::get_class_type(void);

Undocumented function.

isEmpty
bool BoundingVolume::is_empty(void) const;

Description: Any kind of volume might be empty. This is a degenerate volume that contains no points; it's not the same as, for instance, a sphere with radius zero, since that contains one point (the center). It intersects with no other volumes.

isInfinite
bool BoundingVolume::is_infinite(void) const;

Description: The other side of the empty coin is an infinite volume. This is a degenerate state of a normally finite volume that contains all points. (Note that some kinds of infinite bounding volumes, like binary separating planes, do not contain all points and thus correctly return is_infinite() == false, even though they are technically infinite. This is a special case of the word 'infinite' meaning the volume covers all points in space.)
It completely intersects with all other volumes except empty volumes.

makeCopy
virtual BoundingVolume *BoundingVolume::make_copy(void) const = 0;

Undocumented function.

output
virtual void BoundingVolume::output(ostream &out) const = 0;

Undocumented function.

setInfinite
void BoundingVolume::set_infinite(void);

Description: Marks the volume as infinite, even if it is normally finite. You can think of this as an infinite extend_by() operation.

write
virtual void BoundingVolume::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BoundingSphere

    from pandac.PandaModules import BoundingSphere
    Class : BoundingSphere
    Description : This defines a bounding sphere, consisting of a center and a radius. It is always a sphere, and never an ellipsoid or other quadric.

Inheritance:

    BoundingSphere: FiniteBoundingVolume
    FiniteBoundingVolume: GeometricBoundingVolume
    GeometricBoundingVolume: BoundingVolume
    BoundingVolume: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of BoundingSphere:

    BoundingSphere (Constructor)
    getCenter
    getClassType
    getRadius
    operator delete
    operator new
    validatePtr

Methods of FiniteBoundingVolume:

    getClassType
    getMax
    getMin
    getVolume

Methods of GeometricBoundingVolume:

    around
    contains
    extendBy
    getApproxCenter
    getClassType
    xform

Methods of BoundingVolume:

    around
    contains
    extendBy
    getClassType
    isEmpty
    isInfinite
    makeCopy
    output
    setInfinite
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BoundingVolume:

    IFNoIntersection | (IntersectionFlags)
IFPossible | (IntersectionFlags)
IFSome | (IntersectionFlags)
IFAll | (IntersectionFlags)
IFDontUnderstand | (IntersectionFlags)
BTBest | (BoundsType)
BTSphere | (BoundsType)
BTBox | (BoundsType)
BTInvalid | (BoundsType)
BoundingSphere
BoundingSphere::BoundingSphere(void);

Description: Constructs an empty sphere.
Description: Constructs a specific sphere.

getCenter
LPoint3f const &BoundingSphere::get_center(void) const;

Description:

getClassType
static TypeHandle BoundingSphere::get_class_type(void);

Undocumented function.

getRadius
float BoundingSphere::get_radius(void) const;

Description:

operator delete
void BoundingSphere::operator delete(void *ptr);

Undocumented function.

operator new
void *BoundingSphere::operator new(unsigned int size);

Undocumented function.

validatePtr
static bool BoundingSphere::validate_ptr(void const *ptr);

Undocumented function.

getClassType
static TypeHandle FiniteBoundingVolume::get_class_type(void);

Undocumented function.

getMax
virtual LPoint3f FiniteBoundingVolume::get_max(void) const = 0;

Undocumented function.

getMin
virtual LPoint3f FiniteBoundingVolume::get_min(void) const = 0;

Undocumented function.

getVolume
virtual float FiniteBoundingVolume::get_volume(void) const;

Description:

around
bool GeometricBoundingVolume::around(GeometricBoundingVolume const **first, GeometricBoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated.
Description: Resets the volume to enclose only the points indicated.

contains
int GeometricBoundingVolume::contains(GeometricBoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated point.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated line segment.

extendBy
bool GeometricBoundingVolume::extend_by(GeometricBoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.
Description: Increases the size of the volume to include the given point.

getApproxCenter
virtual LPoint3f GeometricBoundingVolume::get_approx_center(void) const = 0;

Undocumented function.

getClassType
static TypeHandle GeometricBoundingVolume::get_class_type(void);

Undocumented function.

xform
virtual void GeometricBoundingVolume::xform(LMatrix4f const &mat) = 0;

Undocumented function.

around
bool BoundingVolume::around(BoundingVolume const **first, BoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated. Returns true if successful, false if the volume doesn't know how to do that or can't do that.

contains
int BoundingVolume::contains(BoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.

extendBy
bool BoundingVolume::extend_by(BoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.

getClassType
static TypeHandle BoundingVolume::get_class_type(void);

Undocumented function.

isEmpty
bool BoundingVolume::is_empty(void) const;

Description: Any kind of volume might be empty. This is a degenerate volume that contains no points; it's not the same as, for instance, a sphere with radius zero, since that contains one point (the center). It intersects with no other volumes.

isInfinite
bool BoundingVolume::is_infinite(void) const;

Description: The other side of the empty coin is an infinite volume. This is a degenerate state of a normally finite volume that contains all points. (Note that some kinds of infinite bounding volumes, like binary separating planes, do not contain all points and thus correctly return is_infinite() == false, even though they are technically infinite. This is a special case of the word 'infinite' meaning the volume covers all points in space.)
It completely intersects with all other volumes except empty volumes.

makeCopy
virtual BoundingVolume *BoundingVolume::make_copy(void) const = 0;

Undocumented function.

output
virtual void BoundingVolume::output(ostream &out) const = 0;

Undocumented function.

setInfinite
void BoundingVolume::set_infinite(void);

Description: Marks the volume as infinite, even if it is normally finite. You can think of this as an infinite extend_by() operation.

write
virtual void BoundingVolume::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BoundingVolume

    from pandac.PandaModules import BoundingVolume
    Class : BoundingVolume
    Description : This is an abstract class for any volume in any sense which can be said to define the locality of reference of a node in a graph, along with all of its descendants. It is not necessarily a geometric volume (although see GeometricBoundingVolume); this is simply an abstract interface for bounds of any sort.

Inheritance:

    BoundingVolume: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of BoundingVolume:

    around
    contains
    extendBy
    getClassType
    isEmpty
    isInfinite
    makeCopy
    output
    setInfinite
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BoundingVolume:

    IFNoIntersection | (IntersectionFlags)
IFPossible | (IntersectionFlags)
IFSome | (IntersectionFlags)
IFAll | (IntersectionFlags)
IFDontUnderstand | (IntersectionFlags)
BTBest | (BoundsType)
BTSphere | (BoundsType)
BTBox | (BoundsType)
BTInvalid | (BoundsType)
around
bool BoundingVolume::around(BoundingVolume const **first, BoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated. Returns true if successful, false if the volume doesn't know how to do that or can't do that.

contains
int BoundingVolume::contains(BoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.

extendBy
bool BoundingVolume::extend_by(BoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.

getClassType
static TypeHandle BoundingVolume::get_class_type(void);

Undocumented function.

isEmpty
bool BoundingVolume::is_empty(void) const;

Description: Any kind of volume might be empty. This is a degenerate volume that contains no points; it's not the same as, for instance, a sphere with radius zero, since that contains one point (the center). It intersects with no other volumes.

isInfinite
bool BoundingVolume::is_infinite(void) const;

Description: The other side of the empty coin is an infinite volume. This is a degenerate state of a normally finite volume that contains all points. (Note that some kinds of infinite bounding volumes, like binary separating planes, do not contain all points and thus correctly return is_infinite() == false, even though they are technically infinite. This is a special case of the word 'infinite' meaning the volume covers all points in space.)
It completely intersects with all other volumes except empty volumes.

makeCopy
virtual BoundingVolume *BoundingVolume::make_copy(void) const = 0;

Undocumented function.

output
virtual void BoundingVolume::output(ostream &out) const = 0;

Undocumented function.

setInfinite
void BoundingVolume::set_infinite(void);

Description: Marks the volume as infinite, even if it is normally finite. You can think of this as an infinite extend_by() operation.

write
virtual void BoundingVolume::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BoxEmitter

    from pandac.PandaModules import BoxEmitter
    Class : BoxEmitter
    Description : Describes a voluminous box region in which particles are generated.

Inheritance:

    BoxEmitter: BaseParticleEmitter
    BaseParticleEmitter: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of BoxEmitter:

    BoxEmitter (Constructor)
    getMaxBound
    getMinBound
    setMaxBound
    setMinBound

Methods of BaseParticleEmitter:

    generate
    getAmplitude
    getAmplitudeSpread
    getEmissionType
    getExplicitLaunchVector
    getOffsetForce
    getRadiateOrigin
    makeCopy
    output
    setAmplitude
    setAmplitudeSpread
    setEmissionType
    setExplicitLaunchVector
    setOffsetForce
    setRadiateOrigin
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleEmitter:

    ETEXPLICIT | (emissionType)
ETRADIATE | (emissionType)
ETCUSTOM | (emissionType)
BoxEmitter
BoxEmitter::BoxEmitter(void);

Description : constructor
Description : copy constructor

getMaxBound
LPoint3f BoxEmitter::get_max_bound(void) const;

Description : boundary accessor

getMinBound
LPoint3f BoxEmitter::get_min_bound(void) const;

Description : boundary accessor

setMaxBound
void BoxEmitter::set_max_bound(LPoint3f const &vmax);

Description : boundary assignment

setMinBound
void BoxEmitter::set_min_bound(LPoint3f const &vmin);

Description : boundary assignment

generate
void BaseParticleEmitter::generate(LPoint3f &pos, LVector3f &vel);

Description : parent generation function

getAmplitude
float BaseParticleEmitter::get_amplitude(void) const;

Description : amplitude query

getAmplitudeSpread
float BaseParticleEmitter::get_amplitude_spread(void) const;

Description : amplitude spread query

getEmissionType
BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type(void) const;

Description : emission type query

getExplicitLaunchVector
LVector3f BaseParticleEmitter::get_explicit_launch_vector(void) const;

Description : query for explicit emission launch vector

getOffsetForce
LVector3f BaseParticleEmitter::get_offset_force(void) const;

Description : user-defined force

getRadiateOrigin
LPoint3f BaseParticleEmitter::get_radiate_origin(void) const;

Description : query for explicit emission launch vector

makeCopy
virtual BaseParticleEmitter *BaseParticleEmitter::make_copy(void) = 0;

Undocumented function.

output
virtual void BaseParticleEmitter::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAmplitude
void BaseParticleEmitter::set_amplitude(float a);

Description : amplitude assignment

setAmplitudeSpread
void BaseParticleEmitter::set_amplitude_spread(float as);

Description : amplitude spread assignment

setEmissionType
void BaseParticleEmitter::set_emission_type(BaseParticleEmitter::emissionType et);

Description : emission type assignment

setExplicitLaunchVector
void BaseParticleEmitter::set_explicit_launch_vector(LVector3f const &elv);

this is a constant force applied to all particles
Description : assignment of explicit emission launch vector

setOffsetForce
void BaseParticleEmitter::set_offset_force(LVector3f const &of);

Description : user-defined force

setRadiateOrigin
void BaseParticleEmitter::set_radiate_origin(LPoint3f const &ro);

this is a constant force applied to all particles
Description : assignment of radiate emission origin point

write
virtual void BaseParticleEmitter::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Buffer

    from pandac.PandaModules import Buffer
    Class : Buffer
    Description :

Inheritance:

    Buffer: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of Buffer:

    getLength

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getLength
int Buffer::get_length(void) const;

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


BufferContext

    from pandac.PandaModules import BufferContext
    Class : BufferContext
    Description : This is a base class for those kinds of SavedContexts that occupy an easily-measured (and substantial) number of bytes in the video card's frame buffer memory or AGP memory. At the present, this includes most of the SavedContext types: VertexBufferContext and IndexBufferContext, as well as TextureContext.
    This class provides methods for tracking the video memory utilization, as well as residency of each object, via PStats.

Inheritance:

    BufferContext: SavedContext
    SavedContext: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of BufferContext:

    getClassType
    getDataSizeBytes
    getModified

Methods of SavedContext:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
getClassType
static TypeHandle BufferContext::get_class_type(void);

Undocumented function.

getDataSizeBytes
unsigned int BufferContext::get_data_size_bytes(void) const;

Description: Returns the number of bytes previously reported for the data object. This is used to track changes in the data object's allocated size; if it changes from this, we need to create a new buffer. This is also used to track memory utilization in PStats.

getModified
UpdateSeq BufferContext::get_modified(void) const;

Description: Returns the UpdateSeq that was recorded the last time mark_loaded() was called.

getClassType
static TypeHandle SavedContext::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


BufferedDistancePhasedNode

    from direct.showbase.DistancePhasedNode import BufferedDistancePhasedNode
    This class is similar to DistancePhasedNode except you can also specify a buffer distance for each phase. Upon entering that phase, its distance will be increased by the buffer amount. Conversely, the distance will be decremented by that amount, back to its original size, upon leaving. In this manner, you can avoid the problem of 'phase flicker' as someone repeatedly steps across a static phase border.
    You specify the buffer amount in the bufferParamMap parameter to __init__(). It has this format:
    bufferParamMap = {'alias':(distance, bufferAmount), ...}

Inheritance:

    BufferedDistancePhasedNode:

Methods of BufferedDistancePhasedNode:

    __adjustCollisions
    __init__
    __repr__
    __str__
    setPhase
__adjustCollisions
def __adjustCollisions(self, phase)

Undocumented function.

__init__
def __init__(self, name, bufferParamMap={}, autoCleanup=True, enterPrefix='enter', exitPrefix='exit', phaseCollideMask=BitMask32.allOn(), fromCollideNode=None)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

__str__
def __str__(self)

Undocumented function.

setPhase
def setPhase(self, aPhase)

see DistancePhasedNode.setPhase()


Buffered_DatagramConnection

    from pandac.PandaModules import Buffered_DatagramConnection
    there are 3 states
    1. Socket not even assigned,,,, 2. Socket Assigned and trying to get a active connect open 3. Socket is open and writable.. ( Fully powered up )...

Inheritance:

    Buffered_DatagramConnection: Socket_TCP
    Socket_TCP: Socket_IP
    Socket_IP: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of Buffered_DatagramConnection:

    BufferedDatagramConnection (Constructor)
    AddAddress
    AddressQueueSize
    ClearAddresses
    DoConnect
    Flush
    getClassType
    GetMessage
    IsConnected
    Reset
    SendMessage
    WaitForNetworkReadEvent

Methods of Socket_TCP:

    SocketTCP (Constructor)
    ActiveOpen
    ActiveOpenNonBlocking
    DontLinger
    ErrorIsWouldBlocking
    getClassType
    RecvData
    SendData
    SetLinger
    SetNoDelay
    SetSendBufferSize
    ShutdownSend

Methods of Socket_IP:

    SocketIP (Constructor)
    Active
    Close
    getClassType
    GetLastError
    GetPeerName
    GetSocket
    InitNetworkDriver
    SetBlocking
    SetNonBlocking
    SetRecvBufferSize
    SetReuseAddress
    SetSocket

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
BufferedDatagramConnection
Buffered_DatagramConnection::Buffered_DatagramConnection(int rbufsize, int wbufsize, int write_flush_point);

all the real state magic is in here
Function name : Buffered_DatagramConnection::Buffered_DatagramConnection
Description :
Return type : inline
Argument : bool do_blocking_writes
Argument : int rbufsize
Argument : int wbufsize

AddAddress
void Buffered_DatagramConnection::AddAddress(Socket_Address &inadr);

address queue stuff
Function name : Buffered_DatagramConnection::Init
Description : must be called to set value to the server
Return type : inline void
Argument : Socket_Address &inadr

AddressQueueSize
unsigned int Buffered_DatagramConnection::AddressQueueSize(void);

address queue stuff

ClearAddresses
void Buffered_DatagramConnection::ClearAddresses(void);

Undocumented function.

DoConnect
bool Buffered_DatagramConnection::DoConnect(void);

Undocumented function.

Flush
bool Buffered_DatagramConnection::Flush(void);

the reason thsi all exists
Function name : Buffered_DatagramConnection::Flush
Description : flush all wrightes
Return type : bool
Argument : void

getClassType
static TypeHandle Buffered_DatagramConnection::get_class_type(void);

Undocumented function.

GetMessage
bool Buffered_DatagramConnection::GetMessage(Datagram &val);

do not use this .. this is a way for the the COnnecting UPcall to drop messages in queue first..
Function name : Buffered_DatagramConnection::GetMessage
Description : read a message
false means something bad happened..
Return type : inline bool
Argument : Datagram &val

IsConnected
bool Buffered_DatagramConnection::IsConnected(void);

all the real state magic is in here

Reset
void Buffered_DatagramConnection::Reset(void);

Function name : Buffered_DatagramConnection::Reset
Description : Reset
Return type : void
Argument : void

SendMessage
bool Buffered_DatagramConnection::SendMessage(Datagram const &msg);

the reason thsi all exists
Function name : Buffered_DatagramConnection::SendMessage
Description : send the message
Return type : inline bool
Argument : DataGram &msg

WaitForNetworkReadEvent
void Buffered_DatagramConnection::WaitForNetworkReadEvent(float MaxTime);

int WaitFor_Read_Error(const Socket_fdset & fd, const Time_Span & timeout);

SocketTCP
Socket_TCP::Socket_TCP(int );

Function name : Socket_TCP::Socket_TCP
Description :

ActiveOpen
bool Socket_TCP::ActiveOpen(Socket_Address const &theaddress, bool setdelay);

inline bool ActiveOpen(const Socket_Address & theaddress);
Function name : ActiveOpen
Description : This function will try and set the socket up for active open to a specified address and port provided by the input parameter

ActiveOpenNonBlocking
bool Socket_TCP::ActiveOpenNonBlocking(Socket_Address const &theaddress);

inline bool ActiveOpen(const Socket_Address & theaddress);
Function name : ActiveOpenNonBlocking
Description : This function will try and set the socket up for active open to a specified address and port provided by the input parameter (non-blocking version)

DontLinger
int Socket_TCP::DontLinger(void);

Function name : Socket_TCP::DontLinger
Description : Turn off the linger flag. The socket will quickly release buffered items and free up OS resources. You may lose a stream if you use this flag and do not negotiate the close at the application layer.

ErrorIsWouldBlocking
bool Socket_TCP::ErrorIs_WouldBlocking(int err);

Undocumented function.

getClassType
static TypeHandle Socket_TCP::get_class_type(void);

Undocumented function.

RecvData
string Socket_TCP::RecvData(int max_len);

inline int RecvData( std::string &str, int max_len);
Function name : Socket_TCP::RecvData
Description : Read the data from the connection
Return type : int
- if error
0 if socket closed for read or length is 0 + bytes read ( May be smaller than requested)

SendData
int Socket_TCP::SendData(string const &str);

Function name : Socket_TCP::SendData
Description : Ok Lets Send the Data
Return type : int
- if error
0 if socket closed for write or lengh is 0 + bytes writen ( May be smaller than requested)

SetLinger
int Socket_TCP::SetLinger(int interval_seconds = (0));

Function name : SetLinger
Description : will control the behavior of SO_LINGER for a TCP socket

SetNoDelay
int Socket_TCP::SetNoDelay(bool flag = (1));

Function name : SetNoDelay
Description : Disable Nagle algorithm. Don't delay send to coalesce packets

SetSendBufferSize
int Socket_TCP::SetSendBufferSize(int insize);

Function name : SetSendBufferSize
Description : Just like it sounds. Sets a buffered socket recv buffer size. This function does not refuse ranges outside hard-coded OS limits

ShutdownSend
bool Socket_TCP::ShutdownSend(void);

Undocumented function.

SocketIP
Socket_IP::Socket_IP(void);

Function name : Socket_IP::Socket_IP
Description : Def Constructor
Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

Active
bool Socket_IP::Active(void);

Function name : Socket_IP::Active
Description : Ask if the socket is open (allocated)

Close
void Socket_IP::Close(void);

Function name : Socket_IP::Close
Description : closes a socket if it is open (allocated)

getClassType
static TypeHandle Socket_IP::get_class_type(void);

Undocumented function.

GetLastError
static int Socket_IP::GetLastError(void);

Function name : Socket_IP::GetLastError
Description : gets the last errcode from a socket operation

GetPeerName
Socket_Address Socket_IP::GetPeerName(void) const;

Function name : Socket_IP::GetPeerName
Description : Wrapper on berkly getpeername...

GetSocket
int Socket_IP::GetSocket(void);

Function name : Socket_IP::GetSocket
Description : Gets the base socket type
Description : Get The RAW file id of the socket

InitNetworkDriver
static int Socket_IP::InitNetworkDriver(void);

Undocumented function.

SetBlocking
int Socket_IP::SetBlocking(void);

Function name : Socket_IP::SetBlocking
Description : Set the socket to block on subsequent calls to socket functions that address this socket

SetNonBlocking
int Socket_IP::SetNonBlocking(void);

Function name : SetNonBlocking
Description : this function will throw a socket into non-blocking mode

SetRecvBufferSize
int Socket_IP::SetRecvBufferSize(int size);

Function name : Socket_IP::SetRecvBufferSize
Description : Ok it sets the recv buffer size for both tcp and UDP

SetReuseAddress
bool Socket_IP::SetReuseAddress(bool flag = (1));

Function name : SetReuseAddress
Description : Informs a socket to reuse IP address as needed

SetSocket
void Socket_IP::SetSocket(int ins);

Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


BufferViewer

    from direct.showbase.BufferViewer import BufferViewer

Inheritance:

    BufferViewer:

Methods of BufferViewer:

    __init__
    advanceCard
    analyzeTextureSet
    enable
    isEnabled
    isValidTextureSet
    maintainReadout
    makeFrame
    refreshReadout
    selectCard
    setCardSize
    setExclude
    setInclude
    setLayout
    setPosition
    setRenderParent
    setSort
    toggleEnable
__init__
def __init__(self)

Access: private. Constructor.

advanceCard
def advanceCard(self)

Only useful when using setLayout('cycle'). Increments the index that selects which card to display. The index is taken modulo the actual number of cards.

analyzeTextureSet
def analyzeTextureSet(self, x, set)

Access: private. Converts a list of GraphicsObject, GraphicsEngine, and Texture into a table of Textures.

enable
def enable(self, x)

Turn the buffer viewer on or off. The initial state of the buffer viewer depends on the Config variable 'show-buffers'.

isEnabled
def isEnabled(self)

Returns true if the buffer viewer is currently enabled.

isValidTextureSet
def isValidTextureSet(self, x)

Access: private. Returns true if the parameter is a list of GraphicsOutput and Texture, or the keyword 'all'.

maintainReadout
def maintainReadout(self, task)

Access: private. Whenever necessary, rebuilds the entire display from scratch. This is only done when the configuration parameters have changed.

makeFrame
def makeFrame(self, sizex, sizey)

Access: private. Each texture card is displayed with a two-pixel wide frame (a ring of black and a ring of white). This routine builds the frame geometry. It is necessary to be precise so that the frame exactly aligns to pixel boundaries, and so that it doesn't overlap the card at all.

refreshReadout
def refreshReadout(self)

Force the readout to be refreshed. This is usually invoked by GraphicsOutput::add_render_texture (via an event handler). However, it is also possible to invoke it manually. Currently, the only time I know of that this is necessary is after a window resize (and I ought to fix that).

selectCard
def selectCard(self, i)

Only useful when using setLayout('cycle'). Sets the index that selects which card to display. The index is taken modulo the actual number of cards.

setCardSize
def setCardSize(self, x, y)

Set the size of each card. The units are relative to render2d (ie, 1x1 card is not square). If one of the dimensions is zero, then the viewer will choose a value for that dimension so as to ensure that the aspect ratio of the card matches the aspect ratio of the source-window. If both dimensions are zero, the viewer uses a heuristic to choose a reasonable size for the card. The initial value is (0, 0).

setExclude
def setExclude(self, x)

Set the exclude-set for the buffer viewer. The exclude-set should be a list of GraphicsOutputs and Textures to ignore. The exclude-set is subtracted from the include-set (so the excludes effectively override the includes.) The initial value is the empty list.

setInclude
def setInclude(self, x)

Set the include-set for the buffer viewer. The include-set specifies which of the render-to-texture targets to display. Valid inputs are the string 'all' (display every render-to-texture target), or a list of GraphicsOutputs or Textures. The initial value is 'all'.

setLayout
def setLayout(self, lay)

Set the layout of the cards. The valid values are:
* vline - display them in a vertical line
* hline - display them in a horizontal line
* vgrid - display them in a vertical grid
* hgrid - display them in a horizontal grid
* cycle - display one card at a time, using selectCard/advanceCard
The default value is 'hline'.

setPosition
def setPosition(self, pos)

Set the position of the cards. The valid values are:
* llcorner - put them in the lower-left corner of the window
* lrcorner - put them in the lower-right corner of the window
* ulcorner - put them in the upper-left corner of the window
* urcorner - put them in the upper-right corner of the window
* window - put them in a separate window
The initial value is 'lrcorner'.

setRenderParent
def setRenderParent(self, renderParent)

Set the scene graph root to which the output cards should be parented. The default is render2d.

setSort
def setSort(self, bin, sort)

Set the cull-bin and sort-order for the output cards. The default value is 'fixed', 10000.

toggleEnable
def toggleEnable(self)

Toggle the buffer viewer on or off. The initial state of the enable flag depends on the Config variable 'show-buffers'.


BulletinBoard

    from direct.showbase.BulletinBoard import BulletinBoard
    This class implements a global location for key/value pairs to be stored. Intended to prevent coders from putting global variables directly on showbase, so that potential name collisions can be more easily detected.

Inheritance:

    BulletinBoard:

Methods of BulletinBoard:

    __init__
    __repr__
    get
    getEvent
    getRemoveEvent
    has
    post
    remove
    removeIfEqual
    update
__init__
def __init__(self)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

get
def get(self, postName, default=None)

Undocumented function.

getEvent
def getEvent(self, postName)

Undocumented function.

getRemoveEvent
def getRemoveEvent(self, postName)

Undocumented function.

has
def has(self, postName)

Undocumented function.

post
def post(self, postName, value=None)

Undocumented function.

remove
def remove(self, postName)

Undocumented function.

removeIfEqual
def removeIfEqual(self, postName, value)

Undocumented function.

update
def update(self, postName, value)

can use this to set value the first time


BulletinBoardWatcher

    from direct.showbase.BulletinBoardWatcher import BulletinBoardWatcher
    This class allows you to wait for a set of posts to be made to (or removed from) the bulletin board, and gives you a notification when all posts have been made. Values of posts are not examined.

Inheritance:

    BulletinBoardWatcher:

Methods of BulletinBoardWatcher:

    __init__
    _checkDone
    _handleEvent
    destroy
    isDone
__init__
def __init__(self, name, postNames, callback, removeNames=None)

Undocumented function.

_checkDone
def _checkDone(self)

Undocumented function.

_handleEvent
def _handleEvent(self, eventName)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

isDone
def isDone(self)

Undocumented function.


ButtonHandle

    from pandac.PandaModules import ButtonHandle
    Class : ButtonHandle
    Description : A ButtonHandle represents a single button from any device, including keyboard buttons and mouse buttons (but see KeyboardButton and MouseButton).

Inheritance:

    ButtonHandle:

Methods of ButtonHandle:

    ButtonHandle (Constructor)
    getAlias
    getAsciiEquivalent
    getClassType
    getIndex
    getName
    hasAsciiEquivalent
    matches
    none
    output
ButtonHandle
ButtonHandle::ButtonHandle(void);

Description: The default constructor must do nothing, because we can't guarantee ordering of static initializers. If the constructor tried to initialize its value, it might happen after the value had already been set previously by another static initializer!
Description: Constructs a ButtonHandle with the corresponding index number, which may have been returned by an earlier call to ButtonHandle::get_index().
Description:

getAlias
ButtonHandle ButtonHandle::get_alias(void) const;

Description: Returns the alias (alternate name) associated with the button, if any, or ButtonHandle::none() if the button has no alias.
Each button is allowed to have one alias, and multiple different buttons can refer to the same alias. The alias should be the more general name for the button, for instance, shift is an alias for lshift, but not vice-versa.

getAsciiEquivalent
char ButtonHandle::get_ascii_equivalent(void) const;

Description: Returns the character code associated with the button, or '\0' if no ASCII code was associated.

getClassType
static TypeHandle ButtonHandle::get_class_type(void);

Undocumented function.

getIndex
int ButtonHandle::get_index(void) const;

Description: Returns the integer index associated with this ButtonHandle. Each different ButtonHandle will have a different index. However, you probably shouldn't be using this method; you should just treat the ButtonHandles as opaque classes. This is provided for the convenience of non-C++ scripting languages to build a hashtable of ButtonHandles.

getName
string ButtonHandle::get_name(void) const;

Description: Returns the name of the button.

hasAsciiEquivalent
bool ButtonHandle::has_ascii_equivalent(void) const;

Description: Returns true if the button was created with an ASCII equivalent code (e.g. for a standard keyboard button).

matches
bool ButtonHandle::matches(ButtonHandle const &other) const;

Description: Returns true if this ButtonHandle is the same as the other one, or if the other one is an alias for this one. (Does not return true if this button is an alias for the other one, however.)
This is a more general comparison than operator ==.

none
static ButtonHandle ButtonHandle::none(void);

Description: Returns a special zero-valued ButtonHandle that is used to indicate no button.

output
void ButtonHandle::output(ostream &out) const;

Description:


ButtonNode

    from pandac.PandaModules import ButtonNode
    Class : ButtonNode
    Description : This is the primary interface to on/off button devices associated with a ClientBase. This creates a node that connects to the named button device, if it exists, and provides hooks to the user to read the state of any of the sequentially numbered buttons associated with that device.
    It also can associate an arbitrary ButtonHandle with each button; when buttons are associated with ButtonHandles, this node will put appropriate up and down events on the data graph for each button state change.

Inheritance:

    ButtonNode: DataNode
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of ButtonNode:

    ButtonNode (Constructor)
    getButtonMap
    getButtonState
    getClassType
    getNumButtons
    isButtonKnown
    isValid
    setButtonMap

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
ButtonNode
ButtonNode::ButtonNode(ClientBase *client, string const &device_name);

Description:

getButtonMap
ButtonHandle ButtonNode::get_button_map(int index) const;

Description: Returns the ButtonHandle that was previously associated with the given index number by a call to set_button_map(), or ButtonHandle::none() if no button was associated.

getButtonState
bool ButtonNode::get_button_state(int index) const;

Description: Returns true if the indicated button (identified by its index number) is currently known to be down, or false if it is up or unknown.

getClassType
static TypeHandle ButtonNode::get_class_type(void);

Undocumented function.

getNumButtons
int ButtonNode::get_num_buttons(void) const;

Description: Returns the number of buttons known to the ButtonNode. This includes those buttons whose state has been seen, as well as buttons that have been associated with a ButtonHandle even if their state is unknown. This number may change as more buttons are discovered.

isButtonKnown
bool ButtonNode::is_button_known(int index) const;

Description: Returns true if the state of the indicated button is known, or false if we have never heard anything about this particular button.

isValid
bool ButtonNode::is_valid(void) const;

Description: Returns true if the ButtonNode is valid and connected to a server, false otherwise.

setButtonMap
void ButtonNode::set_button_map(int index, ButtonHandle button);

Description: Associates the indicated ButtonHandle with the button of the indicated index number. When the given button index changes state, a corresponding ButtonEvent will be generated with the given ButtonHandle. Pass ButtonHandle::none() to turn off any association.
It is not necessary to call this if you simply want to query the state of the various buttons by index number; this is only necessary in order to generate ButtonEvents when the buttons change state.

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ButtonRegistry

    from pandac.PandaModules import ButtonRegistry
    Class : ButtonRegistry
    Description : The ButtonRegistry class maintains all the assigned ButtonHandles in a given system. There should be only one ButtonRegistry class during the lifetime of the application.

Inheritance:

    ButtonRegistry:

Methods of ButtonRegistry:

    findAsciiButton
    getButton
    ptr
    write
findAsciiButton
ButtonHandle ButtonRegistry::find_ascii_button(char ascii_equivalent) const;

Description: Finds a ButtonHandle in the registry matching the indicated ASCII equivalent character. If there is no such ButtonHandle, returns ButtonHandle::none().

getButton
ButtonHandle ButtonRegistry::get_button(string const &name);

Description: Finds a ButtonHandle in the registry matching the indicated name. If there is no such ButtonHandle, registers a new one and returns it.

ptr
static ButtonRegistry *ButtonRegistry::ptr(void);

ptr() returns the pointer to the global ButtonRegistry object.
Description: Returns the pointer to the global ButtonRegistry object.

write
void ButtonRegistry::write(ostream &out) const;

Description:


ButtonThrower

    from pandac.PandaModules import ButtonThrower
    Class : ButtonThrower
    Description : Throws Panda Events for button down/up events generated within the data graph.
    This is a DataNode which is intended to be parented to the data graph below a device which is generating a sequence of button events, like a MouseAndKeyboard device. It simply takes each button it finds and throws a corresponding event based on the button name via the throw_event() call.

Inheritance:

    ButtonThrower: DataNode
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of ButtonThrower:

    ButtonThrower (Constructor)
    addParameter
    addThrowButton
    clearThrowButtons
    getButtonDownEvent
    getButtonRepeatEvent
    getButtonUpEvent
    getCandidateEvent
    getClassType
    getKeystrokeEvent
    getModifierButtons
    getMoveEvent
    getNumParameters
    getParameter
    getPrefix
    getSpecificFlag
    getThrowButtonsActive
    getTimeFlag
    hasThrowButton
    removeThrowButton
    setButtonDownEvent
    setButtonRepeatEvent
    setButtonUpEvent
    setCandidateEvent
    setKeystrokeEvent
    setModifierButtons
    setMoveEvent
    setPrefix
    setSpecificFlag
    setThrowButtonsActive
    setTimeFlag

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
ButtonThrower
ButtonThrower::ButtonThrower(string const &name);

Description:

addParameter
void ButtonThrower::add_parameter(EventParameter const &obj);

Description: Adds the indicated parameter to the list of parameters that will be passed with each event generated by this ButtonThrower.

addThrowButton
bool ButtonThrower::add_throw_button(ModifierButtons const &mods, ButtonHandle const &button);

Description: Adds a new button to the set of buttons that the ButtonThrower explicitly processes.
If set_throw_buttons_active is false (which is the default), the ButtonThrower will process all buttons. Otherwise, the ButtonThrower will only process events for the button(s) explicitly named by this function; buttons not on the list will be ignored by this object and passed on downstream to the child node(s) in the data graph. A button that *is* on the list will be processed by the ButtonThrower and not passed on to the child node(s).
The return value is true if the button is added, or false if it was already in the set.

clearThrowButtons
void ButtonThrower::clear_throw_buttons(void);

Description: Empties the set of buttons that were added via add_throw_button(). See add_throw_button().

getButtonDownEvent
string const &ButtonThrower::get_button_down_event(void) const;

Description: Returns the button_down_event that has been set on this ButtonThrower. See set_button_down_event().

getButtonRepeatEvent
string const &ButtonThrower::get_button_repeat_event(void) const;

Description: Returns the button_repeat_event that has been set on this ButtonThrower. See set_button_repeat_event().

getButtonUpEvent
string const &ButtonThrower::get_button_up_event(void) const;

Description: Returns the button_up_event that has been set on this ButtonThrower. See set_button_up_event().

getCandidateEvent
string const &ButtonThrower::get_candidate_event(void) const;

Description: Returns the candidate_event that has been set on this ButtonThrower. See set_candidate_event().

getClassType
static TypeHandle ButtonThrower::get_class_type(void);

Undocumented function.

getKeystrokeEvent
string const &ButtonThrower::get_keystroke_event(void) const;

Description: Returns the keystroke_event that has been set on this ButtonThrower. See set_keystroke_event().

getModifierButtons
ModifierButtons const &ButtonThrower::get_modifier_buttons(void) const;

Description: Returns the set of ModifierButtons that the ButtonThrower will consider important enough to prepend the event name with. Normally, this set will be empty, and the ButtonThrower will therefore ignore all ModifierButtons attached to the key events, but if one or more buttons have been added to this set, and those modifier buttons are set on the button event, then the event name will be prepended with the names of the modifier buttons.

getMoveEvent
string const &ButtonThrower::get_move_event(void) const;

Description: Returns the move_event that has been set on this ButtonThrower. See set_move_event().

getNumParameters
int ButtonThrower::get_num_parameters(void) const;

Description: Returns the number of parameters that have been added to the list of parameters to be passed with each event generated by this ButtonThrower.

getParameter
EventParameter ButtonThrower::get_parameter(int n) const;

Description: Returns the nth parameter that has been added to the list of parameters passed with each event generated by this ButtonThrower.

getPrefix
string const &ButtonThrower::get_prefix(void) const;

Description: Returns the prefix that has been set on this ButtonThrower. See set_prefix().

getSpecificFlag
bool ButtonThrower::get_specific_flag(void) const;

Description: Returns the flag that indicates whether specific events should be generated. See set_specific_flag().

getThrowButtonsActive
bool ButtonThrower::get_throw_buttons_active(void) const;

Description: Returns the flag that indicates whether the ButtonThrower will only process events for the explicitly named buttons or not. See set_throw_buttons_active().

getTimeFlag
bool ButtonThrower::get_time_flag(void) const;

Description: Returns the flag that indicates whether the time of the button event should be passed as a parameter.

hasThrowButton
bool ButtonThrower::has_throw_button(ModifierButtons const &mods, ButtonHandle const &button) const;

Description: Returns true if the indicated button is on the set of buttons that will be processed by the ButtonThrower, false otherwise. See add_throw_button().
Description: Returns true if the indicated button, in conjunction with any nonspecified modifier buttons, is on the set of buttons that will be processed by the ButtonThrower. That is to say, returns true if this button was ever passed as the second parameter add_throw_button(), regardless of what the first parameter was.

removeThrowButton
bool ButtonThrower::remove_throw_button(ModifierButtons const &mods, ButtonHandle const &button);

Description: Removes the indicated button from the set of buttons that the ButtonThrower explicitly processes. See add_throw_button().
The return value is true if the button is removed, or false if it was not on the set.

setButtonDownEvent
void ButtonThrower::set_button_down_event(string const &button_down_event);

Description: Specifies the generic event that is generated (if any) each time a key or button is depressed. Unlike the specific events that are unique to each key, this same event name is used for *all* button events, and the name of the button pressed (possibly with modifier prefixes) will be sent as a parameter.
If this string is empty, no event is generated. It is possible to generate both generic events and specific events for the same button.
See also set_keystroke_event().

setButtonRepeatEvent
void ButtonThrower::set_button_repeat_event(string const &button_repeat_event);

Description: Specifies the generic event that is generated (if any) repeatedly while a key or button is held down. Unlike the specific events that are unique to each key, this same event name is used for *all* button events, and the name of the button pressed (possibly with modifier prefixes) will be sent as a parameter.
If this string is empty, no event is generated. It is possible to generate both generic events and specific events for the same button.
See also set_keystroke_event().

setButtonUpEvent
void ButtonThrower::set_button_up_event(string const &button_up_event);

Description: Specifies the generic event that is generated (if any) each time a key or button is released. See set_button_down_event().

setCandidateEvent
void ButtonThrower::set_candidate_event(string const &candidate_event);

Description: Specifies the event that is generated (if any) for each IME candidate string event received. Events of this nature are received only when the user is entering data using a Microsoft Input Method Editor, typically used for Asian languages such as Japanese or Korean.
If you are designing a typing user interface, you should track this event to support the use of the IME. In response to this event, you should display the candidate string in the entry box, with the appropriate sections highlighted, so the user can scroll through the available choices.
This event is generated with four parameters, in order: the candidate string, the character at which to start the highlight, the character at which to end the highlight, and the current cursor position.

setKeystrokeEvent
void ButtonThrower::set_keystroke_event(string const &keystroke_event);

Description: Specifies the event that is generated (if any) for each keystroke that is received. A keystroke is different than a button event: it represents the semantic meaning of the sequence of keys that have been pressed. For instance, pressing shift and 4 together will generate the button event "shift-4", but it will generate the keystroke "$".
If a key is held down, keyrepeat will cause the same keystroke event to be generated repeatedly. This is different from the corresponding down event, which will only be generated once, followed by a number of button repeat events.
This event is generated with a single wstring parameter, which is a one-character string that contains the keystroke generated. If this event string is empty, no event is generated.
See also set_button_down_event().

setModifierButtons
void ButtonThrower::set_modifier_buttons(ModifierButtons const &mods);

Description: Changes the set of ModifierButtons that the ButtonThrower will consider important enough to prepend the event name with. Normally, this set will be empty, and the ButtonThrower will therefore ignore all ModifierButtons attached to the key events, but if one or more buttons have been added to this set, then the event name will be prepended with the names of the modifier buttons.
It is recommended that you change this setting by first calling get_modifier_buttons(), making adjustments, and passing the new value to set_modifier_buttons(). This way the current state of the modifier buttons will not be lost.

setMoveEvent
void ButtonThrower::set_move_event(string const &move_event);

Description: Specifies the event that is generated (if any) each time the mouse is moved within the window.

setPrefix
void ButtonThrower::set_prefix(string const &prefix);

Description: Sets the prefix which is prepended to all specific event names (that is, event names generated from the button name itself, as opposed to the generic event names like set_button_down_event) thrown by this object.

setSpecificFlag
void ButtonThrower::set_specific_flag(bool specific_flag);

Description: Sets the flag that indicates whether specific events (events prefixed by set_prefix, and based on the event name) should be generated at all. This is true by default, but may be disabled if you are only interested in the generic events (for instance, events like set_button_down_event).

setThrowButtonsActive
void ButtonThrower::set_throw_buttons_active(bool flag);

Description: Sets the flag that indicates whether the ButtonThrower will only process events for the explicitly named buttons or not. Normally this is false, meaning all buttons are processed; set it true to indicate that only some buttons should be processed. See add_throw_button().

setTimeFlag
void ButtonThrower::set_time_flag(bool time_flag);

Description: Sets the flag that indicates whether the time of the button event should be passed as a parameter or not. When this is true, an additional parameter is generated on each event (before all the parameters named by add_parameter) that consists of a single double value, and reflects the time the button was pressed or released, as a value from ClockObject::get_global_clock().

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CachedDOData

    from direct.distributed.CachedDOData import CachedDOData

Inheritance:

    CachedDOData:

Methods of CachedDOData:

    __init__
    destroy
    flush
__init__
def __init__(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

flush
def flush(self)

Undocumented function.


CachedTypedWritableReferenceCount

    from pandac.PandaModules import CachedTypedWritableReferenceCount
    Class : CachedTypedWritableReferenceCount
    Description : This is a special extension to ReferenceCount that includes dual reference counts: the standard reference count number, which includes all references to the object, and a separate number (the cache reference count) that counts the number of references to the object just within its cache alone. When get_ref_count() == get_cache_ref_count(), the object is not referenced outside the cache.
    The cache refs must be explicitly maintained; there is no PointerTo<> class to maintain the cache reference counts automatically. The cache reference count is automatically included in the overall reference count: calling cache_ref() and cache_unref() automatically calls ref() and unref().

Inheritance:

    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Camera

    from pandac.PandaModules import Camera
    Class : Camera
    Description : A node that can be positioned around in the scene graph to represent a point of view for rendering a scene.

Inheritance:

    Camera: LensNode
    LensNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of Camera:

    Camera (Constructor)
    cleanupAuxSceneData
    clearAuxSceneData
    clearTagState
    getAuxSceneData
    getCameraMask
    getClassType
    getCullCenter
    getDisplayRegion
    getInitialState
    getLodCenter
    getNumDisplayRegions
    getScene
    getTagState
    getTagStateKey
    hasTagState
    isActive
    listAuxSceneData
    setActive
    setAuxSceneData
    setCameraMask
    setCullCenter
    setInitialState
    setLodCenter
    setScene
    setTagState
    setTagStateKey

Methods of LensNode:

    LensNode (Constructor)
    copyLens
    getClassType
    getLens
    hideFrustum
    isInView
    setLens
    showFrustum

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
Camera
Camera::Camera(string const &name);

Description:

cleanupAuxSceneData
int Camera::cleanup_aux_scene_data(Thread *current_thread = ((get_current_thread())));

Description: Walks through the list of currently-assigned AuxSceneData objects and releases any that are past their expiration times. Returns the number of elements released.

clearAuxSceneData
bool Camera::clear_aux_scene_data(NodePath const &node_path);

Description: Removes the AuxSceneData associated with the indicated NodePath. Returns true if it is removed successfully, false if it was already gone.

clearTagState
void Camera::clear_tag_state(string const &tag_state);

Description: Removes the association established by a previous call to set_tag_state().

getAuxSceneData
AuxSceneData *Camera::get_aux_scene_data(NodePath const &node_path) const;

Description: Returns the AuxSceneData associated with the indicated NodePath, or NULL if nothing is associated.

getCameraMask
BitMask< unsigned int, 32 > Camera::get_camera_mask(void) const;

Description: Returns the set of bits that represent the subset of the scene graph the camera will render. See set_camera_mask().

getClassType
static TypeHandle Camera::get_class_type(void);

Undocumented function.

getCullCenter
NodePath const &Camera::get_cull_center(void) const;

Description: Returns the point from which the culling operations will be performed, if it was set by set_cull_center(), or the empty NodePath otherwise.

getDisplayRegion
DisplayRegion *Camera::get_display_region(int n) const;

Description: Returns the nth display region associated with the camera.

getInitialState
ConstPointerTo< RenderState > Camera::get_initial_state(void) const;

Description: Returns the initial state as set by a previous call to set_initial_state().

getLodCenter
NodePath const &Camera::get_lod_center(void) const;

Description: Returns the point from which the LOD distances will be measured, if it was set by set_lod_center(), or the empty NodePath otherwise.

getNumDisplayRegions
int Camera::get_num_display_regions(void) const;

Description: Returns the number of display regions associated with the camera.

getScene
NodePath const &Camera::get_scene(void) const;

Description: Returns the scene that will be rendered by the camera. See set_scene().

getTagState
ConstPointerTo< RenderState > Camera::get_tag_state(string const &tag_state) const;

Description: Returns the state associated with the indicated tag state by a previous call to set_tag_state(), or the empty state if nothing has been associated.

getTagStateKey
string const &Camera::get_tag_state_key(void) const;

Description: Returns the tag key as set by a previous call to set_tag_state_key().

hasTagState
bool Camera::has_tag_state(string const &tag_state) const;

Description: Returns true if set_tag_state() has previously been called with the indicated tag state, false otherwise.

isActive
bool Camera::is_active(void) const;

Description: Returns the current setting of the active flag on the camera.

listAuxSceneData
void Camera::list_aux_scene_data(ostream &out) const;

Description: Outputs all of the NodePaths and AuxSceneDatas in use.

setActive
void Camera::set_active(bool active);

Description: Sets the active flag on the camera. When the camera is not active, nothing will be rendered.

setAuxSceneData
void Camera::set_aux_scene_data(NodePath const &node_path, AuxSceneData *data);

Description: Associates the indicated AuxSceneData object with the given NodePath, possibly replacing a previous data defined for the same NodePath, if any.

setCameraMask
void Camera::set_camera_mask(BitMask< unsigned int, 32 > mask);

Description: Changes the set of bits that represent the subset of the scene graph the camera will render.
During the cull traversal, a node is not visited if none of its draw mask bits intersect with the camera's camera mask bits. These masks can be used to selectively hide and show different parts of the scene graph from different cameras that are otherwise viewing the same scene.

setCullCenter
void Camera::set_cull_center(NodePath const &cull_center);

Description: Specifies the point from which the culling operations are performed. Normally, this is the same as the camera, and that is the default if this is not specified; but it may sometimes be useful to perform the culling from some other viewpoint, particularly when you are debugging the culling itself.

setInitialState
void Camera::set_initial_state(RenderState const *state);

Description: Sets the initial state which is applied to all nodes in the scene, as if it were set at the top of the scene graph.

setLodCenter
void Camera::set_lod_center(NodePath const &lod_center);

Description: Specifies the point from which the LOD distances are measured. Normally, this is the same as the camera, and that is the default if this is not specified; but it may sometimes be useful to perform the distance test from some other viewpoint. This may be used, for instance, to reduce LOD popping when the camera rotates in a small circle about an avatar.

setScene
void Camera::set_scene(NodePath const &scene);

Description: Sets the scene that will be rendered by the camera. This is normally the root node of a scene graph, typically a node called 'render', although it could represent the root of any subgraph.
Note that the use of this method is now deprecated. In the absence of an explicit scene set on the camera, the camera will render whatever scene it is parented into. This is the preferred way to specify the scene, since it is the more intuitive mechanism.

setTagState
void Camera::set_tag_state(string const &tag_state, RenderState const *state);

Description: Associates a particular state transition with the indicated tag value. When a node is encountered during traversal with the tag key specified by set_tag_state_key(), if the value of that tag matches tag_state, then the indicated state is applied to this node--but only when it is rendered by this camera.
This can be used to apply special effects to nodes when they are rendered by certain cameras. It is particularly useful for multipass rendering, in which specialty cameras might be needed to render the scene with a particular set of effects.

setTagStateKey
void Camera::set_tag_state_key(string const &tag_state_key);

Description: Sets the tag key which, when encountered as a tag on nodes in the scene graph, causes this Camera to apply an arbitrary state transition based on the value of the tag (as specified to set_tag_state()).

LensNode
LensNode::LensNode(string const &name);

Description:

copyLens
void LensNode::copy_lens(Lens const &lens);

Description: Sets up the LensNode using a copy of the indicated Lens. If the original Lens is changed or destroyed, this LensNode is not affected.

getClassType
static TypeHandle LensNode::get_class_type(void);

Undocumented function.

getLens
Lens *LensNode::get_lens(void) const;

Description: Returns a pointer to the particular Lens associated with this LensNode, or NULL if there is not yet a Lens associated.

hideFrustum
void LensNode::hide_frustum(void);

Description: Disables the drawing of the lens's frustum to aid in visualization.

isInView
bool LensNode::is_in_view(LPoint3f const &pos);

Description: Returns true if the given point is within the bounds of the lens of the LensNode (i.e. if the camera can see the point).

setLens
void LensNode::set_lens(Lens *lens);

Description: Sets up the LensNode using this particular Lens pointer. If the lens is subsequently modified, the LensNode properties immediately reflect the change.

showFrustum
void LensNode::show_frustum(void);

Description: Enables the drawing of the lens's frustum to aid in visualization. This actually creates a GeomNode which is parented to the LensNode.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CArchive

    from direct.pyinst.carchive_rt import CArchive

Inheritance:

    CArchive:

Methods of CArchive:

    __init__
    checkmagic
    contents
    extract
    loadtoc
    openEmbedded
__init__
def __init__(self, path=None, start=0, len=0)

Undocumented function.

checkmagic
def checkmagic(self)

Undocumented function.

contents
def contents(self)

Undocumented function.

extract
def extract(self, name)

Undocumented function.

loadtoc
def loadtoc(self)

Undocumented function.

openEmbedded
def openEmbedded(self, name)

Undocumented function.


CardMaker

    from pandac.PandaModules import CardMaker
    Class : CardMaker
    Description : This class generates 2-d "cards", that is, rectangular polygons, particularly useful for showing textures etc. in the 2-d scene graph.

Inheritance:

    CardMaker: Namable
    Namable:

Methods of CardMaker:

    CardMaker (Constructor)
    clearSourceGeometry
    generate
    reset
    setColor
    setFrame
    setFrameFullscreenQuad
    setHas3dUvs
    setHasNormals
    setHasUvs
    setSourceGeometry
    setUvRange
    setUvRangeCube

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
CardMaker
CardMaker::CardMaker(string const &name);

Description:

clearSourceGeometry
void CardMaker::clear_source_geometry(void);

Description: Removes the node specified by an earlier call to set_source_geometry().

generate
PointerTo< PandaNode > CardMaker::generate(void);

Description: Generates a GeomNode that renders the specified geometry.

reset
void CardMaker::reset(void);

Description: Resets all the parameters to their initial defaults.

setColor
void CardMaker::set_color(float r, float g, float b, float a);

Description: Sets the color of the card.

setFrame
void CardMaker::set_frame(float left, float right, float bottom, float top);

Description: Sets the size of the card.

setFrameFullscreenQuad
void CardMaker::set_frame_fullscreen_quad(void);

Description: Sets the card to (-1,1,-1,1), which is appropriate if you plan to parent it to render2d and use it as a fullscreen quad.

setHas3dUvs
void CardMaker::set_has_3d_uvs(bool flag);

Description: Sets the flag indicating whether vertices will be generated with 3-component UVW's (true) or 2-component UV's (the default, false). Normally, this will be implicitly set by setting the uv_range.

setHasNormals
void CardMaker::set_has_normals(bool flag);

Description: Sets the flag indicating whether vertices will be generated with normals or not. Normals are required if you intend to enable lighting on the card, but are just wasted space and bandwidth otherwise, so there is a (slight) optimization for disabling them. If enabled, the normals will be generated perpendicular to the card's face.

setHasUvs
void CardMaker::set_has_uvs(bool flag);

Description: Sets the flag indicating whether vertices will be generated with UV's or not.

setSourceGeometry
void CardMaker::set_source_geometry(PandaNode *node, LVecBase4f const &frame);

Description: Sets a node that will be copied (and scaled and translated) to generate the frame, instead of generating a new polygon. The node may contain arbitrary geometry that describes a flat polygon contained within the indicated left, right, bottom, top frame.
When generate() is called, the geometry in this node will be scaled and translated appropriately to give it the size and aspect ratio specified by set_frame().

setUvRange
void CardMaker::set_uv_range(LPoint2f const &ll, LPoint2f const &ur);

Description: Sets the range of UV's that will be applied to the vertices. If set_has_uvs() is true (as it is by default), the vertices will be generated with the indicated range of UV's, which will be useful if a texture is applied.
Description: Sets the range of UV's that will be applied to the vertices appropriately to show the non-pad region of the texture.

setUvRangeCube
void CardMaker::set_uv_range_cube(int face);

Description: Sets the range of UV's that will be applied to the vertices appropriately for a cube-map face.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


CartesianGridBase

    from direct.distributed.CartesianGridBase import CartesianGridBase

Inheritance:

    CartesianGridBase:

Methods of CartesianGridBase:

    getConcentricZones
    getGridSizeFromSphere
    getGridSizeFromSphereRadius
    getZoneCellOrigin
    getZoneCellOriginCenter
    getZoneFromXYZ
    isValidZone
getConcentricZones
def getConcentricZones(self, zoneId, radius)

Undocumented function.

getGridSizeFromSphere
def getGridSizeFromSphere(self, sphereRadius, spherePos, cellWidth, gridRadius)

Undocumented function.

getGridSizeFromSphereRadius
def getGridSizeFromSphereRadius(self, sphereRadius, cellWidth, gridRadius)

Undocumented function.

getZoneCellOrigin
def getZoneCellOrigin(self, zoneId)

Undocumented function.

getZoneCellOriginCenter
def getZoneCellOriginCenter(self, zoneId)

Undocumented function.

getZoneFromXYZ
def getZoneFromXYZ(self, pos, wantRowAndCol=False)

Undocumented function.

isValidZone
def isValidZone(self, zoneId)

Undocumented function.


CConnectionRepository

    from pandac.PandaModules import CConnectionRepository
    Class : CConnectionRepository
    Description : This class implements the C++ side of the ConnectionRepository object. In particular, it manages the connection to the server once it has been opened (but does not open it directly). It manages reading and writing datagrams on the connection and monitoring for unexpected disconnects as well as handling intentional disconnects.
    Certain server messages, like field updates, are handled entirely within the C++ layer, while server messages that are not understood by the C++ layer are returned up to the Python layer for processing.

Inheritance:

    CConnectionRepository:

Methods of CConnectionRepository:

    CConnectionRepository (Constructor)
    abandonMessageBundles
    bundleMsg
    checkDatagram
    considerFlush
    disconnect
    flush
    getClientDatagram
    getCw
    getDatagram
    getDatagramIterator
    getDcFile
    getHandleCUpdates
    getMsgChannel
    getMsgChannelCount
    getMsgSender
    getMsgType
    getOverflowEventName
    getQcm
    getQcr
    getSimulatedDisconnect
    getStream
    getVerbose
    getWantMessageBundling
    hasOwnerView
    isBundlingMessages
    isConnected
    sendDatagram
    sendMessageBundle
    setClientDatagram
    setConnectionHttp
    setHandleCUpdates
    setPythonRepository
    setSimulatedDisconnect
    setVerbose
    setWantMessageBundling
    startMessageBundle
    toggleVerbose
    tryConnectNet
CConnectionRepository
CConnectionRepository::CConnectionRepository(bool has_owner_view = (0));

Description:

abandonMessageBundles
void CConnectionRepository::abandon_message_bundles(void);

Description: throw out any msgs that have been queued up for message bundles

bundleMsg
void CConnectionRepository::bundle_msg(Datagram const &dg);

Description: send network messages queued up since startMessageBundle was called

checkDatagram
bool CConnectionRepository::check_datagram(void);

Description: Returns true if a new datagram is available, false otherwise. If the return value is true, the new datagram may be retrieved via get_datagram(), or preferably, with get_datagram_iterator() and get_msg_type().

considerFlush
bool CConnectionRepository::consider_flush(void);

Description: Sends the most recently queued data if enough time has elapsed. This only has meaning if set_collect_tcp() has been set to true.

disconnect
void CConnectionRepository::disconnect(void);

Description: Closes the connection to the server.

flush
bool CConnectionRepository::flush(void);

Description: Sends the most recently queued data now. This only has meaning if set_collect_tcp() has been set to true.

getClientDatagram
bool CConnectionRepository::get_client_datagram(void) const;

Description: Returns the client_datagram flag.

getCw
ConnectionWriter &CConnectionRepository::get_cw(void);

Description: Returns the ConnectionWriter object associated with the repository.

getDatagram
void CConnectionRepository::get_datagram(Datagram &dg);

Description: Fills the datagram object with the datagram most recently retrieved by check_datagram().

getDatagramIterator
void CConnectionRepository::get_datagram_iterator(DatagramIterator &di);

Description: Fills the DatagramIterator object with the iterator for the datagram most recently retrieved by check_datagram(). This iterator has already read past the datagram header and the message type, and is positioned at the beginning of data.

getDcFile
DCFile &CConnectionRepository::get_dc_file(void);

Description: Returns the DCFile object associated with this repository.

getHandleCUpdates
bool CConnectionRepository::get_handle_c_updates(void) const;

Description: Returns true if this repository will process distributed updates internally in C++ code, or false if it will return them to Python.

getMsgChannel
unsigned __int64 CConnectionRepository::get_msg_channel(int offset = (0)) const;

Description: Returns the channel from which the current message was sent, according to the datagram headers. This information is not available to the client.

getMsgChannelCount
int CConnectionRepository::get_msg_channel_count(void) const;

Undocumented function.

getMsgSender
unsigned __int64 CConnectionRepository::get_msg_sender(void) const;

Description: Returns the sender ID of the current message, according to the datagram headers. This information is not available to the client.

getMsgType
unsigned int CConnectionRepository::get_msg_type(void) const;

INLINE unsigned char get_sec_code() const;
Description: Returns the security code associated with the current message, according to the datagram headers. This information is not available to the client.
INLINE unsigned char CConnectionRepository:: get_sec_code() const { return _sec_code; }
Description: Returns the type ID of the current message, according to the datagram headers.

getOverflowEventName
static string const &CConnectionRepository::get_overflow_event_name(void);

Description: Returns event string that will be thrown if the datagram reader queue overflows.

getQcm
QueuedConnectionManager &CConnectionRepository::get_qcm(void);

Description: Returns the QueuedConnectionManager object associated with the repository.

getQcr
QueuedConnectionReader &CConnectionRepository::get_qcr(void);

Description: Returns the QueuedConnectionReader object associated with the repository.

getSimulatedDisconnect
bool CConnectionRepository::get_simulated_disconnect(void) const;

Description: Returns the simulated disconnect flag. While this is true, no datagrams will be retrieved from or sent to the server. The idea is to simulate a temporary network outage.

getStream
SocketStream *CConnectionRepository::get_stream(void);

Description: Returns the SocketStream that internally represents the already-established HTTP connection. Returns NULL if there is no current HTTP connection.

getVerbose
bool CConnectionRepository::get_verbose(void) const;

Description: Returns the current setting of the verbose flag. When true, this describes every message going back and forth on the wire.

getWantMessageBundling
bool CConnectionRepository::get_want_message_bundling(void) const;

Description: Returns true if message bundling enabled

hasOwnerView
bool CConnectionRepository::has_owner_view(void) const;

Description: Returns true if this repository can have 'owner' views of distributed objects.

isBundlingMessages
bool CConnectionRepository::is_bundling_messages(void) const;

Description: Returns true if repository is queueing outgoing messages into a message bundle

isConnected
bool CConnectionRepository::is_connected(void);

Description: Returns true if the connection to the gameserver is established and still good, false if we are not connected. A false value means either (a) we never successfully connected, (b) we explicitly called disconnect(), or (c) we were connected, but the connection was spontaneously lost.

sendDatagram
bool CConnectionRepository::send_datagram(Datagram const &dg);

Description: Queues the indicated datagram for sending to the server. It may not get send immediately if collect_tcp is in effect; call flush() to guarantee it is sent now.

sendMessageBundle
void CConnectionRepository::send_message_bundle(unsigned int channel, unsigned int sender_channel);

Description: send network messages queued up since startMessageBundle was called

setClientDatagram
void CConnectionRepository::set_client_datagram(bool client_datagram);

Description: Sets the client_datagram flag. If this is true, incoming datagrams are not expected to be prefixed with the server routing information like message sender, channel number, etc.; otherwise, these server fields are parsed and removed from each incoming datagram.

setConnectionHttp
void CConnectionRepository::set_connection_http(HTTPChannel *channel);

Description: Once a connection has been established via the HTTP interface, gets the connection and uses it. The supplied HTTPChannel object must have a connection available via get_connection().

setHandleCUpdates
void CConnectionRepository::set_handle_c_updates(bool handle_c_updates);

Description: Set true to specify this repository should process distributed updates internally in C++ code, or false if it should return them to Python.

setPythonRepository
void CConnectionRepository::set_python_repository(PyObject *python_repository);

Description: Records the pointer to the Python class that derives from CConnectionRepository. This allows the C++ implementation to directly manipulation some python structures on the repository.

setSimulatedDisconnect
void CConnectionRepository::set_simulated_disconnect(bool simulated_disconnect);

Description: Sets the simulated disconnect flag. While this is true, no datagrams will be retrieved from or sent to the server. The idea is to simulate a temporary network outage.

setVerbose
void CConnectionRepository::set_verbose(bool verbose);

Description: Directly sets the verbose flag. When true, this describes every message going back and forth on the wire.

setWantMessageBundling
void CConnectionRepository::set_want_message_bundling(bool flag);

Description: Enable/disable outbound message bundling

startMessageBundle
void CConnectionRepository::start_message_bundle(void);

Description: Send a set of messages to the state server that will be processed atomically for instance you can do a combined setLocation/setPos and prevent race conditions where clients briefly get the setLocation but not the setPos, because the state server hasn't processed the setPos yet

toggleVerbose
void CConnectionRepository::toggle_verbose(void);

Description: Toggles the current setting of the verbose flag. When true, this describes every message going back and forth on the wire.

tryConnectNet
bool CConnectionRepository::try_connect_net(URLSpec const &url);

Description: Uses Panda's "net" library to try to connect to the server and port named in the indicated URL. Returns true if successful, false otherwise.


CDistributedSmoothNodeBase

    from pandac.PandaModules import CDistributedSmoothNodeBase
    Class : CDistributedSmoothNodeBase
    Description : This class defines some basic methods of DistributedSmoothNodeBase which have been moved into C++ as a performance optimization.

Inheritance:

    CDistributedSmoothNodeBase:

Methods of CDistributedSmoothNodeBase:

    CDistributedSmoothNodeBase (Constructor)
    broadcastPosHprFull
    broadcastPosHprXy
    broadcastPosHprXyh
    initialize
    sendEverything
    setClockDelta
    setRepository
CDistributedSmoothNodeBase
CDistributedSmoothNodeBase::CDistributedSmoothNodeBase(void);

Description:

broadcastPosHprFull
void CDistributedSmoothNodeBase::broadcast_pos_hpr_full(void);

Description: Examines the complete pos/hpr information to see which of the six elements have changed, and broadcasts the appropriate messages.

broadcastPosHprXy
void CDistributedSmoothNodeBase::broadcast_pos_hpr_xy(void);

Description: Examines only X and Y of the pos/hpr information, and broadcasts the appropriate messages.

broadcastPosHprXyh
void CDistributedSmoothNodeBase::broadcast_pos_hpr_xyh(void);

Description: Examines only X, Y, and H of the pos/hpr information, and broadcasts the appropriate messages.

initialize
void CDistributedSmoothNodeBase::initialize(NodePath const &node_path, DCClass *dclass, unsigned __int64 do_id);

Description: Initializes the internal structures from some constructs that are normally stored only in Python. Also reads the current node's pos & hpr values in preparation for transmitting them via one of the broadcast_pos_hpr_*() methods.

sendEverything
void CDistributedSmoothNodeBase::send_everything(void);

Description: Broadcasts the current pos/hpr in its complete form.

setClockDelta
static void CDistributedSmoothNodeBase::set_clock_delta(PyObject *clock_delta);

Description: Tells the C++ class definition about the global ClockDelta object.

setRepository
static void CDistributedSmoothNodeBase::set_repository(CConnectionRepository *repository, bool is_ai, unsigned __int64 ai_id);

Description: Tells the C++ class definition about the AI or Client repository, used for sending datagrams.


Character

    from pandac.PandaModules import Character
    Class : Character
    Description : An animated character, with skeleton-morph animation and either soft-skinned or hard-skinned vertices.

Inheritance:

    Character: PartBundleNode
    PartBundleNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of Character:

    findJoint
    findSlider
    forceUpdate
    getBundle
    getClassType
    mergeBundles
    update
    updateToNow
    writeParts
    writePartValues

Methods of PartBundleNode:

    getBundle
    getBundleHandle
    getClassType
    getNumBundles

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
findJoint
CharacterJoint *Character::find_joint(string const &name) const;

Description: Returns a pointer to the joint with the given name, if there is such a joint, or NULL if there is no such joint. This will not return a pointer to a slider.

findSlider
CharacterSlider *Character::find_slider(string const &name) const;

Description: Returns a pointer to the slider with the given name, if there is such a slider, or NULL if there is no such slider. This will not return a pointer to a joint.

forceUpdate
void Character::force_update(void);

Description: Recalculates the character even if we think it doesn't need it.

getBundle
CharacterJointBundle *Character::get_bundle(int i) const;

Description:

getClassType
static TypeHandle Character::get_class_type(void);

Undocumented function.

mergeBundles
void Character::merge_bundles(PartBundle *old_bundle, PartBundle *other_bundle);

Description: Merges old_bundle with new_bundle. old_bundle must be one of the PartBundles within this node. At the end of this call, the old_bundle pointer within this node will be replaced with the new_bundle pointer, and all geometry within this node will be updated to reference new_bundle.
This method is deprecated. Use the newer version of this method, below.
Description: Merges old_bundle_handle->get_bundle() with new_bundle. old_bundle_handle must be one of the PartBundleHandle within this node. At the end of this call, the bundle pointer within the old_bundle_handle will be replaced with that within the new_bundle_handle pointer, and all geometry within this node will be updated to reference new_bundle.
Normally, this is called when the two bundles have the same, or nearly the same, hierarchies. In this case, new_bundle will simply be assigned over the old_bundle position. However, if any joints are present in one bundle or the other, new_bundle will be modified to contain the union of all joints.
The geometry below this node is also updated to reference new_bundle, instead of the original old_bundle.
This method is intended to unify two different models that share a common skeleton, for instance, different LOD's of the same model.

update
void Character::update(void);

Description: Recalculates the Character's joints and vertices for the current frame. Normally this is performed automatically during the render and need not be called explicitly.

updateToNow
void Character::update_to_now(void);

Description: Advances the character's frame to the current time, and then calls update(). This can be used by show code to force an update of the character's position to the current frame, regardless of whether the character is currently onscreen and animating.
This method is deprecated. Call update() instead.

writeParts
void Character::write_parts(ostream &out) const;

Description: Writes a list of the Character's joints and sliders, in their hierchical structure, to the indicated output stream.

writePartValues
void Character::write_part_values(ostream &out) const;

Description: Writes a list of the Character's joints and sliders, along with each current position, in their hierchical structure, to the indicated output stream.

getBundle
PartBundle *PartBundleNode::get_bundle(int n) const;

Description:

getBundleHandle
PartBundleHandle *PartBundleNode::get_bundle_handle(int n) const;

Description: Returns the PartBundleHandle that wraps around the actual nth PartBundle. While the PartBundle pointer might later change due to a future flatten operation, the PartBundleHandle will not.

getClassType
static TypeHandle PartBundleNode::get_class_type(void);

Undocumented function.

getNumBundles
int PartBundleNode::get_num_bundles(void) const;

Description:

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CharacterJoint

    from pandac.PandaModules import CharacterJoint
    Class : CharacterJoint
    Description : This represents one joint of the character's animation, containing an animating transform matrix.

Inheritance:

    CharacterJoint: MovingPartMatrix
    MovingPartMatrix: MovingPart< ACMatrixSwitchType >
    MovingPart< ACMatrixSwitchType >: MovingPartBase
    MovingPartBase: PartGroup
    PartGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of CharacterJoint:

    addLocalTransform
    addNetTransform
    clearLocalTransforms
    clearNetTransforms
    getCharacter
    getClassType
    getLocalTransforms
    getNetTransform
    getNetTransforms
    getTransform
    hasLocalTransform
    hasNetTransform
    removeLocalTransform
    removeNetTransform

Methods of MovingPartMatrix:

    getClassType

Methods of MovingPart< ACMatrixSwitchType >:

    getClassType
    getInitialValue
    getValue

Methods of MovingPartBase:

    getBound
    getClassType
    getMaxBound
    outputValue

Methods of PartGroup:

    applyControl
    applyFreeze
    clearForcedChannel
    findChild
    getChild
    getClassType
    getForcedChannel
    getNumChildren
    write
    writeWithValue

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
addLocalTransform
bool CharacterJoint::add_local_transform(PandaNode *node);

Description: Adds the indicated node to the list of nodes that will be updated each frame with the joint's local transform from its parent. Returns true if the node is successfully added, false if it had already been added.
The Character pointer should be the Character object that owns this joint; this will be used to create a CharacterJointEffect for this node. If it is NULL, no such effect will be created.
A CharacterJointEffect for this joint's Character will automatically be added to the specified node.

addNetTransform
bool CharacterJoint::add_net_transform(PandaNode *node);

Description: Adds the indicated node to the list of nodes that will be updated each frame with the joint's net transform from the root. Returns true if the node is successfully added, false if it had already been added.
A CharacterJointEffect for this joint's Character will automatically be added to the specified node.

clearLocalTransforms
void CharacterJoint::clear_local_transforms(void);

Description: Removes all nodes from the list of nodes that will be updated each frame with the joint's local transform from its parent.

clearNetTransforms
void CharacterJoint::clear_net_transforms(void);

Description: Removes all nodes from the list of nodes that will be updated each frame with the joint's net transform from the root.

getCharacter
Character *CharacterJoint::get_character(void) const;

Description: Returns the Character that owns this joint.

getClassType
static TypeHandle CharacterJoint::get_class_type(void);

Undocumented function.

getLocalTransforms
NodePathCollection CharacterJoint::get_local_transforms(void);

Description: Returns a list of the local transforms set for this node. Note that this returns a list of NodePaths, even though the local transforms are actually a list of PandaNodes.

getNetTransform
void CharacterJoint::get_net_transform(LMatrix4f &transform) const;

Description: Copies the joint's current net transform (composed from the root of the character joint hierarchy) into the indicated matrix.

getNetTransforms
NodePathCollection CharacterJoint::get_net_transforms(void);

Description: Returns a list of the net transforms set for this node. Note that this returns a list of NodePaths, even though the net transforms are actually a list of PandaNodes.

getTransform
void CharacterJoint::get_transform(LMatrix4f &transform) const;

Description: Copies the joint's current transform into the indicated matrix.

hasLocalTransform
bool CharacterJoint::has_local_transform(PandaNode *node) const;

Description: Returns true if the node is on the list of nodes that will be updated each frame with the joint's local transform from its parent, false otherwise.

hasNetTransform
bool CharacterJoint::has_net_transform(PandaNode *node) const;

Description: Returns true if the node is on the list of nodes that will be updated each frame with the joint's net transform from the root, false otherwise.

removeLocalTransform
bool CharacterJoint::remove_local_transform(PandaNode *node);

Description: Removes the indicated node from the list of nodes that will be updated each frame with the joint's local transform from its parent. Returns true if the node is successfully removed, false if it was not on the list.
If the node has a CharacterJointEffect that matches this joint's Character, it will be cleared.

removeNetTransform
bool CharacterJoint::remove_net_transform(PandaNode *node);

Description: Removes the indicated node from the list of nodes that will be updated each frame with the joint's net transform from the root. Returns true if the node is successfully removed, false if it was not on the list.
If the node has a CharacterJointEffect that matches this joint's Character, it will be cleared.

getClassType
static TypeHandle MovingPartMatrix::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle ::MovingPart< ACMatrixSwitchType >::get_class_type(void);

Undocumented function.

getInitialValue
LMatrix4f ::MovingPart< ACMatrixSwitchType >::get_initial_value(void) const;

Undocumented function.

getValue
LMatrix4f ::MovingPart< ACMatrixSwitchType >::get_value(void) const;

Undocumented function.

getBound
AnimChannelBase *MovingPartBase::get_bound(int n) const;

Description: Returns the nth bound channel on this PartGroup. n can be determined by iterating from 0 to one less than get_max_bound(); or n might be AnimControl::get_channel_index().
This will return NULL if there is no channel bound on the indicated index. It is an error to call this if n is less than zero or greater than or equal to get_max_bound().

getClassType
static TypeHandle MovingPartBase::get_class_type(void);

Undocumented function.

getMaxBound
int MovingPartBase::get_max_bound(void) const;

Description: Returns the number of channels that might be bound to this PartGroup. This might not be the actual number of channels, since there might be holes in the list; it is one more than the index number of the highest bound channel. Thus, it is called get_max_bound() instead of get_num_bound().

outputValue
virtual void MovingPartBase::output_value(ostream &out) const = 0;

Undocumented function.

applyControl
virtual bool PartGroup::apply_control(PandaNode *node);

Description: Specifies a node to influence this particular joint so that it will always hold the node's transform. Returns true if this is a joint that can be so controlled, false otherwise.
This is normally only called internally by PartBundle::control_joint(), but you may also call it directly.

applyFreeze
virtual bool PartGroup::apply_freeze(TransformState const *transform);

Description: Freezes this particular joint so that it will always hold the specified transform. Returns true if this is a joint that can be so frozen, false otherwise.
This is normally only called internally by PartBundle::freeze_joint(), but you may also call it directly.

clearForcedChannel
virtual bool PartGroup::clear_forced_channel(void);

Description: Undoes the effect of a previous call to apply_freeze() or apply_control(). Returns true if the joint was modified, false otherwise.
This is normally only called internally by PartBundle::release_joint(), but you may also call it directly.

findChild
PartGroup *PartGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
PartGroup *PartGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle PartGroup::get_class_type(void);

Undocumented function.

getForcedChannel
virtual AnimChannelBase *PartGroup::get_forced_channel(void) const;

Description: Returns the AnimChannelBase that has been forced to this joint by a previous call to apply_freeze() or apply_control(), or NULL if no such channel has been applied.

getNumChildren
int PartGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

write
virtual void PartGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

writeWithValue
virtual void PartGroup::write_with_value(ostream &out, int indent_level) const;

Description: Writes a brief description of the group, showing its current value, and that of all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


CharacterJointBundle

    from pandac.PandaModules import CharacterJointBundle
    Class : CharacterJointBundle
    Description : The collection of all the joints and sliders in the character.

Inheritance:

    CharacterJointBundle: PartBundle
    PartBundle: PartGroup
    PartGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of CharacterJointBundle:

    getClassType
    getNode

Methods of PartBundle:

    applyTransform
    bindAnim
    clearControlEffects
    controlJoint
    forceUpdate
    freezeJoint
    getAnimBlendFlag
    getBlendType
    getClassType
    getControlEffect
    getFrameBlendFlag
    getNode
    getNumNodes
    getRootXform
    output
    releaseJoint
    setAnimBlendFlag
    setBlendType
    setControlEffect
    setFrameBlendFlag
    setRootXform
    update
    xform

Methods of PartGroup:

    applyControl
    applyFreeze
    clearForcedChannel
    findChild
    getChild
    getClassType
    getForcedChannel
    getNumChildren
    write
    writeWithValue

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in PartBundle:

    BTLinear | (BlendType)
BTNormalizedLinear | (BlendType)
BTComponentwise | (BlendType)
BTComponentwiseQuat | (BlendType)
getClassType
static TypeHandle CharacterJointBundle::get_class_type(void);

Undocumented function.

getNode
Character *CharacterJointBundle::get_node(int n) const;

Description: Returns the nth Character associated with this PartBundle.

applyTransform
PointerTo< PartBundle > PartBundle::apply_transform(TransformState const *transform);

Description: Returns a PartBundle that is a duplicate of this one, but with the indicated transform applied. If this is called multiple times with the same TransformState pointer, it returns the same PartBundle each time.

bindAnim
PointerTo< AnimControl > PartBundle::bind_anim(AnimBundle *anim, int hierarchy_match_flags = (0), PartSubset const &subset = ((())));

Description: Binds the animation to the bundle, if possible, and returns a new AnimControl that can be used to start and stop the animation. If the anim hierarchy does not match the part hierarchy, returns NULL.
If hierarchy_match_flags is 0, only an exact match is accepted; otherwise, it may contain a union of PartGroup::HierarchyMatchFlags values indicating conditions that will be tolerated (but warnings will still be issued).
If subset is specified, it restricts the binding only to the named subtree of joints.
The AnimControl is not stored within the PartBundle; it is the user's responsibility to maintain the pointer. The animation will automatically unbind itself when the AnimControl destructs (i.e. its reference count goes to zero).

clearControlEffects
void PartBundle::clear_control_effects(void);

Description: Sets the control effect of all AnimControls to zero (but does not "stop" the AnimControls). The character will no longer be affected by any animation, and will return to its original Jesus pose.
The AnimControls which are no longer associated will not be using any CPU cycles, but they may still be in the "playing" state; if they are later reassociated with the PartBundle they will resume at their current frame as if they'd been running all along.

controlJoint
bool PartBundle::control_joint(string const &joint_name, PandaNode *node);

Description: Specifies that the joint with the indicated name should be animated with the transform on the indicated node. It will henceforth always follow the node's transform, regardless of any animations that may subsequently be bound to the joint.
Returns true if the joint is successfully controlled, or false if the named child is not a joint (or slider) or does not exist.

forceUpdate
bool PartBundle::force_update(void);

Description: Updates all the parts in the bundle to reflect the data for the current frame, whether we believe it needs it or not.

freezeJoint
bool PartBundle::freeze_joint(string const &joint_name, TransformState const *transform);

Description: Specifies that the joint with the indicated name should be frozen with the specified transform. It will henceforth always hold this fixed transform, regardless of any animations that may subsequently be bound to the joint.
Returns true if the joint is successfully frozen, or false if the named child is not a joint (or slider) or does not exist.

getAnimBlendFlag
bool PartBundle::get_anim_blend_flag(void) const;

Description: Returns whether the character allows multiple different animations to be bound simultaneously. See set_anim_blend_flag().

getBlendType
PartBundle::BlendType PartBundle::get_blend_type(void) const;

Description: Returns the algorithm that is used when blending multiple frames or multiple animations together, when either anim_blend_flag or frame_blend_flag is set to true.

getClassType
static TypeHandle PartBundle::get_class_type(void);

Undocumented function.

getControlEffect
float PartBundle::get_control_effect(AnimControl *control) const;

Description: Returns the amount by which the character is affected by the indicated AnimControl and its associated animation. See set_control_effect().

getFrameBlendFlag
bool PartBundle::get_frame_blend_flag(void) const;

Description: Returns whether the character interpolates (blends) between two sequential animation frames, or whether it holds the current frame until the next one is ready. See set_frame_blend_flag().

getNode
PartBundleNode *PartBundle::get_node(int n) const;

Description: Returns the nth PartBundleNode associated with this PartBundle.

getNumNodes
int PartBundle::get_num_nodes(void) const;

Description: Returns the number of PartBundleNodes that contain a pointer to this PartBundle.

getRootXform
LMatrix4f const &PartBundle::get_root_xform(void) const;

Description: Returns the transform matrix which is implicitly applied at the root of the animated hierarchy.

output
virtual void PartBundle::output(ostream &out) const;

Description: Writes a one-line description of the bundle.

releaseJoint
bool PartBundle::release_joint(string const &joint_name);

Description: Releases the named joint from the effects of a previous call to freeze_joint() or control_joint(). It will henceforth once again follow whatever transforms are dictated by the animation.
Returns true if the joint is released, or false if the named child was not previously controlled or frozen, or it does not exist.

setAnimBlendFlag
void PartBundle::set_anim_blend_flag(bool anim_blend_flag);

Description: Defines the way the character responds to multiple calls to set_control_effect()). By default, this flag is set false, which disallows multiple animations. When this flag is false, it is not necessary to explicitly set the control_effect when starting an animation; starting the animation will implicitly remove the control_effect from the previous animation and set it on the current one.
However, if this flag is set true, the control_effect must be explicitly set via set_control_effect() whenever an animation is to affect the character.

setBlendType
void PartBundle::set_blend_type(PartBundle::BlendType bt);

Description: Defines the algorithm that is used when blending multiple frames or multiple animations together, when either anim_blend_flag or frame_blend_flag is set to true.
See partBundle.h for a description of the meaning of each of the BlendType values.

setControlEffect
void PartBundle::set_control_effect(AnimControl *control, float effect);

Description: Sets the amount by which the character is affected by the indicated AnimControl (and its associated animation). Normally, this will only be zero or one. Zero indicates the animation does not affect the character, and one means it does.
If the _anim_blend_flag is not false (see set_anim_blend_flag()), it is possible to have multiple AnimControls in effect simultaneously. In this case, the effect is a weight that indicates the relative importance of each AnimControl to the final animation.

setFrameBlendFlag
void PartBundle::set_frame_blend_flag(bool frame_blend_flag);

Description: Specifies whether the character interpolates (blends) between two sequential frames of an active animation, showing a smooth intra-frame motion, or whether it holds each frame until the next frame is ready, showing precisely the specified animation.
When this value is false, the character holds each frame until the next is ready. When this is true, the character will interpolate between two consecutive frames of animation for each frame the animation is onscreen, according to the amount of time elapsed between the frames.
The default value of this flag is determined by the interpolate-frames Config.prc variable.
Use set_blend_type() to change the algorithm that the character uses to interpolate matrix positions.

setRootXform
void PartBundle::set_root_xform(LMatrix4f const &root_xform);

Description: Specifies the transform matrix which is implicitly applied at the root of the animated hierarchy.

update
bool PartBundle::update(void);

Description: Updates all the parts in the bundle to reflect the data for the current frame (as set in each of the AnimControls).
Returns true if any part has changed as a result of this, or false otherwise.

xform
void PartBundle::xform(LMatrix4f const &mat);

Description: Applies the indicated transform to the root of the animated hierarchy.

applyControl
virtual bool PartGroup::apply_control(PandaNode *node);

Description: Specifies a node to influence this particular joint so that it will always hold the node's transform. Returns true if this is a joint that can be so controlled, false otherwise.
This is normally only called internally by PartBundle::control_joint(), but you may also call it directly.

applyFreeze
virtual bool PartGroup::apply_freeze(TransformState const *transform);

Description: Freezes this particular joint so that it will always hold the specified transform. Returns true if this is a joint that can be so frozen, false otherwise.
This is normally only called internally by PartBundle::freeze_joint(), but you may also call it directly.

clearForcedChannel
virtual bool PartGroup::clear_forced_channel(void);

Description: Undoes the effect of a previous call to apply_freeze() or apply_control(). Returns true if the joint was modified, false otherwise.
This is normally only called internally by PartBundle::release_joint(), but you may also call it directly.

findChild
PartGroup *PartGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
PartGroup *PartGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle PartGroup::get_class_type(void);

Undocumented function.

getForcedChannel
virtual AnimChannelBase *PartGroup::get_forced_channel(void) const;

Description: Returns the AnimChannelBase that has been forced to this joint by a previous call to apply_freeze() or apply_control(), or NULL if no such channel has been applied.

getNumChildren
int PartGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

write
virtual void PartGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

writeWithValue
virtual void PartGroup::write_with_value(ostream &out, int indent_level) const;

Description: Writes a brief description of the group, showing its current value, and that of all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


CharacterJointEffect

    from pandac.PandaModules import CharacterJointEffect
    Class : CharacterJointEffect
    Description : This effect will be added automatically to a node by CharacterJoint::add_net_transform() and CharacterJoint::add_local_transform().
    The effect binds the node back to the character, so that querying the relative transform of the affected node will automatically force the indicated character to be updated first.

Inheritance:

    CharacterJointEffect: RenderEffect
    RenderEffect: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CharacterJointEffect:

    getCharacter
    getClassType
    make

Methods of RenderEffect:

    compareTo
    getClassType
    getNumEffects
    listEffects
    output
    validateEffects
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getCharacter
Character *CharacterJointEffect::get_character(void) const;

Description: Returns the Character that will get update() called on it when this node's relative transform is queried, or NULL if there is no such character.

getClassType
static TypeHandle CharacterJointEffect::get_class_type(void);

Undocumented function.

make
static ConstPointerTo< RenderEffect > CharacterJointEffect::make(Character *character);

Description: Constructs a new CharacterJointEffect object that references the indicated character. When a relative get_transform() is called on the node that contains the CharacterJointEffect, it will implicitly call character->update() first.

compareTo
int RenderEffect::compare_to(RenderEffect const &other) const;

Description: Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderEffect class because all equivalent RenderEffect objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderEffect::get_class_type(void);

Undocumented function.

getNumEffects
static int RenderEffect::get_num_effects(void);

Description: Returns the total number of unique RenderEffect objects allocated in the world. This will go up and down during normal operations.

listEffects
static void RenderEffect::list_effects(ostream &out);

Description: Lists all of the RenderEffects in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderEffect::output(ostream &out) const;

Description:

validateEffects
static bool RenderEffect::validate_effects(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderEffect objects).

write
virtual void RenderEffect::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CharacterSlider

    from pandac.PandaModules import CharacterSlider
    Class : CharacterSlider
    Description : This is a morph slider within the character. It's simply a single floating-point value that animates generally between 0 and 1, that controls the effects of one or more morphs within the character.

Inheritance:

    CharacterSlider: MovingPartScalar
    MovingPartScalar: MovingPart< ACScalarSwitchType >
    MovingPart< ACScalarSwitchType >: MovingPartBase
    MovingPartBase: PartGroup
    PartGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of CharacterSlider:

    getClassType

Methods of MovingPartScalar:

    getClassType

Methods of MovingPart< ACScalarSwitchType >:

    getClassType
    getInitialValue
    getValue

Methods of MovingPartBase:

    getBound
    getClassType
    getMaxBound
    outputValue

Methods of PartGroup:

    applyControl
    applyFreeze
    clearForcedChannel
    findChild
    getChild
    getClassType
    getForcedChannel
    getNumChildren
    write
    writeWithValue

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
getClassType
static TypeHandle CharacterSlider::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle MovingPartScalar::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle ::MovingPart< ACScalarSwitchType >::get_class_type(void);

Undocumented function.

getInitialValue
float ::MovingPart< ACScalarSwitchType >::get_initial_value(void) const;

Undocumented function.

getValue
float ::MovingPart< ACScalarSwitchType >::get_value(void) const;

Undocumented function.

getBound
AnimChannelBase *MovingPartBase::get_bound(int n) const;

Description: Returns the nth bound channel on this PartGroup. n can be determined by iterating from 0 to one less than get_max_bound(); or n might be AnimControl::get_channel_index().
This will return NULL if there is no channel bound on the indicated index. It is an error to call this if n is less than zero or greater than or equal to get_max_bound().

getClassType
static TypeHandle MovingPartBase::get_class_type(void);

Undocumented function.

getMaxBound
int MovingPartBase::get_max_bound(void) const;

Description: Returns the number of channels that might be bound to this PartGroup. This might not be the actual number of channels, since there might be holes in the list; it is one more than the index number of the highest bound channel. Thus, it is called get_max_bound() instead of get_num_bound().

outputValue
virtual void MovingPartBase::output_value(ostream &out) const = 0;

Undocumented function.

applyControl
virtual bool PartGroup::apply_control(PandaNode *node);

Description: Specifies a node to influence this particular joint so that it will always hold the node's transform. Returns true if this is a joint that can be so controlled, false otherwise.
This is normally only called internally by PartBundle::control_joint(), but you may also call it directly.

applyFreeze
virtual bool PartGroup::apply_freeze(TransformState const *transform);

Description: Freezes this particular joint so that it will always hold the specified transform. Returns true if this is a joint that can be so frozen, false otherwise.
This is normally only called internally by PartBundle::freeze_joint(), but you may also call it directly.

clearForcedChannel
virtual bool PartGroup::clear_forced_channel(void);

Description: Undoes the effect of a previous call to apply_freeze() or apply_control(). Returns true if the joint was modified, false otherwise.
This is normally only called internally by PartBundle::release_joint(), but you may also call it directly.

findChild
PartGroup *PartGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
PartGroup *PartGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle PartGroup::get_class_type(void);

Undocumented function.

getForcedChannel
virtual AnimChannelBase *PartGroup::get_forced_channel(void) const;

Description: Returns the AnimChannelBase that has been forced to this joint by a previous call to apply_freeze() or apply_control(), or NULL if no such channel has been applied.

getNumChildren
int PartGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

write
virtual void PartGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

writeWithValue
virtual void PartGroup::write_with_value(ostream &out, int indent_level) const;

Description: Writes a brief description of the group, showing its current value, and that of all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


CharacterVertexSlider

    from pandac.PandaModules import CharacterVertexSlider
    Class : CharacterVertexSlider
    Description : This is a specialization on VertexSlider that returns the slider value associated with a particular CharacterSlider object.

Inheritance:

    CharacterVertexSlider: VertexSlider
    VertexSlider: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CharacterVertexSlider:

    CharacterVertexSlider (Constructor)
    getCharSlider
    getClassType

Methods of VertexSlider:

    getClassType
    getModified
    getName
    getSlider
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CharacterVertexSlider
CharacterVertexSlider::CharacterVertexSlider(CharacterSlider *char_slider);

Description: Constructs an invalid object; used only by the bam loader.
Description: Constructs a new object that converts vertices from the indicated joint's coordinate space, into the other indicated joint's space.

getCharSlider
CharacterSlider const *CharacterVertexSlider::get_char_slider(void) const;

Description: Returns the CharacterSlider object for which this object returns the slider value.

getClassType
static TypeHandle CharacterVertexSlider::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle VertexSlider::get_class_type(void);

Undocumented function.

getModified
UpdateSeq VertexSlider::get_modified(Thread *current_thread) const;

Description: Returns a sequence number that's guaranteed to change at least every time the value reported by get_slider() changes.

getName
InternalName const *VertexSlider::get_name(void) const;

Description: Returns the name of this particular slider. Every unique blend shape within a particular Geom must be identified with a different name, which is shared by the slider that controls it.

getSlider
virtual float VertexSlider::get_slider(void) const = 0;

Undocumented function.

output
virtual void VertexSlider::output(ostream &out) const;

Description:

write
virtual void VertexSlider::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CheckContainers

    from direct.showbase.ContainerLeakDetector import CheckContainers
    Job to check container sizes and find potential leaks; sub-job of ContainerLeakDetector

Inheritance:

    CheckContainers:

Methods of CheckContainers:

    __init__
    destroy
    getPriority
    run
__init__
def __init__(self, name, leakDetector, index)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getPriority
def getPriority(self)

Undocumented function.

run
def run(self)

Undocumented function.


CInterval

    from pandac.PandaModules import CInterval
    Class : CInterval
    Description : The base class for timeline components. A CInterval represents a single action, event, or collection of nested intervals that will be performed at some specific time or over a period of time.
    This is essentially similar to the Python "Interval" class, but it is implemented in C++ (hence the name). Intervals that may be implemented in C++ will inherit from this class; Intervals that must be implemented in Python will inherit from the similar Python class.

Inheritance:

    CInterval: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CInterval:

    clearToInitial
    finish
    getAutoFinish
    getAutoPause
    getClassType
    getDoneEvent
    getDuration
    getManager
    getName
    getOpenEnded
    getPlayRate
    getState
    getT
    getWantsTCallback
    isPlaying
    isStopped
    loop
    output
    pause
    privDoEvent
    privFinalize
    privInitialize
    privInstant
    privInterrupt
    privReverseFinalize
    privReverseInitialize
    privReverseInstant
    privStep
    resume
    resumeUntil
    setAutoFinish
    setAutoPause
    setDoneEvent
    setManager
    setPlayRate
    setT
    setupPlay
    setupResume
    setupResumeUntil
    setWantsTCallback
    start
    stepPlay
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in CInterval:

    ETInitialize | (EventType)
ETInstant | (EventType)
ETStep | (EventType)
ETFinalize | (EventType)
ETReverseInitialize | (EventType)
ETReverseInstant | (EventType)
ETReverseFinalize | (EventType)
ETInterrupt | (EventType)
SInitial | (State)
SStarted | (State)
SPaused | (State)
SFinal | (State)
clearToInitial
void CInterval::clear_to_initial(void);

Description: Pauses the interval, if it is playing, and resets its state to its initial state, abandoning any state changes already in progress in the middle of the interval. Calling this is like pausing the interval and discarding it, creating a new one in its place.

finish
void CInterval::finish(void);

Description: Stops the interval from playing and sets it to its final state.

getAutoFinish
bool CInterval::get_auto_finish(void) const;

Description: Returns the state of the 'auto_finish' flag. See set_auto_finish().

getAutoPause
bool CInterval::get_auto_pause(void) const;

Description: Returns the state of the 'auto_pause' flag. See set_auto_pause().

getClassType
static TypeHandle CInterval::get_class_type(void);

Undocumented function.

getDoneEvent
string const &CInterval::get_done_event(void) const;

Description: Returns the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

getDuration
double CInterval::get_duration(void) const;

Description: Returns the duration of the interval in seconds.

getManager
CIntervalManager *CInterval::get_manager(void) const;

Description: Returns the CIntervalManager object which will be responsible for playing this interval. Note that this can only return a C++ object; if the particular CIntervalManager object has been extended in the scripting language, this will return the encapsulated C++ object, not the full extended object.

getName
string const &CInterval::get_name(void) const;

Description: Returns the interval's name.

getOpenEnded
bool CInterval::get_open_ended(void) const;

Description: Returns the state of the "open_ended" flag. This is primarily intended for instantaneous intervals like FunctionIntervals; it indicates true if the interval has some lasting effect that should be applied even if the interval doesn't get started until after its finish time, or false if the interval is a transitive thing that doesn't need to be called late.

getPlayRate
double CInterval::get_play_rate(void) const;

Description: Returns the play rate as set by the last call to start(), loop(), or set_play_rate().

getState
CInterval::State CInterval::get_state(void) const;

Description: Indicates the state the interval believes it is in: whether it has been started, is currently in the middle, or has been finalized.

getT
double CInterval::get_t(void) const;

Description: Returns the current time of the interval: the last value of t passed to priv_initialize(), priv_step(), or priv_finalize().

getWantsTCallback
bool CInterval::get_wants_t_callback(void) const;

Description: Returns the state of the 'wants_t_callback' flag. See set_wants_t_callback().

isPlaying
bool CInterval::is_playing(void) const;

Description: Returns true if the interval is currently playing, false otherwise.

isStopped
bool CInterval::is_stopped(void) const;

Description: Returns true if the interval is in either its initial or final states (but not in a running or paused state).

loop
void CInterval::loop(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play until it is interrupted with finish() or pause(), looping back to start_t when it reaches end_t.
If end_t is less than zero, it indicates the end of the interval.

output
virtual void CInterval::output(ostream &out) const;

Description:

pause
double CInterval::pause(void);

Description: Stops the interval from playing but leaves it in its current state. It may later be resumed from this point by calling resume().

privDoEvent
void CInterval::priv_do_event(double t, CInterval::EventType event);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: Calls the appropriate event function indicated by the EventType.

privFinalize
virtual void CInterval::priv_finalize(void);

Description: This is called to stop an interval, forcing it to whatever state it would be after it played all the way through. It's generally invoked by set_final_t().

privInitialize
virtual void CInterval::priv_initialize(double t);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: This replaces the first call to priv_step(), and indicates that the interval has just begun. This may be overridden by derived classes that need to do some explicit initialization on the first call.

privInstant
virtual void CInterval::priv_instant(void);

Description: This is called in lieu of priv_initialize() .. priv_step() .. priv_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the final state.

privInterrupt
virtual void CInterval::priv_interrupt(void);

Description: This is called while the interval is playing to indicate that it is about to be interrupted; that is, priv_step() will not be called for a length of time. But the interval should remain in its current state in anticipation of being eventually restarted when the calls to priv_step() eventually resume.
The purpose of this function is to allow self-running intervals like sound intervals to stop the actual sound playback during the pause.

privReverseFinalize
virtual void CInterval::priv_reverse_finalize(void);

Description: Called generally following a priv_reverse_initialize(), this indicates the interval should set itself to the initial state.

privReverseInitialize
virtual void CInterval::priv_reverse_initialize(double t);

Description: Similar to priv_initialize(), but this is called when the interval is being played backwards; it indicates that the interval should start at the finishing state and undo any intervening intervals.

privReverseInstant
virtual void CInterval::priv_reverse_instant(void);

Description: This is called in lieu of priv_reverse_initialize() .. priv_step() .. priv_reverse_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the initial state.

privStep
virtual void CInterval::priv_step(double t);

Description: Advances the time on the interval. The time may either increase (the normal case) or decrease (e.g. if the interval is being played by a slider).

resume
void CInterval::resume(void);

Description: Restarts the interval from its current point after a previous call to pause().
Description: Restarts the interval from the indicated point after a previous call to pause().

resumeUntil
void CInterval::resume_until(double end_t);

Description: Restarts the interval from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setAutoFinish
void CInterval::set_auto_finish(bool auto_finish);

Description: Changes the state of the 'auto_finish' flag. If this is true, the interval may be arbitrarily finished when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setAutoPause
void CInterval::set_auto_pause(bool auto_pause);

Description: Changes the state of the 'auto_pause' flag. If this is true, the interval may be arbitrarily interrupted when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setDoneEvent
void CInterval::set_done_event(string const &event);

Description: Sets the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

setManager
void CInterval::set_manager(CIntervalManager *manager);

Description: Indicates the CIntervalManager object which will be responsible for playing this interval. This defaults to the global CIntervalManager; you should need to change this only if you have special requirements for playing this interval.

setPlayRate
void CInterval::set_play_rate(double play_rate);

Description: Changes the play rate of the interval. If the interval is already started, this changes its speed on-the-fly. Note that since play_rate is a parameter to start() and loop(), the next call to start() or loop() will reset this parameter.

setT
void CInterval::set_t(double t);

Description: Explicitly sets the time within the interval. Normally, you would use start() .. finish() to let the time play normally, but this may be used to set the time to some particular value.

setupPlay
void CInterval::setup_play(double start_time, double end_time, double play_rate, bool do_loop);

Description: Called to prepare the interval for automatic timed playback, e.g. via a Python task. The interval will be played from start_t to end_t, at a time factor specified by play_rate. start_t must always be less than end_t (except for the exception for end_t == -1, below), but if play_rate is negative the interval will be played backwards.
Specify end_t of -1 to play the entire interval from start_t.
Call step_play() repeatedly to execute the interval.

setupResume
void CInterval::setup_resume(void);

Description: Called to prepare the interval for restarting at the current point within the interval after an interruption.

setupResumeUntil
void CInterval::setup_resume_until(double end_t);

Description: Called to prepare the interval for restarting from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setWantsTCallback
void CInterval::set_wants_t_callback(bool wants_t_callback);

Description: Changes the state of the 'wants_t_callback' flag. If this is true, the interval will be returned by CIntervalManager::get_event() each time the interval's time value has been changed, regardless of whether it has any external events.

start
void CInterval::start(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play to the end and stop.
If end_t is less than zero, it indicates the end of the interval.

stepPlay
bool CInterval::step_play(void);

Description: Should be called once per frame to execute the automatic timed playback begun with setup_play().
Returns true if the interval should continue, false if it is done and should stop.

write
virtual void CInterval::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CIntervalManager

    from pandac.PandaModules import CIntervalManager
    Class : CIntervalManager
    Description : This object holds a number of currently-playing intervals and is responsible for advancing them each frame as needed.
    There is normally only one IntervalManager object in the world, and it is the responsibility of the scripting language to call step() on this object once each frame, and to then process the events indicated by get_next_event().
    It is also possible to create multiple IntervalManager objects for special needs.

Inheritance:

    CIntervalManager:

Methods of CIntervalManager:

    CIntervalManager (Constructor)
    addCInterval
    findCInterval
    getCInterval
    getEventQueue
    getGlobalPtr
    getMaxIndex
    getNextEvent
    getNextRemoval
    getNumIntervals
    interrupt
    output
    removeCInterval
    setEventQueue
    step
    write
CIntervalManager
CIntervalManager::CIntervalManager(void);

Description:

addCInterval
int CIntervalManager::add_c_interval(CInterval *interval, bool external);

Description: Adds the interval to the manager, and returns a unique index for the interval. This index will be unique among all the currently added intervals, but not unique across all intervals ever added to the manager. The maximum index value will never exceed the maximum number of intervals added at any given time.
If the external flag is true, the interval is understood to also be stored in the scripting language data structures. In this case, it will be available for information returned by get_next_event() and get_next_removal(). If external is false, the interval's index will never be returned by these two functions.

findCInterval
int CIntervalManager::find_c_interval(string const &name) const;

Description: Returns the index associated with the named interval, if there is such an interval, or -1 if there is not.

getCInterval
CInterval *CIntervalManager::get_c_interval(int index) const;

Description: Returns the interval associated with the given index.

getEventQueue
EventQueue *CIntervalManager::get_event_queue(void) const;

Description: Returns the custom event queue to be used for throwing done events from intervals as they finish.

getGlobalPtr
static CIntervalManager *CIntervalManager::get_global_ptr(void);

Description: Returns the pointer to the one global CIntervalManager object.

getMaxIndex
int CIntervalManager::get_max_index(void) const;

Description: Returns one more than the largest interval index number in the manager. If you walk through all the values between (0, get_max_index()] and call get_c_interval() on each number, you will retrieve all of the managed intervals (and possibly a number of NULL pointers as well).

getNextEvent
int CIntervalManager::get_next_event(void);

Description: This should be called by the scripting language after each call to step(). It returns the index number of the next interval that has events requiring servicing by the scripting language, or -1 if no more intervals have any events pending.
If this function returns something other than -1, it is the scripting language's responsibility to query the indicated interval for its next event via get_event_index(), and eventually pop_event().
Then get_next_event() should be called again until it returns -1.

getNextRemoval
int CIntervalManager::get_next_removal(void);

Description: This should be called by the scripting language after each call to step(). It returns the index number of an interval that was recently removed, or -1 if no intervals were removed.
If this returns something other than -1, the scripting language should clean up its own data structures accordingly, and then call get_next_removal() again.

getNumIntervals
int CIntervalManager::get_num_intervals(void) const;

Description: Returns the number of currently active intervals.

interrupt
int CIntervalManager::interrupt(void);

Description: Pauses or finishes (removes from the active queue) all intervals tagged with auto_pause or auto_finish set to true. These are intervals that someone fired up but won't necessarily expect to clean up; they can be interrupted at will when necessary.
Returns the number of intervals affected.

output
void CIntervalManager::output(ostream &out) const;

Description:

removeCInterval
void CIntervalManager::remove_c_interval(int index);

Description: Removes the indicated interval from the queue immediately. It will not be returned from get_next_removal(), and none of its pending events, if any, will be returned by get_next_event().

setEventQueue
void CIntervalManager::set_event_queue(EventQueue *event_queue);

Description: Specifies a custom event queue to be used for throwing done events from intervals as they finish. If this is not specified, the global event queue is used.
The caller maintains ownership of the EventQueue object; it is the caller's responsibility to ensure that the supplied EventQueue does not destruct during the lifetime of the CIntervalManager.

step
void CIntervalManager::step(void);

Description: This should be called every frame to do the processing for all the active intervals. It will call step_play() for each interval that has been added and that has not yet been removed.
After each call to step(), the scripting language should call get_next_event() and get_next_removal() repeatedly to process all the high-level (e.g. Python-interval-based) events and to manage the high-level list of intervals.

write
void CIntervalManager::write(ostream &out) const;

Description:


ClassicFSM

    from direct.fsm.ClassicFSM import ClassicFSM
    Finite State Machine class.
    This module and class exist only for backward compatibility with existing code. New code should use the FSM class instead.

Inheritance:

    ClassicFSM:

Methods of ClassicFSM:

    __enter
    __exitCurrent
    __init__
    __repr__
    __str__
    __transition
    addState
    conditional_request
    enterInitialState
    forceTransition
    getCurrentState
    getFinalState
    getInitialState
    getName
    getStateNamed
    getStates
    hasStateNamed
    isInternalStateInFlux
    request
    requestFinalState
    setFinalState
    setInitialState
    setName
    setStates
    view
__enter
def __enter(self, aState, argList=[])

Enter a given state, if it exists

__exitCurrent
def __exitCurrent(self, argList)

Exit the current state

__init__
def __init__(self, name, states=[], initialStateName=None, finalStateName=None, onUndefTransition=DISALLOW_VERBOSE)

__init__(self, string, State[], string, string, int)
ClassicFSM constructor: takes name, list of states, initial state and final state as:
fsm = ClassicFSM.ClassicFSM('stopLight', [State.State('red', enterRed, exitRed, ['green']), State.State('yellow', enterYellow, exitYellow, ['red']), State.State('green', enterGreen, exitGreen, ['yellow'])], 'red', 'red')
each state's last argument, a list of allowed state transitions, is optional; if left out (or explicitly specified to be State.State.Any) then any transition from the state is 'defined' and allowed
'onUndefTransition' flag determines behavior when undefined transition is requested; see flag definitions above

__repr__
def __repr__(self)

Undocumented function.

__str__
def __str__(self)

Print out something useful about the fsm

__transition
def __transition(self, aState, enterArgList=[], exitArgList=[])

Exit currentState and enter given one

addState
def addState(self, state)

Undocumented function.

conditional_request
def conditional_request(self, aStateName, enterArgList=[], exitArgList=[])

'if this transition is defined, do it' Attempt transition from currentState to given one, if it exists. Return true if transition exists to given state, false otherwise. It is NOT an error/warning to attempt a cond_request if the transition doesn't exist. This lets people be sloppy about ClassicFSM transitions, letting the same fn be used for different states that may not have the same out transitions.

enterInitialState
def enterInitialState(self, argList=[])

Undocumented function.

forceTransition
def forceTransition(self, aStateName, enterArgList=[], exitArgList=[])

force a transition -- for debugging ONLY

getCurrentState
def getCurrentState(self)

Undocumented function.

getFinalState
def getFinalState(self)

Undocumented function.

getInitialState
def getInitialState(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

getStateNamed
def getStateNamed(self, stateName)

Return the state with given name if found, issue warning otherwise

getStates
def getStates(self)

Undocumented function.

hasStateNamed
def hasStateNamed(self, stateName)

Return True if stateName is a valid state, False otherwise.

isInternalStateInFlux
def isInternalStateInFlux(self)

Undocumented function.

request
def request(self, aStateName, enterArgList=[], exitArgList=[], force=0)

Attempt transition from currentState to given one. Return true is transition exists to given state, false otherwise.

requestFinalState
def requestFinalState(self)

Undocumented function.

setFinalState
def setFinalState(self, finalStateName)

Undocumented function.

setInitialState
def setInitialState(self, initialStateName)

Undocumented function.

setName
def setName(self, name)

Undocumented function.

setStates
def setStates(self, states)

setStates(self, State[])

view
def view(self)

Undocumented function.


ClassicStyle

    from direct.fsm.SampleFSM import ClassicStyle

Inheritance:

    ClassicStyle:

Methods of ClassicStyle:

    __init__
    enterGreen
    enterRed
    enterYellow
    exitGreen
    exitRed
    exitYellow
__init__
def __init__(self, name)

Undocumented function.

enterGreen
def enterGreen(self)

Undocumented function.

enterRed
def enterRed(self)

Undocumented function.

enterYellow
def enterYellow(self)

Undocumented function.

exitGreen
def exitGreen(self)

Undocumented function.

exitRed
def exitRed(self)

Undocumented function.

exitYellow
def exitYellow(self)

Undocumented function.


ClassInspector

    from direct.tkpanels.Inspector import ClassInspector

Inheritance:

    ClassInspector:

Methods of ClassInspector:

    namedParts
    title
namedParts
def namedParts(self)

Undocumented function.

title
def title(self)

Undocumented function.


ClassTree

    from direct.showbase.PythonUtil import ClassTree

Inheritance:

    ClassTree:

Methods of ClassTree:

    __init__
    __repr__
    _getStr
    getAllClasses
__init__
def __init__(self, instanceOrClass)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

_getStr
def _getStr(self, indent=None, clsLeftAtIndent=None)

Undocumented function.

getAllClasses
def getAllClasses(self)

Undocumented function.


CLerpAnimEffectInterval

    from pandac.PandaModules import CLerpAnimEffectInterval
    Class : CLerpAnimEffectInterval
    Description : This interval lerps between different amounts of control effects for various AnimControls that might be playing on an actor. It's used to change the blending amount between multiple animations.
    The idea is to start all the animations playing first, then use a CLerpAnimEffectInterval to adjust the degree to which each animation affects the actor.

Inheritance:

    CLerpAnimEffectInterval: CLerpInterval
    CLerpInterval: CInterval
    CInterval: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CLerpAnimEffectInterval:

    CLerpAnimEffectInterval (Constructor)
    addControl
    getClassType

Methods of CLerpInterval:

    getBlendType
    getClassType
    stringBlendType

Methods of CInterval:

    clearToInitial
    finish
    getAutoFinish
    getAutoPause
    getClassType
    getDoneEvent
    getDuration
    getManager
    getName
    getOpenEnded
    getPlayRate
    getState
    getT
    getWantsTCallback
    isPlaying
    isStopped
    loop
    output
    pause
    privDoEvent
    privFinalize
    privInitialize
    privInstant
    privInterrupt
    privReverseFinalize
    privReverseInitialize
    privReverseInstant
    privStep
    resume
    resumeUntil
    setAutoFinish
    setAutoPause
    setDoneEvent
    setManager
    setPlayRate
    setT
    setupPlay
    setupResume
    setupResumeUntil
    setWantsTCallback
    start
    stepPlay
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in CLerpInterval:

    BTNoBlend | (BlendType)
BTEaseIn | (BlendType)
BTEaseOut | (BlendType)
BTEaseInOut | (BlendType)
BTInvalid | (BlendType)

Constants in CInterval:

    ETInitialize | (EventType)
ETInstant | (EventType)
ETStep | (EventType)
ETFinalize | (EventType)
ETReverseInitialize | (EventType)
ETReverseInstant | (EventType)
ETReverseFinalize | (EventType)
ETInterrupt | (EventType)
SInitial | (State)
SStarted | (State)
SPaused | (State)
SFinal | (State)
CLerpAnimEffectInterval
CLerpAnimEffectInterval::CLerpAnimEffectInterval(string const &name, double duration, CLerpInterval::BlendType blend_type);

Description:

addControl
void CLerpAnimEffectInterval::add_control(AnimControl *control, string const &name, float begin_effect, float end_effect);

Description: Adds another AnimControl to the list of AnimControls affected by the lerp. This control will be lerped from begin_effect to end_effect over the period of the lerp.
The AnimControl name parameter is only used when formatting the interval for output.

getClassType
static TypeHandle CLerpAnimEffectInterval::get_class_type(void);

Undocumented function.

getBlendType
CLerpInterval::BlendType CLerpInterval::get_blend_type(void) const;

Description: Returns the blend type specified for the interval. This controls how the linear interpolation behaves near the beginning and end of the lerp period.

getClassType
static TypeHandle CLerpInterval::get_class_type(void);

Undocumented function.

stringBlendType
static CLerpInterval::BlendType CLerpInterval::string_blend_type(string const &blend_type);

Description: Returns the BlendType enumerated value corresponding to the indicated string, or BT_invalid if the string doesn't match anything.

clearToInitial
void CInterval::clear_to_initial(void);

Description: Pauses the interval, if it is playing, and resets its state to its initial state, abandoning any state changes already in progress in the middle of the interval. Calling this is like pausing the interval and discarding it, creating a new one in its place.

finish
void CInterval::finish(void);

Description: Stops the interval from playing and sets it to its final state.

getAutoFinish
bool CInterval::get_auto_finish(void) const;

Description: Returns the state of the 'auto_finish' flag. See set_auto_finish().

getAutoPause
bool CInterval::get_auto_pause(void) const;

Description: Returns the state of the 'auto_pause' flag. See set_auto_pause().

getClassType
static TypeHandle CInterval::get_class_type(void);

Undocumented function.

getDoneEvent
string const &CInterval::get_done_event(void) const;

Description: Returns the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

getDuration
double CInterval::get_duration(void) const;

Description: Returns the duration of the interval in seconds.

getManager
CIntervalManager *CInterval::get_manager(void) const;

Description: Returns the CIntervalManager object which will be responsible for playing this interval. Note that this can only return a C++ object; if the particular CIntervalManager object has been extended in the scripting language, this will return the encapsulated C++ object, not the full extended object.

getName
string const &CInterval::get_name(void) const;

Description: Returns the interval's name.

getOpenEnded
bool CInterval::get_open_ended(void) const;

Description: Returns the state of the "open_ended" flag. This is primarily intended for instantaneous intervals like FunctionIntervals; it indicates true if the interval has some lasting effect that should be applied even if the interval doesn't get started until after its finish time, or false if the interval is a transitive thing that doesn't need to be called late.

getPlayRate
double CInterval::get_play_rate(void) const;

Description: Returns the play rate as set by the last call to start(), loop(), or set_play_rate().

getState
CInterval::State CInterval::get_state(void) const;

Description: Indicates the state the interval believes it is in: whether it has been started, is currently in the middle, or has been finalized.

getT
double CInterval::get_t(void) const;

Description: Returns the current time of the interval: the last value of t passed to priv_initialize(), priv_step(), or priv_finalize().

getWantsTCallback
bool CInterval::get_wants_t_callback(void) const;

Description: Returns the state of the 'wants_t_callback' flag. See set_wants_t_callback().

isPlaying
bool CInterval::is_playing(void) const;

Description: Returns true if the interval is currently playing, false otherwise.

isStopped
bool CInterval::is_stopped(void) const;

Description: Returns true if the interval is in either its initial or final states (but not in a running or paused state).

loop
void CInterval::loop(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play until it is interrupted with finish() or pause(), looping back to start_t when it reaches end_t.
If end_t is less than zero, it indicates the end of the interval.

output
virtual void CInterval::output(ostream &out) const;

Description:

pause
double CInterval::pause(void);

Description: Stops the interval from playing but leaves it in its current state. It may later be resumed from this point by calling resume().

privDoEvent
void CInterval::priv_do_event(double t, CInterval::EventType event);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: Calls the appropriate event function indicated by the EventType.

privFinalize
virtual void CInterval::priv_finalize(void);

Description: This is called to stop an interval, forcing it to whatever state it would be after it played all the way through. It's generally invoked by set_final_t().

privInitialize
virtual void CInterval::priv_initialize(double t);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: This replaces the first call to priv_step(), and indicates that the interval has just begun. This may be overridden by derived classes that need to do some explicit initialization on the first call.

privInstant
virtual void CInterval::priv_instant(void);

Description: This is called in lieu of priv_initialize() .. priv_step() .. priv_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the final state.

privInterrupt
virtual void CInterval::priv_interrupt(void);

Description: This is called while the interval is playing to indicate that it is about to be interrupted; that is, priv_step() will not be called for a length of time. But the interval should remain in its current state in anticipation of being eventually restarted when the calls to priv_step() eventually resume.
The purpose of this function is to allow self-running intervals like sound intervals to stop the actual sound playback during the pause.

privReverseFinalize
virtual void CInterval::priv_reverse_finalize(void);

Description: Called generally following a priv_reverse_initialize(), this indicates the interval should set itself to the initial state.

privReverseInitialize
virtual void CInterval::priv_reverse_initialize(double t);

Description: Similar to priv_initialize(), but this is called when the interval is being played backwards; it indicates that the interval should start at the finishing state and undo any intervening intervals.

privReverseInstant
virtual void CInterval::priv_reverse_instant(void);

Description: This is called in lieu of priv_reverse_initialize() .. priv_step() .. priv_reverse_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the initial state.

privStep
virtual void CInterval::priv_step(double t);

Description: Advances the time on the interval. The time may either increase (the normal case) or decrease (e.g. if the interval is being played by a slider).

resume
void CInterval::resume(void);

Description: Restarts the interval from its current point after a previous call to pause().
Description: Restarts the interval from the indicated point after a previous call to pause().

resumeUntil
void CInterval::resume_until(double end_t);

Description: Restarts the interval from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setAutoFinish
void CInterval::set_auto_finish(bool auto_finish);

Description: Changes the state of the 'auto_finish' flag. If this is true, the interval may be arbitrarily finished when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setAutoPause
void CInterval::set_auto_pause(bool auto_pause);

Description: Changes the state of the 'auto_pause' flag. If this is true, the interval may be arbitrarily interrupted when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setDoneEvent
void CInterval::set_done_event(string const &event);

Description: Sets the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

setManager
void CInterval::set_manager(CIntervalManager *manager);

Description: Indicates the CIntervalManager object which will be responsible for playing this interval. This defaults to the global CIntervalManager; you should need to change this only if you have special requirements for playing this interval.

setPlayRate
void CInterval::set_play_rate(double play_rate);

Description: Changes the play rate of the interval. If the interval is already started, this changes its speed on-the-fly. Note that since play_rate is a parameter to start() and loop(), the next call to start() or loop() will reset this parameter.

setT
void CInterval::set_t(double t);

Description: Explicitly sets the time within the interval. Normally, you would use start() .. finish() to let the time play normally, but this may be used to set the time to some particular value.

setupPlay
void CInterval::setup_play(double start_time, double end_time, double play_rate, bool do_loop);

Description: Called to prepare the interval for automatic timed playback, e.g. via a Python task. The interval will be played from start_t to end_t, at a time factor specified by play_rate. start_t must always be less than end_t (except for the exception for end_t == -1, below), but if play_rate is negative the interval will be played backwards.
Specify end_t of -1 to play the entire interval from start_t.
Call step_play() repeatedly to execute the interval.

setupResume
void CInterval::setup_resume(void);

Description: Called to prepare the interval for restarting at the current point within the interval after an interruption.

setupResumeUntil
void CInterval::setup_resume_until(double end_t);

Description: Called to prepare the interval for restarting from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setWantsTCallback
void CInterval::set_wants_t_callback(bool wants_t_callback);

Description: Changes the state of the 'wants_t_callback' flag. If this is true, the interval will be returned by CIntervalManager::get_event() each time the interval's time value has been changed, regardless of whether it has any external events.

start
void CInterval::start(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play to the end and stop.
If end_t is less than zero, it indicates the end of the interval.

stepPlay
bool CInterval::step_play(void);

Description: Should be called once per frame to execute the automatic timed playback begun with setup_play().
Returns true if the interval should continue, false if it is done and should stop.

write
virtual void CInterval::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CLerpInterval

    from pandac.PandaModules import CLerpInterval
    Class : CLerpInterval
    Description : The base class for a family of intervals that linearly interpolate one or more numeric values over time.

Inheritance:

    CLerpInterval: CInterval
    CInterval: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CLerpInterval:

    getBlendType
    getClassType
    stringBlendType

Methods of CInterval:

    clearToInitial
    finish
    getAutoFinish
    getAutoPause
    getClassType
    getDoneEvent
    getDuration
    getManager
    getName
    getOpenEnded
    getPlayRate
    getState
    getT
    getWantsTCallback
    isPlaying
    isStopped
    loop
    output
    pause
    privDoEvent
    privFinalize
    privInitialize
    privInstant
    privInterrupt
    privReverseFinalize
    privReverseInitialize
    privReverseInstant
    privStep
    resume
    resumeUntil
    setAutoFinish
    setAutoPause
    setDoneEvent
    setManager
    setPlayRate
    setT
    setupPlay
    setupResume
    setupResumeUntil
    setWantsTCallback
    start
    stepPlay
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in CLerpInterval:

    BTNoBlend | (BlendType)
BTEaseIn | (BlendType)
BTEaseOut | (BlendType)
BTEaseInOut | (BlendType)
BTInvalid | (BlendType)

Constants in CInterval:

    ETInitialize | (EventType)
ETInstant | (EventType)
ETStep | (EventType)
ETFinalize | (EventType)
ETReverseInitialize | (EventType)
ETReverseInstant | (EventType)
ETReverseFinalize | (EventType)
ETInterrupt | (EventType)
SInitial | (State)
SStarted | (State)
SPaused | (State)
SFinal | (State)
getBlendType
CLerpInterval::BlendType CLerpInterval::get_blend_type(void) const;

Description: Returns the blend type specified for the interval. This controls how the linear interpolation behaves near the beginning and end of the lerp period.

getClassType
static TypeHandle CLerpInterval::get_class_type(void);

Undocumented function.

stringBlendType
static CLerpInterval::BlendType CLerpInterval::string_blend_type(string const &blend_type);

Description: Returns the BlendType enumerated value corresponding to the indicated string, or BT_invalid if the string doesn't match anything.

clearToInitial
void CInterval::clear_to_initial(void);

Description: Pauses the interval, if it is playing, and resets its state to its initial state, abandoning any state changes already in progress in the middle of the interval. Calling this is like pausing the interval and discarding it, creating a new one in its place.

finish
void CInterval::finish(void);

Description: Stops the interval from playing and sets it to its final state.

getAutoFinish
bool CInterval::get_auto_finish(void) const;

Description: Returns the state of the 'auto_finish' flag. See set_auto_finish().

getAutoPause
bool CInterval::get_auto_pause(void) const;

Description: Returns the state of the 'auto_pause' flag. See set_auto_pause().

getClassType
static TypeHandle CInterval::get_class_type(void);

Undocumented function.

getDoneEvent
string const &CInterval::get_done_event(void) const;

Description: Returns the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

getDuration
double CInterval::get_duration(void) const;

Description: Returns the duration of the interval in seconds.

getManager
CIntervalManager *CInterval::get_manager(void) const;

Description: Returns the CIntervalManager object which will be responsible for playing this interval. Note that this can only return a C++ object; if the particular CIntervalManager object has been extended in the scripting language, this will return the encapsulated C++ object, not the full extended object.

getName
string const &CInterval::get_name(void) const;

Description: Returns the interval's name.

getOpenEnded
bool CInterval::get_open_ended(void) const;

Description: Returns the state of the "open_ended" flag. This is primarily intended for instantaneous intervals like FunctionIntervals; it indicates true if the interval has some lasting effect that should be applied even if the interval doesn't get started until after its finish time, or false if the interval is a transitive thing that doesn't need to be called late.

getPlayRate
double CInterval::get_play_rate(void) const;

Description: Returns the play rate as set by the last call to start(), loop(), or set_play_rate().

getState
CInterval::State CInterval::get_state(void) const;

Description: Indicates the state the interval believes it is in: whether it has been started, is currently in the middle, or has been finalized.

getT
double CInterval::get_t(void) const;

Description: Returns the current time of the interval: the last value of t passed to priv_initialize(), priv_step(), or priv_finalize().

getWantsTCallback
bool CInterval::get_wants_t_callback(void) const;

Description: Returns the state of the 'wants_t_callback' flag. See set_wants_t_callback().

isPlaying
bool CInterval::is_playing(void) const;

Description: Returns true if the interval is currently playing, false otherwise.

isStopped
bool CInterval::is_stopped(void) const;

Description: Returns true if the interval is in either its initial or final states (but not in a running or paused state).

loop
void CInterval::loop(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play until it is interrupted with finish() or pause(), looping back to start_t when it reaches end_t.
If end_t is less than zero, it indicates the end of the interval.

output
virtual void CInterval::output(ostream &out) const;

Description:

pause
double CInterval::pause(void);

Description: Stops the interval from playing but leaves it in its current state. It may later be resumed from this point by calling resume().

privDoEvent
void CInterval::priv_do_event(double t, CInterval::EventType event);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: Calls the appropriate event function indicated by the EventType.

privFinalize
virtual void CInterval::priv_finalize(void);

Description: This is called to stop an interval, forcing it to whatever state it would be after it played all the way through. It's generally invoked by set_final_t().

privInitialize
virtual void CInterval::priv_initialize(double t);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: This replaces the first call to priv_step(), and indicates that the interval has just begun. This may be overridden by derived classes that need to do some explicit initialization on the first call.

privInstant
virtual void CInterval::priv_instant(void);

Description: This is called in lieu of priv_initialize() .. priv_step() .. priv_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the final state.

privInterrupt
virtual void CInterval::priv_interrupt(void);

Description: This is called while the interval is playing to indicate that it is about to be interrupted; that is, priv_step() will not be called for a length of time. But the interval should remain in its current state in anticipation of being eventually restarted when the calls to priv_step() eventually resume.
The purpose of this function is to allow self-running intervals like sound intervals to stop the actual sound playback during the pause.

privReverseFinalize
virtual void CInterval::priv_reverse_finalize(void);

Description: Called generally following a priv_reverse_initialize(), this indicates the interval should set itself to the initial state.

privReverseInitialize
virtual void CInterval::priv_reverse_initialize(double t);

Description: Similar to priv_initialize(), but this is called when the interval is being played backwards; it indicates that the interval should start at the finishing state and undo any intervening intervals.

privReverseInstant
virtual void CInterval::priv_reverse_instant(void);

Description: This is called in lieu of priv_reverse_initialize() .. priv_step() .. priv_reverse_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the initial state.

privStep
virtual void CInterval::priv_step(double t);

Description: Advances the time on the interval. The time may either increase (the normal case) or decrease (e.g. if the interval is being played by a slider).

resume
void CInterval::resume(void);

Description: Restarts the interval from its current point after a previous call to pause().
Description: Restarts the interval from the indicated point after a previous call to pause().

resumeUntil
void CInterval::resume_until(double end_t);

Description: Restarts the interval from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setAutoFinish
void CInterval::set_auto_finish(bool auto_finish);

Description: Changes the state of the 'auto_finish' flag. If this is true, the interval may be arbitrarily finished when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setAutoPause
void CInterval::set_auto_pause(bool auto_pause);

Description: Changes the state of the 'auto_pause' flag. If this is true, the interval may be arbitrarily interrupted when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setDoneEvent
void CInterval::set_done_event(string const &event);

Description: Sets the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

setManager
void CInterval::set_manager(CIntervalManager *manager);

Description: Indicates the CIntervalManager object which will be responsible for playing this interval. This defaults to the global CIntervalManager; you should need to change this only if you have special requirements for playing this interval.

setPlayRate
void CInterval::set_play_rate(double play_rate);

Description: Changes the play rate of the interval. If the interval is already started, this changes its speed on-the-fly. Note that since play_rate is a parameter to start() and loop(), the next call to start() or loop() will reset this parameter.

setT
void CInterval::set_t(double t);

Description: Explicitly sets the time within the interval. Normally, you would use start() .. finish() to let the time play normally, but this may be used to set the time to some particular value.

setupPlay
void CInterval::setup_play(double start_time, double end_time, double play_rate, bool do_loop);

Description: Called to prepare the interval for automatic timed playback, e.g. via a Python task. The interval will be played from start_t to end_t, at a time factor specified by play_rate. start_t must always be less than end_t (except for the exception for end_t == -1, below), but if play_rate is negative the interval will be played backwards.
Specify end_t of -1 to play the entire interval from start_t.
Call step_play() repeatedly to execute the interval.

setupResume
void CInterval::setup_resume(void);

Description: Called to prepare the interval for restarting at the current point within the interval after an interruption.

setupResumeUntil
void CInterval::setup_resume_until(double end_t);

Description: Called to prepare the interval for restarting from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setWantsTCallback
void CInterval::set_wants_t_callback(bool wants_t_callback);

Description: Changes the state of the 'wants_t_callback' flag. If this is true, the interval will be returned by CIntervalManager::get_event() each time the interval's time value has been changed, regardless of whether it has any external events.

start
void CInterval::start(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play to the end and stop.
If end_t is less than zero, it indicates the end of the interval.

stepPlay
bool CInterval::step_play(void);

Description: Should be called once per frame to execute the automatic timed playback begun with setup_play().
Returns true if the interval should continue, false if it is done and should stop.

write
virtual void CInterval::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CLerpNodePathInterval

    from pandac.PandaModules import CLerpNodePathInterval
    Class : CLerpNodePathInterval
    Description : An interval that lerps one or more properties (like pos, hpr, etc.) on a NodePath over time.

Inheritance:

    CLerpNodePathInterval: CLerpInterval
    CLerpInterval: CInterval
    CInterval: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CLerpNodePathInterval:

    CLerpNodePathInterval (Constructor)
    getClassType
    getNode
    getOther
    setEndColor
    setEndColorScale
    setEndHpr
    setEndPos
    setEndQuat
    setEndScale
    setEndShear
    setEndTexOffset
    setEndTexRotate
    setEndTexScale
    setStartColor
    setStartColorScale
    setStartHpr
    setStartPos
    setStartQuat
    setStartScale
    setStartShear
    setStartTexOffset
    setStartTexRotate
    setStartTexScale
    setTextureStage

Methods of CLerpInterval:

    getBlendType
    getClassType
    stringBlendType

Methods of CInterval:

    clearToInitial
    finish
    getAutoFinish
    getAutoPause
    getClassType
    getDoneEvent
    getDuration
    getManager
    getName
    getOpenEnded
    getPlayRate
    getState
    getT
    getWantsTCallback
    isPlaying
    isStopped
    loop
    output
    pause
    privDoEvent
    privFinalize
    privInitialize
    privInstant
    privInterrupt
    privReverseFinalize
    privReverseInitialize
    privReverseInstant
    privStep
    resume
    resumeUntil
    setAutoFinish
    setAutoPause
    setDoneEvent
    setManager
    setPlayRate
    setT
    setupPlay
    setupResume
    setupResumeUntil
    setWantsTCallback
    start
    stepPlay
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in CLerpInterval:

    BTNoBlend | (BlendType)
BTEaseIn | (BlendType)
BTEaseOut | (BlendType)
BTEaseInOut | (BlendType)
BTInvalid | (BlendType)

Constants in CInterval:

    ETInitialize | (EventType)
ETInstant | (EventType)
ETStep | (EventType)
ETFinalize | (EventType)
ETReverseInitialize | (EventType)
ETReverseInstant | (EventType)
ETReverseFinalize | (EventType)
ETInterrupt | (EventType)
SInitial | (State)
SStarted | (State)
SPaused | (State)
SFinal | (State)
CLerpNodePathInterval
CLerpNodePathInterval::CLerpNodePathInterval(string const &name, double duration, CLerpInterval::BlendType blend_type, bool bake_in_start, bool fluid, NodePath const &node, NodePath const &other);

Description: Constructs a lerp interval that will lerp some properties on the indicated node, possibly relative to the indicated other node (if other is nonempty).
You must call set_end_pos(), etc. for the various properties you wish to lerp before the first call to priv_initialize(). If you want to set a starting value for any of the properties, you may call set_start_pos(), etc.; otherwise, the starting value is taken from the actual node's value at the time the lerp is performed.
The starting values may be explicitly specified or omitted. The value of bake_in_start determines the behavior if the starting values are omitted. If bake_in_start is true, the values are obtained the first time the lerp runs, and thenceforth are stored within the interval. If bake_in_start is false, the starting value is computed each frame, based on assuming the current value represents the value set from the last time the interval was run. This "smart" behavior allows code to manipulate the object event while it is being lerped, and the lerp continues to apply in a sensible way.
If fluid is true, the prev_transform is not adjusted by the lerp; otherwise, it is reset.

getClassType
static TypeHandle CLerpNodePathInterval::get_class_type(void);

Undocumented function.

getNode
NodePath const &CLerpNodePathInterval::get_node(void) const;

Description: Returns the node being lerped.

getOther
NodePath const &CLerpNodePathInterval::get_other(void) const;

Description: Returns the "other" node, which the lerped node is being moved relative to. If this is an empty node path, the lerped node is being moved in its own coordinate system.

setEndColor
void CLerpNodePathInterval::set_end_color(LVecBase4f const &color);

Description: Indicates that the color of the node should be lerped, and specifies the final color of the node. This should be called before priv_initialize(). If this is not called, the node's color will not be affected by the lerp.

setEndColorScale
void CLerpNodePathInterval::set_end_color_scale(LVecBase4f const &color_scale);

Description: Indicates that the color scale of the node should be lerped, and specifies the final color scale of the node. This should be called before priv_initialize(). If this is not called, the node's color scale will not be affected by the lerp.

setEndHpr
void CLerpNodePathInterval::set_end_hpr(LVecBase3f const &hpr);

Description: Indicates that the rotation of the node should be lerped, and specifies the final rotation of the node. This should be called before priv_initialize().
This replaces a previous call to set_end_quat(). If neither set_end_hpr() nor set_end_quat() is called, the node's rotation will not be affected by the lerp.
This special function is overloaded to accept a quaternion, even though the function name is set_end_hpr(). The quaternion will be implicitly converted to a HPR trio, and the lerp will be performed in HPR space, componentwise.

setEndPos
void CLerpNodePathInterval::set_end_pos(LVecBase3f const &pos);

Description: Indicates that the position of the node should be lerped, and specifies the final position of the node. This should be called before priv_initialize(). If this is not called, the node's position will not be affected by the lerp.

setEndQuat
void CLerpNodePathInterval::set_end_quat(LVecBase3f const &hpr);

Description: Indicates that the rotation of the node should be lerped, and specifies the final rotation of the node. This should be called before priv_initialize().
This replaces a previous call to set_end_hpr(). If neither set_end_quat() nor set_end_hpr() is called, the node's rotation will not be affected by the lerp.
This special function is overloaded to accept a HPR trio, even though the function name is set_end_quat(). The HPR will be implicitly converted to a quaternion, and the lerp will be performed in quaternion space, as a spherical lerp.

setEndScale
void CLerpNodePathInterval::set_end_scale(LVecBase3f const &scale);

Description: Indicates that the scale of the node should be lerped, and specifies the final scale of the node. This should be called before priv_initialize(). If this is not called, the node's scale will not be affected by the lerp.

setEndShear
void CLerpNodePathInterval::set_end_shear(LVecBase3f const &shear);

Description: Indicates that the shear of the node should be lerped, and specifies the final shear of the node. This should be called before priv_initialize(). If this is not called, the node's shear will not be affected by the lerp.

setEndTexOffset
void CLerpNodePathInterval::set_end_tex_offset(LVecBase2f const &tex_offset);

Description: Indicates that the UV offset of the node should be lerped, and specifies the final UV offset of the node. This should be called before priv_initialize(). If this is not called, the node's UV offset will not be affected by the lerp.

setEndTexRotate
void CLerpNodePathInterval::set_end_tex_rotate(float tex_rotate);

Description: Indicates that the UV rotate of the node should be lerped, and specifies the final UV rotate of the node. This should be called before priv_initialize(). If this is not called, the node's UV rotate will not be affected by the lerp.

setEndTexScale
void CLerpNodePathInterval::set_end_tex_scale(LVecBase2f const &tex_scale);

Description: Indicates that the UV scale of the node should be lerped, and specifies the final UV scale of the node. This should be called before priv_initialize(). If this is not called, the node's UV scale will not be affected by the lerp.

setStartColor
void CLerpNodePathInterval::set_start_color(LVecBase4f const &color);

Description: Indicates the initial color of the lerped node. This is meaningful only if set_end_color() is also called. This parameter is optional; if unspecified, the value will be taken from the node's actual color at the time the lerp is performed.

setStartColorScale
void CLerpNodePathInterval::set_start_color_scale(LVecBase4f const &color_scale);

Description: Indicates the initial color scale of the lerped node. This is meaningful only if set_end_color_scale() is also called. This parameter is optional; if unspecified, the value will be taken from the node's actual color scale at the time the lerp is performed.

setStartHpr
void CLerpNodePathInterval::set_start_hpr(LVecBase3f const &hpr);

Description: Indicates the initial rotation of the lerped node. This is meaningful only if either set_end_hpr() or set_end_quat() is also called. This parameter is optional; if unspecified, the value will be taken from the node's actual rotation at the time the lerp is performed.

setStartPos
void CLerpNodePathInterval::set_start_pos(LVecBase3f const &pos);

Description: Indicates the initial position of the lerped node. This is meaningful only if set_end_pos() is also called. This parameter is optional; if unspecified, the value will be taken from the node's actual position at the time the lerp is performed.

setStartQuat
void CLerpNodePathInterval::set_start_quat(LQuaternionf const &quat);

Description: Indicates the initial rotation of the lerped node. This is meaningful only if either set_end_quat() or set_end_hpr() is also called. This parameter is optional; if unspecified, the value will be taken from the node's actual rotation at the time the lerp is performed.

setStartScale
void CLerpNodePathInterval::set_start_scale(LVecBase3f const &scale);

Description: Indicates the initial scale of the lerped node. This is meaningful only if set_end_scale() is also called. This parameter is optional; if unspecified, the value will be taken from the node's actual scale at the time the lerp is performed.

setStartShear
void CLerpNodePathInterval::set_start_shear(LVecBase3f const &shear);

Description: Indicates the initial shear of the lerped node. This is meaningful only if set_end_shear() is also called. This parameter is optional; if unspecified, the value will be taken from the node's actual shear at the time the lerp is performed.

setStartTexOffset
void CLerpNodePathInterval::set_start_tex_offset(LVecBase2f const &tex_offset);

Description: Indicates the initial UV offset of the lerped node. This is meaningful only if set_end_tex_offset() is also called. This parameter is optional; if unspecified, the value will be taken from the node's actual UV offset at the time the lerp is performed.

setStartTexRotate
void CLerpNodePathInterval::set_start_tex_rotate(float tex_rotate);

Description: Indicates the initial UV rotate of the lerped node. This is meaningful only if set_end_tex_rotate() is also called. This parameter is optional; if unspecified, the value will be taken from the node's actual UV rotate at the time the lerp is performed.

setStartTexScale
void CLerpNodePathInterval::set_start_tex_scale(LVecBase2f const &tex_scale);

Description: Indicates the initial UV scale of the lerped node. This is meaningful only if set_end_tex_scale() is also called. This parameter is optional; if unspecified, the value will be taken from the node's actual UV scale at the time the lerp is performed.

setTextureStage
void CLerpNodePathInterval::set_texture_stage(TextureStage *stage);

Description: Indicates the texture stage that is adjusted by tex_offset, tex_rotate, and/or tex_scale. If this is not set, the default is the default texture stage.

getBlendType
CLerpInterval::BlendType CLerpInterval::get_blend_type(void) const;

Description: Returns the blend type specified for the interval. This controls how the linear interpolation behaves near the beginning and end of the lerp period.

getClassType
static TypeHandle CLerpInterval::get_class_type(void);

Undocumented function.

stringBlendType
static CLerpInterval::BlendType CLerpInterval::string_blend_type(string const &blend_type);

Description: Returns the BlendType enumerated value corresponding to the indicated string, or BT_invalid if the string doesn't match anything.

clearToInitial
void CInterval::clear_to_initial(void);

Description: Pauses the interval, if it is playing, and resets its state to its initial state, abandoning any state changes already in progress in the middle of the interval. Calling this is like pausing the interval and discarding it, creating a new one in its place.

finish
void CInterval::finish(void);

Description: Stops the interval from playing and sets it to its final state.

getAutoFinish
bool CInterval::get_auto_finish(void) const;

Description: Returns the state of the 'auto_finish' flag. See set_auto_finish().

getAutoPause
bool CInterval::get_auto_pause(void) const;

Description: Returns the state of the 'auto_pause' flag. See set_auto_pause().

getClassType
static TypeHandle CInterval::get_class_type(void);

Undocumented function.

getDoneEvent
string const &CInterval::get_done_event(void) const;

Description: Returns the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

getDuration
double CInterval::get_duration(void) const;

Description: Returns the duration of the interval in seconds.

getManager
CIntervalManager *CInterval::get_manager(void) const;

Description: Returns the CIntervalManager object which will be responsible for playing this interval. Note that this can only return a C++ object; if the particular CIntervalManager object has been extended in the scripting language, this will return the encapsulated C++ object, not the full extended object.

getName
string const &CInterval::get_name(void) const;

Description: Returns the interval's name.

getOpenEnded
bool CInterval::get_open_ended(void) const;

Description: Returns the state of the "open_ended" flag. This is primarily intended for instantaneous intervals like FunctionIntervals; it indicates true if the interval has some lasting effect that should be applied even if the interval doesn't get started until after its finish time, or false if the interval is a transitive thing that doesn't need to be called late.

getPlayRate
double CInterval::get_play_rate(void) const;

Description: Returns the play rate as set by the last call to start(), loop(), or set_play_rate().

getState
CInterval::State CInterval::get_state(void) const;

Description: Indicates the state the interval believes it is in: whether it has been started, is currently in the middle, or has been finalized.

getT
double CInterval::get_t(void) const;

Description: Returns the current time of the interval: the last value of t passed to priv_initialize(), priv_step(), or priv_finalize().

getWantsTCallback
bool CInterval::get_wants_t_callback(void) const;

Description: Returns the state of the 'wants_t_callback' flag. See set_wants_t_callback().

isPlaying
bool CInterval::is_playing(void) const;

Description: Returns true if the interval is currently playing, false otherwise.

isStopped
bool CInterval::is_stopped(void) const;

Description: Returns true if the interval is in either its initial or final states (but not in a running or paused state).

loop
void CInterval::loop(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play until it is interrupted with finish() or pause(), looping back to start_t when it reaches end_t.
If end_t is less than zero, it indicates the end of the interval.

output
virtual void CInterval::output(ostream &out) const;

Description:

pause
double CInterval::pause(void);

Description: Stops the interval from playing but leaves it in its current state. It may later be resumed from this point by calling resume().

privDoEvent
void CInterval::priv_do_event(double t, CInterval::EventType event);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: Calls the appropriate event function indicated by the EventType.

privFinalize
virtual void CInterval::priv_finalize(void);

Description: This is called to stop an interval, forcing it to whatever state it would be after it played all the way through. It's generally invoked by set_final_t().

privInitialize
virtual void CInterval::priv_initialize(double t);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: This replaces the first call to priv_step(), and indicates that the interval has just begun. This may be overridden by derived classes that need to do some explicit initialization on the first call.

privInstant
virtual void CInterval::priv_instant(void);

Description: This is called in lieu of priv_initialize() .. priv_step() .. priv_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the final state.

privInterrupt
virtual void CInterval::priv_interrupt(void);

Description: This is called while the interval is playing to indicate that it is about to be interrupted; that is, priv_step() will not be called for a length of time. But the interval should remain in its current state in anticipation of being eventually restarted when the calls to priv_step() eventually resume.
The purpose of this function is to allow self-running intervals like sound intervals to stop the actual sound playback during the pause.

privReverseFinalize
virtual void CInterval::priv_reverse_finalize(void);

Description: Called generally following a priv_reverse_initialize(), this indicates the interval should set itself to the initial state.

privReverseInitialize
virtual void CInterval::priv_reverse_initialize(double t);

Description: Similar to priv_initialize(), but this is called when the interval is being played backwards; it indicates that the interval should start at the finishing state and undo any intervening intervals.

privReverseInstant
virtual void CInterval::priv_reverse_instant(void);

Description: This is called in lieu of priv_reverse_initialize() .. priv_step() .. priv_reverse_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the initial state.

privStep
virtual void CInterval::priv_step(double t);

Description: Advances the time on the interval. The time may either increase (the normal case) or decrease (e.g. if the interval is being played by a slider).

resume
void CInterval::resume(void);

Description: Restarts the interval from its current point after a previous call to pause().
Description: Restarts the interval from the indicated point after a previous call to pause().

resumeUntil
void CInterval::resume_until(double end_t);

Description: Restarts the interval from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setAutoFinish
void CInterval::set_auto_finish(bool auto_finish);

Description: Changes the state of the 'auto_finish' flag. If this is true, the interval may be arbitrarily finished when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setAutoPause
void CInterval::set_auto_pause(bool auto_pause);

Description: Changes the state of the 'auto_pause' flag. If this is true, the interval may be arbitrarily interrupted when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setDoneEvent
void CInterval::set_done_event(string const &event);

Description: Sets the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

setManager
void CInterval::set_manager(CIntervalManager *manager);

Description: Indicates the CIntervalManager object which will be responsible for playing this interval. This defaults to the global CIntervalManager; you should need to change this only if you have special requirements for playing this interval.

setPlayRate
void CInterval::set_play_rate(double play_rate);

Description: Changes the play rate of the interval. If the interval is already started, this changes its speed on-the-fly. Note that since play_rate is a parameter to start() and loop(), the next call to start() or loop() will reset this parameter.

setT
void CInterval::set_t(double t);

Description: Explicitly sets the time within the interval. Normally, you would use start() .. finish() to let the time play normally, but this may be used to set the time to some particular value.

setupPlay
void CInterval::setup_play(double start_time, double end_time, double play_rate, bool do_loop);

Description: Called to prepare the interval for automatic timed playback, e.g. via a Python task. The interval will be played from start_t to end_t, at a time factor specified by play_rate. start_t must always be less than end_t (except for the exception for end_t == -1, below), but if play_rate is negative the interval will be played backwards.
Specify end_t of -1 to play the entire interval from start_t.
Call step_play() repeatedly to execute the interval.

setupResume
void CInterval::setup_resume(void);

Description: Called to prepare the interval for restarting at the current point within the interval after an interruption.

setupResumeUntil
void CInterval::setup_resume_until(double end_t);

Description: Called to prepare the interval for restarting from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setWantsTCallback
void CInterval::set_wants_t_callback(bool wants_t_callback);

Description: Changes the state of the 'wants_t_callback' flag. If this is true, the interval will be returned by CIntervalManager::get_event() each time the interval's time value has been changed, regardless of whether it has any external events.

start
void CInterval::start(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play to the end and stop.
If end_t is less than zero, it indicates the end of the interval.

stepPlay
bool CInterval::step_play(void);

Description: Should be called once per frame to execute the automatic timed playback begun with setup_play().
Returns true if the interval should continue, false if it is done and should stop.

write
virtual void CInterval::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ClientBase

    from pandac.PandaModules import ClientBase
    Class : ClientBase
    Description : An abstract base class for a family of client device interfaces--including trackers, buttons, dials, and other analog inputs.
    This provides a common interface to connect to such devices and extract their data; it is used by TrackerNode etc. to put these devices in the data graph.

Inheritance:

    ClientBase: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ClientBase:

    forkAsynchronousThread
    getClassType
    getCoordinateSystem
    getLastPollTime
    isForked
    poll
    setCoordinateSystem

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
forkAsynchronousThread
bool ClientBase::fork_asynchronous_thread(double poll_time);

Description: Forks a separate thread to do all the polling of connected devices. The forked thread will poll after every poll_time seconds has elapsed. Returns true if the fork was successful, or false otherwise (for instance, because we were already forked, or because asynchronous threads are disabled).

getClassType
static TypeHandle ClientBase::get_class_type(void);

Undocumented function.

getCoordinateSystem
CoordinateSystem ClientBase::get_coordinate_system(void) const;

Description: Returns the coordinate system that all devices associated with this client will operate in. Normally, this is CS_default.

getLastPollTime
double ClientBase::get_last_poll_time(void) const;

Description: Returns the time (according to the global ClockObject's get_real_time() method) of the last device poll.

isForked
bool ClientBase::is_forked(void) const;

Description: Returns true if the ClientBase has been forked (and, therefore, poll() does not need to be called), false otherwise.

poll
bool ClientBase::poll(void);

Description: Initiates a poll of the client devices, if we are not forked and if we have not already polled this frame. Returns true if the poll occurred, or false if it did not.

setCoordinateSystem
void ClientBase::set_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system that all devices associated with this client will operate in. Normally, this is CS_default.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ClientRepository

    from direct.distributed.ClientRepository import ClientRepository
    This is the open-source ClientRepository as provided by CMU. It communicates with the ServerRepository in this same directory.
    If you are looking for the VR Studio's implementation of the client repository, look to OTPClientRepository (elsewhere).

Inheritance:

    ClientRepository:

Methods of ClientRepository:

    __init__
    createWithRequired
    generateWithRequiredFields
    handleDatagram
    handleGenerateWithRequired
    handleRequestGenerates
    handleSetDOIDrange
    haveCreateAuthority
    isLocalId
    sendDeleteMsg
    sendDisableMsg
    sendRemoveZoneMsg
    sendSetZoneMsg
    sendUpdateZone
__init__
def __init__(self, dcFileNames=None)

Undocumented function.

createWithRequired
def createWithRequired(self, className, zoneId=0, optionalFields=None)

Undocumented function.

generateWithRequiredFields
def generateWithRequiredFields(self, dclass, doId, di)

Undocumented function.

handleDatagram
def handleDatagram(self, di)

Undocumented function.

handleGenerateWithRequired
def handleGenerateWithRequired(self, di)

Undocumented function.

handleRequestGenerates
def handleRequestGenerates(self, di)

Undocumented function.

handleSetDOIDrange
def handleSetDOIDrange(self, di)

Undocumented function.

haveCreateAuthority
def haveCreateAuthority(self)

Undocumented function.

isLocalId
def isLocalId(self, id)

Undocumented function.

sendDeleteMsg
def sendDeleteMsg(self, doId)

Undocumented function.

sendDisableMsg
def sendDisableMsg(self, doId)

Undocumented function.

sendRemoveZoneMsg
def sendRemoveZoneMsg(self, zoneId, visibleZoneList=None)

Undocumented function.

sendSetZoneMsg
def sendSetZoneMsg(self, zoneId, visibleZoneList=None)

Undocumented function.

sendUpdateZone
def sendUpdateZone(self, obj, zoneId)

Undocumented function.


ClientRepositoryBase

    from direct.distributed.ClientRepositoryBase import ClientRepositoryBase
    This maintains a client-side connection with a Panda server.
    This base class exists to collect the common code between ClientRepository, which is the CMU-provided, open-source version of the client repository code, and OTPClientRepository, which is the VR Studio's implementation of the same.

Inheritance:

    ClientRepositoryBase:

Methods of ClientRepositoryBase:

    __doDeferredGenerate
    __doGenerate
    __doUpdate
    __doUpdateOwner
    __init__
    _addDelayDeletedDO
    _getMsgName
    _logFailedDisable
    _removeDelayDeletedDO
    allocateContext
    considerHeartbeat
    disableDoId
    flushGenerates
    generateWithRequiredFields
    generateWithRequiredOtherFields
    generateWithRequiredOtherFieldsOwner
    getObjectsOfClass
    getObjectsOfExactClass
    getServerDelta
    getServerTimeOfDay
    getTables
    getWorld
    handleDelete
    handleDisable
    handleGenerateWithRequired
    handleGenerateWithRequiredOther
    handleGenerateWithRequiredOtherOwner
    handleGoGetLost
    handleQuietZoneGenerateWithRequired
    handleQuietZoneGenerateWithRequiredOther
    handleServerHeartbeat
    handleSystemMessage
    handleUpdateField
    isLive
    isLocalId
    printDelayDeletes
    replaceMethod
    replayDeferredGenerate
    sendDisconnect
    sendHeartbeat
    sendHeartbeatTask
    sendSetLocation
    setDeferInterval
    setServerDelta
    startHeartbeat
    stopHeartbeat
    uniqueName
    waitForNextHeartBeat
__doDeferredGenerate
def __doDeferredGenerate(self, task)

This is the task that generates an object on the deferred queue.

__doGenerate
def __doGenerate(self, parentId, zoneId, classId, doId, di)

Undocumented function.

__doUpdate
def __doUpdate(self, doId, di, ovUpdated)

Undocumented function.

__doUpdateOwner
def __doUpdateOwner(self, doId, di)

Undocumented function.

__init__
def __init__(self, dcFileNames=None)

Undocumented function.

_addDelayDeletedDO
def _addDelayDeletedDO(self, do)

Undocumented function.

_getMsgName
def _getMsgName(self, msgId)

Undocumented function.

_logFailedDisable
def _logFailedDisable(self, doId, ownerView)

Undocumented function.

_removeDelayDeletedDO
def _removeDelayDeletedDO(self, do)

Undocumented function.

allocateContext
def allocateContext(self)

Undocumented function.

considerHeartbeat
def considerHeartbeat(self)

Send a heartbeat message if we haven't sent one recently.

disableDoId
def disableDoId(self, doId, ownerView=False)

Undocumented function.

flushGenerates
def flushGenerates(self)

Forces all pending generates to be performed immediately.

generateWithRequiredFields
def generateWithRequiredFields(self, dclass, doId, di, parentId, zoneId)

Undocumented function.

generateWithRequiredOtherFields
def generateWithRequiredOtherFields(self, dclass, doId, di, parentId=None, zoneId=None)

Undocumented function.

generateWithRequiredOtherFieldsOwner
def generateWithRequiredOtherFieldsOwner(self, dclass, doId, di)

Undocumented function.

getObjectsOfClass
def getObjectsOfClass(self, objClass)

returns dict of doId:object, containing all objects that inherit from 'class'. returned dict is safely mutable.

getObjectsOfExactClass
def getObjectsOfExactClass(self, objClass)

returns dict of doId:object, containing all objects that are exactly of type 'class' (neglecting inheritance). returned dict is safely mutable.

getServerDelta
def getServerDelta(self)

Undocumented function.

getServerTimeOfDay
def getServerTimeOfDay(self)

Returns the current time of day (seconds elapsed since the 1972 epoch) according to the server's clock. This is in GMT, and hence is irrespective of timezones.
The value is computed based on the client's clock and the known delta from the server's clock, which is not terribly precisely measured and may drift slightly after startup, but it should be accurate plus or minus a couple of seconds.

getTables
def getTables(self, ownerView)

Undocumented function.

getWorld
def getWorld(self, doId)

Undocumented function.

handleDelete
def handleDelete(self, di)

Undocumented function.

handleDisable
def handleDisable(self, di, ownerView=False)

Undocumented function.

handleGenerateWithRequired
def handleGenerateWithRequired(self, di)

Undocumented function.

handleGenerateWithRequiredOther
def handleGenerateWithRequiredOther(self, di)

Undocumented function.

handleGenerateWithRequiredOtherOwner
def handleGenerateWithRequiredOtherOwner(self, di)

Undocumented function.

handleGoGetLost
def handleGoGetLost(self, di)

Undocumented function.

handleQuietZoneGenerateWithRequired
def handleQuietZoneGenerateWithRequired(self, di)

Undocumented function.

handleQuietZoneGenerateWithRequiredOther
def handleQuietZoneGenerateWithRequiredOther(self, di)

Undocumented function.

handleServerHeartbeat
def handleServerHeartbeat(self, di)

Undocumented function.

handleSystemMessage
def handleSystemMessage(self, di)

Undocumented function.

handleUpdateField
def handleUpdateField(self, di)

This method is called when a CLIENT_OBJECT_UPDATE_FIELD message is received; it decodes the update, unpacks the arguments, and calls the corresponding method on the indicated DistributedObject.
In fact, this method is exactly duplicated by the C++ method cConnectionRepository::handle_update_field(), which was written to optimize the message loop by handling all of the CLIENT_OBJECT_UPDATE_FIELD messages in C++. That means that nowadays, this Python method will probably never be called, since UPDATE_FIELD messages will not even be passed to the Python message handlers. But this method remains for documentation purposes, and also as a "just in case" handler in case we ever do come across a situation in the future in which python might handle the UPDATE_FIELD message.

isLive
def isLive(self)

Undocumented function.

isLocalId
def isLocalId(self, id)

Undocumented function.

printDelayDeletes
def printDelayDeletes(self)

Undocumented function.

replaceMethod
def replaceMethod(self, oldMethod, newFunction)

Undocumented function.

replayDeferredGenerate
def replayDeferredGenerate(self, msgType, extra)

Override this to do something appropriate with deferred "generate" messages when they are replayed().

sendDisconnect
def sendDisconnect(self)

Undocumented function.

sendHeartbeat
def sendHeartbeat(self)

Undocumented function.

sendHeartbeatTask
def sendHeartbeatTask(self, task)

Undocumented function.

sendSetLocation
def sendSetLocation(self, doId, parentId, zoneId)

Undocumented function.

setDeferInterval
def setDeferInterval(self, deferInterval)

Specifies the minimum amount of time, in seconds, that must elapse before generating any two DistributedObjects whose class type is marked "deferrable". Set this to 0 to indicate no deferring will occur.

setServerDelta
def setServerDelta(self, delta)

Indicates the approximate difference in seconds between the client's clock and the server's clock, in universal time (not including timezone shifts). This is mainly useful for reporting synchronization information to the logs; don't depend on it for any precise timing requirements.
Also see Notify.setServerDelta(), which also accounts for a timezone shift.

startHeartbeat
def startHeartbeat(self)

Undocumented function.

stopHeartbeat
def stopHeartbeat(self)

Undocumented function.

uniqueName
def uniqueName(self, desc)

Undocumented function.

waitForNextHeartBeat
def waitForNextHeartBeat(self)

Undocumented function.


ClipPlaneAttrib

    from pandac.PandaModules import ClipPlaneAttrib
    Class : ClipPlaneAttrib
    Description : This functions similarly to a LightAttrib. It indicates the set of clipping planes that modify the geometry at this level and below. A ClipPlaneAttrib can either add planes or remove planes from the total set of clipping planes in effect.

Inheritance:

    ClipPlaneAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ClipPlaneAttrib:

    addOffPlane
    addOnPlane
    addPlane
    filterToMax
    getClassType
    getNumOffPlanes
    getNumOnPlanes
    getNumPlanes
    getOffPlane
    getOnPlane
    getOperation
    getPlane
    hasAllOff
    hasOffPlane
    hasOnPlane
    hasPlane
    isIdentity
    make
    makeAllOff
    removeOffPlane
    removeOnPlane
    removePlane

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in ClipPlaneAttrib:

    OSet | (Operation)
OAdd | (Operation)
ORemove | (Operation)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
addOffPlane
ConstPointerTo< RenderAttrib > ClipPlaneAttrib::add_off_plane(NodePath const &plane) const;

Description: Returns a new ClipPlaneAttrib, just like this one, but with the indicated plane added to the list of planes disabled by this attrib.

addOnPlane
ConstPointerTo< RenderAttrib > ClipPlaneAttrib::add_on_plane(NodePath const &plane) const;

Description: Returns a new ClipPlaneAttrib, just like this one, but with the indicated plane added to the list of planes enabled by this attrib.

addPlane
ConstPointerTo< RenderAttrib > ClipPlaneAttrib::add_plane(PlaneNode *plane) const;

Description: Returns a new ClipPlaneAttrib, just like this one, but with the indicated plane added to the list of planes.
This method is now deprecated. Use add_on_plane() or add_off_plane() instead.

filterToMax
ConstPointerTo< ClipPlaneAttrib > ClipPlaneAttrib::filter_to_max(int max_clip_planes) const;

Description: Returns a new ClipPlaneAttrib, very much like this one, but with the number of on_planes reduced to be no more than max_clip_planes. The number of off_planes in the new ClipPlaneAttrib is undefined.

getClassType
static TypeHandle ClipPlaneAttrib::get_class_type(void);

Undocumented function.

getNumOffPlanes
int ClipPlaneAttrib::get_num_off_planes(void) const;

Description: Returns the number of planes that are disabled by the attribute.

getNumOnPlanes
int ClipPlaneAttrib::get_num_on_planes(void) const;

Description: Returns the number of planes that are enabled by the attribute.

getNumPlanes
int ClipPlaneAttrib::get_num_planes(void) const;

Description: Returns the number of planes listed in the attribute.
This method is now deprecated. ClipPlaneAttribs nowadays have a separate list of on_planes and off_planes, so this method doesn't make sense. Query the lists independently.

getOffPlane
NodePath ClipPlaneAttrib::get_off_plane(int n) const;

Description: Returns the nth plane disabled by the attribute, sorted in arbitrary (pointer) order.

getOnPlane
NodePath ClipPlaneAttrib::get_on_plane(int n) const;

Description: Returns the nth plane enabled by the attribute, sorted in render order.

getOperation
ClipPlaneAttrib::Operation ClipPlaneAttrib::get_operation(void) const;

Description: Returns the basic operation type of the ClipPlaneAttrib. If this is O_set, the planes listed here completely replace any planes that were already on. If this is O_add, the planes here are added to the set of of planes that were already on, and if O_remove, the planes here are removed from the set of planes that were on.
This method is now deprecated. ClipPlaneAttribs nowadays have a separate list of on_planes and off_planes, so this method doesn't make sense. Query the lists independently.

getPlane
PlaneNode *ClipPlaneAttrib::get_plane(int n) const;

Description: Returns the nth plane listed in the attribute.
This method is now deprecated. ClipPlaneAttribs nowadays have a separate list of on_planes and off_planes, so this method doesn't make sense. Query the lists independently.

hasAllOff
bool ClipPlaneAttrib::has_all_off(void) const;

Description: Returns true if this attrib disables all planes (although it may also enable some).

hasOffPlane
bool ClipPlaneAttrib::has_off_plane(NodePath const &plane) const;

Description: Returns true if the indicated plane is disabled by the attrib, false otherwise.

hasOnPlane
bool ClipPlaneAttrib::has_on_plane(NodePath const &plane) const;

Description: Returns true if the indicated plane is enabled by the attrib, false otherwise.

hasPlane
bool ClipPlaneAttrib::has_plane(PlaneNode *plane) const;

Description: Returns true if the indicated plane is listed in the attrib, false otherwise.
This method is now deprecated. ClipPlaneAttribs nowadays have a separate list of on_planes and off_planes, so this method doesn't make sense. Query the lists independently.

isIdentity
bool ClipPlaneAttrib::is_identity(void) const;

Description: Returns true if this is an identity attrib: it does not change the set of planes in use.

make
static ConstPointerTo< RenderAttrib > ClipPlaneAttrib::make(ClipPlaneAttrib::Operation op, PlaneNode *plane);

The following is the new, more general interface to the ClipPlaneAttrib.
Description: Constructs a new ClipPlaneAttrib object that enables (or disables, according to op) the indicated plane(s).
This method is now deprecated. Use add_on_plane() or add_off_plane() instead.
Description: Constructs a new ClipPlaneAttrib object that turns on (or off, according to op) the indicate plane(s).
Description: Constructs a new ClipPlaneAttrib object that does nothing.

makeAllOff
static ConstPointerTo< RenderAttrib > ClipPlaneAttrib::make_all_off(void);

The following is the new, more general interface to the ClipPlaneAttrib.
Description: Constructs a new ClipPlaneAttrib object that disables all planes (and hence disables clipping).

removeOffPlane
ConstPointerTo< RenderAttrib > ClipPlaneAttrib::remove_off_plane(NodePath const &plane) const;

Description: Returns a new ClipPlaneAttrib, just like this one, but with the indicated plane removed from the list of planes disabled by this attrib.

removeOnPlane
ConstPointerTo< RenderAttrib > ClipPlaneAttrib::remove_on_plane(NodePath const &plane) const;

Description: Returns a new ClipPlaneAttrib, just like this one, but with the indicated plane removed from the list of planes enabled by this attrib.

removePlane
ConstPointerTo< RenderAttrib > ClipPlaneAttrib::remove_plane(PlaneNode *plane) const;

Description: Returns a new ClipPlaneAttrib, just like this one, but with the indicated plane removed from the list of planes.
This method is now deprecated. Use remove_on_plane() or remove_off_plane() instead.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ClockDelta

    from direct.distributed.ClockDelta import ClockDelta
    The ClockDelta object converts between universal ("network") time, which is used for all network traffic, and local time (e.g. as returned by getFrameTime() or getRealTime()), which is used for everything else.

Inheritance:

    ClockDelta:

Methods of ClockDelta:

    __init__
    __resetClock
    __signExtend
    clear
    getDelta
    getFrameNetworkTime
    getLastResync
    getRealNetworkTime
    getUncertainty
    localElapsedTime
    localToNetworkTime
    networkToLocalTime
    newDelta
    peerToPeerResync
    resynchronize
__init__
def __init__(self)

Undocumented function.

__resetClock
def __resetClock(self, timeDelta)

this is called when the global clock gets adjusted timeDelta is equal to the amount of time, in seconds, that has been added to the global clock

__signExtend
def __signExtend(self, networkTime)

__signExtend(self, int networkTime)
Preserves the lower NetworkTimeBits of the networkTime value, and extends the sign bit all the way up.

clear
def clear(self)

Throws away any previous synchronization information.

getDelta
def getDelta(self)

Undocumented function.

getFrameNetworkTime
def getFrameNetworkTime(self, bits=16, ticksPerSec=NetworkTimePrecision)

Returns the current getFrameTime() expressed as a network time.

getLastResync
def getLastResync(self)

Undocumented function.

getRealNetworkTime
def getRealNetworkTime(self, bits=16, ticksPerSec=NetworkTimePrecision)

Returns the current getRealTime() expressed as a network time.

getUncertainty
def getUncertainty(self)

Undocumented function.

localElapsedTime
def localElapsedTime(self, networkTime, bits=16, ticksPerSec=NetworkTimePrecision)

localElapsedTime(self, int networkTime)
Returns the amount of time elapsed (in seconds) on the client since the server message was sent. Negative values are clamped to zero.

localToNetworkTime
def localToNetworkTime(self, localTime, bits=16, ticksPerSec=NetworkTimePrecision)

localToNetworkTime(self, float localTime)
Converts the indicated localTime to the corresponding networkTime value.

networkToLocalTime
def networkToLocalTime(self, networkTime, now=None, bits=16, ticksPerSec=NetworkTimePrecision)

networkToLocalTime(self, int networkTime)
Converts the indicated networkTime to the corresponding localTime value. The time is assumed to be within +/- 5 minutes of the current local time given in now, or getRealTime() if now is not specified.

newDelta
def newDelta(self, localTime, newDelta, newUncertainty, trustNew=1)

Accepts a new delta and uncertainty pair, understood to represent time as of localTime. Improves our current notion of the time delta accordingly. The return value is true if the new measurement was used, false if it was discarded.

peerToPeerResync
def peerToPeerResync(self, avId, timestamp, serverTime, uncertainty)

Accepts an AI time and uncertainty value from another client, along with a local timestamp value of the message from this client which prompted the other client to send us its delta information.
The return value is true if the other client's measurement was reasonably close to our own, or false if the other client's time estimate was wildly divergent from our own; the return value is negative if the test was not even considered (because it happened too soon after another recent request).

resynchronize
def resynchronize(self, localTime, networkTime, newUncertainty, trustNew=1)

resynchronize(self, float localTime, int32 networkTime, float newUncertainty)
Accepts a new networkTime value, which is understood to represent the same moment as localTime, plus or minus uncertainty seconds. Improves our current notion of the time delta accordingly.


ClockObject

    from pandac.PandaModules import ClockObject
    Class : ClockObject
    Description : A ClockObject keeps track of elapsed real time and discrete time. In normal mode, get_frame_time() returns the time as of the last time tick() was called. This is the "discrete" time, and is usually used to get the time as of, for instance, the beginning of the current frame.
    In other modes, as set by set_mode() or the clock-mode config variable, get_frame_time() may return other values to simulate different timing effects, for instance to perform non-real-time animation. See set_mode().
    In all modes, get_real_time() always returns the elapsed real time in seconds since the ClockObject was constructed, or since it was last reset.
    You can create your own ClockObject whenever you want to have your own local timer. There is also a default, global ClockObject intended to represent global time for the application; this is normally set up to tick every frame so that its get_frame_time() will return the time for the current frame.

Inheritance:

    ClockObject:

Methods of ClockObject:

    ClockObject (Constructor)
    calcFrameRateDeviation
    checkErrors
    getAverageFrameRate
    getAverageFrameRateInterval
    getClassType
    getDegradeFactor
    getDt
    getFrameCount
    getFrameTime
    getGlobalClock
    getLongTime
    getMaxDt
    getMaxFrameDuration
    getMode
    getNetFrameRate
    getRealTime
    reset
    setAverageFrameRateInterval
    setDegradeFactor
    setDt
    setFrameCount
    setFrameRate
    setFrameTime
    setMaxDt
    setMode
    setRealTime
    syncFrameTime
    tick

Constants in ClockObject:

    MNormal | (Mode)
MNonRealTime | (Mode)
MForced | (Mode)
MDegrade | (Mode)
MSlave | (Mode)
MLimited | (Mode)
MInteger | (Mode)
MIntegerLimited | (Mode)
ClockObject
ClockObject::ClockObject(void);

Description:

calcFrameRateDeviation
double ClockObject::calc_frame_rate_deviation(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the standard deviation of the frame times of the frames rendered over the past get_average_frame_rate_interval() seconds. This number gives an estimate of the chugginess of the frame rate; if it is large, there is a large variation in the frame rate; if is small, all of the frames are consistent in length.
A large value might also represent just a recent change in frame rate, for instance, because the camera has just rotated from looking at a simple scene to looking at a more complex scene.

checkErrors
bool ClockObject::check_errors(Thread *current_thread);

Description: Returns true if a clock error was detected since the last time check_errors() was called. A clock error means that something happened, an OS or BIOS bug, for instance, that makes the current value of the clock somewhat suspect, and an application may wish to resynchronize with any external clocks.

getAverageFrameRate
double ClockObject::get_average_frame_rate(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the average frame rate in number of frames per second over the last get_average_frame_rate_interval() seconds. This measures the virtual frame rate if the clock is in M_non_real_time mode.

getAverageFrameRateInterval
double ClockObject::get_average_frame_rate_interval(void) const;

Description: Returns the interval of time (in seconds) over which get_average_frame_rate() averages the number of frames per second to compute the frame rate.

getClassType
static TypeHandle ClockObject::get_class_type(void);

Undocumented function.

getDegradeFactor
double ClockObject::get_degrade_factor(void) const;

Description: In degrade mode, returns the ratio by which the performance is degraded. A value of 2.0 causes the clock to be slowed down by a factor of two (reducing performance to 1/2 what would be otherwise).
This has no effect if mode is not M_degrade.

getDt
double ClockObject::get_dt(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the elapsed time for the previous frame: the number of seconds elapsed between the last two calls to tick().

getFrameCount
int ClockObject::get_frame_count(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of times tick() has been called since the ClockObject was created, or since it was last reset. This is generally the number of frames that have been rendered.

getFrameTime
double ClockObject::get_frame_time(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the time in seconds as of the last time tick() was called (typically, this will be as of the start of the current frame).
This is generally the kind of time you want to ask for in most rendering and animation contexts, since it's important that all of the animation for a given frame remains in sync with each other.

getGlobalClock
static ClockObject *ClockObject::get_global_clock(void);

Description: Returns a pointer to the global ClockObject. This is the ClockObject that most code should use for handling scene graph rendering and animation.

getLongTime
double ClockObject::get_long_time(void) const;

Description: Returns the actual number of seconds elapsed since the ClockObject was created, or since it was last reset.
This is similar to get_real_time(), except that it uses the most accurate counter we have over a long period of time, and so it is less likely to drift. However, it may not be very precise for measuring short intervals. On Windows, for instace, this is only accurate to within about 55 milliseconds.

getMaxDt
double ClockObject::get_max_dt(void) const;

Description: Returns the current maximum allowable time elapsed between any two frames. See set_max_dt().

getMaxFrameDuration
double ClockObject::get_max_frame_duration(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the maximum frame duration over the last get_average_frame_rate_interval() seconds.

getMode
ClockObject::Mode ClockObject::get_mode(void) const;

Description: Returns the current mode of the clock. See set_mode().

getNetFrameRate
double ClockObject::get_net_frame_rate(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the average frame rate since the last reset. This is simply the total number of frames divided by the total elapsed time. This reports the virtual frame rate if the clock is in (or has been in) M_non_real_time mode.

getRealTime
double ClockObject::get_real_time(void) const;

Description: Returns the actual number of seconds elapsed since the ClockObject was created, or since it was last reset. This is useful for doing real timing measurements, e.g. for performance statistics.
This returns the most precise timer we have for short time intervals, but it may tend to drift over the long haul. If more accurate timekeeping is needed over a long period of time, use get_long_time() instead.

reset
void ClockObject::reset(void);

Description: Simultaneously resets both the time and the frame count to zero.

setAverageFrameRateInterval
void ClockObject::set_average_frame_rate_interval(double time);

Description: Specifies the interval of time (in seconds) over which get_average_frame_rate() averages the number of frames per second to compute the frame rate. Changing this does not necessarily immediately change the result of get_average_frame_rate(), until this interval of time has elapsed again.
Setting this to zero disables the computation of get_average_frame_rate().

setDegradeFactor
void ClockObject::set_degrade_factor(double degrade_factor);

Description: In degrade mode, sets the ratio by which the performance is degraded. A value of 2.0 causes the clock to be slowed down by a factor of two (reducing performance to 1/2 what would be otherwise).
This has no effect if mode is not M_degrade.

setDt
void ClockObject::set_dt(double dt);

Description: In non-real-time mode, sets the number of seconds that should appear to elapse between frames. In forced mode or limited mode, sets our target dt. In normal mode, this has no effect.
Also see set_frame_rate(), which is a different way to specify the same quantity.

setFrameCount
void ClockObject::set_frame_count(int frame_count, Thread *current_thread = ((get_current_thread())));

Description: Resets the number of frames counted to the indicated number. Also see reset(), set_real_time(), and set_frame_time().

setFrameRate
void ClockObject::set_frame_rate(double frame_rate);

Description: In non-real-time mode, sets the number of frames per second that we should appear to be running. In forced mode or limited mode, sets our target frame rate. In normal mode, this has no effect.
Also see set_dt(), which is a different way to specify the same quantity.

setFrameTime
void ClockObject::set_frame_time(double time, Thread *current_thread = ((get_current_thread())));

Description: Changes the time as reported for the current frame to the indicated time. Normally, the way to adjust the frame time is via tick(); this function is provided only for occasional special adjustments.

setMaxDt
void ClockObject::set_max_dt(double max_dt);

Description: Sets a limit on the value returned by get_dt(). If this value is less than zero, no limit is imposed; otherwise, this is the maximum value that will ever be returned by get_dt(), regardless of how much time has actually elapsed between frames.
This limit is only imposed in real-time mode; in non-real-time mode, the dt is fixed anyway and max_dt is ignored.
This is generally used to guarantee reasonable behavior even in the presence of a very slow or chuggy frame rame.

setMode
void ClockObject::set_mode(ClockObject::Mode mode);

Description: Changes the mode of the clock. Normally, the clock is in mode M_normal. In this mode, each call to tick() will set the value returned by get_frame_time() to the current real time; thus, the clock simply reports time advancing.
Other possible modes:
M_non_real_time - the clock ignores real time completely; at each call to tick(), it pretends that exactly dt seconds have elapsed since the last call to tick(). You may set the value of dt with set_dt() or set_frame_rate().
M_limited - the clock will run as fast as it can, as in M_normal, but will not run faster than the rate specified by set_frame_rate(). If the application would run faster than this rate, the clock will slow down the application.
M_integer - the clock will run as fast as it can, but the rate will be constrained to be an integer multiple or divisor of the rate specified by set_frame_rate(). The clock will slow down the application a bit to guarantee this.
M_integer_limited - a combination of M_limited and M_integer; the clock will not run faster than set_frame_rate(), and if it runs slower, it will run at a integer divisor of that rate.
M_forced - the clock forces the application to run at the rate specified by set_frame_rate(). If the application would run faster than this rate, the clock will slow down the application; if the application would run slower than this rate, the clock slows down time so that the application believes it is running at the given rate.
M_degrade - the clock runs at real time, but the application is slowed down by a set factor of its frame rate, specified by set_degrade_factor().
M_slave - the clock does not advance, but relies on the user to call set_frame_time() and/or set_frame_count() each frame.

setRealTime
void ClockObject::set_real_time(double time);

Description: Resets the clock to the indicated time. This changes only the real time of the clock as reported by get_real_time(), but does not immediately change the time reported by get_frame_time()--that will change after the next call to tick(). Also see reset(), set_frame_time(), and set_frame_count().

syncFrameTime
void ClockObject::sync_frame_time(Thread *current_thread = ((get_current_thread())));

Description: Resets the frame time to the current real time. This is similar to tick(), except that it does not advance the frame counter and does not affect dt. This is intended to be used in the middle of a particularly long frame to compensate for the time that has already elapsed.
In non-real-time mode, this function has no effect (because in this mode all frames take the same length of time).

tick
void ClockObject::tick(Thread *current_thread = ((get_current_thread())));

Description: Instructs the clock that a new frame has just begun. In normal, real-time mode, get_frame_time() will henceforth report the time as of this instant as the current start-of-frame time. In non-real-time mode, get_frame_time() will be incremented by the value of dt.


ClusterClient

    from direct.cluster.ClusterClient import ClusterClient

Inheritance:

    ClusterClient:

Methods of ClusterClient:

    __call__
    __init__
    _readerPollTask
    addControlMapping
    addNamedObjectMapping
    addObjectTag
    controlObjectTask
    deselectNodePath
    exit
    getNodePathFindCmd
    getNodePathName
    handleDatagram
    handleMessageQueue
    handleNamedMovement
    loadModel
    moveCamera
    moveCameraTask
    moveObject
    moveSelectedTask
    redoSortedPriorities
    removeControlMapping
    removeObjectMapping
    removeObjectTag
    selectNodePath
    sendCamFrustum
    sendNamedMovementDone
    setControlMappingOffset
    startControlObjectTask
    startMoveCamTask
    startMoveSelectedTask
    startReaderPollTask
    startSynchronizeTimeTask
    synchronizeTimeTask
__call__
def __call__(self, commandString, fLocally=1, serverList=[])

Undocumented function.

__init__
def __init__(self, configList, clusterSyncFlag)

Undocumented function.

_readerPollTask
def _readerPollTask(self, state)

Non blocking task to read all available datagrams

addControlMapping
def addControlMapping(self, objectName, controlledName, serverList=None, offset=None, priority=0)

Undocumented function.

addNamedObjectMapping
def addNamedObjectMapping(self, object, name, hasColor=True)

Undocumented function.

addObjectTag
def addObjectTag(self, object, selectFunction, deselectFunction, selectArgs, deselectArgs)

Undocumented function.

controlObjectTask
def controlObjectTask(self, task)

Undocumented function.

deselectNodePath
def deselectNodePath(self, nodePath)

Undocumented function.

exit
def exit(self)

Undocumented function.

getNodePathFindCmd
def getNodePathFindCmd(self, nodePath)

Undocumented function.

getNodePathName
def getNodePathName(self, nodePath)

Undocumented function.

handleDatagram
def handleDatagram(self, dgi, type, server)

Undocumented function.

handleMessageQueue
def handleMessageQueue(self, server)

Undocumented function.

handleNamedMovement
def handleNamedMovement(self, data)

Update cameraJig position to reflect latest position

loadModel
def loadModel(self, nodePath)

Undocumented function.

moveCamera
def moveCamera(self, xyz, hpr)

Undocumented function.

moveCameraTask
def moveCameraTask(self, task)

Undocumented function.

moveObject
def moveObject(self, nodePath, object, serverList, offset, hasColor=True)

Undocumented function.

moveSelectedTask
def moveSelectedTask(self, state)

Undocumented function.

redoSortedPriorities
def redoSortedPriorities(self)

Undocumented function.

removeControlMapping
def removeControlMapping(self, name, serverList=None)

Undocumented function.

removeObjectMapping
def removeObjectMapping(self, name)

Undocumented function.

removeObjectTag
def removeObjectTag(self, object)

Undocumented function.

selectNodePath
def selectNodePath(self, nodePath)

Undocumented function.

sendCamFrustum
def sendCamFrustum(self, focalLength, filmSize, filmOffset, indexList=[])

Undocumented function.

sendNamedMovementDone
def sendNamedMovementDone(self, serverList=None)

Undocumented function.

setControlMappingOffset
def setControlMappingOffset(self, objectName, offset)

Undocumented function.

startControlObjectTask
def startControlObjectTask(self)

Undocumented function.

startMoveCamTask
def startMoveCamTask(self)

Undocumented function.

startMoveSelectedTask
def startMoveSelectedTask(self)

Undocumented function.

startReaderPollTask
def startReaderPollTask(self)

Task to handle datagrams from server

startSynchronizeTimeTask
def startSynchronizeTimeTask(self)

Undocumented function.

synchronizeTimeTask
def synchronizeTimeTask(self, task)

Undocumented function.


ClusterClientSync

    from direct.cluster.ClusterClient import ClusterClientSync

Inheritance:

    ClusterClientSync:

Methods of ClusterClientSync:

    __init__
    moveCamera
    startSwapCoordinatorTask
    swapCoordinator
__init__
def __init__(self, configList, clusterSyncFlag)

Undocumented function.

moveCamera
def moveCamera(self, xyz, hpr)

Undocumented function.

startSwapCoordinatorTask
def startSwapCoordinatorTask(self)

Undocumented function.

swapCoordinator
def swapCoordinator(self, task)

Undocumented function.


ClusterConfigItem

    from direct.cluster.ClusterClient import ClusterConfigItem

Inheritance:

    ClusterConfigItem:

Methods of ClusterConfigItem:

    __init__
    setCamFrustum
    setCamOffset
__init__
def __init__(self, serverConfigName, serverName, serverDaemonPort, serverMsgPort)

Undocumented function.

setCamFrustum
def setCamFrustum(self, focalLength, filmSize, filmOffset)

Undocumented function.

setCamOffset
def setCamOffset(self, xyz, hpr)

Undocumented function.


ClusterMsgHandler

    from direct.cluster.ClusterMsgs import ClusterMsgHandler
    ClusterMsgHandler: wrapper for PC clusters/multi-piping networking

Inheritance:

    ClusterMsgHandler:

Methods of ClusterMsgHandler:

    __init__
    blockingRead
    makeCamFrustumDatagram
    makeCamMovementDatagram
    makeCamOffsetDatagram
    makeCommandStringDatagram
    makeExitDatagram
    makeNamedMovementDone
    makeNamedObjectMovementDatagram
    makeSelectedMovementDatagram
    makeSwapNowDatagram
    makeSwapReadyDatagram
    makeTimeDataDatagram
    nonBlockingRead
    parseCamFrustumDatagram
    parseCamMovementDatagram
    parseCamOffsetDatagram
    parseCommandStringDatagram
    parseNamedMovementDatagram
    parseSelectedMovementDatagram
    parseTimeDataDatagram
    readHeader
__init__
def __init__(self, packetStart, notify)

Undocumented function.

blockingRead
def blockingRead(self, qcr)

Block until data is available on the queued connection reader. Returns a datagram iterator and type

makeCamFrustumDatagram
def makeCamFrustumDatagram(self, focalLength, filmSize, filmOffset)

Undocumented function.

makeCamMovementDatagram
def makeCamMovementDatagram(self, xyz, hpr)

Undocumented function.

makeCamOffsetDatagram
def makeCamOffsetDatagram(self, xyz, hpr)

Undocumented function.

makeCommandStringDatagram
def makeCommandStringDatagram(self, commandString)

Undocumented function.

makeExitDatagram
def makeExitDatagram(self)

Undocumented function.

makeNamedMovementDone
def makeNamedMovementDone(self)

Undocumented function.

makeNamedObjectMovementDatagram
def makeNamedObjectMovementDatagram(self, xyz, hpr, scale, color, hidden, name)

Undocumented function.

makeSelectedMovementDatagram
def makeSelectedMovementDatagram(self, xyz, hpr, scale)

Undocumented function.

makeSwapNowDatagram
def makeSwapNowDatagram(self)

Undocumented function.

makeSwapReadyDatagram
def makeSwapReadyDatagram(self)

Undocumented function.

makeTimeDataDatagram
def makeTimeDataDatagram(self, frameCount, frameTime, dt)

Undocumented function.

nonBlockingRead
def nonBlockingRead(self, qcr)

Return a datagram iterator and type if data is available on the queued connection reader

parseCamFrustumDatagram
def parseCamFrustumDatagram(self, dgi)

Undocumented function.

parseCamMovementDatagram
def parseCamMovementDatagram(self, dgi)

Undocumented function.

parseCamOffsetDatagram
def parseCamOffsetDatagram(self, dgi)

Undocumented function.

parseCommandStringDatagram
def parseCommandStringDatagram(self, dgi)

Undocumented function.

parseNamedMovementDatagram
def parseNamedMovementDatagram(self, dgi)

Undocumented function.

parseSelectedMovementDatagram
def parseSelectedMovementDatagram(self, dgi)

Undocumented function.

parseTimeDataDatagram
def parseTimeDataDatagram(self, dgi)

Undocumented function.

readHeader
def readHeader(self, datagram)

Undocumented function.


ClusterServer

    from direct.cluster.ClusterServer import ClusterServer

Inheritance:

    ClusterServer:

Methods of ClusterServer:

    __init__
    _readerPollTask
    _syncReaderPollTask
    addControlMapping
    addNamedObjectMapping
    controlObjectTask
    handleCamFrustum
    handleCamMovement
    handleCamOffset
    handleCommandString
    handleDatagram
    handleMessageQueue
    handleNamedMovement
    handleSelectedMovement
    handleTimeData
    listenerPollTask
    moveObject
    redoSortedPriorities
    removeControlMapping
    removeObjectMapping
    sendNamedMovementDone
    sendSwapReady
    setControlMappingOffset
    startControlObjectTask
    startListenerPollTask
    startReaderPollTask
    startSwapCoordinator
    swapCoordinatorTask
__init__
def __init__(self, cameraJig, camera)

Undocumented function.

_readerPollTask
def _readerPollTask(self, state)

Non blocking task to read all available datagrams

_syncReaderPollTask
def _syncReaderPollTask(self, task)

Undocumented function.

addControlMapping
def addControlMapping(self, objectName, controlledName, offset=None, priority=0)

Undocumented function.

addNamedObjectMapping
def addNamedObjectMapping(self, object, name, hasColor=True, priority=0)

Undocumented function.

controlObjectTask
def controlObjectTask(self, task)

Undocumented function.

handleCamFrustum
def handleCamFrustum(self, dgi)

Adjust camera frustum based on parameters sent by client

handleCamMovement
def handleCamMovement(self, dgi)

Update cameraJig position to reflect latest position

handleCamOffset
def handleCamOffset(self, dgi)

Set offset of camera from cameraJig

handleCommandString
def handleCommandString(self, dgi)

Handle arbitrary command string from client

handleDatagram
def handleDatagram(self, dgi, type)

Process a datagram depending upon type flag

handleMessageQueue
def handleMessageQueue(self)

Undocumented function.

handleNamedMovement
def handleNamedMovement(self, data)

Update cameraJig position to reflect latest position

handleSelectedMovement
def handleSelectedMovement(self, dgi)

Update cameraJig position to reflect latest position

handleTimeData
def handleTimeData(self, dgi)

Update cameraJig position to reflect latest position

listenerPollTask
def listenerPollTask(self, task)

Task to listen for a new connection from the client

moveObject
def moveObject(self, nodePath, object, offset, hasColor)

Undocumented function.

redoSortedPriorities
def redoSortedPriorities(self)

Undocumented function.

removeControlMapping
def removeControlMapping(self, name)

Undocumented function.

removeObjectMapping
def removeObjectMapping(self, name)

Undocumented function.

sendNamedMovementDone
def sendNamedMovementDone(self)

Undocumented function.

sendSwapReady
def sendSwapReady(self)

Undocumented function.

setControlMappingOffset
def setControlMappingOffset(self, objectName, offset)

Undocumented function.

startControlObjectTask
def startControlObjectTask(self)

Undocumented function.

startListenerPollTask
def startListenerPollTask(self)

Undocumented function.

startReaderPollTask
def startReaderPollTask(self)

Task to handle datagrams from client

startSwapCoordinator
def startSwapCoordinator(self)

Undocumented function.

swapCoordinatorTask
def swapCoordinatorTask(self, task)

Undocumented function.


CMetaInterval

    from pandac.PandaModules import CMetaInterval

Inheritance:

    CMetaInterval: CInterval
    CInterval: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CMetaInterval:

    CMetaInterval (Constructor)
    addCInterval
    addExtIndex
    clearIntervals
    getCInterval
    getClassType
    getDefType
    getEventIndex
    getEventT
    getEventType
    getExtIndex
    getIntervalEndTime
    getIntervalStartTime
    getNumDefs
    getPrecision
    isEventReady
    popEvent
    popLevel
    pushLevel
    setIntervalStartTime
    setPrecision
    timeline

Methods of CInterval:

    clearToInitial
    finish
    getAutoFinish
    getAutoPause
    getClassType
    getDoneEvent
    getDuration
    getManager
    getName
    getOpenEnded
    getPlayRate
    getState
    getT
    getWantsTCallback
    isPlaying
    isStopped
    loop
    output
    pause
    privDoEvent
    privFinalize
    privInitialize
    privInstant
    privInterrupt
    privReverseFinalize
    privReverseInitialize
    privReverseInstant
    privStep
    resume
    resumeUntil
    setAutoFinish
    setAutoPause
    setDoneEvent
    setManager
    setPlayRate
    setT
    setupPlay
    setupResume
    setupResumeUntil
    setWantsTCallback
    start
    stepPlay
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in CMetaInterval:

    RSPreviousEnd | (RelativeStart)
RSPreviousBegin | (RelativeStart)
RSLevelBegin | (RelativeStart)
DTCInterval | (DefType)
DTExtIndex | (DefType)
DTPushLevel | (DefType)
DTPopLevel | (DefType)

Constants in CInterval:

    ETInitialize | (EventType)
ETInstant | (EventType)
ETStep | (EventType)
ETFinalize | (EventType)
ETReverseInitialize | (EventType)
ETReverseInstant | (EventType)
ETReverseFinalize | (EventType)
ETInterrupt | (EventType)
SInitial | (State)
SStarted | (State)
SPaused | (State)
SFinal | (State)
CMetaInterval
CMetaInterval::CMetaInterval(string const &name);

Description:

addCInterval
int CMetaInterval::add_c_interval(CInterval *c_interval, double rel_time = (0), CMetaInterval::RelativeStart rel_to = (RS_previous_end));

Description: Adds a new CInterval to the list. The interval will be played when the indicated time (relative to the given point) has been reached.
The return value is the index of the def entry representing the new interval.

addExtIndex
int CMetaInterval::add_ext_index(int ext_index, string const &name, double duration, bool open_ended, double rel_time, CMetaInterval::RelativeStart rel_to);

Description: Adds a new external interval to the list. This represents some object in the external scripting language that has properties similar to a CInterval (for instance, a Python Interval object).
The CMetaInterval object cannot play this external interval directly, but it records a placeholder for it and will ask the scripting language to play it when it is time, via is_event_ready() and related methods.
The ext_index number itself is simply a handle that the scripting language makes up and associates with its interval object somehow. The CMetaInterval object does not attempt to interpret this value.
The return value is the index of the def entry representing the new interval.

clearIntervals
void CMetaInterval::clear_intervals(void);

Description: Resets the list of intervals and prepares for receiving a new list.

getCInterval
CInterval *CMetaInterval::get_c_interval(int n) const;

Description: Return the CInterval pointer associated with the nth interval definition. It is only valid to call this if get_def_type(n) returns DT_c_interval.

getClassType
static TypeHandle CMetaInterval::get_class_type(void);

Undocumented function.

getDefType
CMetaInterval::DefType CMetaInterval::get_def_type(int n) const;

Description: Returns the type of the nth interval definition that has been added.

getEventIndex
int CMetaInterval::get_event_index(void) const;

Description: If a previous call to is_event_ready() returned true, this returns the index number (added via add_event_index()) of the external interval that needs to be played.

getEventT
double CMetaInterval::get_event_t(void) const;

Description: If a previous call to is_event_ready() returned true, this returns the t value that should be fed to the given interval.

getEventType
CInterval::EventType CMetaInterval::get_event_type(void) const;

Description: If a previous call to is_event_ready() returned true, this returns the type of the event (initialize, step, finalize, etc.) for the given interval.

getExtIndex
int CMetaInterval::get_ext_index(int n) const;

Description: Return the external interval index number associated with the nth interval definition. It is only valid to call this if get_def_type(n) returns DT_ext_index.

getIntervalEndTime
double CMetaInterval::get_interval_end_time(string const &name) const;

Description: Returns the actual end time, relative to the beginning of the interval, of the child interval with the given name, if found, or -1 if the interval is not found.

getIntervalStartTime
double CMetaInterval::get_interval_start_time(string const &name) const;

Description: Returns the actual start time, relative to the beginning of the interval, of the child interval with the given name, if found, or -1 if the interval is not found.

getNumDefs
int CMetaInterval::get_num_defs(void) const;

Description: Returns the number of interval and push/pop definitions that have been added to the meta interval.

getPrecision
double CMetaInterval::get_precision(void) const;

Description: Returns the precision with which time measurements are compared. See set_precision().

isEventReady
bool CMetaInterval::is_event_ready(void);

Description: Returns true if a recent call to priv_initialize(), priv_step(), or priv_finalize() has left some external intervals ready to play. If this returns true, call get_event_index(), get_event_t(), and pop_event() to retrieve the relevant information.

popEvent
void CMetaInterval::pop_event(void);

Description: Acknowledges that the external interval on the top of the queue has been extracted, and is about to be serviced by the scripting language. This prepares the interval so the next call to is_event_ready() will return information about the next external interval on the queue, if any.

popLevel
int CMetaInterval::pop_level(double duration = (-1));

Description: Finishes a level marked by a previous call to push_level(), and returns to the previous level.
If the duration is not negative, it represents a phony duration to assign to the level, for the purposes of sequencing later intervals. Otherwise, the level's duration is computed based on the intervals within the level.

pushLevel
int CMetaInterval::push_level(string const &name, double rel_time, CMetaInterval::RelativeStart rel_to);

Description: Marks the beginning of a nested level of child intervals. Within the nested level, a RelativeStart time of RS_level_begin refers to the start of the level, and the first interval added within the level is always relative to the start of the level.
The return value is the index of the def entry created by this push.

setIntervalStartTime
bool CMetaInterval::set_interval_start_time(string const &name, double rel_time, CMetaInterval::RelativeStart rel_to = (RS_level_begin));

Description: Adjusts the start time of the child interval with the given name, if found. This may be either a C++ interval added via add_c_interval(), or an external interval added via add_ext_index(); the name must match exactly.
If the interval is found, its start time is adjusted, and all subsequent intervals are adjusting accordingly, and true is returned. If a matching interval is not found, nothing is changed and false is returned.

setPrecision
void CMetaInterval::set_precision(double precision);

Description: Indicates the precision with which time measurements are compared. For numerical accuracy, all floating-point time values are converted to integer values internally by scaling by the precision factor. The larger the number given here, the smaller the delta of time that can be differentiated; the limit is the maximum integer that can be represented in the system.

timeline
void CMetaInterval::timeline(ostream &out) const;

Description: Outputs a list of all events in the order in which they occur.

clearToInitial
void CInterval::clear_to_initial(void);

Description: Pauses the interval, if it is playing, and resets its state to its initial state, abandoning any state changes already in progress in the middle of the interval. Calling this is like pausing the interval and discarding it, creating a new one in its place.

finish
void CInterval::finish(void);

Description: Stops the interval from playing and sets it to its final state.

getAutoFinish
bool CInterval::get_auto_finish(void) const;

Description: Returns the state of the 'auto_finish' flag. See set_auto_finish().

getAutoPause
bool CInterval::get_auto_pause(void) const;

Description: Returns the state of the 'auto_pause' flag. See set_auto_pause().

getClassType
static TypeHandle CInterval::get_class_type(void);

Undocumented function.

getDoneEvent
string const &CInterval::get_done_event(void) const;

Description: Returns the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

getDuration
double CInterval::get_duration(void) const;

Description: Returns the duration of the interval in seconds.

getManager
CIntervalManager *CInterval::get_manager(void) const;

Description: Returns the CIntervalManager object which will be responsible for playing this interval. Note that this can only return a C++ object; if the particular CIntervalManager object has been extended in the scripting language, this will return the encapsulated C++ object, not the full extended object.

getName
string const &CInterval::get_name(void) const;

Description: Returns the interval's name.

getOpenEnded
bool CInterval::get_open_ended(void) const;

Description: Returns the state of the "open_ended" flag. This is primarily intended for instantaneous intervals like FunctionIntervals; it indicates true if the interval has some lasting effect that should be applied even if the interval doesn't get started until after its finish time, or false if the interval is a transitive thing that doesn't need to be called late.

getPlayRate
double CInterval::get_play_rate(void) const;

Description: Returns the play rate as set by the last call to start(), loop(), or set_play_rate().

getState
CInterval::State CInterval::get_state(void) const;

Description: Indicates the state the interval believes it is in: whether it has been started, is currently in the middle, or has been finalized.

getT
double CInterval::get_t(void) const;

Description: Returns the current time of the interval: the last value of t passed to priv_initialize(), priv_step(), or priv_finalize().

getWantsTCallback
bool CInterval::get_wants_t_callback(void) const;

Description: Returns the state of the 'wants_t_callback' flag. See set_wants_t_callback().

isPlaying
bool CInterval::is_playing(void) const;

Description: Returns true if the interval is currently playing, false otherwise.

isStopped
bool CInterval::is_stopped(void) const;

Description: Returns true if the interval is in either its initial or final states (but not in a running or paused state).

loop
void CInterval::loop(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play until it is interrupted with finish() or pause(), looping back to start_t when it reaches end_t.
If end_t is less than zero, it indicates the end of the interval.

output
virtual void CInterval::output(ostream &out) const;

Description:

pause
double CInterval::pause(void);

Description: Stops the interval from playing but leaves it in its current state. It may later be resumed from this point by calling resume().

privDoEvent
void CInterval::priv_do_event(double t, CInterval::EventType event);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: Calls the appropriate event function indicated by the EventType.

privFinalize
virtual void CInterval::priv_finalize(void);

Description: This is called to stop an interval, forcing it to whatever state it would be after it played all the way through. It's generally invoked by set_final_t().

privInitialize
virtual void CInterval::priv_initialize(double t);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: This replaces the first call to priv_step(), and indicates that the interval has just begun. This may be overridden by derived classes that need to do some explicit initialization on the first call.

privInstant
virtual void CInterval::priv_instant(void);

Description: This is called in lieu of priv_initialize() .. priv_step() .. priv_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the final state.

privInterrupt
virtual void CInterval::priv_interrupt(void);

Description: This is called while the interval is playing to indicate that it is about to be interrupted; that is, priv_step() will not be called for a length of time. But the interval should remain in its current state in anticipation of being eventually restarted when the calls to priv_step() eventually resume.
The purpose of this function is to allow self-running intervals like sound intervals to stop the actual sound playback during the pause.

privReverseFinalize
virtual void CInterval::priv_reverse_finalize(void);

Description: Called generally following a priv_reverse_initialize(), this indicates the interval should set itself to the initial state.

privReverseInitialize
virtual void CInterval::priv_reverse_initialize(double t);

Description: Similar to priv_initialize(), but this is called when the interval is being played backwards; it indicates that the interval should start at the finishing state and undo any intervening intervals.

privReverseInstant
virtual void CInterval::priv_reverse_instant(void);

Description: This is called in lieu of priv_reverse_initialize() .. priv_step() .. priv_reverse_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the initial state.

privStep
virtual void CInterval::priv_step(double t);

Description: Advances the time on the interval. The time may either increase (the normal case) or decrease (e.g. if the interval is being played by a slider).

resume
void CInterval::resume(void);

Description: Restarts the interval from its current point after a previous call to pause().
Description: Restarts the interval from the indicated point after a previous call to pause().

resumeUntil
void CInterval::resume_until(double end_t);

Description: Restarts the interval from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setAutoFinish
void CInterval::set_auto_finish(bool auto_finish);

Description: Changes the state of the 'auto_finish' flag. If this is true, the interval may be arbitrarily finished when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setAutoPause
void CInterval::set_auto_pause(bool auto_pause);

Description: Changes the state of the 'auto_pause' flag. If this is true, the interval may be arbitrarily interrupted when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setDoneEvent
void CInterval::set_done_event(string const &event);

Description: Sets the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

setManager
void CInterval::set_manager(CIntervalManager *manager);

Description: Indicates the CIntervalManager object which will be responsible for playing this interval. This defaults to the global CIntervalManager; you should need to change this only if you have special requirements for playing this interval.

setPlayRate
void CInterval::set_play_rate(double play_rate);

Description: Changes the play rate of the interval. If the interval is already started, this changes its speed on-the-fly. Note that since play_rate is a parameter to start() and loop(), the next call to start() or loop() will reset this parameter.

setT
void CInterval::set_t(double t);

Description: Explicitly sets the time within the interval. Normally, you would use start() .. finish() to let the time play normally, but this may be used to set the time to some particular value.

setupPlay
void CInterval::setup_play(double start_time, double end_time, double play_rate, bool do_loop);

Description: Called to prepare the interval for automatic timed playback, e.g. via a Python task. The interval will be played from start_t to end_t, at a time factor specified by play_rate. start_t must always be less than end_t (except for the exception for end_t == -1, below), but if play_rate is negative the interval will be played backwards.
Specify end_t of -1 to play the entire interval from start_t.
Call step_play() repeatedly to execute the interval.

setupResume
void CInterval::setup_resume(void);

Description: Called to prepare the interval for restarting at the current point within the interval after an interruption.

setupResumeUntil
void CInterval::setup_resume_until(double end_t);

Description: Called to prepare the interval for restarting from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setWantsTCallback
void CInterval::set_wants_t_callback(bool wants_t_callback);

Description: Changes the state of the 'wants_t_callback' flag. If this is true, the interval will be returned by CIntervalManager::get_event() each time the interval's time value has been changed, regardless of whether it has any external events.

start
void CInterval::start(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play to the end and stop.
If end_t is less than zero, it indicates the end of the interval.

stepPlay
bool CInterval::step_play(void);

Description: Should be called once per frame to execute the automatic timed playback begun with setup_play().
Returns true if the interval should continue, false if it is done and should stop.

write
virtual void CInterval::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CodeInspector

    from direct.tkpanels.Inspector import CodeInspector

Inheritance:

    CodeInspector:

Methods of CodeInspector:

    title
title
def title(self)

Undocumented function.


CollectTarget

    from direct.pyinst.Builder import CollectTarget

Inheritance:

    CollectTarget:

Methods of CollectTarget:

    __init__
    assemble
    gather
__init__
def __init__(self, cfg, sectnm, cnvrts)

Undocumented function.

assemble
def assemble(self)

Undocumented function.

gather
def gather(self)

Undocumented function.


CollisionDSSolid

    from pandac.PandaModules import CollisionDSSolid
    Class : CollisionDSSolid
    Description : A collision volume or object made up of the intersection of two spheres (potentially a lens) and two half-spaces (planes).

Inheritance:

    CollisionDSSolid: CollisionSolid
    CollisionSolid: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionDSSolid:

    CollisionDSSolid (Constructor)
    distToPlaneA
    distToPlaneB
    getCenterA
    getCenterB
    getClassType
    getNormalA
    getNormalB
    getPlaneA
    getPlaneB
    getRadiusA
    getRadiusB
    setCenterA
    setCenterB
    setPlaneA
    setPlaneB
    setRadiusA
    setRadiusB

Methods of CollisionSolid:

    clearEffectiveNormal
    getBounds
    getClassType
    getCollisionOrigin
    getEffectiveNormal
    getRespectEffectiveNormal
    hasEffectiveNormal
    isTangible
    output
    setBounds
    setEffectiveNormal
    setRespectEffectiveNormal
    setTangible
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionDSSolid
CollisionDSSolid::CollisionDSSolid(LPoint3f const &center_a, float radius_a, LPoint3f const &center_b, float radius_b, Planef const &plane_a, Planef const &plane_b);

Filename: collisionDSSolid.I Created by: Dave Schuyler (05Apr06) Based on collision tube by: drose
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."
Description:
Description: Creates an invalid tube. Only used when reading from a bam file.

distToPlaneA
float CollisionDSSolid::dist_to_plane_a(LPoint3f const &point) const;

Plane a
Description:

distToPlaneB
float CollisionDSSolid::dist_to_plane_b(LPoint3f const &point) const;

Plane b
Description:

getCenterA
LPoint3f const &CollisionDSSolid::get_center_a(void) const;

Description:

getCenterB
LPoint3f const &CollisionDSSolid::get_center_b(void) const;

Description:

getClassType
static TypeHandle CollisionDSSolid::get_class_type(void);

Undocumented function.

getNormalA
LVector3f CollisionDSSolid::get_normal_a(void) const;

Plane a
Description:

getNormalB
LVector3f CollisionDSSolid::get_normal_b(void) const;

Plane b
Description:

getPlaneA
Planef const &CollisionDSSolid::get_plane_a(void) const;

Description:

getPlaneB
Planef const &CollisionDSSolid::get_plane_b(void) const;

Description:

getRadiusA
float CollisionDSSolid::get_radius_a(void) const;

Description:

getRadiusB
float CollisionDSSolid::get_radius_b(void) const;

Description:

setCenterA
void CollisionDSSolid::set_center_a(LPoint3f const &center);

Sphere a
Description:

setCenterB
void CollisionDSSolid::set_center_b(LPoint3f const &center);

Sphere b
Description:

setPlaneA
void CollisionDSSolid::set_plane_a(Planef const &plane);

Description:

setPlaneB
void CollisionDSSolid::set_plane_b(Planef const &plane);

Description:

setRadiusA
void CollisionDSSolid::set_radius_a(float radius);

Description:

setRadiusB
void CollisionDSSolid::set_radius_b(float radius);

Description:

clearEffectiveNormal
void CollisionSolid::clear_effective_normal(void);

Description: Removes the normal previously set by set_effective_normal().

getBounds
ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const;

Description: Returns the solid's bounding volume.

getClassType
static TypeHandle CollisionSolid::get_class_type(void);

Undocumented function.

getCollisionOrigin
virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0;

Undocumented function.

getEffectiveNormal
LVector3f const &CollisionSolid::get_effective_normal(void) const;

Description: Returns the normal that was set by set_effective_normal(). It is an error to call this unless has_effective_normal() returns true.

getRespectEffectiveNormal
bool CollisionSolid::get_respect_effective_normal(void) const;

Description: See set_respect_effective_normal().

hasEffectiveNormal
bool CollisionSolid::has_effective_normal(void) const;

Description: Returns true if a special normal was set by set_effective_normal(), false otherwise.

isTangible
bool CollisionSolid::is_tangible(void) const;

Description: Returns whether the solid is considered 'tangible' or not. An intangible solid has no effect in a CollisionHandlerPusher (except to throw an event); it's useful for defining 'trigger' planes and spheres, that cause an effect when passed through.

output
virtual void CollisionSolid::output(ostream &out) const;

Description:

setBounds
void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume);

Description: Returns the solid's bounding volume.

setEffectiveNormal
void CollisionSolid::set_effective_normal(LVector3f const &effective_normal);

Description: Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal. This is useful as a workaround for the problem of an avatar wanting to stand on a sloping ground; by storing a false normal, the ground appears to be perfectly level, and the avatar does not tend to slide down it.

setRespectEffectiveNormal
void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal);

Description: This is only meaningful for CollisionSolids that will be added to a traverser as colliders. It is normally true, but if set false, it means that this particular solid does not care about the "effective" normal of other solids it meets, but rather always uses the true normal.

setTangible
void CollisionSolid::set_tangible(bool tangible);

Description: Sets the current state of the 'tangible' flag. Set this true to make the solid tangible, so that a CollisionHandlerPusher will not allow another object to intersect it, or false to make it intangible, so that a CollisionHandlerPusher will ignore it except to throw an event.

write
virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionEntry

    from pandac.PandaModules import CollisionEntry
    Class : CollisionEntry
    Description : Defines a single collision event. One of these is created for each collision detected by a CollisionTraverser, to be dealt with by the CollisionHandler.
    A CollisionEntry provides slots for a number of data values (such as intersection point and normal) that might or might not be known for each collision. It is up to the handler to determine what information is known and to do the right thing with it.

Inheritance:

    CollisionEntry: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionEntry:

    collided
    getAll
    getAllContactInfo
    getClassType
    getContactNormal
    getContactPos
    getFrom
    getFromNode
    getFromNodePath
    getInteriorPoint
    getInto
    getIntoNode
    getIntoNodePath
    getRespectPrevTransform
    getSurfaceNormal
    getSurfacePoint
    getT
    hasContactNormal
    hasContactPos
    hasInteriorPoint
    hasInto
    hasSurfaceNormal
    hasSurfacePoint
    output
    resetCollided
    setContactNormal
    setContactPos
    setInteriorPoint
    setSurfaceNormal
    setSurfacePoint
    setT
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
collided
bool CollisionEntry::collided(void) const;

Description: returns true if this represents an actual collision as opposed to a potential collision, needed for iterative collision resolution where path of collider changes mid-frame

getAll
bool CollisionEntry::get_all(NodePath const &space, LPoint3f &surface_point, LVector3f &surface_normal, LPoint3f &interior_point) const;

Description: Simultaneously transforms the surface point, surface normal, and interior point of the collision into the indicated coordinate space.
Returns true if all three properties are available, or false if any one of them is not.

getAllContactInfo
bool CollisionEntry::get_all_contact_info(NodePath const &space, LPoint3f &contact_pos, LVector3f &contact_normal) const;

Description: Simultaneously transforms the contact position and contact normal of the collision into the indicated coordinate space.
Returns true if all three properties are available, or false if any one of them is not.

getClassType
static TypeHandle CollisionEntry::get_class_type(void);

Undocumented function.

getContactNormal
LVector3f CollisionEntry::get_contact_normal(NodePath const &space) const;

Description: Returns the surface normal of the "into" object at the contact position.
The normal will be converted into whichever coordinate space the caller specifies.

getContactPos
LPoint3f CollisionEntry::get_contact_pos(NodePath const &space) const;

Description: Returns the position of the "from" object at the instant that a collision is first detected.
The position will be converted into whichever coordinate space the caller specifies.

getFrom
CollisionSolid const *CollisionEntry::get_from(void) const;

Description: Returns the CollisionSolid pointer for the particular solid that triggered this collision.

getFromNode
CollisionNode *CollisionEntry::get_from_node(void) const;

Description: Returns the node that contains the CollisionSolid that triggered this collision. This will be a node that has been added to a CollisionTraverser via add_collider().

getFromNodePath
NodePath CollisionEntry::get_from_node_path(void) const;

Description: Returns the NodePath that represents the CollisionNode that contains the CollisionSolid that triggered this collision. This will be a NodePath that has been added to a CollisionTraverser via add_collider().

getInteriorPoint
LPoint3f CollisionEntry::get_interior_point(NodePath const &space) const;

Description: Returns the point, within the interior of the "into" object, which represents the depth to which the "from" object has penetrated. This can also be described as the intersection point on the surface of the "from" object (which is inside the "into" object). It can be thought of as the deepest point of intersection.
The point will be converted into whichever coordinate space the caller specifies.

getInto
CollisionSolid const *CollisionEntry::get_into(void) const;

Description: Returns the CollisionSolid pointer for the particular solid was collided into. This pointer might be NULL if the collision was into a piece of visible geometry, instead of a normal CollisionSolid collision; see has_into().

getIntoNode
PandaNode *CollisionEntry::get_into_node(void) const;

Description: Returns the node that contains the CollisionSolid that was collided into. This returns a PandaNode pointer instead of something more specific, because it might be either a CollisionNode or a GeomNode.
Also see get_into_node_path().

getIntoNodePath
NodePath CollisionEntry::get_into_node_path(void) const;

Description: Returns the NodePath that represents the specific CollisionNode or GeomNode instance that was collided into. This is the same node returned by get_into_node(), represented as a NodePath; however, it may be more useful because the NodePath can resolve the particular instance of the node, if there is more than one.

getRespectPrevTransform
bool CollisionEntry::get_respect_prev_transform(void) const;

Description: Returns true if the collision was detected by a CollisionTraverser whose respect_prev_transform flag was set true, meaning we should consider motion significant in evaluating collisions.

getSurfaceNormal
LVector3f CollisionEntry::get_surface_normal(NodePath const &space) const;

Description: Returns the surface normal of the "into" object at the point at which a collision is detected.
The normal will be converted into whichever coordinate space the caller specifies.

getSurfacePoint
LPoint3f CollisionEntry::get_surface_point(NodePath const &space) const;

Description: Returns the point, on the surface of the "into" object, at which a collision is detected. This can be thought of as the first point of intersection. However the contact point is the actual first point of intersection.
The point will be converted into whichever coordinate space the caller specifies.

getT
float CollisionEntry::get_t(void) const;

Description: returns time value for this collision relative to other CollisionEntries

hasContactNormal
bool CollisionEntry::has_contact_normal(void) const;

Description: Returns true if the contact normal has been specified, false otherwise. See get_contact_normal(). Some types of collisions may not compute the contact normal.

hasContactPos
bool CollisionEntry::has_contact_pos(void) const;

Description: Returns true if the contact position has been specified, false otherwise. See get_contact_pos(). Some types of collisions may not compute the contact pos.

hasInteriorPoint
bool CollisionEntry::has_interior_point(void) const;

Description: Returns true if the interior point has been specified, false otherwise. See get_interior_point(). Some types of collisions may not compute the interior point.

hasInto
bool CollisionEntry::has_into(void) const;

Description: Returns true if the "into" solid is, in fact, a CollisionSolid, and its pointer is known (in which case get_into() may be called to retrieve it). If this returns false, the collision was detected into a GeomNode, and there is no CollisionSolid pointer to be retrieved.

hasSurfaceNormal
bool CollisionEntry::has_surface_normal(void) const;

Description: Returns true if the surface normal has been specified, false otherwise. See get_surface_normal(). Some types of collisions may not compute the surface normal.

hasSurfacePoint
bool CollisionEntry::has_surface_point(void) const;

Description: Returns true if the surface point has been specified, false otherwise. See get_surface_point(). Some types of collisions may not compute the surface point.

output
void CollisionEntry::output(ostream &out) const;

Description:

resetCollided
void CollisionEntry::reset_collided(void);

Description: prepare for another collision test

setContactNormal
void CollisionEntry::set_contact_normal(LVector3f const &normal);

Description: Stores the surface normal of the "into" object at the contact pos.
This normal is specified in the coordinate space of the "into" object.

setContactPos
void CollisionEntry::set_contact_pos(LPoint3f const &pos);

Description: Stores the position of the "from" object at the instant at which the collision is first detected.
This position is specified in the coordinate space of the "into" object.

setInteriorPoint
void CollisionEntry::set_interior_point(LPoint3f const &point);

Description: Stores the point, within the interior of the "into" object, which represents the depth to which the "from" object has penetrated. This can also be described as the intersection point on the surface of the "from" object (which is inside the "into" object).
This point is specified in the coordinate space of the "into" object.

setSurfaceNormal
void CollisionEntry::set_surface_normal(LVector3f const &normal);

Description: Stores the surface normal of the "into" object at the point of the intersection.
This normal is specified in the coordinate space of the "into" object.

setSurfacePoint
void CollisionEntry::set_surface_point(LPoint3f const &point);

Description: Stores the point, on the surface of the "into" object, at which a collision is detected.
This point is specified in the coordinate space of the "into" object.

setT
void CollisionEntry::set_t(float t);

Description: Sets a time value for this collision relative to other CollisionEntries

write
void CollisionEntry::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionFloorMesh

    from pandac.PandaModules import CollisionFloorMesh
    Class : CollisionFloorMesh
    Description : This object represents a solid made entirely of triangles, which will only be tested again z axis aligned rays

Inheritance:

    CollisionFloorMesh: CollisionSolid
    CollisionSolid: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionFloorMesh:

    CollisionFloorMesh (Constructor)
    addTriangle
    addVertex
    getClassType
    getNumTriangles
    getNumVertices
    getTriangle
    getVertex

Methods of CollisionSolid:

    clearEffectiveNormal
    getBounds
    getClassType
    getCollisionOrigin
    getEffectiveNormal
    getRespectEffectiveNormal
    hasEffectiveNormal
    isTangible
    output
    setBounds
    setEffectiveNormal
    setRespectEffectiveNormal
    setTangible
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionFloorMesh
CollisionFloorMesh::CollisionFloorMesh(void);

: collisionPlane.I Created by: drose (25Apr00)
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."
Description: This is only for the convenience of CollisionPolygon. Normally, you should not attempt to create an uninitialized CollisionPlane.
Description:

addTriangle
void CollisionFloorMesh::add_triangle(unsigned int pointA, unsigned int pointB, unsigned int pointC);

Description: store a triangle for processing

addVertex
void CollisionFloorMesh::add_vertex(LPoint3f const &vert);

Description: store away a vertex to index against

getClassType
static TypeHandle CollisionFloorMesh::get_class_type(void);

Undocumented function.

getNumTriangles
unsigned int const CollisionFloorMesh::get_num_triangles(void) const;

Undocumented function.

getNumVertices
unsigned int const CollisionFloorMesh::get_num_vertices(void) const;

Undocumented function.

getTriangle
LPoint3d const CollisionFloorMesh::get_triangle(unsigned int index) const;

Undocumented function.

getVertex
LPoint3f const CollisionFloorMesh::get_vertex(unsigned int index) const;

Undocumented function.

clearEffectiveNormal
void CollisionSolid::clear_effective_normal(void);

Description: Removes the normal previously set by set_effective_normal().

getBounds
ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const;

Description: Returns the solid's bounding volume.

getClassType
static TypeHandle CollisionSolid::get_class_type(void);

Undocumented function.

getCollisionOrigin
virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0;

Undocumented function.

getEffectiveNormal
LVector3f const &CollisionSolid::get_effective_normal(void) const;

Description: Returns the normal that was set by set_effective_normal(). It is an error to call this unless has_effective_normal() returns true.

getRespectEffectiveNormal
bool CollisionSolid::get_respect_effective_normal(void) const;

Description: See set_respect_effective_normal().

hasEffectiveNormal
bool CollisionSolid::has_effective_normal(void) const;

Description: Returns true if a special normal was set by set_effective_normal(), false otherwise.

isTangible
bool CollisionSolid::is_tangible(void) const;

Description: Returns whether the solid is considered 'tangible' or not. An intangible solid has no effect in a CollisionHandlerPusher (except to throw an event); it's useful for defining 'trigger' planes and spheres, that cause an effect when passed through.

output
virtual void CollisionSolid::output(ostream &out) const;

Description:

setBounds
void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume);

Description: Returns the solid's bounding volume.

setEffectiveNormal
void CollisionSolid::set_effective_normal(LVector3f const &effective_normal);

Description: Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal. This is useful as a workaround for the problem of an avatar wanting to stand on a sloping ground; by storing a false normal, the ground appears to be perfectly level, and the avatar does not tend to slide down it.

setRespectEffectiveNormal
void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal);

Description: This is only meaningful for CollisionSolids that will be added to a traverser as colliders. It is normally true, but if set false, it means that this particular solid does not care about the "effective" normal of other solids it meets, but rather always uses the true normal.

setTangible
void CollisionSolid::set_tangible(bool tangible);

Description: Sets the current state of the 'tangible' flag. Set this true to make the solid tangible, so that a CollisionHandlerPusher will not allow another object to intersect it, or false to make it intangible, so that a CollisionHandlerPusher will ignore it except to throw an event.

write
virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionHandler

    from pandac.PandaModules import CollisionHandler
    Class : CollisionHandler
    Description : The abstract interface to a number of classes that decide what to do when a collision is detected. One of these must be assigned to the CollisionTraverser that is processing collisions in order to specify how to dispatch detected collisions.

Inheritance:

    CollisionHandler: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionHandler:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle CollisionHandler::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionHandlerEvent

    from pandac.PandaModules import CollisionHandlerEvent
    Class : CollisionHandlerEvent
    Description : A specialized kind of CollisionHandler that throws an event for each collision detected. The event thrown may be based on the name of the moving object or the struck object, or both. The first parameter of the event will be a pointer to the CollisionEntry that triggered it.

Inheritance:

    CollisionHandlerEvent: CollisionHandler
    CollisionHandler: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionHandlerEvent:

    CollisionHandlerEvent (Constructor)
    addAgainPattern
    addInPattern
    addOutPattern
    clear
    clearAgainPatterns
    clearInPatterns
    clearOutPatterns
    flush
    getAgainPattern
    getClassType
    getInPattern
    getNumAgainPatterns
    getNumInPatterns
    getNumOutPatterns
    getOutPattern
    setAgainPattern
    setInPattern
    setOutPattern

Methods of CollisionHandler:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionHandlerEvent
CollisionHandlerEvent::CollisionHandlerEvent(void);

Description: The default CollisionHandlerEvent will throw no events. Its pattern strings must first be set via a call to add_in_pattern() and/or add_out_pattern().

addAgainPattern
void CollisionHandlerEvent::add_again_pattern(string const &again_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *still* detected. This event is thrown each consecutive time a collision between two particular nodes is detected, starting with the second time.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addInPattern
void CollisionHandlerEvent::add_in_pattern(string const &in_pattern);

Description: Adds a pattern string to the list of events that will be generated in response to a collision. The pattern string describes how the event name will be composed. It is a string that may contain any of the following:
%fn - the name of the "from" object's node %in - the name of the "into" object's node %fs - 't' if "from" is tangible, 'i' if intangible %is - 't' if "into" is tangible, 'i' if intangible %ig - 'c' if the collision is into a CollisionNode, 'g' if it is a geom.
%(tag)fh - generate event only if "from" node has the indicated net tag. %(tag)fx - generate event only if "from" node does not have the indicated net tag. %(tag)ih - generate event only if "into" node has the indicated net tag. %(tag)ix - generate event only if "into" node does not have the indicated net tag. %(tag)ft - the indicated net tag value of the "from" node. %(tag)it - the indicated net tag value of the "into" node.
Parentheses in the above are literal and should be included in the actual pattern.
The event name will be based on the in_pattern string specified here, with all occurrences of the above strings replaced with the corresponding values.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addOutPattern
void CollisionHandlerEvent::add_out_pattern(string const &out_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *no longer* detected.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

clear
void CollisionHandlerEvent::clear(void);

Description: Empties the list of elements that all colliders are known to be colliding with. No "out" events will be thrown; if the same collision is detected next frame, a new "in" event will be thrown for each collision.
This can be called each frame to defeat the persistent "in" event mechanism, which prevents the same "in" event from being thrown repeatedly. However, also see add_again_pattern(), which can be used to set the event that is thrown when a collision is detected for two or more consecutive frames.

clearAgainPatterns
void CollisionHandlerEvent::clear_again_patterns(void);

Description: Removes all of the previously-added in patterns. See add_again_pattern.

clearInPatterns
void CollisionHandlerEvent::clear_in_patterns(void);

Description: Removes all of the previously-added in patterns. See add_in_pattern.

clearOutPatterns
void CollisionHandlerEvent::clear_out_patterns(void);

Description: Removes all of the previously-added in patterns. See add_out_pattern.

flush
void CollisionHandlerEvent::flush(void);

Description: Same as clear() except "out" events are thrown.

getAgainPattern
string CollisionHandlerEvent::get_again_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_again_pattern().

getClassType
static TypeHandle CollisionHandlerEvent::get_class_type(void);

Undocumented function.

getInPattern
string CollisionHandlerEvent::get_in_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_in_pattern().

getNumAgainPatterns
int CollisionHandlerEvent::get_num_again_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumInPatterns
int CollisionHandlerEvent::get_num_in_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumOutPatterns
int CollisionHandlerEvent::get_num_out_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getOutPattern
string CollisionHandlerEvent::get_out_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_out_pattern().

setAgainPattern
void CollisionHandlerEvent::set_again_pattern(string const &again_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setInPattern
void CollisionHandlerEvent::set_in_pattern(string const &in_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setOutPattern
void CollisionHandlerEvent::set_out_pattern(string const &out_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

getClassType
static TypeHandle CollisionHandler::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionHandlerFloor

    from pandac.PandaModules import CollisionHandlerFloor
    Class : CollisionHandlerFloor
    Description : A specialized kind of CollisionHandler that sets the Z height of the collider to a fixed linear offset from the highest detected collision point each frame. It's intended to implement walking around on a floor of varying height by casting a ray down from the avatar's head.

Inheritance:

    CollisionHandlerFloor: CollisionHandlerPhysical
    CollisionHandlerPhysical: CollisionHandlerEvent
    CollisionHandlerEvent: CollisionHandler
    CollisionHandler: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionHandlerFloor:

    CollisionHandlerFloor (Constructor)
    getClassType
    getMaxVelocity
    getOffset
    getReach
    setMaxVelocity
    setOffset
    setReach

Methods of CollisionHandlerPhysical:

    addCollider
    clearCenter
    clearColliders
    getCenter
    getClassType
    hasCenter
    hasCollider
    hasContact
    removeCollider
    setCenter

Methods of CollisionHandlerEvent:

    CollisionHandlerEvent (Constructor)
    addAgainPattern
    addInPattern
    addOutPattern
    clear
    clearAgainPatterns
    clearInPatterns
    clearOutPatterns
    flush
    getAgainPattern
    getClassType
    getInPattern
    getNumAgainPatterns
    getNumInPatterns
    getNumOutPatterns
    getOutPattern
    setAgainPattern
    setInPattern
    setOutPattern

Methods of CollisionHandler:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionHandlerFloor
CollisionHandlerFloor::CollisionHandlerFloor(void);

Description:

getClassType
static TypeHandle CollisionHandlerFloor::get_class_type(void);

Undocumented function.

getMaxVelocity
float CollisionHandlerFloor::get_max_velocity(void) const;

Description: Retrieves the maximum speed at which the object will be allowed to descend towards a floor below it, in units per second. See set_max_velocity().

getOffset
float CollisionHandlerFloor::get_offset(void) const;

Description: Returns the linear offset to add to (or subtract from) the highest detected collision point to determine the actual height at which to set the collider.

getReach
float CollisionHandlerFloor::get_reach(void) const;

Description: Returns the reach to add to (or subtract from) the highest collision point

setMaxVelocity
void CollisionHandlerFloor::set_max_velocity(float max_vel);

Description: Sets the maximum speed at which the object will be allowed to descend towards a floor below it, in units per second. Set this to zero to allow it to instantly teleport any distance.

setOffset
void CollisionHandlerFloor::set_offset(float offset);

Description: Sets the linear offset to add to (or subtract from) the highest detected collision point to determine the actual height at which to set the collider.

setReach
void CollisionHandlerFloor::set_reach(float reach);

Description: Sets the reach to add to (or subtract from) the highest collision point

addCollider
void CollisionHandlerPhysical::add_collider(NodePath const &collider, NodePath const &target);

Description: Adds a new collider to the list with a NodePath that will be updated with the collider's new position, or updates the existing collider with a new NodePath object.
The indicated DriveInterface will also be updated with the target's new transform each frame. This method should be used when the target is directly controlled by a DriveInterface.

clearCenter
void CollisionHandlerPhysical::clear_center(void);

Description: Clears the center NodePath specified with set_center.

clearColliders
void CollisionHandlerPhysical::clear_colliders(void);

Description: Completely empties the list of colliders this handler knows about.

getCenter
NodePath const &CollisionHandlerPhysical::get_center(void) const;

Description: Returns the NodePath specified with set_center, or the empty NodePath if nothing has been specified.

getClassType
static TypeHandle CollisionHandlerPhysical::get_class_type(void);

Undocumented function.

hasCenter
bool CollisionHandlerPhysical::has_center(void) const;

Description: Returns true if a NodePath has been specified with set_center(), false otherwise.

hasCollider
bool CollisionHandlerPhysical::has_collider(NodePath const &collider) const;

Description: Returns true if the handler knows about the indicated collider, false otherwise.

hasContact
bool CollisionHandlerPhysical::has_contact(void) const;

Description: Did the handler make any contacts with anything on the last collision pass? Depending on how your world is setup, this can be used to tell if the handler is out of the world (i.e. out of bounds). That is the original use of this call.

removeCollider
bool CollisionHandlerPhysical::remove_collider(NodePath const &collider);

Description: Removes the collider from the list of colliders that this handler knows about.

setCenter
void CollisionHandlerPhysical::set_center(NodePath const &center);

Description: Specifies an arbitrary NodePath that the handler is always considered to be facing. It does not detect collisions with surfaces that appear to be facing away from this NodePath. This works best when the collision surfaces in question are polygons.

CollisionHandlerEvent
CollisionHandlerEvent::CollisionHandlerEvent(void);

Description: The default CollisionHandlerEvent will throw no events. Its pattern strings must first be set via a call to add_in_pattern() and/or add_out_pattern().

addAgainPattern
void CollisionHandlerEvent::add_again_pattern(string const &again_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *still* detected. This event is thrown each consecutive time a collision between two particular nodes is detected, starting with the second time.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addInPattern
void CollisionHandlerEvent::add_in_pattern(string const &in_pattern);

Description: Adds a pattern string to the list of events that will be generated in response to a collision. The pattern string describes how the event name will be composed. It is a string that may contain any of the following:
%fn - the name of the "from" object's node %in - the name of the "into" object's node %fs - 't' if "from" is tangible, 'i' if intangible %is - 't' if "into" is tangible, 'i' if intangible %ig - 'c' if the collision is into a CollisionNode, 'g' if it is a geom.
%(tag)fh - generate event only if "from" node has the indicated net tag. %(tag)fx - generate event only if "from" node does not have the indicated net tag. %(tag)ih - generate event only if "into" node has the indicated net tag. %(tag)ix - generate event only if "into" node does not have the indicated net tag. %(tag)ft - the indicated net tag value of the "from" node. %(tag)it - the indicated net tag value of the "into" node.
Parentheses in the above are literal and should be included in the actual pattern.
The event name will be based on the in_pattern string specified here, with all occurrences of the above strings replaced with the corresponding values.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addOutPattern
void CollisionHandlerEvent::add_out_pattern(string const &out_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *no longer* detected.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

clear
void CollisionHandlerEvent::clear(void);

Description: Empties the list of elements that all colliders are known to be colliding with. No "out" events will be thrown; if the same collision is detected next frame, a new "in" event will be thrown for each collision.
This can be called each frame to defeat the persistent "in" event mechanism, which prevents the same "in" event from being thrown repeatedly. However, also see add_again_pattern(), which can be used to set the event that is thrown when a collision is detected for two or more consecutive frames.

clearAgainPatterns
void CollisionHandlerEvent::clear_again_patterns(void);

Description: Removes all of the previously-added in patterns. See add_again_pattern.

clearInPatterns
void CollisionHandlerEvent::clear_in_patterns(void);

Description: Removes all of the previously-added in patterns. See add_in_pattern.

clearOutPatterns
void CollisionHandlerEvent::clear_out_patterns(void);

Description: Removes all of the previously-added in patterns. See add_out_pattern.

flush
void CollisionHandlerEvent::flush(void);

Description: Same as clear() except "out" events are thrown.

getAgainPattern
string CollisionHandlerEvent::get_again_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_again_pattern().

getClassType
static TypeHandle CollisionHandlerEvent::get_class_type(void);

Undocumented function.

getInPattern
string CollisionHandlerEvent::get_in_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_in_pattern().

getNumAgainPatterns
int CollisionHandlerEvent::get_num_again_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumInPatterns
int CollisionHandlerEvent::get_num_in_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumOutPatterns
int CollisionHandlerEvent::get_num_out_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getOutPattern
string CollisionHandlerEvent::get_out_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_out_pattern().

setAgainPattern
void CollisionHandlerEvent::set_again_pattern(string const &again_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setInPattern
void CollisionHandlerEvent::set_in_pattern(string const &in_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setOutPattern
void CollisionHandlerEvent::set_out_pattern(string const &out_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

getClassType
static TypeHandle CollisionHandler::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionHandlerFluidPusher

    from pandac.PandaModules import CollisionHandlerFluidPusher
    Class : CollisionHandlerFluidPusher
    Description : A CollisionHandlerPusher that makes use of timing and spatial information from fluid collisions to improve collision response

Inheritance:

    CollisionHandlerFluidPusher: CollisionHandlerPusher
    CollisionHandlerPusher: CollisionHandlerPhysical
    CollisionHandlerPhysical: CollisionHandlerEvent
    CollisionHandlerEvent: CollisionHandler
    CollisionHandler: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionHandlerFluidPusher:

    CollisionHandlerFluidPusher (Constructor)
    getClassType

Methods of CollisionHandlerPusher:

    CollisionHandlerPusher (Constructor)
    getClassType
    getHorizontal
    setHorizontal

Methods of CollisionHandlerPhysical:

    addCollider
    clearCenter
    clearColliders
    getCenter
    getClassType
    hasCenter
    hasCollider
    hasContact
    removeCollider
    setCenter

Methods of CollisionHandlerEvent:

    CollisionHandlerEvent (Constructor)
    addAgainPattern
    addInPattern
    addOutPattern
    clear
    clearAgainPatterns
    clearInPatterns
    clearOutPatterns
    flush
    getAgainPattern
    getClassType
    getInPattern
    getNumAgainPatterns
    getNumInPatterns
    getNumOutPatterns
    getOutPattern
    setAgainPattern
    setInPattern
    setOutPattern

Methods of CollisionHandler:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionHandlerFluidPusher
CollisionHandlerFluidPusher::CollisionHandlerFluidPusher(void);

Description:

getClassType
static TypeHandle CollisionHandlerFluidPusher::get_class_type(void);

Undocumented function.

CollisionHandlerPusher
CollisionHandlerPusher::CollisionHandlerPusher(void);

Description:

getClassType
static TypeHandle CollisionHandlerPusher::get_class_type(void);

Undocumented function.

getHorizontal
bool CollisionHandlerPusher::get_horizontal(void) const;

Description:

setHorizontal
void CollisionHandlerPusher::set_horizontal(bool flag);

Description:

addCollider
void CollisionHandlerPhysical::add_collider(NodePath const &collider, NodePath const &target);

Description: Adds a new collider to the list with a NodePath that will be updated with the collider's new position, or updates the existing collider with a new NodePath object.
The indicated DriveInterface will also be updated with the target's new transform each frame. This method should be used when the target is directly controlled by a DriveInterface.

clearCenter
void CollisionHandlerPhysical::clear_center(void);

Description: Clears the center NodePath specified with set_center.

clearColliders
void CollisionHandlerPhysical::clear_colliders(void);

Description: Completely empties the list of colliders this handler knows about.

getCenter
NodePath const &CollisionHandlerPhysical::get_center(void) const;

Description: Returns the NodePath specified with set_center, or the empty NodePath if nothing has been specified.

getClassType
static TypeHandle CollisionHandlerPhysical::get_class_type(void);

Undocumented function.

hasCenter
bool CollisionHandlerPhysical::has_center(void) const;

Description: Returns true if a NodePath has been specified with set_center(), false otherwise.

hasCollider
bool CollisionHandlerPhysical::has_collider(NodePath const &collider) const;

Description: Returns true if the handler knows about the indicated collider, false otherwise.

hasContact
bool CollisionHandlerPhysical::has_contact(void) const;

Description: Did the handler make any contacts with anything on the last collision pass? Depending on how your world is setup, this can be used to tell if the handler is out of the world (i.e. out of bounds). That is the original use of this call.

removeCollider
bool CollisionHandlerPhysical::remove_collider(NodePath const &collider);

Description: Removes the collider from the list of colliders that this handler knows about.

setCenter
void CollisionHandlerPhysical::set_center(NodePath const &center);

Description: Specifies an arbitrary NodePath that the handler is always considered to be facing. It does not detect collisions with surfaces that appear to be facing away from this NodePath. This works best when the collision surfaces in question are polygons.

CollisionHandlerEvent
CollisionHandlerEvent::CollisionHandlerEvent(void);

Description: The default CollisionHandlerEvent will throw no events. Its pattern strings must first be set via a call to add_in_pattern() and/or add_out_pattern().

addAgainPattern
void CollisionHandlerEvent::add_again_pattern(string const &again_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *still* detected. This event is thrown each consecutive time a collision between two particular nodes is detected, starting with the second time.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addInPattern
void CollisionHandlerEvent::add_in_pattern(string const &in_pattern);

Description: Adds a pattern string to the list of events that will be generated in response to a collision. The pattern string describes how the event name will be composed. It is a string that may contain any of the following:
%fn - the name of the "from" object's node %in - the name of the "into" object's node %fs - 't' if "from" is tangible, 'i' if intangible %is - 't' if "into" is tangible, 'i' if intangible %ig - 'c' if the collision is into a CollisionNode, 'g' if it is a geom.
%(tag)fh - generate event only if "from" node has the indicated net tag. %(tag)fx - generate event only if "from" node does not have the indicated net tag. %(tag)ih - generate event only if "into" node has the indicated net tag. %(tag)ix - generate event only if "into" node does not have the indicated net tag. %(tag)ft - the indicated net tag value of the "from" node. %(tag)it - the indicated net tag value of the "into" node.
Parentheses in the above are literal and should be included in the actual pattern.
The event name will be based on the in_pattern string specified here, with all occurrences of the above strings replaced with the corresponding values.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addOutPattern
void CollisionHandlerEvent::add_out_pattern(string const &out_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *no longer* detected.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

clear
void CollisionHandlerEvent::clear(void);

Description: Empties the list of elements that all colliders are known to be colliding with. No "out" events will be thrown; if the same collision is detected next frame, a new "in" event will be thrown for each collision.
This can be called each frame to defeat the persistent "in" event mechanism, which prevents the same "in" event from being thrown repeatedly. However, also see add_again_pattern(), which can be used to set the event that is thrown when a collision is detected for two or more consecutive frames.

clearAgainPatterns
void CollisionHandlerEvent::clear_again_patterns(void);

Description: Removes all of the previously-added in patterns. See add_again_pattern.

clearInPatterns
void CollisionHandlerEvent::clear_in_patterns(void);

Description: Removes all of the previously-added in patterns. See add_in_pattern.

clearOutPatterns
void CollisionHandlerEvent::clear_out_patterns(void);

Description: Removes all of the previously-added in patterns. See add_out_pattern.

flush
void CollisionHandlerEvent::flush(void);

Description: Same as clear() except "out" events are thrown.

getAgainPattern
string CollisionHandlerEvent::get_again_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_again_pattern().

getClassType
static TypeHandle CollisionHandlerEvent::get_class_type(void);

Undocumented function.

getInPattern
string CollisionHandlerEvent::get_in_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_in_pattern().

getNumAgainPatterns
int CollisionHandlerEvent::get_num_again_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumInPatterns
int CollisionHandlerEvent::get_num_in_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumOutPatterns
int CollisionHandlerEvent::get_num_out_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getOutPattern
string CollisionHandlerEvent::get_out_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_out_pattern().

setAgainPattern
void CollisionHandlerEvent::set_again_pattern(string const &again_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setInPattern
void CollisionHandlerEvent::set_in_pattern(string const &in_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setOutPattern
void CollisionHandlerEvent::set_out_pattern(string const &out_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

getClassType
static TypeHandle CollisionHandler::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionHandlerGravity

    from pandac.PandaModules import CollisionHandlerGravity
    Class : CollisionHandlerGravity
    Description : A specialized kind of CollisionHandler that sets the Z height of the collider to a fixed linear offset from the highest detected collision point each frame. It's intended to implement walking around on a floor of varying height by casting a ray down from the avatar's head.

Inheritance:

    CollisionHandlerGravity: CollisionHandlerPhysical
    CollisionHandlerPhysical: CollisionHandlerEvent
    CollisionHandlerEvent: CollisionHandler
    CollisionHandler: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionHandlerGravity:

    CollisionHandlerGravity (Constructor)
    addVelocity
    getAirborneHeight
    getClassType
    getContactNormal
    getGravity
    getImpactVelocity
    getMaxVelocity
    getOffset
    getReach
    getVelocity
    isOnGround
    setGravity
    setMaxVelocity
    setOffset
    setReach
    setVelocity

Methods of CollisionHandlerPhysical:

    addCollider
    clearCenter
    clearColliders
    getCenter
    getClassType
    hasCenter
    hasCollider
    hasContact
    removeCollider
    setCenter

Methods of CollisionHandlerEvent:

    CollisionHandlerEvent (Constructor)
    addAgainPattern
    addInPattern
    addOutPattern
    clear
    clearAgainPatterns
    clearInPatterns
    clearOutPatterns
    flush
    getAgainPattern
    getClassType
    getInPattern
    getNumAgainPatterns
    getNumInPatterns
    getNumOutPatterns
    getOutPattern
    setAgainPattern
    setInPattern
    setOutPattern

Methods of CollisionHandler:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionHandlerGravity
CollisionHandlerGravity::CollisionHandlerGravity(void);

Description:

addVelocity
void CollisionHandlerGravity::add_velocity(float velocity);

Description: Adds the sepcified amount to the current velocity. This is mostly here allow this common operation to be faster for scripting, but it's also more concise even in cpp.

getAirborneHeight
float CollisionHandlerGravity::get_airborne_height(void) const;

Description: Return the height of the object from the ground.
The object might not necessarily be at rest. Use is_on_ground() if you want to know whether the object is on the ground and at rest.
See Also: is_in_outer_space()

getClassType
static TypeHandle CollisionHandlerGravity::get_class_type(void);

Undocumented function.

getContactNormal
LVector3f const &CollisionHandlerGravity::get_contact_normal(void) const;

Description :

getGravity
float CollisionHandlerGravity::get_gravity(void) const;

Description: Gets the linear gravity force (always plumb).

getImpactVelocity
float CollisionHandlerGravity::get_impact_velocity(void) const;

Description: How hard did the object hit the ground. This value is set on impact with the ground. You may want to watch (poll) on is_on_groun() and when that is true, call get_impact_velocity(). Normally I avoid polling, but we are calling is_on_ground() frequently anyway.

getMaxVelocity
float CollisionHandlerGravity::get_max_velocity(void) const;

Description: Retrieves the maximum speed at which the object will be allowed to descend towards a floor below it, in units per second. See set_max_velocity().

getOffset
float CollisionHandlerGravity::get_offset(void) const;

Description: Returns the linear offset to add to (or subtract from) the highest detected collision point to determine the actual height at which to set the collider.

getReach
float CollisionHandlerGravity::get_reach(void) const;

Description: Returns the reach to add to (or subtract from) the highest collision point

getVelocity
float CollisionHandlerGravity::get_velocity(void) const;

Description: Gets the current vertical velocity.
Generally, negative values mean the object is in free fall; while postive values mean the object has vertical thrust.
A zero value does not necessarily mean the object on the ground, it may also be weightless and/or at the apex of its jump.
See Also: is_on_ground() and get_gravity()

isOnGround
bool CollisionHandlerGravity::is_on_ground(void) const;

Description: Is the object at rest?

setGravity
void CollisionHandlerGravity::set_gravity(float gravity);

Description: Sets the linear gravity force (always plumb).

setMaxVelocity
void CollisionHandlerGravity::set_max_velocity(float max_vel);

Description: Sets the maximum speed at which the object will be allowed to descend towards a floor below it, in units per second. Set this to zero to allow it to instantly teleport any distance.

setOffset
void CollisionHandlerGravity::set_offset(float offset);

Description: Sets the linear offset to add to (or subtract from) the highest detected collision point to determine the actual height at which to set the collider.

setReach
void CollisionHandlerGravity::set_reach(float reach);

Description: Sets the reach to add to (or subtract from) the highest collision point

setVelocity
void CollisionHandlerGravity::set_velocity(float velocity);

Description: Sets the current vertical velocity.

addCollider
void CollisionHandlerPhysical::add_collider(NodePath const &collider, NodePath const &target);

Description: Adds a new collider to the list with a NodePath that will be updated with the collider's new position, or updates the existing collider with a new NodePath object.
The indicated DriveInterface will also be updated with the target's new transform each frame. This method should be used when the target is directly controlled by a DriveInterface.

clearCenter
void CollisionHandlerPhysical::clear_center(void);

Description: Clears the center NodePath specified with set_center.

clearColliders
void CollisionHandlerPhysical::clear_colliders(void);

Description: Completely empties the list of colliders this handler knows about.

getCenter
NodePath const &CollisionHandlerPhysical::get_center(void) const;

Description: Returns the NodePath specified with set_center, or the empty NodePath if nothing has been specified.

getClassType
static TypeHandle CollisionHandlerPhysical::get_class_type(void);

Undocumented function.

hasCenter
bool CollisionHandlerPhysical::has_center(void) const;

Description: Returns true if a NodePath has been specified with set_center(), false otherwise.

hasCollider
bool CollisionHandlerPhysical::has_collider(NodePath const &collider) const;

Description: Returns true if the handler knows about the indicated collider, false otherwise.

hasContact
bool CollisionHandlerPhysical::has_contact(void) const;

Description: Did the handler make any contacts with anything on the last collision pass? Depending on how your world is setup, this can be used to tell if the handler is out of the world (i.e. out of bounds). That is the original use of this call.

removeCollider
bool CollisionHandlerPhysical::remove_collider(NodePath const &collider);

Description: Removes the collider from the list of colliders that this handler knows about.

setCenter
void CollisionHandlerPhysical::set_center(NodePath const &center);

Description: Specifies an arbitrary NodePath that the handler is always considered to be facing. It does not detect collisions with surfaces that appear to be facing away from this NodePath. This works best when the collision surfaces in question are polygons.

CollisionHandlerEvent
CollisionHandlerEvent::CollisionHandlerEvent(void);

Description: The default CollisionHandlerEvent will throw no events. Its pattern strings must first be set via a call to add_in_pattern() and/or add_out_pattern().

addAgainPattern
void CollisionHandlerEvent::add_again_pattern(string const &again_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *still* detected. This event is thrown each consecutive time a collision between two particular nodes is detected, starting with the second time.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addInPattern
void CollisionHandlerEvent::add_in_pattern(string const &in_pattern);

Description: Adds a pattern string to the list of events that will be generated in response to a collision. The pattern string describes how the event name will be composed. It is a string that may contain any of the following:
%fn - the name of the "from" object's node %in - the name of the "into" object's node %fs - 't' if "from" is tangible, 'i' if intangible %is - 't' if "into" is tangible, 'i' if intangible %ig - 'c' if the collision is into a CollisionNode, 'g' if it is a geom.
%(tag)fh - generate event only if "from" node has the indicated net tag. %(tag)fx - generate event only if "from" node does not have the indicated net tag. %(tag)ih - generate event only if "into" node has the indicated net tag. %(tag)ix - generate event only if "into" node does not have the indicated net tag. %(tag)ft - the indicated net tag value of the "from" node. %(tag)it - the indicated net tag value of the "into" node.
Parentheses in the above are literal and should be included in the actual pattern.
The event name will be based on the in_pattern string specified here, with all occurrences of the above strings replaced with the corresponding values.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addOutPattern
void CollisionHandlerEvent::add_out_pattern(string const &out_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *no longer* detected.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

clear
void CollisionHandlerEvent::clear(void);

Description: Empties the list of elements that all colliders are known to be colliding with. No "out" events will be thrown; if the same collision is detected next frame, a new "in" event will be thrown for each collision.
This can be called each frame to defeat the persistent "in" event mechanism, which prevents the same "in" event from being thrown repeatedly. However, also see add_again_pattern(), which can be used to set the event that is thrown when a collision is detected for two or more consecutive frames.

clearAgainPatterns
void CollisionHandlerEvent::clear_again_patterns(void);

Description: Removes all of the previously-added in patterns. See add_again_pattern.

clearInPatterns
void CollisionHandlerEvent::clear_in_patterns(void);

Description: Removes all of the previously-added in patterns. See add_in_pattern.

clearOutPatterns
void CollisionHandlerEvent::clear_out_patterns(void);

Description: Removes all of the previously-added in patterns. See add_out_pattern.

flush
void CollisionHandlerEvent::flush(void);

Description: Same as clear() except "out" events are thrown.

getAgainPattern
string CollisionHandlerEvent::get_again_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_again_pattern().

getClassType
static TypeHandle CollisionHandlerEvent::get_class_type(void);

Undocumented function.

getInPattern
string CollisionHandlerEvent::get_in_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_in_pattern().

getNumAgainPatterns
int CollisionHandlerEvent::get_num_again_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumInPatterns
int CollisionHandlerEvent::get_num_in_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumOutPatterns
int CollisionHandlerEvent::get_num_out_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getOutPattern
string CollisionHandlerEvent::get_out_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_out_pattern().

setAgainPattern
void CollisionHandlerEvent::set_again_pattern(string const &again_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setInPattern
void CollisionHandlerEvent::set_in_pattern(string const &in_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setOutPattern
void CollisionHandlerEvent::set_out_pattern(string const &out_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

getClassType
static TypeHandle CollisionHandler::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionHandlerPhysical

    from pandac.PandaModules import CollisionHandlerPhysical
    Class : CollisionHandlerPhysical
    Description : The abstract base class for a number of CollisionHandlers that have some physical effect on their moving bodies: they need to update the nodes' positions based on the effects of the collision.

Inheritance:

    CollisionHandlerPhysical: CollisionHandlerEvent
    CollisionHandlerEvent: CollisionHandler
    CollisionHandler: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionHandlerPhysical:

    addCollider
    clearCenter
    clearColliders
    getCenter
    getClassType
    hasCenter
    hasCollider
    hasContact
    removeCollider
    setCenter

Methods of CollisionHandlerEvent:

    CollisionHandlerEvent (Constructor)
    addAgainPattern
    addInPattern
    addOutPattern
    clear
    clearAgainPatterns
    clearInPatterns
    clearOutPatterns
    flush
    getAgainPattern
    getClassType
    getInPattern
    getNumAgainPatterns
    getNumInPatterns
    getNumOutPatterns
    getOutPattern
    setAgainPattern
    setInPattern
    setOutPattern

Methods of CollisionHandler:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
addCollider
void CollisionHandlerPhysical::add_collider(NodePath const &collider, NodePath const &target);

Description: Adds a new collider to the list with a NodePath that will be updated with the collider's new position, or updates the existing collider with a new NodePath object.
The indicated DriveInterface will also be updated with the target's new transform each frame. This method should be used when the target is directly controlled by a DriveInterface.

clearCenter
void CollisionHandlerPhysical::clear_center(void);

Description: Clears the center NodePath specified with set_center.

clearColliders
void CollisionHandlerPhysical::clear_colliders(void);

Description: Completely empties the list of colliders this handler knows about.

getCenter
NodePath const &CollisionHandlerPhysical::get_center(void) const;

Description: Returns the NodePath specified with set_center, or the empty NodePath if nothing has been specified.

getClassType
static TypeHandle CollisionHandlerPhysical::get_class_type(void);

Undocumented function.

hasCenter
bool CollisionHandlerPhysical::has_center(void) const;

Description: Returns true if a NodePath has been specified with set_center(), false otherwise.

hasCollider
bool CollisionHandlerPhysical::has_collider(NodePath const &collider) const;

Description: Returns true if the handler knows about the indicated collider, false otherwise.

hasContact
bool CollisionHandlerPhysical::has_contact(void) const;

Description: Did the handler make any contacts with anything on the last collision pass? Depending on how your world is setup, this can be used to tell if the handler is out of the world (i.e. out of bounds). That is the original use of this call.

removeCollider
bool CollisionHandlerPhysical::remove_collider(NodePath const &collider);

Description: Removes the collider from the list of colliders that this handler knows about.

setCenter
void CollisionHandlerPhysical::set_center(NodePath const &center);

Description: Specifies an arbitrary NodePath that the handler is always considered to be facing. It does not detect collisions with surfaces that appear to be facing away from this NodePath. This works best when the collision surfaces in question are polygons.

CollisionHandlerEvent
CollisionHandlerEvent::CollisionHandlerEvent(void);

Description: The default CollisionHandlerEvent will throw no events. Its pattern strings must first be set via a call to add_in_pattern() and/or add_out_pattern().

addAgainPattern
void CollisionHandlerEvent::add_again_pattern(string const &again_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *still* detected. This event is thrown each consecutive time a collision between two particular nodes is detected, starting with the second time.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addInPattern
void CollisionHandlerEvent::add_in_pattern(string const &in_pattern);

Description: Adds a pattern string to the list of events that will be generated in response to a collision. The pattern string describes how the event name will be composed. It is a string that may contain any of the following:
%fn - the name of the "from" object's node %in - the name of the "into" object's node %fs - 't' if "from" is tangible, 'i' if intangible %is - 't' if "into" is tangible, 'i' if intangible %ig - 'c' if the collision is into a CollisionNode, 'g' if it is a geom.
%(tag)fh - generate event only if "from" node has the indicated net tag. %(tag)fx - generate event only if "from" node does not have the indicated net tag. %(tag)ih - generate event only if "into" node has the indicated net tag. %(tag)ix - generate event only if "into" node does not have the indicated net tag. %(tag)ft - the indicated net tag value of the "from" node. %(tag)it - the indicated net tag value of the "into" node.
Parentheses in the above are literal and should be included in the actual pattern.
The event name will be based on the in_pattern string specified here, with all occurrences of the above strings replaced with the corresponding values.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addOutPattern
void CollisionHandlerEvent::add_out_pattern(string const &out_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *no longer* detected.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

clear
void CollisionHandlerEvent::clear(void);

Description: Empties the list of elements that all colliders are known to be colliding with. No "out" events will be thrown; if the same collision is detected next frame, a new "in" event will be thrown for each collision.
This can be called each frame to defeat the persistent "in" event mechanism, which prevents the same "in" event from being thrown repeatedly. However, also see add_again_pattern(), which can be used to set the event that is thrown when a collision is detected for two or more consecutive frames.

clearAgainPatterns
void CollisionHandlerEvent::clear_again_patterns(void);

Description: Removes all of the previously-added in patterns. See add_again_pattern.

clearInPatterns
void CollisionHandlerEvent::clear_in_patterns(void);

Description: Removes all of the previously-added in patterns. See add_in_pattern.

clearOutPatterns
void CollisionHandlerEvent::clear_out_patterns(void);

Description: Removes all of the previously-added in patterns. See add_out_pattern.

flush
void CollisionHandlerEvent::flush(void);

Description: Same as clear() except "out" events are thrown.

getAgainPattern
string CollisionHandlerEvent::get_again_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_again_pattern().

getClassType
static TypeHandle CollisionHandlerEvent::get_class_type(void);

Undocumented function.

getInPattern
string CollisionHandlerEvent::get_in_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_in_pattern().

getNumAgainPatterns
int CollisionHandlerEvent::get_num_again_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumInPatterns
int CollisionHandlerEvent::get_num_in_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumOutPatterns
int CollisionHandlerEvent::get_num_out_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getOutPattern
string CollisionHandlerEvent::get_out_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_out_pattern().

setAgainPattern
void CollisionHandlerEvent::set_again_pattern(string const &again_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setInPattern
void CollisionHandlerEvent::set_in_pattern(string const &in_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setOutPattern
void CollisionHandlerEvent::set_out_pattern(string const &out_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

getClassType
static TypeHandle CollisionHandler::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionHandlerPusher

    from pandac.PandaModules import CollisionHandlerPusher
    Class : CollisionHandlerPusher
    Description : A specialized kind of CollisionHandler that simply pushes back on things that attempt to move into solid walls. This is the simplest kind of "real-world" collisions you can have.

Inheritance:

    CollisionHandlerPusher: CollisionHandlerPhysical
    CollisionHandlerPhysical: CollisionHandlerEvent
    CollisionHandlerEvent: CollisionHandler
    CollisionHandler: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionHandlerPusher:

    CollisionHandlerPusher (Constructor)
    getClassType
    getHorizontal
    setHorizontal

Methods of CollisionHandlerPhysical:

    addCollider
    clearCenter
    clearColliders
    getCenter
    getClassType
    hasCenter
    hasCollider
    hasContact
    removeCollider
    setCenter

Methods of CollisionHandlerEvent:

    CollisionHandlerEvent (Constructor)
    addAgainPattern
    addInPattern
    addOutPattern
    clear
    clearAgainPatterns
    clearInPatterns
    clearOutPatterns
    flush
    getAgainPattern
    getClassType
    getInPattern
    getNumAgainPatterns
    getNumInPatterns
    getNumOutPatterns
    getOutPattern
    setAgainPattern
    setInPattern
    setOutPattern

Methods of CollisionHandler:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionHandlerPusher
CollisionHandlerPusher::CollisionHandlerPusher(void);

Description:

getClassType
static TypeHandle CollisionHandlerPusher::get_class_type(void);

Undocumented function.

getHorizontal
bool CollisionHandlerPusher::get_horizontal(void) const;

Description:

setHorizontal
void CollisionHandlerPusher::set_horizontal(bool flag);

Description:

addCollider
void CollisionHandlerPhysical::add_collider(NodePath const &collider, NodePath const &target);

Description: Adds a new collider to the list with a NodePath that will be updated with the collider's new position, or updates the existing collider with a new NodePath object.
The indicated DriveInterface will also be updated with the target's new transform each frame. This method should be used when the target is directly controlled by a DriveInterface.

clearCenter
void CollisionHandlerPhysical::clear_center(void);

Description: Clears the center NodePath specified with set_center.

clearColliders
void CollisionHandlerPhysical::clear_colliders(void);

Description: Completely empties the list of colliders this handler knows about.

getCenter
NodePath const &CollisionHandlerPhysical::get_center(void) const;

Description: Returns the NodePath specified with set_center, or the empty NodePath if nothing has been specified.

getClassType
static TypeHandle CollisionHandlerPhysical::get_class_type(void);

Undocumented function.

hasCenter
bool CollisionHandlerPhysical::has_center(void) const;

Description: Returns true if a NodePath has been specified with set_center(), false otherwise.

hasCollider
bool CollisionHandlerPhysical::has_collider(NodePath const &collider) const;

Description: Returns true if the handler knows about the indicated collider, false otherwise.

hasContact
bool CollisionHandlerPhysical::has_contact(void) const;

Description: Did the handler make any contacts with anything on the last collision pass? Depending on how your world is setup, this can be used to tell if the handler is out of the world (i.e. out of bounds). That is the original use of this call.

removeCollider
bool CollisionHandlerPhysical::remove_collider(NodePath const &collider);

Description: Removes the collider from the list of colliders that this handler knows about.

setCenter
void CollisionHandlerPhysical::set_center(NodePath const &center);

Description: Specifies an arbitrary NodePath that the handler is always considered to be facing. It does not detect collisions with surfaces that appear to be facing away from this NodePath. This works best when the collision surfaces in question are polygons.

CollisionHandlerEvent
CollisionHandlerEvent::CollisionHandlerEvent(void);

Description: The default CollisionHandlerEvent will throw no events. Its pattern strings must first be set via a call to add_in_pattern() and/or add_out_pattern().

addAgainPattern
void CollisionHandlerEvent::add_again_pattern(string const &again_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *still* detected. This event is thrown each consecutive time a collision between two particular nodes is detected, starting with the second time.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addInPattern
void CollisionHandlerEvent::add_in_pattern(string const &in_pattern);

Description: Adds a pattern string to the list of events that will be generated in response to a collision. The pattern string describes how the event name will be composed. It is a string that may contain any of the following:
%fn - the name of the "from" object's node %in - the name of the "into" object's node %fs - 't' if "from" is tangible, 'i' if intangible %is - 't' if "into" is tangible, 'i' if intangible %ig - 'c' if the collision is into a CollisionNode, 'g' if it is a geom.
%(tag)fh - generate event only if "from" node has the indicated net tag. %(tag)fx - generate event only if "from" node does not have the indicated net tag. %(tag)ih - generate event only if "into" node has the indicated net tag. %(tag)ix - generate event only if "into" node does not have the indicated net tag. %(tag)ft - the indicated net tag value of the "from" node. %(tag)it - the indicated net tag value of the "into" node.
Parentheses in the above are literal and should be included in the actual pattern.
The event name will be based on the in_pattern string specified here, with all occurrences of the above strings replaced with the corresponding values.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addOutPattern
void CollisionHandlerEvent::add_out_pattern(string const &out_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *no longer* detected.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

clear
void CollisionHandlerEvent::clear(void);

Description: Empties the list of elements that all colliders are known to be colliding with. No "out" events will be thrown; if the same collision is detected next frame, a new "in" event will be thrown for each collision.
This can be called each frame to defeat the persistent "in" event mechanism, which prevents the same "in" event from being thrown repeatedly. However, also see add_again_pattern(), which can be used to set the event that is thrown when a collision is detected for two or more consecutive frames.

clearAgainPatterns
void CollisionHandlerEvent::clear_again_patterns(void);

Description: Removes all of the previously-added in patterns. See add_again_pattern.

clearInPatterns
void CollisionHandlerEvent::clear_in_patterns(void);

Description: Removes all of the previously-added in patterns. See add_in_pattern.

clearOutPatterns
void CollisionHandlerEvent::clear_out_patterns(void);

Description: Removes all of the previously-added in patterns. See add_out_pattern.

flush
void CollisionHandlerEvent::flush(void);

Description: Same as clear() except "out" events are thrown.

getAgainPattern
string CollisionHandlerEvent::get_again_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_again_pattern().

getClassType
static TypeHandle CollisionHandlerEvent::get_class_type(void);

Undocumented function.

getInPattern
string CollisionHandlerEvent::get_in_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_in_pattern().

getNumAgainPatterns
int CollisionHandlerEvent::get_num_again_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumInPatterns
int CollisionHandlerEvent::get_num_in_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumOutPatterns
int CollisionHandlerEvent::get_num_out_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getOutPattern
string CollisionHandlerEvent::get_out_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_out_pattern().

setAgainPattern
void CollisionHandlerEvent::set_again_pattern(string const &again_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setInPattern
void CollisionHandlerEvent::set_in_pattern(string const &in_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setOutPattern
void CollisionHandlerEvent::set_out_pattern(string const &out_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

getClassType
static TypeHandle CollisionHandler::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionHandlerQueue

    from pandac.PandaModules import CollisionHandlerQueue
    Class : CollisionHandlerQueue
    Description : A special kind of CollisionHandler that does nothing except remember the CollisionEntries detected the last pass. This set of CollisionEntries may then be queried by the calling function. It's primarily useful when a simple intersection test is being made, e.g. for picking from the window.

Inheritance:

    CollisionHandlerQueue: CollisionHandler
    CollisionHandler: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionHandlerQueue:

    CollisionHandlerQueue (Constructor)
    clearEntries
    getClassType
    getEntry
    getNumEntries
    output
    sortEntries
    write

Methods of CollisionHandler:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionHandlerQueue
CollisionHandlerQueue::CollisionHandlerQueue(void);

Description:

clearEntries
void CollisionHandlerQueue::clear_entries(void);

Description: Removes all the entries from the queue.

getClassType
static TypeHandle CollisionHandlerQueue::get_class_type(void);

Undocumented function.

getEntry
CollisionEntry *CollisionHandlerQueue::get_entry(int n) const;

Description: Returns the nth CollisionEntry detected last pass.

getNumEntries
int CollisionHandlerQueue::get_num_entries(void) const;

Description: Returns the number of CollisionEntries detected last pass.

output
void CollisionHandlerQueue::output(ostream &out) const;

Description:

sortEntries
void CollisionHandlerQueue::sort_entries(void);

Description: Sorts all the detected collisions front-to-back by from_intersection_point() so that those intersection points closest to the collider's origin (e.g., the center of the CollisionSphere, or the point_a of a CollisionSegment) appear first.

write
void CollisionHandlerQueue::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CollisionHandler::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionInvSphere

    from pandac.PandaModules import CollisionInvSphere
    Class : CollisionInvSphere
    Description : An inverted sphere: this is a sphere whose collision surface is the inside surface of the sphere. Everything outside the sphere is solid matter; everything inside is empty space. Useful for constraining objects to remain within a spherical perimeter.

Inheritance:

    CollisionInvSphere: CollisionSphere
    CollisionSphere: CollisionSolid
    CollisionSolid: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionInvSphere:

    CollisionInvSphere (Constructor)
    getClassType

Methods of CollisionSphere:

    CollisionSphere (Constructor)
    getCenter
    getClassType
    getRadius
    setCenter
    setRadius

Methods of CollisionSolid:

    clearEffectiveNormal
    getBounds
    getClassType
    getCollisionOrigin
    getEffectiveNormal
    getRespectEffectiveNormal
    hasEffectiveNormal
    isTangible
    output
    setBounds
    setEffectiveNormal
    setRespectEffectiveNormal
    setTangible
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionInvSphere
CollisionInvSphere::CollisionInvSphere(LPoint3f const &center, float radius);

Description:
Description: Creates an invalid sphere. Only used when reading from a bam file.

getClassType
static TypeHandle CollisionInvSphere::get_class_type(void);

Undocumented function.

CollisionSphere
CollisionSphere::CollisionSphere(LPoint3f const &center, float radius);

Description:
Description: Creates an invalid sphere. Only used when reading from a bam file.

getCenter
LPoint3f const &CollisionSphere::get_center(void) const;

Description:

getClassType
static TypeHandle CollisionSphere::get_class_type(void);

Undocumented function.

getRadius
float CollisionSphere::get_radius(void) const;

Description:

setCenter
void CollisionSphere::set_center(LPoint3f const &center);

Description:

setRadius
void CollisionSphere::set_radius(float radius);

Description:

clearEffectiveNormal
void CollisionSolid::clear_effective_normal(void);

Description: Removes the normal previously set by set_effective_normal().

getBounds
ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const;

Description: Returns the solid's bounding volume.

getClassType
static TypeHandle CollisionSolid::get_class_type(void);

Undocumented function.

getCollisionOrigin
virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0;

Undocumented function.

getEffectiveNormal
LVector3f const &CollisionSolid::get_effective_normal(void) const;

Description: Returns the normal that was set by set_effective_normal(). It is an error to call this unless has_effective_normal() returns true.

getRespectEffectiveNormal
bool CollisionSolid::get_respect_effective_normal(void) const;

Description: See set_respect_effective_normal().

hasEffectiveNormal
bool CollisionSolid::has_effective_normal(void) const;

Description: Returns true if a special normal was set by set_effective_normal(), false otherwise.

isTangible
bool CollisionSolid::is_tangible(void) const;

Description: Returns whether the solid is considered 'tangible' or not. An intangible solid has no effect in a CollisionHandlerPusher (except to throw an event); it's useful for defining 'trigger' planes and spheres, that cause an effect when passed through.

output
virtual void CollisionSolid::output(ostream &out) const;

Description:

setBounds
void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume);

Description: Returns the solid's bounding volume.

setEffectiveNormal
void CollisionSolid::set_effective_normal(LVector3f const &effective_normal);

Description: Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal. This is useful as a workaround for the problem of an avatar wanting to stand on a sloping ground; by storing a false normal, the ground appears to be perfectly level, and the avatar does not tend to slide down it.

setRespectEffectiveNormal
void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal);

Description: This is only meaningful for CollisionSolids that will be added to a traverser as colliders. It is normally true, but if set false, it means that this particular solid does not care about the "effective" normal of other solids it meets, but rather always uses the true normal.

setTangible
void CollisionSolid::set_tangible(bool tangible);

Description: Sets the current state of the 'tangible' flag. Set this true to make the solid tangible, so that a CollisionHandlerPusher will not allow another object to intersect it, or false to make it intangible, so that a CollisionHandlerPusher will ignore it except to throw an event.

write
virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionLine

    from pandac.PandaModules import CollisionLine
    Class : CollisionLine
    Description : An infinite line, similar to a CollisionRay, except that it extends in both directions. It is, however, directional.

Inheritance:

    CollisionLine: CollisionRay
    CollisionRay: CollisionSolid
    CollisionSolid: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionLine:

    CollisionLine (Constructor)
    getClassType

Methods of CollisionRay:

    CollisionRay (Constructor)
    getClassType
    getDirection
    getOrigin
    setDirection
    setFromLens
    setOrigin

Methods of CollisionSolid:

    clearEffectiveNormal
    getBounds
    getClassType
    getCollisionOrigin
    getEffectiveNormal
    getRespectEffectiveNormal
    hasEffectiveNormal
    isTangible
    output
    setBounds
    setEffectiveNormal
    setRespectEffectiveNormal
    setTangible
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionLine
CollisionLine::CollisionLine(void);

Description: Creates an invalid line. This isn't terribly useful; it's expected that the user will subsequently adjust the line via set_origin()/set_direction() or set_from_lens().
Description:

getClassType
static TypeHandle CollisionLine::get_class_type(void);

Undocumented function.

CollisionRay
CollisionRay::CollisionRay(void);

Description: Creates an invalid ray. This isn't terribly useful; it's expected that the user will subsequently adjust the ray via set_origin()/set_direction() or set_from_lens().
Description:

getClassType
static TypeHandle CollisionRay::get_class_type(void);

Undocumented function.

getDirection
LVector3f const &CollisionRay::get_direction(void) const;

Description:

getOrigin
LPoint3f const &CollisionRay::get_origin(void) const;

Description:

setDirection
void CollisionRay::set_direction(LVector3f const &direction);

Description:

setFromLens
bool CollisionRay::set_from_lens(LensNode *camera, LPoint2f const &point);

Description: Accepts a LensNode and a 2-d point in the range [-1,1]. Sets the CollisionRay so that it begins at the LensNode's near plane and extends to infinity, making it suitable for picking objects from the screen given a camera and a mouse location.
Returns true if the point was acceptable, false otherwise.

setOrigin
void CollisionRay::set_origin(LPoint3f const &origin);

Description:

clearEffectiveNormal
void CollisionSolid::clear_effective_normal(void);

Description: Removes the normal previously set by set_effective_normal().

getBounds
ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const;

Description: Returns the solid's bounding volume.

getClassType
static TypeHandle CollisionSolid::get_class_type(void);

Undocumented function.

getCollisionOrigin
virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0;

Undocumented function.

getEffectiveNormal
LVector3f const &CollisionSolid::get_effective_normal(void) const;

Description: Returns the normal that was set by set_effective_normal(). It is an error to call this unless has_effective_normal() returns true.

getRespectEffectiveNormal
bool CollisionSolid::get_respect_effective_normal(void) const;

Description: See set_respect_effective_normal().

hasEffectiveNormal
bool CollisionSolid::has_effective_normal(void) const;

Description: Returns true if a special normal was set by set_effective_normal(), false otherwise.

isTangible
bool CollisionSolid::is_tangible(void) const;

Description: Returns whether the solid is considered 'tangible' or not. An intangible solid has no effect in a CollisionHandlerPusher (except to throw an event); it's useful for defining 'trigger' planes and spheres, that cause an effect when passed through.

output
virtual void CollisionSolid::output(ostream &out) const;

Description:

setBounds
void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume);

Description: Returns the solid's bounding volume.

setEffectiveNormal
void CollisionSolid::set_effective_normal(LVector3f const &effective_normal);

Description: Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal. This is useful as a workaround for the problem of an avatar wanting to stand on a sloping ground; by storing a false normal, the ground appears to be perfectly level, and the avatar does not tend to slide down it.

setRespectEffectiveNormal
void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal);

Description: This is only meaningful for CollisionSolids that will be added to a traverser as colliders. It is normally true, but if set false, it means that this particular solid does not care about the "effective" normal of other solids it meets, but rather always uses the true normal.

setTangible
void CollisionSolid::set_tangible(bool tangible);

Description: Sets the current state of the 'tangible' flag. Set this true to make the solid tangible, so that a CollisionHandlerPusher will not allow another object to intersect it, or false to make it intangible, so that a CollisionHandlerPusher will ignore it except to throw an event.

write
virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionNode

    from pandac.PandaModules import CollisionNode
    Class : CollisionNode
    Description : A node in the scene graph that can hold any number of CollisionSolids. This may either represent a bit of static geometry in the scene that things will collide with, or an animated object twirling around in the world and running into things.

Inheritance:

    CollisionNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of CollisionNode:

    CollisionNode (Constructor)
    addSolid
    clearSolids
    getClassType
    getColliderSort
    getDefaultCollideMask
    getFromCollideMask
    getIntoCollideMask
    getNumSolids
    getSolid
    modifySolid
    removeSolid
    setCollideMask
    setColliderSort
    setFromCollideMask
    setIntoCollideMask
    setSolid

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
CollisionNode
CollisionNode::CollisionNode(string const &name);

Description:

addSolid
int CollisionNode::add_solid(CollisionSolid const *solid);

Description: Adds the indicated solid to the node. Returns the index of the new solid within the node's list of solids.

clearSolids
void CollisionNode::clear_solids(void);

Description: Removes all solids from the node.

getClassType
static TypeHandle CollisionNode::get_class_type(void);

Undocumented function.

getColliderSort
int CollisionNode::get_collider_sort(void) const;

Description: Returns the collider_sort value that has been set for this particular node. See set_collider_sort().

getDefaultCollideMask
static BitMask< unsigned int, 32 > CollisionNode::get_default_collide_mask(void);

Description: Returns the default into_collide_mask assigned to new CollisionNodes.

getFromCollideMask
BitMask< unsigned int, 32 > CollisionNode::get_from_collide_mask(void) const;

Description: Returns the current "from" CollideMask. In order for a collision to be detected from this object into another object, the intersection of this object's "from" mask and the other object's "into" mask must be nonzero.

getIntoCollideMask
BitMask< unsigned int, 32 > CollisionNode::get_into_collide_mask(void) const;

Description: Returns the current "into" CollideMask. In order for a collision to be detected from another object into this object, the intersection of the other object's "from" mask and this object's "into" mask must be nonzero.

getNumSolids
int CollisionNode::get_num_solids(void) const;

Description:

getSolid
ConstPointerTo< CollisionSolid > CollisionNode::get_solid(int n) const;

Description:

modifySolid
PointerTo< CollisionSolid > CollisionNode::modify_solid(int n);

Description:

removeSolid
void CollisionNode::remove_solid(int n);

Description: Removes the solid with the indicated index. This will shift all subsequent indices down by one.

setCollideMask
void CollisionNode::set_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Simultaneously sets both the "from" and "into" CollideMask values to the same thing.

setColliderSort
void CollisionNode::set_collider_sort(int sort);

Description: Sets a particular collider_sort value on this node. This controls the order in which colliders (that is, "from nodes") are grouped together for the collision traversal.
If there are 32 or fewer colliders added to any particular CollisionTraverser, then this value has no meaning. It is only useful if there are many colliders, which may force the CollisionTraverser to make multiple passes through the data; in that case, it may be a useful optimization to group colliders that have similar bounding volumes together (by giving them similar sort values).

setFromCollideMask
void CollisionNode::set_from_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "from" CollideMask. In order for a collision to be detected from this object into another object, the intersection of this object's "from" mask and the other object's "into" mask must be nonzero.

setIntoCollideMask
void CollisionNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask. In order for a collision to be detected from another object into this object, the intersection of the other object's "from" mask and this object's "into" mask must be nonzero.

setSolid
void CollisionNode::set_solid(int n, CollisionSolid *solid);

Description: Replaces the solid with the indicated index.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionParabola

    from pandac.PandaModules import CollisionParabola
    Class : CollisionParabola
    Description : This defines a parabolic arc, or subset of an arc, similar to the path of a projectile or falling object. It is finite, having a specific beginning and end, but it is infinitely thin.
    Think of it as a wire bending from point t1 to point t2 along the path of a pre-defined parabola.

Inheritance:

    CollisionParabola: CollisionSolid
    CollisionSolid: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionParabola:

    CollisionParabola (Constructor)
    getClassType
    getParabola
    getT1
    getT2
    setParabola
    setT1
    setT2

Methods of CollisionSolid:

    clearEffectiveNormal
    getBounds
    getClassType
    getCollisionOrigin
    getEffectiveNormal
    getRespectEffectiveNormal
    hasEffectiveNormal
    isTangible
    output
    setBounds
    setEffectiveNormal
    setRespectEffectiveNormal
    setTangible
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionParabola
CollisionParabola::CollisionParabola(void);

Description: Creates an invalid parabola.
Description: Creates a parabola with the endpoints between t1 and t2 in the parametric space of the parabola.
Description:

getClassType
static TypeHandle CollisionParabola::get_class_type(void);

Undocumented function.

getParabola
Parabolaf const &CollisionParabola::get_parabola(void) const;

Description: Returns the parabola specified by this solid.

getT1
float CollisionParabola::get_t1(void) const;

Description: Returns the starting point on the parabola.

getT2
float CollisionParabola::get_t2(void) const;

Description: Returns the ending point on the parabola.

setParabola
void CollisionParabola::set_parabola(Parabolaf const &parabola);

Description: Replaces the parabola specified by this solid.

setT1
void CollisionParabola::set_t1(float t1);

Description: Changes the starting point on the parabola.

setT2
void CollisionParabola::set_t2(float t2);

Description: Changes the ending point on the parabola.

clearEffectiveNormal
void CollisionSolid::clear_effective_normal(void);

Description: Removes the normal previously set by set_effective_normal().

getBounds
ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const;

Description: Returns the solid's bounding volume.

getClassType
static TypeHandle CollisionSolid::get_class_type(void);

Undocumented function.

getCollisionOrigin
virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0;

Undocumented function.

getEffectiveNormal
LVector3f const &CollisionSolid::get_effective_normal(void) const;

Description: Returns the normal that was set by set_effective_normal(). It is an error to call this unless has_effective_normal() returns true.

getRespectEffectiveNormal
bool CollisionSolid::get_respect_effective_normal(void) const;

Description: See set_respect_effective_normal().

hasEffectiveNormal
bool CollisionSolid::has_effective_normal(void) const;

Description: Returns true if a special normal was set by set_effective_normal(), false otherwise.

isTangible
bool CollisionSolid::is_tangible(void) const;

Description: Returns whether the solid is considered 'tangible' or not. An intangible solid has no effect in a CollisionHandlerPusher (except to throw an event); it's useful for defining 'trigger' planes and spheres, that cause an effect when passed through.

output
virtual void CollisionSolid::output(ostream &out) const;

Description:

setBounds
void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume);

Description: Returns the solid's bounding volume.

setEffectiveNormal
void CollisionSolid::set_effective_normal(LVector3f const &effective_normal);

Description: Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal. This is useful as a workaround for the problem of an avatar wanting to stand on a sloping ground; by storing a false normal, the ground appears to be perfectly level, and the avatar does not tend to slide down it.

setRespectEffectiveNormal
void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal);

Description: This is only meaningful for CollisionSolids that will be added to a traverser as colliders. It is normally true, but if set false, it means that this particular solid does not care about the "effective" normal of other solids it meets, but rather always uses the true normal.

setTangible
void CollisionSolid::set_tangible(bool tangible);

Description: Sets the current state of the 'tangible' flag. Set this true to make the solid tangible, so that a CollisionHandlerPusher will not allow another object to intersect it, or false to make it intangible, so that a CollisionHandlerPusher will ignore it except to throw an event.

write
virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionPlane

    from pandac.PandaModules import CollisionPlane
    Class : CollisionPlane
    Description :

Inheritance:

    CollisionPlane: CollisionSolid
    CollisionSolid: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionPlane:

    CollisionPlane (Constructor)
    distToPlane
    getClassType
    getNormal
    getPlane
    setPlane

Methods of CollisionSolid:

    clearEffectiveNormal
    getBounds
    getClassType
    getCollisionOrigin
    getEffectiveNormal
    getRespectEffectiveNormal
    hasEffectiveNormal
    isTangible
    output
    setBounds
    setEffectiveNormal
    setRespectEffectiveNormal
    setTangible
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionPlane
CollisionPlane::CollisionPlane(Planef const &plane);

Description: This is only for the convenience of CollisionPolygon. Normally, you should not attempt to create an uninitialized CollisionPlane.
Description:

distToPlane
float CollisionPlane::dist_to_plane(LPoint3f const &point) const;

Description:

getClassType
static TypeHandle CollisionPlane::get_class_type(void);

Undocumented function.

getNormal
LVector3f CollisionPlane::get_normal(void) const;

Description:

getPlane
Planef const &CollisionPlane::get_plane(void) const;

Description:

setPlane
void CollisionPlane::set_plane(Planef const &plane);

Description:

clearEffectiveNormal
void CollisionSolid::clear_effective_normal(void);

Description: Removes the normal previously set by set_effective_normal().

getBounds
ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const;

Description: Returns the solid's bounding volume.

getClassType
static TypeHandle CollisionSolid::get_class_type(void);

Undocumented function.

getCollisionOrigin
virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0;

Undocumented function.

getEffectiveNormal
LVector3f const &CollisionSolid::get_effective_normal(void) const;

Description: Returns the normal that was set by set_effective_normal(). It is an error to call this unless has_effective_normal() returns true.

getRespectEffectiveNormal
bool CollisionSolid::get_respect_effective_normal(void) const;

Description: See set_respect_effective_normal().

hasEffectiveNormal
bool CollisionSolid::has_effective_normal(void) const;

Description: Returns true if a special normal was set by set_effective_normal(), false otherwise.

isTangible
bool CollisionSolid::is_tangible(void) const;

Description: Returns whether the solid is considered 'tangible' or not. An intangible solid has no effect in a CollisionHandlerPusher (except to throw an event); it's useful for defining 'trigger' planes and spheres, that cause an effect when passed through.

output
virtual void CollisionSolid::output(ostream &out) const;

Description:

setBounds
void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume);

Description: Returns the solid's bounding volume.

setEffectiveNormal
void CollisionSolid::set_effective_normal(LVector3f const &effective_normal);

Description: Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal. This is useful as a workaround for the problem of an avatar wanting to stand on a sloping ground; by storing a false normal, the ground appears to be perfectly level, and the avatar does not tend to slide down it.

setRespectEffectiveNormal
void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal);

Description: This is only meaningful for CollisionSolids that will be added to a traverser as colliders. It is normally true, but if set false, it means that this particular solid does not care about the "effective" normal of other solids it meets, but rather always uses the true normal.

setTangible
void CollisionSolid::set_tangible(bool tangible);

Description: Sets the current state of the 'tangible' flag. Set this true to make the solid tangible, so that a CollisionHandlerPusher will not allow another object to intersect it, or false to make it intangible, so that a CollisionHandlerPusher will ignore it except to throw an event.

write
virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionPolygon

    from pandac.PandaModules import CollisionPolygon
    Class : CollisionPolygon
    Description :

Inheritance:

    CollisionPolygon: CollisionPlane
    CollisionPlane: CollisionSolid
    CollisionSolid: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionPolygon:

    CollisionPolygon (Constructor)
    getClassType
    getNumPoints
    getPoint
    isConcave
    isValid
    verifyPoints

Methods of CollisionPlane:

    CollisionPlane (Constructor)
    distToPlane
    getClassType
    getNormal
    getPlane
    setPlane

Methods of CollisionSolid:

    clearEffectiveNormal
    getBounds
    getClassType
    getCollisionOrigin
    getEffectiveNormal
    getRespectEffectiveNormal
    hasEffectiveNormal
    isTangible
    output
    setBounds
    setEffectiveNormal
    setRespectEffectiveNormal
    setTangible
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionPolygon
CollisionPolygon::CollisionPolygon(LVecBase3f const &a, LVecBase3f const &b, LVecBase3f const &c);

Description:
Description: Creates an invalid polygon. Only used when reading from a bam file.

getClassType
static TypeHandle CollisionPolygon::get_class_type(void);

Undocumented function.

getNumPoints
int CollisionPolygon::get_num_points(void) const;

Description: Returns the number of vertices of the CollisionPolygon.

getPoint
LPoint3f CollisionPolygon::get_point(int n) const;

Description: Returns the nth vertex of the CollisionPolygon, expressed in 3-D space.

isConcave
bool CollisionPolygon::is_concave(void) const;

Description: Returns true if the CollisionPolygon appears to be concave, or false if it is safely convex.

isValid
bool CollisionPolygon::is_valid(void) const;

Description: Returns true if the CollisionPolygon is valid (that is, it has at least three vertices), or false otherwise.

verifyPoints
static bool CollisionPolygon::verify_points(LPoint3f const &a, LPoint3f const &b, LPoint3f const &c);

Description: Verifies that the indicated set of points will define a valid CollisionPolygon: that is, at least three non-collinear points, with no points repeated.
This does not check that the polygon defined is convex; that check is made later, once we have projected the points to 2-d space where the decision is easier.

CollisionPlane
CollisionPlane::CollisionPlane(Planef const &plane);

Description: This is only for the convenience of CollisionPolygon. Normally, you should not attempt to create an uninitialized CollisionPlane.
Description:

distToPlane
float CollisionPlane::dist_to_plane(LPoint3f const &point) const;

Description:

getClassType
static TypeHandle CollisionPlane::get_class_type(void);

Undocumented function.

getNormal
LVector3f CollisionPlane::get_normal(void) const;

Description:

getPlane
Planef const &CollisionPlane::get_plane(void) const;

Description:

setPlane
void CollisionPlane::set_plane(Planef const &plane);

Description:

clearEffectiveNormal
void CollisionSolid::clear_effective_normal(void);

Description: Removes the normal previously set by set_effective_normal().

getBounds
ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const;

Description: Returns the solid's bounding volume.

getClassType
static TypeHandle CollisionSolid::get_class_type(void);

Undocumented function.

getCollisionOrigin
virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0;

Undocumented function.

getEffectiveNormal
LVector3f const &CollisionSolid::get_effective_normal(void) const;

Description: Returns the normal that was set by set_effective_normal(). It is an error to call this unless has_effective_normal() returns true.

getRespectEffectiveNormal
bool CollisionSolid::get_respect_effective_normal(void) const;

Description: See set_respect_effective_normal().

hasEffectiveNormal
bool CollisionSolid::has_effective_normal(void) const;

Description: Returns true if a special normal was set by set_effective_normal(), false otherwise.

isTangible
bool CollisionSolid::is_tangible(void) const;

Description: Returns whether the solid is considered 'tangible' or not. An intangible solid has no effect in a CollisionHandlerPusher (except to throw an event); it's useful for defining 'trigger' planes and spheres, that cause an effect when passed through.

output
virtual void CollisionSolid::output(ostream &out) const;

Description:

setBounds
void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume);

Description: Returns the solid's bounding volume.

setEffectiveNormal
void CollisionSolid::set_effective_normal(LVector3f const &effective_normal);

Description: Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal. This is useful as a workaround for the problem of an avatar wanting to stand on a sloping ground; by storing a false normal, the ground appears to be perfectly level, and the avatar does not tend to slide down it.

setRespectEffectiveNormal
void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal);

Description: This is only meaningful for CollisionSolids that will be added to a traverser as colliders. It is normally true, but if set false, it means that this particular solid does not care about the "effective" normal of other solids it meets, but rather always uses the true normal.

setTangible
void CollisionSolid::set_tangible(bool tangible);

Description: Sets the current state of the 'tangible' flag. Set this true to make the solid tangible, so that a CollisionHandlerPusher will not allow another object to intersect it, or false to make it intangible, so that a CollisionHandlerPusher will ignore it except to throw an event.

write
virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionRay

    from pandac.PandaModules import CollisionRay
    Class : CollisionRay
    Description : An infinite ray, with a specific origin and direction. It begins at its origin and continues in one direction to infinity, and it has no radius. Useful for picking from a window, or for gravity effects.

Inheritance:

    CollisionRay: CollisionSolid
    CollisionSolid: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionRay:

    CollisionRay (Constructor)
    getClassType
    getDirection
    getOrigin
    setDirection
    setFromLens
    setOrigin

Methods of CollisionSolid:

    clearEffectiveNormal
    getBounds
    getClassType
    getCollisionOrigin
    getEffectiveNormal
    getRespectEffectiveNormal
    hasEffectiveNormal
    isTangible
    output
    setBounds
    setEffectiveNormal
    setRespectEffectiveNormal
    setTangible
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionRay
CollisionRay::CollisionRay(void);

Description: Creates an invalid ray. This isn't terribly useful; it's expected that the user will subsequently adjust the ray via set_origin()/set_direction() or set_from_lens().
Description:

getClassType
static TypeHandle CollisionRay::get_class_type(void);

Undocumented function.

getDirection
LVector3f const &CollisionRay::get_direction(void) const;

Description:

getOrigin
LPoint3f const &CollisionRay::get_origin(void) const;

Description:

setDirection
void CollisionRay::set_direction(LVector3f const &direction);

Description:

setFromLens
bool CollisionRay::set_from_lens(LensNode *camera, LPoint2f const &point);

Description: Accepts a LensNode and a 2-d point in the range [-1,1]. Sets the CollisionRay so that it begins at the LensNode's near plane and extends to infinity, making it suitable for picking objects from the screen given a camera and a mouse location.
Returns true if the point was acceptable, false otherwise.

setOrigin
void CollisionRay::set_origin(LPoint3f const &origin);

Description:

clearEffectiveNormal
void CollisionSolid::clear_effective_normal(void);

Description: Removes the normal previously set by set_effective_normal().

getBounds
ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const;

Description: Returns the solid's bounding volume.

getClassType
static TypeHandle CollisionSolid::get_class_type(void);

Undocumented function.

getCollisionOrigin
virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0;

Undocumented function.

getEffectiveNormal
LVector3f const &CollisionSolid::get_effective_normal(void) const;

Description: Returns the normal that was set by set_effective_normal(). It is an error to call this unless has_effective_normal() returns true.

getRespectEffectiveNormal
bool CollisionSolid::get_respect_effective_normal(void) const;

Description: See set_respect_effective_normal().

hasEffectiveNormal
bool CollisionSolid::has_effective_normal(void) const;

Description: Returns true if a special normal was set by set_effective_normal(), false otherwise.

isTangible
bool CollisionSolid::is_tangible(void) const;

Description: Returns whether the solid is considered 'tangible' or not. An intangible solid has no effect in a CollisionHandlerPusher (except to throw an event); it's useful for defining 'trigger' planes and spheres, that cause an effect when passed through.

output
virtual void CollisionSolid::output(ostream &out) const;

Description:

setBounds
void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume);

Description: Returns the solid's bounding volume.

setEffectiveNormal
void CollisionSolid::set_effective_normal(LVector3f const &effective_normal);

Description: Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal. This is useful as a workaround for the problem of an avatar wanting to stand on a sloping ground; by storing a false normal, the ground appears to be perfectly level, and the avatar does not tend to slide down it.

setRespectEffectiveNormal
void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal);

Description: This is only meaningful for CollisionSolids that will be added to a traverser as colliders. It is normally true, but if set false, it means that this particular solid does not care about the "effective" normal of other solids it meets, but rather always uses the true normal.

setTangible
void CollisionSolid::set_tangible(bool tangible);

Description: Sets the current state of the 'tangible' flag. Set this true to make the solid tangible, so that a CollisionHandlerPusher will not allow another object to intersect it, or false to make it intangible, so that a CollisionHandlerPusher will ignore it except to throw an event.

write
virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionRecorder

    from pandac.PandaModules import CollisionRecorder
    Class : CollisionRecorder
    Description : This class is used to help debug the work the collisions system is doing. It is a virtual base class that just provides an interface for recording collisions tested and detected each frame.

Inheritance:

    CollisionRecorder: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of CollisionRecorder:

    getClassType
    output

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
getClassType
static TypeHandle CollisionRecorder::get_class_type(void);

Undocumented function.

output
void CollisionRecorder::output(ostream &out) const;

Description:

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


CollisionSegment

    from pandac.PandaModules import CollisionSegment
    Class : CollisionSegment
    Description : A finite line segment, with two specific endpoints but no thickness. It's similar to a CollisionRay, except it does not continue to infinity.
    It does have an ordering, from point A to point B. If more than a single point of the segment is intersecting a solid, the reported intersection point is generally the closest on the segment to point A.

Inheritance:

    CollisionSegment: CollisionSolid
    CollisionSolid: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionSegment:

    CollisionSegment (Constructor)
    getClassType
    getPointA
    getPointB
    setFromLens
    setPointA
    setPointB

Methods of CollisionSolid:

    clearEffectiveNormal
    getBounds
    getClassType
    getCollisionOrigin
    getEffectiveNormal
    getRespectEffectiveNormal
    hasEffectiveNormal
    isTangible
    output
    setBounds
    setEffectiveNormal
    setRespectEffectiveNormal
    setTangible
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionSegment
CollisionSegment::CollisionSegment(void);

Description: Creates an invalid segment. This isn't terribly useful; it's expected that the user will subsequently adjust the segment via set_origin()/set_direction() or set_from_lens().
Description:

getClassType
static TypeHandle CollisionSegment::get_class_type(void);

Undocumented function.

getPointA
LPoint3f const &CollisionSegment::get_point_a(void) const;

Description:

getPointB
LPoint3f const &CollisionSegment::get_point_b(void) const;

Description:

setFromLens
bool CollisionSegment::set_from_lens(LensNode *camera, LPoint2f const &point);

Description: Accepts a LensNode and a 2-d point in the range [-1,1]. Sets the CollisionSegment so that it begins at the LensNode's near plane and extends to the far plane, making it suitable for picking objects from the screen given a camera and a mouse location.
Returns true if the point was acceptable, false otherwise.

setPointA
void CollisionSegment::set_point_a(LPoint3f const &a);

Description:

setPointB
void CollisionSegment::set_point_b(LPoint3f const &b);

Description:

clearEffectiveNormal
void CollisionSolid::clear_effective_normal(void);

Description: Removes the normal previously set by set_effective_normal().

getBounds
ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const;

Description: Returns the solid's bounding volume.

getClassType
static TypeHandle CollisionSolid::get_class_type(void);

Undocumented function.

getCollisionOrigin
virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0;

Undocumented function.

getEffectiveNormal
LVector3f const &CollisionSolid::get_effective_normal(void) const;

Description: Returns the normal that was set by set_effective_normal(). It is an error to call this unless has_effective_normal() returns true.

getRespectEffectiveNormal
bool CollisionSolid::get_respect_effective_normal(void) const;

Description: See set_respect_effective_normal().

hasEffectiveNormal
bool CollisionSolid::has_effective_normal(void) const;

Description: Returns true if a special normal was set by set_effective_normal(), false otherwise.

isTangible
bool CollisionSolid::is_tangible(void) const;

Description: Returns whether the solid is considered 'tangible' or not. An intangible solid has no effect in a CollisionHandlerPusher (except to throw an event); it's useful for defining 'trigger' planes and spheres, that cause an effect when passed through.

output
virtual void CollisionSolid::output(ostream &out) const;

Description:

setBounds
void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume);

Description: Returns the solid's bounding volume.

setEffectiveNormal
void CollisionSolid::set_effective_normal(LVector3f const &effective_normal);

Description: Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal. This is useful as a workaround for the problem of an avatar wanting to stand on a sloping ground; by storing a false normal, the ground appears to be perfectly level, and the avatar does not tend to slide down it.

setRespectEffectiveNormal
void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal);

Description: This is only meaningful for CollisionSolids that will be added to a traverser as colliders. It is normally true, but if set false, it means that this particular solid does not care about the "effective" normal of other solids it meets, but rather always uses the true normal.

setTangible
void CollisionSolid::set_tangible(bool tangible);

Description: Sets the current state of the 'tangible' flag. Set this true to make the solid tangible, so that a CollisionHandlerPusher will not allow another object to intersect it, or false to make it intangible, so that a CollisionHandlerPusher will ignore it except to throw an event.

write
virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionSolid

    from pandac.PandaModules import CollisionSolid
    Class : CollisionSolid
    Description : The abstract base class for all things that can collide with other things in the world, and all the things they can collide with (except geometry).
    This class and its derivatives really work very similarly to the way BoundingVolume and all of its derivatives work. There's a different subclass for each basic shape of solid, and double-dispatch function calls handle the subset of the N*N intersection tests that we care about.

Inheritance:

    CollisionSolid: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionSolid:

    clearEffectiveNormal
    getBounds
    getClassType
    getCollisionOrigin
    getEffectiveNormal
    getRespectEffectiveNormal
    hasEffectiveNormal
    isTangible
    output
    setBounds
    setEffectiveNormal
    setRespectEffectiveNormal
    setTangible
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
clearEffectiveNormal
void CollisionSolid::clear_effective_normal(void);

Description: Removes the normal previously set by set_effective_normal().

getBounds
ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const;

Description: Returns the solid's bounding volume.

getClassType
static TypeHandle CollisionSolid::get_class_type(void);

Undocumented function.

getCollisionOrigin
virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0;

Undocumented function.

getEffectiveNormal
LVector3f const &CollisionSolid::get_effective_normal(void) const;

Description: Returns the normal that was set by set_effective_normal(). It is an error to call this unless has_effective_normal() returns true.

getRespectEffectiveNormal
bool CollisionSolid::get_respect_effective_normal(void) const;

Description: See set_respect_effective_normal().

hasEffectiveNormal
bool CollisionSolid::has_effective_normal(void) const;

Description: Returns true if a special normal was set by set_effective_normal(), false otherwise.

isTangible
bool CollisionSolid::is_tangible(void) const;

Description: Returns whether the solid is considered 'tangible' or not. An intangible solid has no effect in a CollisionHandlerPusher (except to throw an event); it's useful for defining 'trigger' planes and spheres, that cause an effect when passed through.

output
virtual void CollisionSolid::output(ostream &out) const;

Description:

setBounds
void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume);

Description: Returns the solid's bounding volume.

setEffectiveNormal
void CollisionSolid::set_effective_normal(LVector3f const &effective_normal);

Description: Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal. This is useful as a workaround for the problem of an avatar wanting to stand on a sloping ground; by storing a false normal, the ground appears to be perfectly level, and the avatar does not tend to slide down it.

setRespectEffectiveNormal
void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal);

Description: This is only meaningful for CollisionSolids that will be added to a traverser as colliders. It is normally true, but if set false, it means that this particular solid does not care about the "effective" normal of other solids it meets, but rather always uses the true normal.

setTangible
void CollisionSolid::set_tangible(bool tangible);

Description: Sets the current state of the 'tangible' flag. Set this true to make the solid tangible, so that a CollisionHandlerPusher will not allow another object to intersect it, or false to make it intangible, so that a CollisionHandlerPusher will ignore it except to throw an event.

write
virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionSphere

    from pandac.PandaModules import CollisionSphere
    Class : CollisionSphere
    Description : A spherical collision volume or object.

Inheritance:

    CollisionSphere: CollisionSolid
    CollisionSolid: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionSphere:

    CollisionSphere (Constructor)
    getCenter
    getClassType
    getRadius
    setCenter
    setRadius

Methods of CollisionSolid:

    clearEffectiveNormal
    getBounds
    getClassType
    getCollisionOrigin
    getEffectiveNormal
    getRespectEffectiveNormal
    hasEffectiveNormal
    isTangible
    output
    setBounds
    setEffectiveNormal
    setRespectEffectiveNormal
    setTangible
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionSphere
CollisionSphere::CollisionSphere(LPoint3f const &center, float radius);

Description:
Description: Creates an invalid sphere. Only used when reading from a bam file.

getCenter
LPoint3f const &CollisionSphere::get_center(void) const;

Description:

getClassType
static TypeHandle CollisionSphere::get_class_type(void);

Undocumented function.

getRadius
float CollisionSphere::get_radius(void) const;

Description:

setCenter
void CollisionSphere::set_center(LPoint3f const &center);

Description:

setRadius
void CollisionSphere::set_radius(float radius);

Description:

clearEffectiveNormal
void CollisionSolid::clear_effective_normal(void);

Description: Removes the normal previously set by set_effective_normal().

getBounds
ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const;

Description: Returns the solid's bounding volume.

getClassType
static TypeHandle CollisionSolid::get_class_type(void);

Undocumented function.

getCollisionOrigin
virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0;

Undocumented function.

getEffectiveNormal
LVector3f const &CollisionSolid::get_effective_normal(void) const;

Description: Returns the normal that was set by set_effective_normal(). It is an error to call this unless has_effective_normal() returns true.

getRespectEffectiveNormal
bool CollisionSolid::get_respect_effective_normal(void) const;

Description: See set_respect_effective_normal().

hasEffectiveNormal
bool CollisionSolid::has_effective_normal(void) const;

Description: Returns true if a special normal was set by set_effective_normal(), false otherwise.

isTangible
bool CollisionSolid::is_tangible(void) const;

Description: Returns whether the solid is considered 'tangible' or not. An intangible solid has no effect in a CollisionHandlerPusher (except to throw an event); it's useful for defining 'trigger' planes and spheres, that cause an effect when passed through.

output
virtual void CollisionSolid::output(ostream &out) const;

Description:

setBounds
void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume);

Description: Returns the solid's bounding volume.

setEffectiveNormal
void CollisionSolid::set_effective_normal(LVector3f const &effective_normal);

Description: Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal. This is useful as a workaround for the problem of an avatar wanting to stand on a sloping ground; by storing a false normal, the ground appears to be perfectly level, and the avatar does not tend to slide down it.

setRespectEffectiveNormal
void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal);

Description: This is only meaningful for CollisionSolids that will be added to a traverser as colliders. It is normally true, but if set false, it means that this particular solid does not care about the "effective" normal of other solids it meets, but rather always uses the true normal.

setTangible
void CollisionSolid::set_tangible(bool tangible);

Description: Sets the current state of the 'tangible' flag. Set this true to make the solid tangible, so that a CollisionHandlerPusher will not allow another object to intersect it, or false to make it intangible, so that a CollisionHandlerPusher will ignore it except to throw an event.

write
virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionTraverser

    from pandac.PandaModules import CollisionTraverser
    Class : CollisionTraverser
    Description : This class manages the traversal through the scene graph to detect collisions. It holds ownership of a number of collider objects, each of which is a CollisionNode and an associated CollisionHandler.
    When traverse() is called, it begins at the indicated root and detects all collisions with any of its collider objects against nodes at or below the indicated root, calling the appropriate CollisionHandler for each detected collision.

Inheritance:

    CollisionTraverser: Namable
    Namable:

Methods of CollisionTraverser:

    CollisionTraverser (Constructor)
    addCollider
    clearColliders
    clearRecorder
    getClassType
    getCollider
    getHandler
    getNumColliders
    getRecorder
    getRespectPrevTransform
    hasCollider
    hasRecorder
    hideCollisions
    output
    removeCollider
    setRecorder
    setRespectPrevTransform
    showCollisions
    traverse
    write

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
CollisionTraverser
CollisionTraverser::CollisionTraverser(string const &name = ("ctrav"));

Description:

addCollider
void CollisionTraverser::add_collider(NodePath const &collider, CollisionHandler *handler);

Description: Adds a new CollisionNode, representing an object that will be tested for collisions into other objects, along with the handler that will serve each detected collision. Each CollisionNode may be served by only one handler at a time, but a given handler may serve many CollisionNodes.
The handler that serves a particular node may be changed from time to time by calling add_collider() again on the same node.

clearColliders
void CollisionTraverser::clear_colliders(void);

Description: Completely empties the set of collision nodes and their associated handlers.

clearRecorder
void CollisionTraverser::clear_recorder(void);

Description: Removes the CollisionRecorder from the traverser and restores normal low-overhead operation.

getClassType
static TypeHandle CollisionTraverser::get_class_type(void);

Undocumented function.

getCollider
NodePath CollisionTraverser::get_collider(int n) const;

Description: Returns the nth CollisionNode that has been added to the traverser via add_collider().

getHandler
CollisionHandler *CollisionTraverser::get_handler(NodePath const &collider) const;

Description: Returns the handler that is currently assigned to serve the indicated collision node, or NULL if the node is not on the traverser's set of active nodes.

getNumColliders
int CollisionTraverser::get_num_colliders(void) const;

Description: Returns the number of CollisionNodes that have been added to the traverser via add_collider().

getRecorder
CollisionRecorder *CollisionTraverser::get_recorder(void) const;

Description: Returns the CollisionRecorder currently assigned, or NULL if no recorder is assigned.

getRespectPrevTransform
bool CollisionTraverser::get_respect_prev_transform(void) const;

Description: Returns the flag that indicates whether the prev_transform stored on a node is respected to calculate collisions. See set_respect_prev_transform().

hasCollider
bool CollisionTraverser::has_collider(NodePath const &collider) const;

Description: Returns true if the indicated node is current in the set of nodes that will be tested each frame for collisions into other objects.

hasRecorder
bool CollisionTraverser::has_recorder(void) const;

Description: Returns true if the CollisionTraverser has a CollisionRecorder object currently assigned, false otherwise.

hideCollisions
void CollisionTraverser::hide_collisions(void);

Description: Undoes the effect of a previous call to show_collisions().

output
void CollisionTraverser::output(ostream &out) const;

DO_COLLISION_RECORDING
Description:

removeCollider
bool CollisionTraverser::remove_collider(NodePath const &collider);

Description: Removes the collider (and its associated handler) from the set of CollisionNodes that will be tested each frame for collisions into other objects. Returns true if the definition was found and removed, false if it wasn't present to begin with.

setRecorder
void CollisionTraverser::set_recorder(CollisionRecorder *recorder);

Description: Uses the indicated CollisionRecorder object to start recording the intersection tests made by each subsequent call to traverse() on this object. A particular CollisionRecorder object can only record one traverser at a time; if this object has already been assigned to another traverser, that assignment is broken.
This is intended to be used in a debugging mode to try to determine what work is being performed by the collision traversal. Usually, attaching a recorder will impose significant runtime overhead.
This does not transfer ownership of the CollisionRecorder pointer; maintenance of that remains the caller's responsibility. If the CollisionRecorder is destructed, it will cleanly remove itself from the traverser.

setRespectPrevTransform
void CollisionTraverser::set_respect_prev_transform(bool flag);

Description: Sets the flag that indicates whether the prev_transform stored on a node (as updated via set_fluid_pos(), etc.) is respected to calculate collisions. If this is true, certain types of collision tests will be enhanced by the information about objects in motion. If this is false, objects are always considered to be static. The default is false.

showCollisions
CollisionVisualizer *CollisionTraverser::show_collisions(NodePath const &root);

Description: This is a high-level function to create a CollisionVisualizer object to render the collision tests performed by this traverser. The supplied root should be any node in the scene graph; typically, the top node (e.g. render). The CollisionVisualizer will be attached to this node.

traverse
void CollisionTraverser::traverse(NodePath const &root);

Description:

write
void CollisionTraverser::write(ostream &out, int indent_level) const;

Description:

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


CollisionTube

    from pandac.PandaModules import CollisionTube
    Class : CollisionTube
    Description : This implements a solid roughly in cylindrical shape. It's not called a CollisionCylinder because it's not a true cylinder; specifically, it has rounded ends instead of flat ends. It looks more like a Contac pill.

Inheritance:

    CollisionTube: CollisionSolid
    CollisionSolid: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CollisionTube:

    CollisionTube (Constructor)
    getClassType
    getPointA
    getPointB
    getRadius
    setPointA
    setPointB
    setRadius

Methods of CollisionSolid:

    clearEffectiveNormal
    getBounds
    getClassType
    getCollisionOrigin
    getEffectiveNormal
    getRespectEffectiveNormal
    hasEffectiveNormal
    isTangible
    output
    setBounds
    setEffectiveNormal
    setRespectEffectiveNormal
    setTangible
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CollisionTube
CollisionTube::CollisionTube(LPoint3f const &a, LPoint3f const &db, float radius);

Description:
Description: Creates an invalid tube. Only used when reading from a bam file.

getClassType
static TypeHandle CollisionTube::get_class_type(void);

Undocumented function.

getPointA
LPoint3f const &CollisionTube::get_point_a(void) const;

Description:

getPointB
LPoint3f const &CollisionTube::get_point_b(void) const;

Description:

getRadius
float CollisionTube::get_radius(void) const;

Description:

setPointA
void CollisionTube::set_point_a(LPoint3f const &a);

Description:

setPointB
void CollisionTube::set_point_b(LPoint3f const &b);

Description:

setRadius
void CollisionTube::set_radius(float radius);

Description:

clearEffectiveNormal
void CollisionSolid::clear_effective_normal(void);

Description: Removes the normal previously set by set_effective_normal().

getBounds
ConstPointerTo< BoundingVolume > CollisionSolid::get_bounds(void) const;

Description: Returns the solid's bounding volume.

getClassType
static TypeHandle CollisionSolid::get_class_type(void);

Undocumented function.

getCollisionOrigin
virtual LPoint3f CollisionSolid::get_collision_origin(void) const = 0;

Undocumented function.

getEffectiveNormal
LVector3f const &CollisionSolid::get_effective_normal(void) const;

Description: Returns the normal that was set by set_effective_normal(). It is an error to call this unless has_effective_normal() returns true.

getRespectEffectiveNormal
bool CollisionSolid::get_respect_effective_normal(void) const;

Description: See set_respect_effective_normal().

hasEffectiveNormal
bool CollisionSolid::has_effective_normal(void) const;

Description: Returns true if a special normal was set by set_effective_normal(), false otherwise.

isTangible
bool CollisionSolid::is_tangible(void) const;

Description: Returns whether the solid is considered 'tangible' or not. An intangible solid has no effect in a CollisionHandlerPusher (except to throw an event); it's useful for defining 'trigger' planes and spheres, that cause an effect when passed through.

output
virtual void CollisionSolid::output(ostream &out) const;

Description:

setBounds
void CollisionSolid::set_bounds(BoundingVolume const &bounding_volume);

Description: Returns the solid's bounding volume.

setEffectiveNormal
void CollisionSolid::set_effective_normal(LVector3f const &effective_normal);

Description: Records a false normal for this CollisionSolid that will be reported by the collision system with all collisions into it, instead of its actual normal. This is useful as a workaround for the problem of an avatar wanting to stand on a sloping ground; by storing a false normal, the ground appears to be perfectly level, and the avatar does not tend to slide down it.

setRespectEffectiveNormal
void CollisionSolid::set_respect_effective_normal(bool respect_effective_normal);

Description: This is only meaningful for CollisionSolids that will be added to a traverser as colliders. It is normally true, but if set false, it means that this particular solid does not care about the "effective" normal of other solids it meets, but rather always uses the true normal.

setTangible
void CollisionSolid::set_tangible(bool tangible);

Description: Sets the current state of the 'tangible' flag. Set this true to make the solid tangible, so that a CollisionHandlerPusher will not allow another object to intersect it, or false to make it intangible, so that a CollisionHandlerPusher will ignore it except to throw an event.

write
virtual void CollisionSolid::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CollisionVisualizer

    from pandac.PandaModules import CollisionVisualizer
    Class : CollisionVisualizer
    Description : This class is used to help debug the work the collisions system is doing. It shows the polygons that are detected as collisions, as well as those that are simply considered for collisions.
    It may be parented anywhere in the scene graph where it will be rendered to achieve this.

Inheritance:

    CollisionVisualizer: PandaNode CollisionRecorder
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase
    CollisionRecorder: TypedObject

Methods of CollisionVisualizer:

    CollisionVisualizer (Constructor)
    clear
    getClassType
    getNormalScale
    getPointScale
    setNormalScale
    setPointScale

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of CollisionRecorder:

    getClassType
    output

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
CollisionVisualizer
CollisionVisualizer::CollisionVisualizer(string const &name);

Description:

clear
void CollisionVisualizer::clear(void);

Description: Removes all the visualization data from a previous traversal and resets the visualizer to empty.

getClassType
static TypeHandle CollisionVisualizer::get_class_type(void);

Undocumented function.

getNormalScale
float CollisionVisualizer::get_normal_scale(void) const;

Description: Returns the value last set by set_normal_scale().

getPointScale
float CollisionVisualizer::get_point_scale(void) const;

Description: Returns the value last set by set_point_scale().

setNormalScale
void CollisionVisualizer::set_normal_scale(float normal_scale);

Description: Scales the line segments that are drawn to represent the normals of the collisions. By default, these objects are drawn at an arbitrary scale which is appropriate if the scene units are measured in feet. Change this scale accordinatly if the scene units are measured on some other scale or if you need to observe these normals from farther away.

setPointScale
void CollisionVisualizer::set_point_scale(float point_scale);

Description: Scales the points that are drawn to represent the surface and interior intersection points of the collisions. By default, these objects are drawn at an arbitrary scale which is appropriate if the window units are the default range -1 .. 1. Change this scale accordinatly if the window units are measured on some other scale or if you need to observe these objects in a smaller window.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

getClassType
static TypeHandle CollisionRecorder::get_class_type(void);

Undocumented function.

output
void CollisionRecorder::output(ostream &out) const;

Description:


ColorAttrib

    from pandac.PandaModules import ColorAttrib
    Class : ColorAttrib
    Description : Indicates what color should be applied to renderable geometry.

Inheritance:

    ColorAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ColorAttrib:

    getClassType
    getColor
    getColorType
    makeFlat
    makeOff
    makeVertex

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in ColorAttrib:

    TVertex | (Type)
TFlat | (Type)
TOff | (Type)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle ColorAttrib::get_class_type(void);

Undocumented function.

getColor
LVecBase4f const &ColorAttrib::get_color(void) const;

Description: If the type is T_flat, this returns the color that will be applied to geometry. If the type is anything else, this is meaningless.

getColorType
ColorAttrib::Type ColorAttrib::get_color_type(void) const;

Description: Returns the type of color specified by this ColorAttrib. The options are:
T_vertex - use the vertex color specified in the geometry itself.
T_flat - use the color specified in this ColorAttrib for all geometry. You can get this color via get_color().
T_off - do not issue any color commands at all. This is generally used only in contexts where the color is meaningless, e.g. when drawing directly to the depth buffer.

makeFlat
static ConstPointerTo< RenderAttrib > ColorAttrib::make_flat(LVecBase4f const &color);

Description: Constructs a new ColorAttrib object that indicates geometry should be rendered in the indicated color.

makeOff
static ConstPointerTo< RenderAttrib > ColorAttrib::make_off(void);

Description: Constructs a new ColorAttrib object that indicates geometry should be rendered without any color commands at all.

makeVertex
static ConstPointerTo< RenderAttrib > ColorAttrib::make_vertex(void);

Description: Constructs a new ColorAttrib object that indicates geometry should be rendered according to its own vertex color.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ColorBlendAttrib

    from pandac.PandaModules import ColorBlendAttrib
    Class : ColorBlendAttrib
    Description : This specifies how colors are blended into the frame buffer, for special effects. This overrides transparency if transparency is also specified.

Inheritance:

    ColorBlendAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ColorBlendAttrib:

    getClassType
    getColor
    getMode
    getOperandA
    getOperandB
    involvesColorScale
    involvesConstantColor
    make
    makeOff

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in ColorBlendAttrib:

    MNone | (Mode)
MAdd | (Mode)
MSubtract | (Mode)
MInvSubtract | (Mode)
MMin | (Mode)
MMax | (Mode)
OZero | (Operand)
OOne | (Operand)
OIncomingColor | (Operand)
OOneMinusIncomingColor | (Operand)
OFbufferColor | (Operand)
OOneMinusFbufferColor | (Operand)
OIncomingAlpha | (Operand)
OOneMinusIncomingAlpha | (Operand)
OFbufferAlpha | (Operand)
OOneMinusFbufferAlpha | (Operand)
OConstantColor | (Operand)
OOneMinusConstantColor | (Operand)
OConstantAlpha | (Operand)
OOneMinusConstantAlpha | (Operand)
OIncomingColorSaturate | (Operand)
OColorScale | (Operand)
OOneMinusColorScale | (Operand)
OAlphaScale | (Operand)
OOneMinusAlphaScale | (Operand)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle ColorBlendAttrib::get_class_type(void);

Undocumented function.

getColor
LVecBase4f ColorBlendAttrib::get_color(void) const;

Description: Returns the constant color associated with the attrib.

getMode
ColorBlendAttrib::Mode ColorBlendAttrib::get_mode(void) const;

Description: Returns the colorBlend mode.

getOperandA
ColorBlendAttrib::Operand ColorBlendAttrib::get_operand_a(void) const;

Description: Returns the multiplier for the first component.

getOperandB
ColorBlendAttrib::Operand ColorBlendAttrib::get_operand_b(void) const;

Description: Returns the multiplier for the second component.

involvesColorScale
bool ColorBlendAttrib::involves_color_scale(void) const;

Description: Returns true if the this attrib uses the color scale attrib, false otherwise.
Description: Returns true if the indicated operand uses the color scale attrib, false otherwise.

involvesConstantColor
bool ColorBlendAttrib::involves_constant_color(void) const;

Description: Returns true if the this attrib uses the constant color, false otherwise.
Description: Returns true if the indicated operand uses the constant color, false otherwise.

make
static ConstPointerTo< RenderAttrib > ColorBlendAttrib::make(ColorBlendAttrib::Mode mode);

Description: Constructs a new ColorBlendAttrib object. This constructor is deprecated; use the one below, which takes three or four parameters, instead.
Description: Constructs a new ColorBlendAttrib object that enables special-effect blending. This supercedes transparency.

makeOff
static ConstPointerTo< RenderAttrib > ColorBlendAttrib::make_off(void);

Description: Constructs a new ColorBlendAttrib object that disables special-effect blending, allowing normal transparency to be used instead.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ColorEntry

    from direct.tkwidgets.VectorWidgets import ColorEntry

Inheritance:

    ColorEntry:

Methods of ColorEntry:

    __init__
    popupColorPicker
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

popupColorPicker
def popupColorPicker(self)

Undocumented function.


ColorInterpolationFunctionConstant

    from pandac.PandaModules import ColorInterpolationFunctionConstant
    Class : ColorInterpolationFunctionConstant
    Description : Defines a constant color over the lifetime of the segment.

Inheritance:

    ColorInterpolationFunctionConstant: ColorInterpolationFunction
    ColorInterpolationFunction:

Methods of ColorInterpolationFunctionConstant:

    getClassType
    getColorA
    setColorA
getClassType
static TypeHandle ColorInterpolationFunctionConstant::get_class_type(void);

Undocumented function.

getColorA
LVecBase4f ColorInterpolationFunctionConstant::get_color_a(void) const;

Description : Returns the primary color of the function.

setColorA
void ColorInterpolationFunctionConstant::set_color_a(LVecBase4f const c);

Description : Sets the primary color of the function.


ColorInterpolationFunctionLinear

    from pandac.PandaModules import ColorInterpolationFunctionLinear
    Class : ColorInterpolationFunctionLinear
    Description : Defines a linear interpolation over the lifetime of the segment.

Inheritance:

    ColorInterpolationFunctionLinear: ColorInterpolationFunctionConstant
    ColorInterpolationFunctionConstant: ColorInterpolationFunction
    ColorInterpolationFunction:

Methods of ColorInterpolationFunctionLinear:

    getClassType
    getColorB
    setColorB

Methods of ColorInterpolationFunctionConstant:

    getClassType
    getColorA
    setColorA
getClassType
static TypeHandle ColorInterpolationFunctionLinear::get_class_type(void);

Undocumented function.

getColorB
LVecBase4f ColorInterpolationFunctionLinear::get_color_b(void) const;

Description : Returns the secondary color of the function.

setColorB
void ColorInterpolationFunctionLinear::set_color_b(LVecBase4f const c);

Description : Sets the secondary color of the function.

getClassType
static TypeHandle ColorInterpolationFunctionConstant::get_class_type(void);

Undocumented function.

getColorA
LVecBase4f ColorInterpolationFunctionConstant::get_color_a(void) const;

Description : Returns the primary color of the function.

setColorA
void ColorInterpolationFunctionConstant::set_color_a(LVecBase4f const c);

Description : Sets the primary color of the function.


ColorInterpolationFunctionSinusoid

    from pandac.PandaModules import ColorInterpolationFunctionSinusoid
    Class : ColorInterpolationFunctionSinusoid
    Description : Defines a sinusoidal blending between two colors. A period of "1" corresponds to a single transition from color_a to color_b and then back to color_a over the course of the segment's lifetime. A shorter period will result in a higher frequency cycle.

Inheritance:

    ColorInterpolationFunctionSinusoid: ColorInterpolationFunctionLinear
    ColorInterpolationFunctionLinear: ColorInterpolationFunctionConstant
    ColorInterpolationFunctionConstant: ColorInterpolationFunction
    ColorInterpolationFunction:

Methods of ColorInterpolationFunctionSinusoid:

    getClassType
    getPeriod
    setPeriod

Methods of ColorInterpolationFunctionLinear:

    getClassType
    getColorB
    setColorB

Methods of ColorInterpolationFunctionConstant:

    getClassType
    getColorA
    setColorA
getClassType
static TypeHandle ColorInterpolationFunctionSinusoid::get_class_type(void);

Undocumented function.

getPeriod
float ColorInterpolationFunctionSinusoid::get_period(void) const;

Description : Returns the time to transition from A to B then back to A again.

setPeriod
void ColorInterpolationFunctionSinusoid::set_period(float const p);

Description : Sets the time to transition from A to B then back to A again.

getClassType
static TypeHandle ColorInterpolationFunctionLinear::get_class_type(void);

Undocumented function.

getColorB
LVecBase4f ColorInterpolationFunctionLinear::get_color_b(void) const;

Description : Returns the secondary color of the function.

setColorB
void ColorInterpolationFunctionLinear::set_color_b(LVecBase4f const c);

Description : Sets the secondary color of the function.

getClassType
static TypeHandle ColorInterpolationFunctionConstant::get_class_type(void);

Undocumented function.

getColorA
LVecBase4f ColorInterpolationFunctionConstant::get_color_a(void) const;

Description : Returns the primary color of the function.

setColorA
void ColorInterpolationFunctionConstant::set_color_a(LVecBase4f const c);

Description : Sets the primary color of the function.


ColorInterpolationFunctionStepwave

    from pandac.PandaModules import ColorInterpolationFunctionStepwave
    Class : ColorInterpolationFunctionStepwave
    Description : Defines a discrete cyclical transition between two colors. The widths describe a portion of the segment's lifetime for which the corresponding color should be selected. If their sum is less than 1, the function repeats until the end of the segment.

Inheritance:

    ColorInterpolationFunctionStepwave: ColorInterpolationFunctionLinear
    ColorInterpolationFunctionLinear: ColorInterpolationFunctionConstant
    ColorInterpolationFunctionConstant: ColorInterpolationFunction
    ColorInterpolationFunction:

Methods of ColorInterpolationFunctionStepwave:

    getClassType
    getWidthA
    getWidthB
    setWidthA
    setWidthB

Methods of ColorInterpolationFunctionLinear:

    getClassType
    getColorB
    setColorB

Methods of ColorInterpolationFunctionConstant:

    getClassType
    getColorA
    setColorA
getClassType
static TypeHandle ColorInterpolationFunctionStepwave::get_class_type(void);

Undocumented function.

getWidthA
float ColorInterpolationFunctionStepwave::get_width_a(void) const;

Description : Returns the primary width of the function.

getWidthB
float ColorInterpolationFunctionStepwave::get_width_b(void) const;

Description : Returns the secondary width of the function.

setWidthA
void ColorInterpolationFunctionStepwave::set_width_a(float const w);

Description : Sets the primary width of the function.

setWidthB
void ColorInterpolationFunctionStepwave::set_width_b(float const w);

Description : Sets the secondary width of the function.

getClassType
static TypeHandle ColorInterpolationFunctionLinear::get_class_type(void);

Undocumented function.

getColorB
LVecBase4f ColorInterpolationFunctionLinear::get_color_b(void) const;

Description : Returns the secondary color of the function.

setColorB
void ColorInterpolationFunctionLinear::set_color_b(LVecBase4f const c);

Description : Sets the secondary color of the function.

getClassType
static TypeHandle ColorInterpolationFunctionConstant::get_class_type(void);

Undocumented function.

getColorA
LVecBase4f ColorInterpolationFunctionConstant::get_color_a(void) const;

Description : Returns the primary color of the function.

setColorA
void ColorInterpolationFunctionConstant::set_color_a(LVecBase4f const c);

Description : Sets the primary color of the function.


ColorInterpolationManager

    from pandac.PandaModules import ColorInterpolationManager
    Class : ColorInterpolationManager
    Description : High level class for color interpolation. Segments must be added to the manager in order to achieve results using the "add_*****()" functions. Access to these segments is provided but not necessary general use.

Inheritance:

    ColorInterpolationManager: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of ColorInterpolationManager:

    ColorInterpolationManager (Constructor)
    addConstant
    addLinear
    addSinusoid
    addStepwave
    clearSegment
    clearToInitial
    getSegment
    getSegmentIdList
    setDefaultColor

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
ColorInterpolationManager
ColorInterpolationManager::ColorInterpolationManager(void);

Description : default constructor
Description : constructor
Description : copy constructor

addConstant
int ColorInterpolationManager::add_constant(float const time_begin = (0), float const time_end = (1), LVecBase4f const color = ((Colorf(1, 1, 1, 1))), bool const is_modulated = (1));

Description : Adds a constant segment of the specified color to the manager and returns the segment's id as known by the manager.

addLinear
int ColorInterpolationManager::add_linear(float const time_begin = (0), float const time_end = (1), LVecBase4f const color_a = ((Colorf(1, 0, 0, 1))), LVecBase4f const color_b = ((Colorf(0, 1, 0, 1))), bool const is_modulated = (1));

Description : Adds a linear segment between two colors to the manager and returns the segment's id as known by the manager.

addSinusoid
int ColorInterpolationManager::add_sinusoid(float const time_begin = (0), float const time_end = (1), LVecBase4f const color_a = ((Colorf(1, 0, 0, 1))), LVecBase4f const color_b = ((Colorf(0, 1, 0, 1))), float const period = (1), bool const is_modulated = (1));

Description : Adds a stepwave segment of two colors and a specified period to the manager and returns the segment's id as known by the manager.

addStepwave
int ColorInterpolationManager::add_stepwave(float const time_begin = (0), float const time_end = (1), LVecBase4f const color_a = ((Colorf(1, 0, 0, 1))), LVecBase4f const color_b = ((Colorf(0, 1, 0, 1))), float const width_a = (0.5), float const width_b = (0.5), bool const is_modulated = (1));

Description : Adds a stepwave segment of two colors to the manager and returns the segment's id as known by the manager.

clearSegment
void ColorInterpolationManager::clear_segment(int const seg_id);

Description : Removes the segment of 'id' from the manager.

clearToInitial
void ColorInterpolationManager::clear_to_initial(void);

Description : Removes all segments from the manager.

getSegment
ColorInterpolationSegment *ColorInterpolationManager::get_segment(int const seg_id);

Description : Returns the segment that corresponds to 'seg_id'.

getSegmentIdList
string ColorInterpolationManager::get_segment_id_list(void);

Description : Returns a space delimited list of all of the ids in the manager at the time.

setDefaultColor
void ColorInterpolationManager::set_default_color(LVecBase4f const &c);

Description : Sets the color to used if no segments are present

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ColorInterpolationSegment

    from pandac.PandaModules import ColorInterpolationSegment
    Class : ColorInterpolationSegment
    Description : A single unit of interpolation. The begin and end times are interpolated over the lifetime of the particle, thus have the range of [0,1]. Each segment also has a function associated with it.

Inheritance:

    ColorInterpolationSegment: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of ColorInterpolationSegment:

    ColorInterpolationSegment (Constructor)
    getFunction
    getId
    getTimeBegin
    getTimeEnd
    isEnabled
    isModulated
    setEnabled
    setFunction
    setIsModulated
    setTimeBegin
    setTimeEnd

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
ColorInterpolationSegment
ColorInterpolationSegment::ColorInterpolationSegment(ColorInterpolationFunction *function, float const &time_begin, float const &time_end, bool const is_modulated, int const id);

Description : constructor
Description : copy constructor

getFunction
TypedReferenceCount *ColorInterpolationSegment::get_function(void) const;

INLINE ColorInterpolationFunction* get_function() const;
Description : Returns a reference to the function object corresponding to this segment.

getId
int ColorInterpolationSegment::get_id(void) const;

Description : Returns the id assigned to this segment by the manager that created it.

getTimeBegin
float ColorInterpolationSegment::get_time_begin(void) const;

INLINE ColorInterpolationFunction* get_function() const;
Description : Returns the point in the particle's lifetime at which this segment begins its effect. It is an interpolated value in the range [0,1].

getTimeEnd
float ColorInterpolationSegment::get_time_end(void) const;

Description : Returns the point in the particle's lifetime at which this segment's effect stops. It is an interpolated value in the range [0,1].

isEnabled
bool ColorInterpolationSegment::is_enabled(void) const;

Description : Returns whether the segments effects are being applied.

isModulated
bool ColorInterpolationSegment::is_modulated(void) const;

Description : Returns whether the function is additive or modulated.

setEnabled
void ColorInterpolationSegment::set_enabled(bool const enabled);

Description : Sets whether the segments effects should be applied.

setFunction
void ColorInterpolationSegment::set_function(ColorInterpolationFunction *function);

Description : Sets the function that the segment will use for its interpolation calculations.

setIsModulated
void ColorInterpolationSegment::set_is_modulated(bool const flag);

Description : Sets how the function is applied to the final color. If true, the value is multiplied. If false, the value is simply added. Default is true.

setTimeBegin
void ColorInterpolationSegment::set_time_begin(float const time);

Description : Sets the point in the particle's lifetime at which this segment begins its effect. It is an interpolated value in the range [0,1].

setTimeEnd
void ColorInterpolationSegment::set_time_end(float const time);

Description : Sets the point in the particle's lifetime at which this segment's effect ends. It is an interpolated value in the range [0,1].

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ColorLerpFunctor

    from pandac.PandaModules import ColorLerpFunctor
    Class : ColorLerpFunctor
    Description : Class for Lerping between colors

Inheritance:

    ColorLerpFunctor: SimpleLerpFunctor< LVecBase4f >
    SimpleLerpFunctor< LVecBase4f >: LerpFunctor
    LerpFunctor: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ColorLerpFunctor:

    ColorLerpFunctor (Constructor)
    getClassType

Methods of SimpleLerpFunctor< LVecBase4f >:

    getClassType
    getEnd
    getStart
    interpolate

Methods of LerpFunctor:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
ColorLerpFunctor
ColorLerpFunctor::ColorLerpFunctor(NodePath np, LVecBase4f start, LVecBase4f end);

Undocumented function.

getClassType
static TypeHandle ColorLerpFunctor::get_class_type(void);

now for typehandle stuff

getClassType
static TypeHandle ::SimpleLerpFunctor< LVecBase4f >::get_class_type(void);

Undocumented function.

getEnd
LVecBase4f const &::SimpleLerpFunctor< LVecBase4f >::get_end(void) const;

Undocumented function.

getStart
LVecBase4f const &::SimpleLerpFunctor< LVecBase4f >::get_start(void) const;

Undocumented function.

interpolate
LVecBase4f ::SimpleLerpFunctor< LVecBase4f >::interpolate(float );

Undocumented function.

getClassType
static TypeHandle LerpFunctor::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ColorScaleAttrib

    from pandac.PandaModules import ColorScaleAttrib
    Class : ColorScaleAttrib
    Description : Applies a scale to colors in the scene graph and on vertices.

Inheritance:

    ColorScaleAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ColorScaleAttrib:

    getClassType
    getScale
    hasAlphaScale
    hasRgbScale
    hasScale
    isIdentity
    isOff
    make
    makeIdentity
    makeOff
    setScale

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle ColorScaleAttrib::get_class_type(void);

Undocumented function.

getScale
LVecBase4f const &ColorScaleAttrib::get_scale(void) const;

Description: Returns the scale to be applied to colors.

hasAlphaScale
bool ColorScaleAttrib::has_alpha_scale(void) const;

Description: Returns true if the ColorScaleAttrib has a non-identity scale in the alpha component (ignoring RGB), or false otherwise.

hasRgbScale
bool ColorScaleAttrib::has_rgb_scale(void) const;

Description: Returns true if the ColorScaleAttrib has a non-identity scale in the RGB components (ignoring alpha), or false otherwise.

hasScale
bool ColorScaleAttrib::has_scale(void) const;

Description: Returns true if the ColorScaleAttrib has a non-identity scale, false otherwise (in which case it might be an off attrib or an identity attrib).

isIdentity
bool ColorScaleAttrib::is_identity(void) const;

Description: Returns true if the ColorScaleAttrib is an identity attrib, false if it is either an off attrib or it has a scale.

isOff
bool ColorScaleAttrib::is_off(void) const;

Description: Returns true if the ColorScaleAttrib will ignore any color scales inherited from above, false otherwise. This is not the same thing as !has_scale(); a ColorScaleAttrib may have the "off" flag set and also have another scale specified.

make
static ConstPointerTo< RenderAttrib > ColorScaleAttrib::make(LVecBase4f const &scale);

Description: Constructs a new ColorScaleAttrib object that indicates geometry should be scaled by the indicated factor.

makeIdentity
static ConstPointerTo< RenderAttrib > ColorScaleAttrib::make_identity(void);

Description: Constructs an identity scale attrib.

makeOff
static ConstPointerTo< RenderAttrib > ColorScaleAttrib::make_off(void);

Description: Constructs a new ColorScaleAttrib object that ignores any ColorScaleAttrib inherited from above. You may also specify an additional color scale to apply to geometry below (using set_scale()).

setScale
ConstPointerTo< RenderAttrib > ColorScaleAttrib::set_scale(LVecBase4f const &scale) const;

Description: Returns a new ColorScaleAttrib, just like this one, but with the scale changed to the indicated value.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ColorScaleLerpFunctor

    from pandac.PandaModules import ColorScaleLerpFunctor
    Class : ColorScaleLerpFunctor
    Description : Class for Lerping between color scales

Inheritance:

    ColorScaleLerpFunctor: SimpleLerpFunctor< LVecBase4f >
    SimpleLerpFunctor< LVecBase4f >: LerpFunctor
    LerpFunctor: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ColorScaleLerpFunctor:

    ColorScaleLerpFunctor (Constructor)
    getClassType

Methods of SimpleLerpFunctor< LVecBase4f >:

    getClassType
    getEnd
    getStart
    interpolate

Methods of LerpFunctor:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
ColorScaleLerpFunctor
ColorScaleLerpFunctor::ColorScaleLerpFunctor(NodePath np, LVecBase4f start, LVecBase4f end);

Undocumented function.

getClassType
static TypeHandle ColorScaleLerpFunctor::get_class_type(void);

now for typehandle stuff

getClassType
static TypeHandle ::SimpleLerpFunctor< LVecBase4f >::get_class_type(void);

Undocumented function.

getEnd
LVecBase4f const &::SimpleLerpFunctor< LVecBase4f >::get_end(void) const;

Undocumented function.

getStart
LVecBase4f const &::SimpleLerpFunctor< LVecBase4f >::get_start(void) const;

Undocumented function.

interpolate
LVecBase4f ::SimpleLerpFunctor< LVecBase4f >::interpolate(float );

Undocumented function.

getClassType
static TypeHandle LerpFunctor::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ColorWriteAttrib

    from pandac.PandaModules import ColorWriteAttrib
    Class : ColorWriteAttrib
    Description : Enables or disables writing to the color buffer. This is primarily useful for certain special effects in which it is important to write to the depth buffer without affecting the color buffer.

Inheritance:

    ColorWriteAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ColorWriteAttrib:

    getChannels
    getClassType
    make

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in ColorWriteAttrib:

    COff | (Channels)
CRed | (Channels)
CGreen | (Channels)
CBlue | (Channels)
CRgb | (Channels)
CAlpha | (Channels)
CAll | (Channels)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getChannels
unsigned int ColorWriteAttrib::get_channels(void) const;

Description: Returns the mask of color channels that are enabled by this attrib.

getClassType
static TypeHandle ColorWriteAttrib::get_class_type(void);

Undocumented function.

make
static ConstPointerTo< RenderAttrib > ColorWriteAttrib::make(unsigned int channels);

Description: Constructs a new ColorWriteAttrib object.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CommonFilters

    from direct.filter.CommonFilters import CommonFilters
    Class CommonFilters implements certain common image postprocessing filters. The constructor requires a filter builder as a parameter.

Inheritance:

    CommonFilters:

Methods of CommonFilters:

    __init__
    cleanup
    delBloom
    delCartoonInk
    delHalfPixelShift
    delViewGlow
    loadShader
    reconfigure
    setBloom
    setCartoonInk
    setHalfPixelShift
    setViewGlow
__init__
def __init__(self, win, cam)

Undocumented function.

cleanup
def cleanup(self)

Undocumented function.

delBloom
def delBloom(self)

Undocumented function.

delCartoonInk
def delCartoonInk(self)

Undocumented function.

delHalfPixelShift
def delHalfPixelShift(self)

Undocumented function.

delViewGlow
def delViewGlow(self)

Undocumented function.

loadShader
def loadShader(self, name)

Undocumented function.

reconfigure
def reconfigure(self, fullrebuild, changed)

Reconfigure is called whenever any configuration change is made.

setBloom
def setBloom(self, blend=(0.3, 0.4, 0.3, 0.0), mintrigger=0.6, maxtrigger=1.0, desat=0.6, intensity=1.0, size="medium")

Undocumented function.

setCartoonInk
def setCartoonInk(self, separation=1)

Undocumented function.

setHalfPixelShift
def setHalfPixelShift(self)

Undocumented function.

setViewGlow
def setViewGlow(self)

Undocumented function.


CompassEffect

    from pandac.PandaModules import CompassEffect
    Class : CompassEffect
    Description : A CompassEffect causes a node to inherit its rotation (or pos or scale, if specified) from some other reference node in the graph, or more often from the root.
    In its purest form, a CompassEffect is used to keep the node's rotation fixed relative to the top of the scene graph, despite other transforms that may exist above the node. Hence the name: the node behaves like a magnetic compass, always pointing in the same direction.
    As an couple of generalizing extensions, the CompassEffect may also be set up to always orient its node according to some other reference node than the root of the scene graph. Furthermore, it may optionally adjust any of pos, rotation, or scale, instead of necessarily rotation; and it may adjust individual pos and scale components. (Rotation may not be adjusted on an individual component basis; that's just asking for trouble.)
    Be careful when using the pos and scale modes. In these modes, it's possible for the CompassEffect to move its node far from its normal bounding volume, causing culling to fail. If this is an issue, you may need to explicitly set a large (or infinite) bounding volume on the effect node.

Inheritance:

    CompassEffect: RenderEffect
    RenderEffect: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CompassEffect:

    getClassType
    getProperties
    getReference
    make

Methods of RenderEffect:

    compareTo
    getClassType
    getNumEffects
    listEffects
    output
    validateEffects
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in CompassEffect:

    PX | (Properties)
PY | (Properties)
PZ | (Properties)
PPos | (Properties)
PRot | (Properties)
PSx | (Properties)
PSy | (Properties)
PSz | (Properties)
PScale | (Properties)
PAll | (Properties)
getClassType
static TypeHandle CompassEffect::get_class_type(void);

Undocumented function.

getProperties
int CompassEffect::get_properties(void) const;

Description: Returns the bitmask of properties that this CompassEffect object inherits from its reference node (or from the root).

getReference
NodePath const &CompassEffect::get_reference(void) const;

Description: Returns the reference node from which the CompassEffect inherits its transform. If this is empty, it means the root of the scene graph.

make
static ConstPointerTo< RenderEffect > CompassEffect::make(NodePath const &reference, int properties = (P_rot));

Description: Constructs a new CompassEffect object. If the reference is an empty NodePath, it means the CompassEffect is relative to the root of the scene graph; otherwise, it's relative to the indicated node. The properties bitmask specifies the set of properties that the compass node inherits from the reference instead of from its parent.

compareTo
int RenderEffect::compare_to(RenderEffect const &other) const;

Description: Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderEffect class because all equivalent RenderEffect objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderEffect::get_class_type(void);

Undocumented function.

getNumEffects
static int RenderEffect::get_num_effects(void);

Description: Returns the total number of unique RenderEffect objects allocated in the world. This will go up and down during normal operations.

listEffects
static void RenderEffect::list_effects(ostream &out);

Description: Lists all of the RenderEffects in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderEffect::output(ostream &out) const;

Description:

validateEffects
static bool RenderEffect::validate_effects(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderEffect objects).

write
virtual void RenderEffect::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ComplexInspector

    from direct.tkpanels.Inspector import ComplexInspector

Inheritance:

    ComplexInspector:

Methods of ComplexInspector:

    namedParts
namedParts
def namedParts(self)

Undocumented function.


ConditionVar

    from pandac.PandaModules import ConditionVar

Inheritance:

    ConditionVar: ConditionVarDirect
    ConditionVarDirect:

Methods of ConditionVar:

    ConditionVar (Constructor)
    getMutex

Methods of ConditionVarDirect:

    getMutex
    output
    signal
    wait
ConditionVar
ConditionVar::ConditionVar(Mutex &mutex);

Description: You must pass in a Mutex to the condition variable constructor. This mutex may be shared by other condition variables, if desired. It is the caller's responsibility to ensure the Mutex object does not destruct during the lifetime of the condition variable.
Description: Do not attempt to copy condition variables.

getMutex
Mutex &ConditionVar::get_mutex(void) const;

Description: Returns the mutex associated with this condition variable.

getMutex
MutexDirect &ConditionVarDirect::get_mutex(void) const;

Description: Returns the mutex associated with this condition variable.

output
void ConditionVarDirect::output(ostream &out) const;

Description: This method is declared virtual in ConditionVarDebug, but non-virtual in ConditionVarDirect.

signal
void ConditionVarDirect::signal(void);

Description: Informs one of the other threads who are currently blocked on wait() that the relevant condition has changed. If multiple threads are currently waiting, at least one of them will be woken up, although there is no way to predict which one. It is possible that more than one thread will be woken up.
The caller must be holding the mutex associated with the condition variable before making this call, which will not release the mutex.
If no threads are waiting, this is a no-op: the signal is lost.

wait
void ConditionVarDirect::wait(void);

Description: Waits on the condition. The caller must already be holding the lock associated with the condition variable before calling this function.
wait() will release the lock, then go to sleep until some other thread calls signal() on this condition variable. At that time at least one thread waiting on the same ConditionVarDirect will grab the lock again, and then return from wait().
It is possible that wait() will return even if no one has called signal(). It is the responsibility of the calling process to verify the condition on return from wait, and possibly loop back to wait again if necessary.
Note the semantics of a condition variable: the mutex must be held before wait() is called, and it will still be held when wait() returns. However, it will be temporarily released during the wait() call itself.


ConditionVarDirect

    from pandac.PandaModules import ConditionVarDirect
    Class : ConditionVarDirect
    Description : A condition variable, usually used to communicate information about changing state to a thread that is waiting for something to happen. A condition variable can be used to "wake up" a thread when some arbitrary condition has changed.
    A condition variable is associated with a single mutex, and several condition variables may share the same mutex.

Inheritance:

    ConditionVarDirect:

Methods of ConditionVarDirect:

    getMutex
    output
    signal
    wait
getMutex
MutexDirect &ConditionVarDirect::get_mutex(void) const;

Description: Returns the mutex associated with this condition variable.

output
void ConditionVarDirect::output(ostream &out) const;

Description: This method is declared virtual in ConditionVarDebug, but non-virtual in ConditionVarDirect.

signal
void ConditionVarDirect::signal(void);

Description: Informs one of the other threads who are currently blocked on wait() that the relevant condition has changed. If multiple threads are currently waiting, at least one of them will be woken up, although there is no way to predict which one. It is possible that more than one thread will be woken up.
The caller must be holding the mutex associated with the condition variable before making this call, which will not release the mutex.
If no threads are waiting, this is a no-op: the signal is lost.

wait
void ConditionVarDirect::wait(void);

Description: Waits on the condition. The caller must already be holding the lock associated with the condition variable before calling this function.
wait() will release the lock, then go to sleep until some other thread calls signal() on this condition variable. At that time at least one thread waiting on the same ConditionVarDirect will grab the lock again, and then return from wait().
It is possible that wait() will return even if no one has called signal(). It is the responsibility of the calling process to verify the condition on return from wait, and possibly loop back to wait again if necessary.
Note the semantics of a condition variable: the mutex must be held before wait() is called, and it will still be held when wait() returns. However, it will be temporarily released during the wait() call itself.


ConditionVarFull

    from pandac.PandaModules import ConditionVarFull

Inheritance:

    ConditionVarFull: ConditionVarFullDirect
    ConditionVarFullDirect:

Methods of ConditionVarFull:

    ConditionVarFull (Constructor)
    getMutex

Methods of ConditionVarFullDirect:

    getMutex
    output
    signal
    signalAll
    wait
ConditionVarFull
ConditionVarFull::ConditionVarFull(Mutex &mutex);

Description: You must pass in a Mutex to the condition variable constructor. This mutex may be shared by other condition variables, if desired. It is the caller's responsibility to ensure the Mutex object does not destruct during the lifetime of the condition variable.
Description: Do not attempt to copy condition variables.

getMutex
Mutex &ConditionVarFull::get_mutex(void) const;

Description: Returns the mutex associated with this condition variable.

getMutex
MutexDirect &ConditionVarFullDirect::get_mutex(void) const;

Description: Returns the mutex associated with this condition variable.

output
void ConditionVarFullDirect::output(ostream &out) const;

Description: This method is declared virtual in ConditionVarFullDebug, but non-virtual in ConditionVarFullDirect.

signal
void ConditionVarFullDirect::signal(void);

Description: Informs one of the other threads who are currently blocked on wait() that the relevant condition has changed. If multiple threads are currently waiting, at least one of them will be woken up, although there is no way to predict which one. It is possible that more than one thread will be woken up.
The caller must be holding the mutex associated with the condition variable before making this call, which will not release the mutex.
If no threads are waiting, this is a no-op: the signal is lost.

signalAll
void ConditionVarFullDirect::signal_all(void);

Description: Informs all of the other threads who are currently blocked on wait() that the relevant condition has changed.
The caller must be holding the mutex associated with the condition variable before making this call, which will not release the mutex.
If no threads are waiting, this is a no-op: the signal is lost.

wait
void ConditionVarFullDirect::wait(void);

Description: Waits on the condition. The caller must already be holding the lock associated with the condition variable before calling this function.
wait() will release the lock, then go to sleep until some other thread calls signal() on this condition variable. At that time at least one thread waiting on the same ConditionVarFullDirect will grab the lock again, and then return from wait().
It is possible that wait() will return even if no one has called signal(). It is the responsibility of the calling process to verify the condition on return from wait, and possibly loop back to wait again if necessary.
Note the semantics of a condition variable: the mutex must be held before wait() is called, and it will still be held when wait() returns. However, it will be temporarily released during the wait() call itself.


ConditionVarFullDirect

    from pandac.PandaModules import ConditionVarFullDirect
    Class : ConditionVarFullDirect
    Description : A condition variable, usually used to communicate information about changing state to a thread that is waiting for something to happen. A condition variable can be used to "wake up" a thread when some arbitrary condition has changed.
    A condition variable is associated with a single mutex, and several condition variables may share the same mutex.

Inheritance:

    ConditionVarFullDirect:

Methods of ConditionVarFullDirect:

    getMutex
    output
    signal
    signalAll
    wait
getMutex
MutexDirect &ConditionVarFullDirect::get_mutex(void) const;

Description: Returns the mutex associated with this condition variable.

output
void ConditionVarFullDirect::output(ostream &out) const;

Description: This method is declared virtual in ConditionVarFullDebug, but non-virtual in ConditionVarFullDirect.

signal
void ConditionVarFullDirect::signal(void);

Description: Informs one of the other threads who are currently blocked on wait() that the relevant condition has changed. If multiple threads are currently waiting, at least one of them will be woken up, although there is no way to predict which one. It is possible that more than one thread will be woken up.
The caller must be holding the mutex associated with the condition variable before making this call, which will not release the mutex.
If no threads are waiting, this is a no-op: the signal is lost.

signalAll
void ConditionVarFullDirect::signal_all(void);

Description: Informs all of the other threads who are currently blocked on wait() that the relevant condition has changed.
The caller must be holding the mutex associated with the condition variable before making this call, which will not release the mutex.
If no threads are waiting, this is a no-op: the signal is lost.

wait
void ConditionVarFullDirect::wait(void);

Description: Waits on the condition. The caller must already be holding the lock associated with the condition variable before calling this function.
wait() will release the lock, then go to sleep until some other thread calls signal() on this condition variable. At that time at least one thread waiting on the same ConditionVarFullDirect will grab the lock again, and then return from wait().
It is possible that wait() will return even if no one has called signal(). It is the responsibility of the calling process to verify the condition on return from wait, and possibly loop back to wait again if necessary.
Note the semantics of a condition variable: the mutex must be held before wait() is called, and it will still be held when wait() returns. However, it will be temporarily released during the wait() call itself.


ConfigFlags

    from pandac.PandaModules import ConfigFlags
    Class : ConfigFlags
    Description : This class is the base class of both ConfigVariable and ConfigVariableCore. It exists only to provide a convenient name scoping for some enumerated values common to both classes.

Inheritance:

    ConfigFlags:

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)


ConfigPage

    from pandac.PandaModules import ConfigPage
    Class : ConfigPage
    Description : A page of ConfigDeclarations that may be loaded or unloaded. Typically this represents a single .prc file that is read from disk at runtime, but it may also represent a list of declarations built up by application code and explicitly loaded.

Inheritance:

    ConfigPage:

Methods of ConfigPage:

    clear
    deleteDeclaration
    getDeclaration
    getDefaultPage
    getLocalPage
    getName
    getNumDeclarations
    getPageSeq
    getSignature
    getStringValue
    getTrustLevel
    getVariableName
    isImplicit
    isSpecial
    isVariableUsed
    makeDeclaration
    output
    readEncryptedPrc
    readPrc
    setTrustLevel
    write
clear
void ConfigPage::clear(void);

Undocumented function.

deleteDeclaration
bool ConfigPage::delete_declaration(ConfigDeclaration *decl);

Undocumented function.

getDeclaration
ConfigDeclaration const *ConfigPage::get_declaration(int n) const;

Undocumented function.

getDefaultPage
static ConfigPage *ConfigPage::get_default_page(void);

Undocumented function.

getLocalPage
static ConfigPage *ConfigPage::get_local_page(void);

Undocumented function.

getName
string const &ConfigPage::get_name(void) const;

Description: Returns the name of the page. If the page was loaded from a .prc file, this is usually the filename.

getNumDeclarations
int ConfigPage::get_num_declarations(void) const;

Undocumented function.

getPageSeq
int ConfigPage::get_page_seq(void) const;

Description: Returns the sequence number of the page.
Sequence numbers for a particular class (implicit vs. explicit) of pages are assigned as each page is loaded; each page is given a higher sequence number than all the pages loaded before it.
The implicit_load pages, which are discovered in the file system automatically, have a different set of sequence numbers than the explicit pages.

getSignature
string const &ConfigPage::get_signature(void) const;

Description: Returns the raw binary signature that was found in the prc file, if any. This method is probably not terribly useful for most applications.

getStringValue
string ConfigPage::get_string_value(int n) const;

Undocumented function.

getTrustLevel
int ConfigPage::get_trust_level(void) const;

Description: Returns the trust level associated with this page. An untrusted page is trust level 0; if the page was loaded from a signed .prc file, its trust level is the index number of the certificate that signed it. Generally, a higher trust level value represents a greater level of trust.

getVariableName
string ConfigPage::get_variable_name(int n) const;

Undocumented function.

isImplicit
bool ConfigPage::is_implicit(void) const;

Description: Returns true if the page was loaded by implicitly searching the config path on startup, or false if it was explicitly loaded by dynamic code after initial startup.

isSpecial
bool ConfigPage::is_special(void) const;

Description: Returns true if this is the special "default" or "local" page, or false if it is an ordinary page, e.g. an implicit page loaded from a prc file at startup, or an explicit page created by ConfigPageManager::make_explicit_page().

isVariableUsed
bool ConfigPage::is_variable_used(int n) const;

Undocumented function.

makeDeclaration
ConfigDeclaration *ConfigPage::make_declaration(string const &variable, string const &value);

Undocumented function.

output
void ConfigPage::output(ostream &out) const;

Undocumented function.

readEncryptedPrc
bool ConfigPage::read_encrypted_prc(istream &in, string const &password);

Undocumented function.

readPrc
bool ConfigPage::read_prc(istream &in);

Undocumented function.

setTrustLevel
void ConfigPage::set_trust_level(int trust_level);

Description: Explicitly sets the trust level on this particular page. Note that any subsequent changes to the page, or to any variable declarations on it, will reset the trust level to zero.

write
void ConfigPage::write(ostream &out) const;

Undocumented function.


ConfigPageManager

    from pandac.PandaModules import ConfigPageManager
    Class : ConfigPageManager
    Description : A global object that maintains the set of ConfigPages everywhere in the world, and keeps them in sorted order.

Inheritance:

    ConfigPageManager: ConfigFlags
    ConfigFlags:

Methods of ConfigPageManager:

    deleteExplicitPage
    getExplicitPage
    getGlobalPtr
    getImplicitPage
    getNumExplicitPages
    getNumImplicitPages
    getNumPrcEncryptedPatterns
    getNumPrcExecutablePatterns
    getNumPrcPatterns
    getPrcEncryptedPattern
    getPrcExecutablePattern
    getPrcPattern
    getSearchPath
    loadedImplicitPages
    loadImplicitPages
    makeExplicitPage
    output
    reloadImplicitPages
    write

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)
deleteExplicitPage
bool ConfigPageManager::delete_explicit_page(ConfigPage *page);

Undocumented function.

getExplicitPage
ConfigPage *ConfigPageManager::get_explicit_page(int n) const;

Description: Returns the nth explicit ConfigPage in the world. See get_num_explicit_pages().

getGlobalPtr
static ConfigPageManager *ConfigPageManager::get_global_ptr(void);

Undocumented function.

getImplicitPage
ConfigPage *ConfigPageManager::get_implicit_page(int n) const;

Description: Returns the nth implicit ConfigPage in the world. See get_num_implicit_pages().

getNumExplicitPages
int ConfigPageManager::get_num_explicit_pages(void) const;

Description: Returns the current number of explicitly-loaded ConfigPages in the world. These represent pages that were loaded dynamically at runtime by explicit calls to ConfigPageManager::make_explicit_page().

getNumImplicitPages
int ConfigPageManager::get_num_implicit_pages(void) const;

Description: Returns the current number of implicitly-loaded ConfigPages in the world. These represent files that were automatically discovered on the disk as .prc files.

getNumPrcEncryptedPatterns
int ConfigPageManager::get_num_prc_encrypted_patterns(void) const;

Description: Returns the number of patterns, like "*.pre", that are compiled in that will be searched for as special config files that are understood to be encrypted.

getNumPrcExecutablePatterns
int ConfigPageManager::get_num_prc_executable_patterns(void) const;

Description: Returns the number of patterns, like "*.exe", that are compiled in that will be searched for as special config files that are to be executed as a program, and their output taken to be input. This is normally empty.

getNumPrcPatterns
int ConfigPageManager::get_num_prc_patterns(void) const;

Description: Returns the number of patterns, like "*.prc", that are compiled in that will be searched for as default config filenames. Normally there is only one pattern, and it is "*.prc", but others may be specified with the PRC_FILENAME variable in Config.pp.

getPrcEncryptedPattern
string ConfigPageManager::get_prc_encrypted_pattern(int n) const;

Description: Returns the nth filename pattern that will be considered a match as a valid encrypted config file. See get_num_prc_encrypted_patterns().

getPrcExecutablePattern
string ConfigPageManager::get_prc_executable_pattern(int n) const;

Description: Returns the nth filename pattern that will be considered a match as a valid executable-style config file. See get_num_prc_executable_patterns().

getPrcPattern
string ConfigPageManager::get_prc_pattern(int n) const;

Description: Returns the nth filename pattern that will be considered a match as a valid config file. See get_num_prc_patterns().

getSearchPath
DSearchPath &ConfigPageManager::get_search_path(void);

Description: Returns the search path used to locate implicit .prc files. This is determined by the PRC_DIR and PRC_PATH environment variables. The object returned by this method may be modified to change the path at runtime, and then reload_implicit_pages() called.

loadedImplicitPages
bool ConfigPageManager::loaded_implicit_pages(void) const;

Description: Returns true if the implicit *.prc files have already been loaded, false otherwise. Normally this will only be false briefly before startup.

loadImplicitPages
void ConfigPageManager::load_implicit_pages(void);

Description: Searches the PRC_DIR and/or PRC_PATH directories for
*.prc files and loads them in as pages. This is
normally called automatically at startup time, when the first variable's value is referenced. See also reload_implicit_pages().

makeExplicitPage
ConfigPage *ConfigPageManager::make_explicit_page(string const &name);

Undocumented function.

output
void ConfigPageManager::output(ostream &out) const;

Undocumented function.

reloadImplicitPages
void ConfigPageManager::reload_implicit_pages(void);

Undocumented function.

write
void ConfigPageManager::write(ostream &out) const;

Undocumented function.


ConfigVariable

    from pandac.PandaModules import ConfigVariable
    Class : ConfigVariable
    Description : This is a generic, untyped ConfigVariable. It is also the base class for the typed ConfigVariables, and contains all of the code common to ConfigVariables of all types (except ConfigVariableList, which is a bit of a special case).
    Mostly, this class serves as a thin wrapper around ConfigVariableCore and/or ConfigDeclaration, more or less duplicating the interface presented there.

Inheritance:

    ConfigVariable: ConfigVariableBase
    ConfigVariableBase: ConfigFlags
    ConfigFlags:

Methods of ConfigVariable:

    ConfigVariable (Constructor)
    getBoolWord
    getDefaultValue
    getDoubleWord
    getInt64Word
    getIntWord
    getNumWords
    getStringValue
    getStringWord
    hasBoolWord
    hasDoubleWord
    hasInt64Word
    hasIntWord
    hasStringWord
    setBoolWord
    setDoubleWord
    setInt64Word
    setIntWord
    setStringValue
    setStringWord

Methods of ConfigVariableBase:

    clearLocalValue
    getDescription
    getFlags
    getName
    getTrustLevel
    getValueType
    hasLocalValue
    hasValue
    isClosed
    isDynamic
    output
    write

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)
ConfigVariable
ConfigVariable::ConfigVariable(string const &name);

Description: This constructor is only intended to be called from a specialized ConfigVariableFoo derived class.
Description: Use this constructor to make a ConfigVariable of an unspecified type. Usually you'd want to do this just to reference a previously-defined ConfigVariable of a specific type, without having to know what type it is.

getBoolWord
bool ConfigVariable::get_bool_word(int n) const;

Description: Returns the boolean value of the nth word of the variable's value, or false if there is no nth value. See also has_bool_word().

getDefaultValue
ConfigDeclaration const *ConfigVariable::get_default_value(void) const;

Description: Returns the default variable specified for this variable. If the variable has not yet been defined, this will return NULL.

getDoubleWord
double ConfigVariable::get_double_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_double_word().

getInt64Word
__int64 ConfigVariable::get_int64_word(int n) const;

Description: Returns the int64 value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getIntWord
int ConfigVariable::get_int_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getNumWords
int ConfigVariable::get_num_words(void) const;

Description: Returns the number of words in the variable's value. A word is defined as a sequence of non-whitespace characters delimited by whitespace.

getStringValue
string const &ConfigVariable::get_string_value(void) const;

Description: Returns the toplevel value of the variable, formatted as a string.

getStringWord
string ConfigVariable::get_string_word(int n) const;

Description: Returns the string value of the nth word of the variable's value, or empty string if there is no nth value. See also has_string_word().

hasBoolWord
bool ConfigVariable::has_bool_word(int n) const;

Description: Returns true if the variable's value has a valid boolean value for the nth word.

hasDoubleWord
bool ConfigVariable::has_double_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasInt64Word
bool ConfigVariable::has_int64_word(int n) const;

Description: Returns true if the variable's value has a valid 64-bit integer value for the nth word.

hasIntWord
bool ConfigVariable::has_int_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasStringWord
bool ConfigVariable::has_string_word(int n) const;

Description: Returns true if the variable's value has a valid string value for the nth word. This is really the same thing as asking if there are at least n words in the value.

setBoolWord
void ConfigVariable::set_bool_word(int n, bool value);

Description: Changes the nth word to the indicated value without affecting the other words.

setDoubleWord
void ConfigVariable::set_double_word(int n, double value);

Description: Changes the nth word to the indicated value without affecting the other words.

setInt64Word
void ConfigVariable::set_int64_word(int n, __int64 value);

Description: Changes the nth word to the indicated value without affecting the other words.

setIntWord
void ConfigVariable::set_int_word(int n, int value);

Description: Changes the nth word to the indicated value without affecting the other words.

setStringValue
void ConfigVariable::set_string_value(string const &value);

Description: Changes the value assigned to this variable. This creates a local value that shadows any values defined in the .prc files, until clear_local_value() is called.

setStringWord
void ConfigVariable::set_string_word(int n, string const &value);

Description: Changes the nth word to the indicated value without affecting the other words.

clearLocalValue
bool ConfigVariableBase::clear_local_value(void);

Description: Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files.
Returns true if the value was successfully removed, false if it did not exist in the first place.

getDescription
string const &ConfigVariableBase::get_description(void) const;

Description: Returns the brief description of this variable, if it has been defined.

getFlags
int ConfigVariableBase::get_flags(void) const;

Description: Returns the flags value as set by set_flags(). This includes the trust level and some other settings. See the individual methods is_closed(), get_trust_level(), etc. to pull out the semantic meaning of these flags individually.

getName
string const &ConfigVariableBase::get_name(void) const;

Description: Returns the name of the variable.

getTrustLevel
int ConfigVariableBase::get_trust_level(void) const;

Description: Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. Arguably, this should be called the "mistrust level", since the larger the value, the more suspicious we are of prc files. This value is not used if is_closed() returns true, which indicates no file may be trusted.
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

getValueType
ConfigFlags::ValueType ConfigVariableBase::get_value_type(void) const;

Description: Returns the stated type of this variable. This should be VT_list, unless a later variable declaration has changed it.

hasLocalValue
bool ConfigVariableBase::has_local_value(void) const;

Description: Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.

hasValue
bool ConfigVariableBase::has_value(void) const;

Description: Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value.

isClosed
bool ConfigVariableBase::is_closed(void) const;

Description: Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()).
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

isDynamic
bool ConfigVariableBase::is_dynamic(void) const;

Description: Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables.

output
void ConfigVariableBase::output(ostream &out) const;

Description:

write
void ConfigVariableBase::write(ostream &out) const;

Description:


ConfigVariableBase

    from pandac.PandaModules import ConfigVariableBase
    Class : ConfigVariableBase
    Description : This class is the base class for both ConfigVariableList and ConfigVariable (and hence for all of the ConfigVariableBool, ConfigVaribleString, etc. classes). It collects together the common interface for all generic ConfigVariables.
    Mostly, this class serves as a thin wrapper around ConfigVariableCore and/or ConfigDeclaration, more or less duplicating the interface presented there.

Inheritance:

    ConfigVariableBase: ConfigFlags
    ConfigFlags:

Methods of ConfigVariableBase:

    clearLocalValue
    getDescription
    getFlags
    getName
    getTrustLevel
    getValueType
    hasLocalValue
    hasValue
    isClosed
    isDynamic
    output
    write

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)
clearLocalValue
bool ConfigVariableBase::clear_local_value(void);

Description: Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files.
Returns true if the value was successfully removed, false if it did not exist in the first place.

getDescription
string const &ConfigVariableBase::get_description(void) const;

Description: Returns the brief description of this variable, if it has been defined.

getFlags
int ConfigVariableBase::get_flags(void) const;

Description: Returns the flags value as set by set_flags(). This includes the trust level and some other settings. See the individual methods is_closed(), get_trust_level(), etc. to pull out the semantic meaning of these flags individually.

getName
string const &ConfigVariableBase::get_name(void) const;

Description: Returns the name of the variable.

getTrustLevel
int ConfigVariableBase::get_trust_level(void) const;

Description: Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. Arguably, this should be called the "mistrust level", since the larger the value, the more suspicious we are of prc files. This value is not used if is_closed() returns true, which indicates no file may be trusted.
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

getValueType
ConfigFlags::ValueType ConfigVariableBase::get_value_type(void) const;

Description: Returns the stated type of this variable. This should be VT_list, unless a later variable declaration has changed it.

hasLocalValue
bool ConfigVariableBase::has_local_value(void) const;

Description: Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.

hasValue
bool ConfigVariableBase::has_value(void) const;

Description: Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value.

isClosed
bool ConfigVariableBase::is_closed(void) const;

Description: Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()).
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

isDynamic
bool ConfigVariableBase::is_dynamic(void) const;

Description: Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables.

output
void ConfigVariableBase::output(ostream &out) const;

Description:

write
void ConfigVariableBase::write(ostream &out) const;

Description:


ConfigVariableBool

    from pandac.PandaModules import ConfigVariableBool
    Class : ConfigVariableBool
    Description : This is a convenience class to specialize ConfigVariable as a boolean type.

Inheritance:

    ConfigVariableBool: ConfigVariable
    ConfigVariable: ConfigVariableBase
    ConfigVariableBase: ConfigFlags
    ConfigFlags:

Methods of ConfigVariableBool:

    ConfigVariableBool (Constructor)
    getDefaultValue
    getValue
    getWord
    operator =
    operator []
    setValue
    setWord
    size

Methods of ConfigVariable:

    ConfigVariable (Constructor)
    getBoolWord
    getDefaultValue
    getDoubleWord
    getInt64Word
    getIntWord
    getNumWords
    getStringValue
    getStringWord
    hasBoolWord
    hasDoubleWord
    hasInt64Word
    hasIntWord
    hasStringWord
    setBoolWord
    setDoubleWord
    setInt64Word
    setIntWord
    setStringValue
    setStringWord

Methods of ConfigVariableBase:

    clearLocalValue
    getDescription
    getFlags
    getName
    getTrustLevel
    getValueType
    hasLocalValue
    hasValue
    isClosed
    isDynamic
    output
    write

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)
ConfigVariableBool
ConfigVariableBool::ConfigVariableBool(string const &name);

Description:

getDefaultValue
bool ConfigVariableBool::get_default_value(void) const;

Description: Returns the variable's default value.

getValue
bool ConfigVariableBool::get_value(void) const;

Description: Returns the variable's value.

getWord
bool ConfigVariableBool::get_word(int n) const;

Description: Returns the variable's nth value.

operator =
void ConfigVariableBool::operator =(bool value);

Description: Reassigns the variable's local value.

operator []
bool ConfigVariableBool::operator [](int n) const;

Description: Returns the value of the variable's nth word.

setValue
void ConfigVariableBool::set_value(bool value);

Description: Reassigns the variable's local value.

setWord
void ConfigVariableBool::set_word(int n, bool value);

Description: Reassigns the variable's nth value. This makes a local copy of the variable's overall value.

size
int ConfigVariableBool::size(void) const;

Description: Returns the number of unique words in the variable.

ConfigVariable
ConfigVariable::ConfigVariable(string const &name);

Description: This constructor is only intended to be called from a specialized ConfigVariableFoo derived class.
Description: Use this constructor to make a ConfigVariable of an unspecified type. Usually you'd want to do this just to reference a previously-defined ConfigVariable of a specific type, without having to know what type it is.

getBoolWord
bool ConfigVariable::get_bool_word(int n) const;

Description: Returns the boolean value of the nth word of the variable's value, or false if there is no nth value. See also has_bool_word().

getDefaultValue
ConfigDeclaration const *ConfigVariable::get_default_value(void) const;

Description: Returns the default variable specified for this variable. If the variable has not yet been defined, this will return NULL.

getDoubleWord
double ConfigVariable::get_double_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_double_word().

getInt64Word
__int64 ConfigVariable::get_int64_word(int n) const;

Description: Returns the int64 value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getIntWord
int ConfigVariable::get_int_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getNumWords
int ConfigVariable::get_num_words(void) const;

Description: Returns the number of words in the variable's value. A word is defined as a sequence of non-whitespace characters delimited by whitespace.

getStringValue
string const &ConfigVariable::get_string_value(void) const;

Description: Returns the toplevel value of the variable, formatted as a string.

getStringWord
string ConfigVariable::get_string_word(int n) const;

Description: Returns the string value of the nth word of the variable's value, or empty string if there is no nth value. See also has_string_word().

hasBoolWord
bool ConfigVariable::has_bool_word(int n) const;

Description: Returns true if the variable's value has a valid boolean value for the nth word.

hasDoubleWord
bool ConfigVariable::has_double_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasInt64Word
bool ConfigVariable::has_int64_word(int n) const;

Description: Returns true if the variable's value has a valid 64-bit integer value for the nth word.

hasIntWord
bool ConfigVariable::has_int_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasStringWord
bool ConfigVariable::has_string_word(int n) const;

Description: Returns true if the variable's value has a valid string value for the nth word. This is really the same thing as asking if there are at least n words in the value.

setBoolWord
void ConfigVariable::set_bool_word(int n, bool value);

Description: Changes the nth word to the indicated value without affecting the other words.

setDoubleWord
void ConfigVariable::set_double_word(int n, double value);

Description: Changes the nth word to the indicated value without affecting the other words.

setInt64Word
void ConfigVariable::set_int64_word(int n, __int64 value);

Description: Changes the nth word to the indicated value without affecting the other words.

setIntWord
void ConfigVariable::set_int_word(int n, int value);

Description: Changes the nth word to the indicated value without affecting the other words.

setStringValue
void ConfigVariable::set_string_value(string const &value);

Description: Changes the value assigned to this variable. This creates a local value that shadows any values defined in the .prc files, until clear_local_value() is called.

setStringWord
void ConfigVariable::set_string_word(int n, string const &value);

Description: Changes the nth word to the indicated value without affecting the other words.

clearLocalValue
bool ConfigVariableBase::clear_local_value(void);

Description: Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files.
Returns true if the value was successfully removed, false if it did not exist in the first place.

getDescription
string const &ConfigVariableBase::get_description(void) const;

Description: Returns the brief description of this variable, if it has been defined.

getFlags
int ConfigVariableBase::get_flags(void) const;

Description: Returns the flags value as set by set_flags(). This includes the trust level and some other settings. See the individual methods is_closed(), get_trust_level(), etc. to pull out the semantic meaning of these flags individually.

getName
string const &ConfigVariableBase::get_name(void) const;

Description: Returns the name of the variable.

getTrustLevel
int ConfigVariableBase::get_trust_level(void) const;

Description: Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. Arguably, this should be called the "mistrust level", since the larger the value, the more suspicious we are of prc files. This value is not used if is_closed() returns true, which indicates no file may be trusted.
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

getValueType
ConfigFlags::ValueType ConfigVariableBase::get_value_type(void) const;

Description: Returns the stated type of this variable. This should be VT_list, unless a later variable declaration has changed it.

hasLocalValue
bool ConfigVariableBase::has_local_value(void) const;

Description: Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.

hasValue
bool ConfigVariableBase::has_value(void) const;

Description: Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value.

isClosed
bool ConfigVariableBase::is_closed(void) const;

Description: Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()).
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

isDynamic
bool ConfigVariableBase::is_dynamic(void) const;

Description: Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables.

output
void ConfigVariableBase::output(ostream &out) const;

Description:

write
void ConfigVariableBase::write(ostream &out) const;

Description:


ConfigVariableDouble

    from pandac.PandaModules import ConfigVariableDouble
    Class : ConfigVariableDouble
    Description : This is a convenience class to specialize ConfigVariable as a floating-point type.

Inheritance:

    ConfigVariableDouble: ConfigVariable
    ConfigVariable: ConfigVariableBase
    ConfigVariableBase: ConfigFlags
    ConfigFlags:

Methods of ConfigVariableDouble:

    ConfigVariableDouble (Constructor)
    getDefaultValue
    getValue
    getWord
    operator =
    operator []
    setValue
    setWord
    size

Methods of ConfigVariable:

    ConfigVariable (Constructor)
    getBoolWord
    getDefaultValue
    getDoubleWord
    getInt64Word
    getIntWord
    getNumWords
    getStringValue
    getStringWord
    hasBoolWord
    hasDoubleWord
    hasInt64Word
    hasIntWord
    hasStringWord
    setBoolWord
    setDoubleWord
    setInt64Word
    setIntWord
    setStringValue
    setStringWord

Methods of ConfigVariableBase:

    clearLocalValue
    getDescription
    getFlags
    getName
    getTrustLevel
    getValueType
    hasLocalValue
    hasValue
    isClosed
    isDynamic
    output
    write

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)
ConfigVariableDouble
ConfigVariableDouble::ConfigVariableDouble(string const &name);

Description:

getDefaultValue
double ConfigVariableDouble::get_default_value(void) const;

Description: Returns the variable's default value.

getValue
double ConfigVariableDouble::get_value(void) const;

Description: Returns the variable's value.

getWord
double ConfigVariableDouble::get_word(int n) const;

Description: Returns the variable's nth value.

operator =
void ConfigVariableDouble::operator =(double value);

Description: Reassigns the variable's local value.

operator []
double ConfigVariableDouble::operator [](int n) const;

Description: Returns the value of the variable's nth word.

setValue
void ConfigVariableDouble::set_value(double value);

Description: Reassigns the variable's local value.

setWord
void ConfigVariableDouble::set_word(int n, double value);

Description: Reassigns the variable's nth value. This makes a local copy of the variable's overall value.

size
int ConfigVariableDouble::size(void) const;

Description: Returns the number of unique words in the variable.

ConfigVariable
ConfigVariable::ConfigVariable(string const &name);

Description: This constructor is only intended to be called from a specialized ConfigVariableFoo derived class.
Description: Use this constructor to make a ConfigVariable of an unspecified type. Usually you'd want to do this just to reference a previously-defined ConfigVariable of a specific type, without having to know what type it is.

getBoolWord
bool ConfigVariable::get_bool_word(int n) const;

Description: Returns the boolean value of the nth word of the variable's value, or false if there is no nth value. See also has_bool_word().

getDefaultValue
ConfigDeclaration const *ConfigVariable::get_default_value(void) const;

Description: Returns the default variable specified for this variable. If the variable has not yet been defined, this will return NULL.

getDoubleWord
double ConfigVariable::get_double_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_double_word().

getInt64Word
__int64 ConfigVariable::get_int64_word(int n) const;

Description: Returns the int64 value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getIntWord
int ConfigVariable::get_int_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getNumWords
int ConfigVariable::get_num_words(void) const;

Description: Returns the number of words in the variable's value. A word is defined as a sequence of non-whitespace characters delimited by whitespace.

getStringValue
string const &ConfigVariable::get_string_value(void) const;

Description: Returns the toplevel value of the variable, formatted as a string.

getStringWord
string ConfigVariable::get_string_word(int n) const;

Description: Returns the string value of the nth word of the variable's value, or empty string if there is no nth value. See also has_string_word().

hasBoolWord
bool ConfigVariable::has_bool_word(int n) const;

Description: Returns true if the variable's value has a valid boolean value for the nth word.

hasDoubleWord
bool ConfigVariable::has_double_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasInt64Word
bool ConfigVariable::has_int64_word(int n) const;

Description: Returns true if the variable's value has a valid 64-bit integer value for the nth word.

hasIntWord
bool ConfigVariable::has_int_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasStringWord
bool ConfigVariable::has_string_word(int n) const;

Description: Returns true if the variable's value has a valid string value for the nth word. This is really the same thing as asking if there are at least n words in the value.

setBoolWord
void ConfigVariable::set_bool_word(int n, bool value);

Description: Changes the nth word to the indicated value without affecting the other words.

setDoubleWord
void ConfigVariable::set_double_word(int n, double value);

Description: Changes the nth word to the indicated value without affecting the other words.

setInt64Word
void ConfigVariable::set_int64_word(int n, __int64 value);

Description: Changes the nth word to the indicated value without affecting the other words.

setIntWord
void ConfigVariable::set_int_word(int n, int value);

Description: Changes the nth word to the indicated value without affecting the other words.

setStringValue
void ConfigVariable::set_string_value(string const &value);

Description: Changes the value assigned to this variable. This creates a local value that shadows any values defined in the .prc files, until clear_local_value() is called.

setStringWord
void ConfigVariable::set_string_word(int n, string const &value);

Description: Changes the nth word to the indicated value without affecting the other words.

clearLocalValue
bool ConfigVariableBase::clear_local_value(void);

Description: Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files.
Returns true if the value was successfully removed, false if it did not exist in the first place.

getDescription
string const &ConfigVariableBase::get_description(void) const;

Description: Returns the brief description of this variable, if it has been defined.

getFlags
int ConfigVariableBase::get_flags(void) const;

Description: Returns the flags value as set by set_flags(). This includes the trust level and some other settings. See the individual methods is_closed(), get_trust_level(), etc. to pull out the semantic meaning of these flags individually.

getName
string const &ConfigVariableBase::get_name(void) const;

Description: Returns the name of the variable.

getTrustLevel
int ConfigVariableBase::get_trust_level(void) const;

Description: Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. Arguably, this should be called the "mistrust level", since the larger the value, the more suspicious we are of prc files. This value is not used if is_closed() returns true, which indicates no file may be trusted.
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

getValueType
ConfigFlags::ValueType ConfigVariableBase::get_value_type(void) const;

Description: Returns the stated type of this variable. This should be VT_list, unless a later variable declaration has changed it.

hasLocalValue
bool ConfigVariableBase::has_local_value(void) const;

Description: Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.

hasValue
bool ConfigVariableBase::has_value(void) const;

Description: Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value.

isClosed
bool ConfigVariableBase::is_closed(void) const;

Description: Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()).
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

isDynamic
bool ConfigVariableBase::is_dynamic(void) const;

Description: Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables.

output
void ConfigVariableBase::output(ostream &out) const;

Description:

write
void ConfigVariableBase::write(ostream &out) const;

Description:


ConfigVariableFilename

    from pandac.PandaModules import ConfigVariableFilename
    Class : ConfigVariableFilename
    Description : This is a convenience class to specialize ConfigVariable as a Filename type. It is almost the same thing as ConfigVariableString, except it handles an implicit Filename::expand_from() operation so that the user may put OS-specific filenames, or filenames based on environment variables, in the prc file.

Inheritance:

    ConfigVariableFilename: ConfigVariable
    ConfigVariable: ConfigVariableBase
    ConfigVariableBase: ConfigFlags
    ConfigFlags:

Methods of ConfigVariableFilename:

    ConfigVariableFilename (Constructor)
    cStr
    empty
    getBasename
    getBasenameWoExtension
    getDefaultValue
    getDirname
    getExtension
    getFullpath
    getFullpathWoExtension
    getValue
    getWord
    length
    operator !=
    operator <
    operator =
    operator ==
    operator []
    setValue
    setWord

Methods of ConfigVariable:

    ConfigVariable (Constructor)
    getBoolWord
    getDefaultValue
    getDoubleWord
    getInt64Word
    getIntWord
    getNumWords
    getStringValue
    getStringWord
    hasBoolWord
    hasDoubleWord
    hasInt64Word
    hasIntWord
    hasStringWord
    setBoolWord
    setDoubleWord
    setInt64Word
    setIntWord
    setStringValue
    setStringWord

Methods of ConfigVariableBase:

    clearLocalValue
    getDescription
    getFlags
    getName
    getTrustLevel
    getValueType
    hasLocalValue
    hasValue
    isClosed
    isDynamic
    output
    write

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)
ConfigVariableFilename
ConfigVariableFilename::ConfigVariableFilename(string const &name);

Description:

cStr
char const *ConfigVariableFilename::c_str(void) const;

These methods help the ConfigVariableFilename act like a Filename object.
Description:

empty
bool ConfigVariableFilename::empty(void) const;

These methods help the ConfigVariableFilename act like a Filename object.
Description:

getBasename
string ConfigVariableFilename::get_basename(void) const;

Description: Returns the basename part of the filename. This is everything in the filename after the rightmost slash, including any extensions.

getBasenameWoExtension
string ConfigVariableFilename::get_basename_wo_extension(void) const;

Description: Returns the basename part of the filename, without the file extension.

getDefaultValue
Filename ConfigVariableFilename::get_default_value(void) const;

Description: Returns the variable's default value.

getDirname
string ConfigVariableFilename::get_dirname(void) const;

Description: Returns the directory part of the filename. This is everything in the filename up to, but not including the rightmost slash.

getExtension
string ConfigVariableFilename::get_extension(void) const;

Description: Returns the file extension. This is everything after the rightmost dot, if there is one, or the empty string if there is not.

getFullpath
string ConfigVariableFilename::get_fullpath(void) const;

Description: Returns the entire filename: directory, basename, extension. This is the same thing returned by the string typecast operator, so this function is a little redundant.

getFullpathWoExtension
string ConfigVariableFilename::get_fullpath_wo_extension(void) const;

Description: Returns the full filename--directory and basename parts--except for the extension.

getValue
Filename const &ConfigVariableFilename::get_value(void) const;

Description: Returns the variable's value.

getWord
Filename ConfigVariableFilename::get_word(int n) const;

Description: Returns the variable's nth value.

length
unsigned int ConfigVariableFilename::length(void) const;

Description:

operator !=
bool ConfigVariableFilename::operator !=(Filename const &other) const;

Comparison operators are handy.
Description:

operator <
bool ConfigVariableFilename::operator <(Filename const &other) const;

Description:

operator =
void ConfigVariableFilename::operator =(Filename const &value);

Description: Reassigns the variable's local value.

operator ==
bool ConfigVariableFilename::operator ==(Filename const &other) const;

Comparison operators are handy.
Description:

operator []
char ConfigVariableFilename::operator [](int n) const;

Description:

setValue
void ConfigVariableFilename::set_value(Filename const &value);

Description: Reassigns the variable's local value.

setWord
void ConfigVariableFilename::set_word(int n, Filename const &value);

Description: Reassigns the variable's nth value. This makes a local copy of the variable's overall value.

ConfigVariable
ConfigVariable::ConfigVariable(string const &name);

Description: This constructor is only intended to be called from a specialized ConfigVariableFoo derived class.
Description: Use this constructor to make a ConfigVariable of an unspecified type. Usually you'd want to do this just to reference a previously-defined ConfigVariable of a specific type, without having to know what type it is.

getBoolWord
bool ConfigVariable::get_bool_word(int n) const;

Description: Returns the boolean value of the nth word of the variable's value, or false if there is no nth value. See also has_bool_word().

getDefaultValue
ConfigDeclaration const *ConfigVariable::get_default_value(void) const;

Description: Returns the default variable specified for this variable. If the variable has not yet been defined, this will return NULL.

getDoubleWord
double ConfigVariable::get_double_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_double_word().

getInt64Word
__int64 ConfigVariable::get_int64_word(int n) const;

Description: Returns the int64 value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getIntWord
int ConfigVariable::get_int_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getNumWords
int ConfigVariable::get_num_words(void) const;

Description: Returns the number of words in the variable's value. A word is defined as a sequence of non-whitespace characters delimited by whitespace.

getStringValue
string const &ConfigVariable::get_string_value(void) const;

Description: Returns the toplevel value of the variable, formatted as a string.

getStringWord
string ConfigVariable::get_string_word(int n) const;

Description: Returns the string value of the nth word of the variable's value, or empty string if there is no nth value. See also has_string_word().

hasBoolWord
bool ConfigVariable::has_bool_word(int n) const;

Description: Returns true if the variable's value has a valid boolean value for the nth word.

hasDoubleWord
bool ConfigVariable::has_double_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasInt64Word
bool ConfigVariable::has_int64_word(int n) const;

Description: Returns true if the variable's value has a valid 64-bit integer value for the nth word.

hasIntWord
bool ConfigVariable::has_int_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasStringWord
bool ConfigVariable::has_string_word(int n) const;

Description: Returns true if the variable's value has a valid string value for the nth word. This is really the same thing as asking if there are at least n words in the value.

setBoolWord
void ConfigVariable::set_bool_word(int n, bool value);

Description: Changes the nth word to the indicated value without affecting the other words.

setDoubleWord
void ConfigVariable::set_double_word(int n, double value);

Description: Changes the nth word to the indicated value without affecting the other words.

setInt64Word
void ConfigVariable::set_int64_word(int n, __int64 value);

Description: Changes the nth word to the indicated value without affecting the other words.

setIntWord
void ConfigVariable::set_int_word(int n, int value);

Description: Changes the nth word to the indicated value without affecting the other words.

setStringValue
void ConfigVariable::set_string_value(string const &value);

Description: Changes the value assigned to this variable. This creates a local value that shadows any values defined in the .prc files, until clear_local_value() is called.

setStringWord
void ConfigVariable::set_string_word(int n, string const &value);

Description: Changes the nth word to the indicated value without affecting the other words.

clearLocalValue
bool ConfigVariableBase::clear_local_value(void);

Description: Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files.
Returns true if the value was successfully removed, false if it did not exist in the first place.

getDescription
string const &ConfigVariableBase::get_description(void) const;

Description: Returns the brief description of this variable, if it has been defined.

getFlags
int ConfigVariableBase::get_flags(void) const;

Description: Returns the flags value as set by set_flags(). This includes the trust level and some other settings. See the individual methods is_closed(), get_trust_level(), etc. to pull out the semantic meaning of these flags individually.

getName
string const &ConfigVariableBase::get_name(void) const;

Description: Returns the name of the variable.

getTrustLevel
int ConfigVariableBase::get_trust_level(void) const;

Description: Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. Arguably, this should be called the "mistrust level", since the larger the value, the more suspicious we are of prc files. This value is not used if is_closed() returns true, which indicates no file may be trusted.
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

getValueType
ConfigFlags::ValueType ConfigVariableBase::get_value_type(void) const;

Description: Returns the stated type of this variable. This should be VT_list, unless a later variable declaration has changed it.

hasLocalValue
bool ConfigVariableBase::has_local_value(void) const;

Description: Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.

hasValue
bool ConfigVariableBase::has_value(void) const;

Description: Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value.

isClosed
bool ConfigVariableBase::is_closed(void) const;

Description: Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()).
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

isDynamic
bool ConfigVariableBase::is_dynamic(void) const;

Description: Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables.

output
void ConfigVariableBase::output(ostream &out) const;

Description:

write
void ConfigVariableBase::write(ostream &out) const;

Description:


ConfigVariableInt

    from pandac.PandaModules import ConfigVariableInt
    Class : ConfigVariableInt
    Description : This is a convenience class to specialize ConfigVariable as an integer type.

Inheritance:

    ConfigVariableInt: ConfigVariable
    ConfigVariable: ConfigVariableBase
    ConfigVariableBase: ConfigFlags
    ConfigFlags:

Methods of ConfigVariableInt:

    ConfigVariableInt (Constructor)
    getDefaultValue
    getValue
    getWord
    operator =
    operator []
    setValue
    setWord
    size

Methods of ConfigVariable:

    ConfigVariable (Constructor)
    getBoolWord
    getDefaultValue
    getDoubleWord
    getInt64Word
    getIntWord
    getNumWords
    getStringValue
    getStringWord
    hasBoolWord
    hasDoubleWord
    hasInt64Word
    hasIntWord
    hasStringWord
    setBoolWord
    setDoubleWord
    setInt64Word
    setIntWord
    setStringValue
    setStringWord

Methods of ConfigVariableBase:

    clearLocalValue
    getDescription
    getFlags
    getName
    getTrustLevel
    getValueType
    hasLocalValue
    hasValue
    isClosed
    isDynamic
    output
    write

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)
ConfigVariableInt
ConfigVariableInt::ConfigVariableInt(string const &name);

Description:

getDefaultValue
int ConfigVariableInt::get_default_value(void) const;

Description: Returns the variable's default value.

getValue
int ConfigVariableInt::get_value(void) const;

Description: Returns the variable's value.

getWord
int ConfigVariableInt::get_word(int n) const;

Description: Returns the variable's nth value.

operator =
void ConfigVariableInt::operator =(int value);

Description: Reassigns the variable's local value.

operator []
int ConfigVariableInt::operator [](int n) const;

Description: Returns the value of the variable's nth word.

setValue
void ConfigVariableInt::set_value(int value);

Description: Reassigns the variable's local value.

setWord
void ConfigVariableInt::set_word(int n, int value);

Description: Reassigns the variable's nth value. This makes a local copy of the variable's overall value.

size
int ConfigVariableInt::size(void) const;

Description: Returns the number of unique words in the variable.

ConfigVariable
ConfigVariable::ConfigVariable(string const &name);

Description: This constructor is only intended to be called from a specialized ConfigVariableFoo derived class.
Description: Use this constructor to make a ConfigVariable of an unspecified type. Usually you'd want to do this just to reference a previously-defined ConfigVariable of a specific type, without having to know what type it is.

getBoolWord
bool ConfigVariable::get_bool_word(int n) const;

Description: Returns the boolean value of the nth word of the variable's value, or false if there is no nth value. See also has_bool_word().

getDefaultValue
ConfigDeclaration const *ConfigVariable::get_default_value(void) const;

Description: Returns the default variable specified for this variable. If the variable has not yet been defined, this will return NULL.

getDoubleWord
double ConfigVariable::get_double_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_double_word().

getInt64Word
__int64 ConfigVariable::get_int64_word(int n) const;

Description: Returns the int64 value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getIntWord
int ConfigVariable::get_int_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getNumWords
int ConfigVariable::get_num_words(void) const;

Description: Returns the number of words in the variable's value. A word is defined as a sequence of non-whitespace characters delimited by whitespace.

getStringValue
string const &ConfigVariable::get_string_value(void) const;

Description: Returns the toplevel value of the variable, formatted as a string.

getStringWord
string ConfigVariable::get_string_word(int n) const;

Description: Returns the string value of the nth word of the variable's value, or empty string if there is no nth value. See also has_string_word().

hasBoolWord
bool ConfigVariable::has_bool_word(int n) const;

Description: Returns true if the variable's value has a valid boolean value for the nth word.

hasDoubleWord
bool ConfigVariable::has_double_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasInt64Word
bool ConfigVariable::has_int64_word(int n) const;

Description: Returns true if the variable's value has a valid 64-bit integer value for the nth word.

hasIntWord
bool ConfigVariable::has_int_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasStringWord
bool ConfigVariable::has_string_word(int n) const;

Description: Returns true if the variable's value has a valid string value for the nth word. This is really the same thing as asking if there are at least n words in the value.

setBoolWord
void ConfigVariable::set_bool_word(int n, bool value);

Description: Changes the nth word to the indicated value without affecting the other words.

setDoubleWord
void ConfigVariable::set_double_word(int n, double value);

Description: Changes the nth word to the indicated value without affecting the other words.

setInt64Word
void ConfigVariable::set_int64_word(int n, __int64 value);

Description: Changes the nth word to the indicated value without affecting the other words.

setIntWord
void ConfigVariable::set_int_word(int n, int value);

Description: Changes the nth word to the indicated value without affecting the other words.

setStringValue
void ConfigVariable::set_string_value(string const &value);

Description: Changes the value assigned to this variable. This creates a local value that shadows any values defined in the .prc files, until clear_local_value() is called.

setStringWord
void ConfigVariable::set_string_word(int n, string const &value);

Description: Changes the nth word to the indicated value without affecting the other words.

clearLocalValue
bool ConfigVariableBase::clear_local_value(void);

Description: Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files.
Returns true if the value was successfully removed, false if it did not exist in the first place.

getDescription
string const &ConfigVariableBase::get_description(void) const;

Description: Returns the brief description of this variable, if it has been defined.

getFlags
int ConfigVariableBase::get_flags(void) const;

Description: Returns the flags value as set by set_flags(). This includes the trust level and some other settings. See the individual methods is_closed(), get_trust_level(), etc. to pull out the semantic meaning of these flags individually.

getName
string const &ConfigVariableBase::get_name(void) const;

Description: Returns the name of the variable.

getTrustLevel
int ConfigVariableBase::get_trust_level(void) const;

Description: Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. Arguably, this should be called the "mistrust level", since the larger the value, the more suspicious we are of prc files. This value is not used if is_closed() returns true, which indicates no file may be trusted.
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

getValueType
ConfigFlags::ValueType ConfigVariableBase::get_value_type(void) const;

Description: Returns the stated type of this variable. This should be VT_list, unless a later variable declaration has changed it.

hasLocalValue
bool ConfigVariableBase::has_local_value(void) const;

Description: Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.

hasValue
bool ConfigVariableBase::has_value(void) const;

Description: Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value.

isClosed
bool ConfigVariableBase::is_closed(void) const;

Description: Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()).
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

isDynamic
bool ConfigVariableBase::is_dynamic(void) const;

Description: Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables.

output
void ConfigVariableBase::output(ostream &out) const;

Description:

write
void ConfigVariableBase::write(ostream &out) const;

Description:


ConfigVariableInt64

    from pandac.PandaModules import ConfigVariableInt64
    Class : ConfigVariableInt64
    Description : This is a convenience class to specialize ConfigVariable as a 64-bit integer type.

Inheritance:

    ConfigVariableInt64: ConfigVariable
    ConfigVariable: ConfigVariableBase
    ConfigVariableBase: ConfigFlags
    ConfigFlags:

Methods of ConfigVariableInt64:

    ConfigVariableInt64 (Constructor)
    getDefaultValue
    getValue
    getWord
    operator =
    operator []
    setValue
    setWord
    size

Methods of ConfigVariable:

    ConfigVariable (Constructor)
    getBoolWord
    getDefaultValue
    getDoubleWord
    getInt64Word
    getIntWord
    getNumWords
    getStringValue
    getStringWord
    hasBoolWord
    hasDoubleWord
    hasInt64Word
    hasIntWord
    hasStringWord
    setBoolWord
    setDoubleWord
    setInt64Word
    setIntWord
    setStringValue
    setStringWord

Methods of ConfigVariableBase:

    clearLocalValue
    getDescription
    getFlags
    getName
    getTrustLevel
    getValueType
    hasLocalValue
    hasValue
    isClosed
    isDynamic
    output
    write

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)
ConfigVariableInt64
ConfigVariableInt64::ConfigVariableInt64(string const &name);

Filename: configVariableInt64.I Created by: drose (19Dec07)
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."
Description:

getDefaultValue
__int64 ConfigVariableInt64::get_default_value(void) const;

Description: Returns the variable's default value.

getValue
__int64 ConfigVariableInt64::get_value(void) const;

Description: Returns the variable's value.

getWord
__int64 ConfigVariableInt64::get_word(int n) const;

Description: Returns the variable's nth value.

operator =
void ConfigVariableInt64::operator =(__int64 value);

Description: Reassigns the variable's local value.

operator []
__int64 ConfigVariableInt64::operator [](int n) const;

Description: Returns the value of the variable's nth word.

setValue
void ConfigVariableInt64::set_value(__int64 value);

Description: Reassigns the variable's local value.

setWord
void ConfigVariableInt64::set_word(int n, __int64 value);

Description: Reassigns the variable's nth value. This makes a local copy of the variable's overall value.

size
__int64 ConfigVariableInt64::size(void) const;

Description: Returns the number of unique words in the variable.

ConfigVariable
ConfigVariable::ConfigVariable(string const &name);

Description: This constructor is only intended to be called from a specialized ConfigVariableFoo derived class.
Description: Use this constructor to make a ConfigVariable of an unspecified type. Usually you'd want to do this just to reference a previously-defined ConfigVariable of a specific type, without having to know what type it is.

getBoolWord
bool ConfigVariable::get_bool_word(int n) const;

Description: Returns the boolean value of the nth word of the variable's value, or false if there is no nth value. See also has_bool_word().

getDefaultValue
ConfigDeclaration const *ConfigVariable::get_default_value(void) const;

Description: Returns the default variable specified for this variable. If the variable has not yet been defined, this will return NULL.

getDoubleWord
double ConfigVariable::get_double_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_double_word().

getInt64Word
__int64 ConfigVariable::get_int64_word(int n) const;

Description: Returns the int64 value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getIntWord
int ConfigVariable::get_int_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getNumWords
int ConfigVariable::get_num_words(void) const;

Description: Returns the number of words in the variable's value. A word is defined as a sequence of non-whitespace characters delimited by whitespace.

getStringValue
string const &ConfigVariable::get_string_value(void) const;

Description: Returns the toplevel value of the variable, formatted as a string.

getStringWord
string ConfigVariable::get_string_word(int n) const;

Description: Returns the string value of the nth word of the variable's value, or empty string if there is no nth value. See also has_string_word().

hasBoolWord
bool ConfigVariable::has_bool_word(int n) const;

Description: Returns true if the variable's value has a valid boolean value for the nth word.

hasDoubleWord
bool ConfigVariable::has_double_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasInt64Word
bool ConfigVariable::has_int64_word(int n) const;

Description: Returns true if the variable's value has a valid 64-bit integer value for the nth word.

hasIntWord
bool ConfigVariable::has_int_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasStringWord
bool ConfigVariable::has_string_word(int n) const;

Description: Returns true if the variable's value has a valid string value for the nth word. This is really the same thing as asking if there are at least n words in the value.

setBoolWord
void ConfigVariable::set_bool_word(int n, bool value);

Description: Changes the nth word to the indicated value without affecting the other words.

setDoubleWord
void ConfigVariable::set_double_word(int n, double value);

Description: Changes the nth word to the indicated value without affecting the other words.

setInt64Word
void ConfigVariable::set_int64_word(int n, __int64 value);

Description: Changes the nth word to the indicated value without affecting the other words.

setIntWord
void ConfigVariable::set_int_word(int n, int value);

Description: Changes the nth word to the indicated value without affecting the other words.

setStringValue
void ConfigVariable::set_string_value(string const &value);

Description: Changes the value assigned to this variable. This creates a local value that shadows any values defined in the .prc files, until clear_local_value() is called.

setStringWord
void ConfigVariable::set_string_word(int n, string const &value);

Description: Changes the nth word to the indicated value without affecting the other words.

clearLocalValue
bool ConfigVariableBase::clear_local_value(void);

Description: Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files.
Returns true if the value was successfully removed, false if it did not exist in the first place.

getDescription
string const &ConfigVariableBase::get_description(void) const;

Description: Returns the brief description of this variable, if it has been defined.

getFlags
int ConfigVariableBase::get_flags(void) const;

Description: Returns the flags value as set by set_flags(). This includes the trust level and some other settings. See the individual methods is_closed(), get_trust_level(), etc. to pull out the semantic meaning of these flags individually.

getName
string const &ConfigVariableBase::get_name(void) const;

Description: Returns the name of the variable.

getTrustLevel
int ConfigVariableBase::get_trust_level(void) const;

Description: Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. Arguably, this should be called the "mistrust level", since the larger the value, the more suspicious we are of prc files. This value is not used if is_closed() returns true, which indicates no file may be trusted.
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

getValueType
ConfigFlags::ValueType ConfigVariableBase::get_value_type(void) const;

Description: Returns the stated type of this variable. This should be VT_list, unless a later variable declaration has changed it.

hasLocalValue
bool ConfigVariableBase::has_local_value(void) const;

Description: Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.

hasValue
bool ConfigVariableBase::has_value(void) const;

Description: Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value.

isClosed
bool ConfigVariableBase::is_closed(void) const;

Description: Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()).
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

isDynamic
bool ConfigVariableBase::is_dynamic(void) const;

Description: Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables.

output
void ConfigVariableBase::output(ostream &out) const;

Description:

write
void ConfigVariableBase::write(ostream &out) const;

Description:


ConfigVariableList

    from pandac.PandaModules import ConfigVariableList
    Class : ConfigVariableList
    Description : This class is similar to ConfigVariable, but it reports its value as a list of strings. In this special case, all of the declarations of the variable are returned as the elements of this list, in order.
    Note that this is different from a normal ConfigVariableString, which just returns its topmost value, which can optionally be treated as a number of discrete words by dividing it at the spaces.
    A ConfigVariableList cannot be modified locally.

Inheritance:

    ConfigVariableList: ConfigVariableBase
    ConfigVariableBase: ConfigFlags
    ConfigFlags:

Methods of ConfigVariableList:

    ConfigVariableList (Constructor)
    getNumUniqueValues
    getNumValues
    getStringValue
    getUniqueValue
    operator []
    output
    size
    write

Methods of ConfigVariableBase:

    clearLocalValue
    getDescription
    getFlags
    getName
    getTrustLevel
    getValueType
    hasLocalValue
    hasValue
    isClosed
    isDynamic
    output
    write

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)
ConfigVariableList
ConfigVariableList::ConfigVariableList(string const &name, string const &description = ((string())), int flags = (0));

Description:

getNumUniqueValues
int ConfigVariableList::get_num_unique_values(void) const;

Description: Returns the number of unique values in the variable.

getNumValues
int ConfigVariableList::get_num_values(void) const;

Description: Returns the number of values in the variable.

getStringValue
string ConfigVariableList::get_string_value(int n) const;

Description: Returns the nth value of the variable.

getUniqueValue
string ConfigVariableList::get_unique_value(int n) const;

Description: Returns the nth unique value of the variable.

operator []
string ConfigVariableList::operator [](int n) const;

Description: Returns the nth unique value of the variable. Note that the indexing operator returns the list of unique values, and so the maximum range is get_num_unique_values().

output
void ConfigVariableList::output(ostream &out) const;

Undocumented function.

size
int ConfigVariableList::size(void) const;

Description: Returns the number of unique values of the variable.

write
void ConfigVariableList::write(ostream &out) const;

Undocumented function.

clearLocalValue
bool ConfigVariableBase::clear_local_value(void);

Description: Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files.
Returns true if the value was successfully removed, false if it did not exist in the first place.

getDescription
string const &ConfigVariableBase::get_description(void) const;

Description: Returns the brief description of this variable, if it has been defined.

getFlags
int ConfigVariableBase::get_flags(void) const;

Description: Returns the flags value as set by set_flags(). This includes the trust level and some other settings. See the individual methods is_closed(), get_trust_level(), etc. to pull out the semantic meaning of these flags individually.

getName
string const &ConfigVariableBase::get_name(void) const;

Description: Returns the name of the variable.

getTrustLevel
int ConfigVariableBase::get_trust_level(void) const;

Description: Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. Arguably, this should be called the "mistrust level", since the larger the value, the more suspicious we are of prc files. This value is not used if is_closed() returns true, which indicates no file may be trusted.
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

getValueType
ConfigFlags::ValueType ConfigVariableBase::get_value_type(void) const;

Description: Returns the stated type of this variable. This should be VT_list, unless a later variable declaration has changed it.

hasLocalValue
bool ConfigVariableBase::has_local_value(void) const;

Description: Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.

hasValue
bool ConfigVariableBase::has_value(void) const;

Description: Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value.

isClosed
bool ConfigVariableBase::is_closed(void) const;

Description: Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()).
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

isDynamic
bool ConfigVariableBase::is_dynamic(void) const;

Description: Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables.

output
void ConfigVariableBase::output(ostream &out) const;

Description:

write
void ConfigVariableBase::write(ostream &out) const;

Description:


ConfigVariableManager

    from pandac.PandaModules import ConfigVariableManager
    Class : ConfigVariableManager
    Description : A global object that maintains the set of ConfigVariables (actually, ConfigVariableCores) everywhere in the world, and keeps them in sorted order.

Inheritance:

    ConfigVariableManager:

Methods of ConfigVariableManager:

    getGlobalPtr
    getNumVariables
    getVariable
    getVariableName
    isVariableUsed
    listDynamicVariables
    listUnusedVariables
    listVariables
    makeVariable
    makeVariableTemplate
    output
    write
    writePrcVariables
getGlobalPtr
static ConfigVariableManager *ConfigVariableManager::get_global_ptr(void);

Undocumented function.

getNumVariables
int ConfigVariableManager::get_num_variables(void) const;

Description: Returns the current number of active ConfigVariableCores in the world.

getVariable
ConfigVariableCore *ConfigVariableManager::get_variable(int n) const;

Description: Returns the nth active ConfigVariableCore in the world.

getVariableName
string ConfigVariableManager::get_variable_name(int n) const;

Undocumented function.

isVariableUsed
bool ConfigVariableManager::is_variable_used(int n) const;

Undocumented function.

listDynamicVariables
void ConfigVariableManager::list_dynamic_variables(void) const;

Undocumented function.

listUnusedVariables
void ConfigVariableManager::list_unused_variables(void) const;

Undocumented function.

listVariables
void ConfigVariableManager::list_variables(void) const;

Undocumented function.

makeVariable
ConfigVariableCore *ConfigVariableManager::make_variable(string const &name);

Undocumented function.

makeVariableTemplate
ConfigVariableCore *ConfigVariableManager::make_variable_template(string const &pattern, ConfigFlags::ValueType type, string const &default_value, string const &description = ((string())), int flags = (0));

Undocumented function.

output
void ConfigVariableManager::output(ostream &out) const;

Undocumented function.

write
void ConfigVariableManager::write(ostream &out) const;

Undocumented function.

writePrcVariables
void ConfigVariableManager::write_prc_variables(ostream &out) const;

Undocumented function.


ConfigVariableSearchPath

    from pandac.PandaModules import ConfigVariableSearchPath
    Class : ConfigVariableSearchPath
    Description : This is similar to a ConfigVariableList, but it returns its list as a DSearchPath, as a list of directories.
    You may locally append directories to the end of the search path with the methods here, or prepend them to the beginning. Use these methods to make adjustments to the path; do not attempt to directly modify the const DSearchPath object returned by get_value().
    Unlike other ConfigVariable types, local changes (made by calling append_directory() and prepend_directory()) are specific to this particular instance of the ConfigVariableSearchPath. A separate instance of the same variable, created by using the same name to the constructor, will not reflect the local changes.

Inheritance:

    ConfigVariableSearchPath: ConfigVariableBase
    ConfigVariableBase: ConfigFlags
    ConfigFlags:

Methods of ConfigVariableSearchPath:

    ConfigVariableSearchPath (Constructor)
    appendDirectory
    appendPath
    clear
    clearLocalValue
    findAllFiles
    findFile
    getDefaultValue
    getDirectory
    getNumDirectories
    getValue
    isEmpty
    output
    prependDirectory
    prependPath
    write

Methods of ConfigVariableBase:

    clearLocalValue
    getDescription
    getFlags
    getName
    getTrustLevel
    getValueType
    hasLocalValue
    hasValue
    isClosed
    isDynamic
    output
    write

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)
ConfigVariableSearchPath
ConfigVariableSearchPath::ConfigVariableSearchPath(string const &name, string const &description = ((string())), int flags = (0));

Description:

appendDirectory
void ConfigVariableSearchPath::append_directory(Filename const &directory);

Description: Adds a new directory to the end of the search list.

appendPath
void ConfigVariableSearchPath::append_path(string const &path, string const &separator = ((string())));

Description: Adds all of the directories listed in the search path to the end of the search list.

clear
void ConfigVariableSearchPath::clear(void);

Description: Removes all the directories locally added to the search list, and restores it to its original form.

clearLocalValue
bool ConfigVariableSearchPath::clear_local_value(void);

Description: Removes all the directories locally added to the search list, and restores it to its original form.

findAllFiles
int ConfigVariableSearchPath::find_all_files(Filename const &filename, DSearchPath::Results &results) const;

Description: Searches all the directories in the search list for the indicated file, in order. Fills up the results list with *all* of the matching filenames found, if any. Returns the number of matches found.
It is the responsibility of the the caller to clear the results list first; otherwise, the newly-found files will be appended to the list.

findFile
Filename ConfigVariableSearchPath::find_file(Filename const &filename) const;

Description: Searches all the directories in the search list for the indicated file, in order. Returns the full matching pathname of the first match if found, or the empty string if not found.

getDefaultValue
DSearchPath const &ConfigVariableSearchPath::get_default_value(void) const;

Description:

getDirectory
Filename const &ConfigVariableSearchPath::get_directory(int n) const;

Description: Returns the nth directory on the search list.

getNumDirectories
int ConfigVariableSearchPath::get_num_directories(void) const;

Description: Returns the number of directories on the search list.

getValue
DSearchPath const &ConfigVariableSearchPath::get_value(void) const;

Description:

isEmpty
bool ConfigVariableSearchPath::is_empty(void) const;

Description: Returns true if the search list is empty, false otherwise.

output
void ConfigVariableSearchPath::output(ostream &out) const;

Description:

prependDirectory
void ConfigVariableSearchPath::prepend_directory(Filename const &directory);

Description: Adds a new directory to the front of the search list.

prependPath
void ConfigVariableSearchPath::prepend_path(DSearchPath const &path);

Description: Adds all of the directories listed in the search path to the beginning of the search list.

write
void ConfigVariableSearchPath::write(ostream &out) const;

Description:

clearLocalValue
bool ConfigVariableBase::clear_local_value(void);

Description: Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files.
Returns true if the value was successfully removed, false if it did not exist in the first place.

getDescription
string const &ConfigVariableBase::get_description(void) const;

Description: Returns the brief description of this variable, if it has been defined.

getFlags
int ConfigVariableBase::get_flags(void) const;

Description: Returns the flags value as set by set_flags(). This includes the trust level and some other settings. See the individual methods is_closed(), get_trust_level(), etc. to pull out the semantic meaning of these flags individually.

getName
string const &ConfigVariableBase::get_name(void) const;

Description: Returns the name of the variable.

getTrustLevel
int ConfigVariableBase::get_trust_level(void) const;

Description: Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. Arguably, this should be called the "mistrust level", since the larger the value, the more suspicious we are of prc files. This value is not used if is_closed() returns true, which indicates no file may be trusted.
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

getValueType
ConfigFlags::ValueType ConfigVariableBase::get_value_type(void) const;

Description: Returns the stated type of this variable. This should be VT_list, unless a later variable declaration has changed it.

hasLocalValue
bool ConfigVariableBase::has_local_value(void) const;

Description: Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.

hasValue
bool ConfigVariableBase::has_value(void) const;

Description: Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value.

isClosed
bool ConfigVariableBase::is_closed(void) const;

Description: Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()).
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

isDynamic
bool ConfigVariableBase::is_dynamic(void) const;

Description: Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables.

output
void ConfigVariableBase::output(ostream &out) const;

Description:

write
void ConfigVariableBase::write(ostream &out) const;

Description:


ConfigVariableString

    from pandac.PandaModules import ConfigVariableString
    Class : ConfigVariableString
    Description : This is a convenience class to specialize ConfigVariable as a string type.

Inheritance:

    ConfigVariableString: ConfigVariable
    ConfigVariable: ConfigVariableBase
    ConfigVariableBase: ConfigFlags
    ConfigFlags:

Methods of ConfigVariableString:

    ConfigVariableString (Constructor)
    cStr
    empty
    getDefaultValue
    getValue
    getWord
    length
    operator !=
    operator <
    operator =
    operator ==
    operator []
    setValue
    setWord

Methods of ConfigVariable:

    ConfigVariable (Constructor)
    getBoolWord
    getDefaultValue
    getDoubleWord
    getInt64Word
    getIntWord
    getNumWords
    getStringValue
    getStringWord
    hasBoolWord
    hasDoubleWord
    hasInt64Word
    hasIntWord
    hasStringWord
    setBoolWord
    setDoubleWord
    setInt64Word
    setIntWord
    setStringValue
    setStringWord

Methods of ConfigVariableBase:

    clearLocalValue
    getDescription
    getFlags
    getName
    getTrustLevel
    getValueType
    hasLocalValue
    hasValue
    isClosed
    isDynamic
    output
    write

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)
ConfigVariableString
ConfigVariableString::ConfigVariableString(string const &name);

Description:

cStr
char const *ConfigVariableString::c_str(void) const;

These methods help the ConfigVariableString act like a C++ string object.
Description:

empty
bool ConfigVariableString::empty(void) const;

These methods help the ConfigVariableString act like a C++ string object.
Description:

getDefaultValue
string ConfigVariableString::get_default_value(void) const;

Description: Returns the variable's default value.

getValue
string const &ConfigVariableString::get_value(void) const;

Description: Returns the variable's value.

getWord
string ConfigVariableString::get_word(int n) const;

Description: Returns the variable's nth value.

length
unsigned int ConfigVariableString::length(void) const;

Description:

operator !=
bool ConfigVariableString::operator !=(string const &other) const;

Comparison operators are handy.
Description:

operator <
bool ConfigVariableString::operator <(string const &other) const;

Description:

operator =
void ConfigVariableString::operator =(string const &value);

Description: Reassigns the variable's local value.

operator ==
bool ConfigVariableString::operator ==(string const &other) const;

Comparison operators are handy.
Description:

operator []
char ConfigVariableString::operator [](int n) const;

Description:

setValue
void ConfigVariableString::set_value(string const &value);

Description: Reassigns the variable's local value.

setWord
void ConfigVariableString::set_word(int n, string const &value);

Description: Reassigns the variable's nth value. This makes a local copy of the variable's overall value.

ConfigVariable
ConfigVariable::ConfigVariable(string const &name);

Description: This constructor is only intended to be called from a specialized ConfigVariableFoo derived class.
Description: Use this constructor to make a ConfigVariable of an unspecified type. Usually you'd want to do this just to reference a previously-defined ConfigVariable of a specific type, without having to know what type it is.

getBoolWord
bool ConfigVariable::get_bool_word(int n) const;

Description: Returns the boolean value of the nth word of the variable's value, or false if there is no nth value. See also has_bool_word().

getDefaultValue
ConfigDeclaration const *ConfigVariable::get_default_value(void) const;

Description: Returns the default variable specified for this variable. If the variable has not yet been defined, this will return NULL.

getDoubleWord
double ConfigVariable::get_double_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_double_word().

getInt64Word
__int64 ConfigVariable::get_int64_word(int n) const;

Description: Returns the int64 value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getIntWord
int ConfigVariable::get_int_word(int n) const;

Description: Returns the integer value of the nth word of the variable's value, or 0 if there is no nth value. See also has_int_word().

getNumWords
int ConfigVariable::get_num_words(void) const;

Description: Returns the number of words in the variable's value. A word is defined as a sequence of non-whitespace characters delimited by whitespace.

getStringValue
string const &ConfigVariable::get_string_value(void) const;

Description: Returns the toplevel value of the variable, formatted as a string.

getStringWord
string ConfigVariable::get_string_word(int n) const;

Description: Returns the string value of the nth word of the variable's value, or empty string if there is no nth value. See also has_string_word().

hasBoolWord
bool ConfigVariable::has_bool_word(int n) const;

Description: Returns true if the variable's value has a valid boolean value for the nth word.

hasDoubleWord
bool ConfigVariable::has_double_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasInt64Word
bool ConfigVariable::has_int64_word(int n) const;

Description: Returns true if the variable's value has a valid 64-bit integer value for the nth word.

hasIntWord
bool ConfigVariable::has_int_word(int n) const;

Description: Returns true if the variable's value has a valid integer value for the nth word.

hasStringWord
bool ConfigVariable::has_string_word(int n) const;

Description: Returns true if the variable's value has a valid string value for the nth word. This is really the same thing as asking if there are at least n words in the value.

setBoolWord
void ConfigVariable::set_bool_word(int n, bool value);

Description: Changes the nth word to the indicated value without affecting the other words.

setDoubleWord
void ConfigVariable::set_double_word(int n, double value);

Description: Changes the nth word to the indicated value without affecting the other words.

setInt64Word
void ConfigVariable::set_int64_word(int n, __int64 value);

Description: Changes the nth word to the indicated value without affecting the other words.

setIntWord
void ConfigVariable::set_int_word(int n, int value);

Description: Changes the nth word to the indicated value without affecting the other words.

setStringValue
void ConfigVariable::set_string_value(string const &value);

Description: Changes the value assigned to this variable. This creates a local value that shadows any values defined in the .prc files, until clear_local_value() is called.

setStringWord
void ConfigVariable::set_string_word(int n, string const &value);

Description: Changes the nth word to the indicated value without affecting the other words.

clearLocalValue
bool ConfigVariableBase::clear_local_value(void);

Description: Removes the local value defined for this variable, and allows its value to be once again retrieved from the .prc files.
Returns true if the value was successfully removed, false if it did not exist in the first place.

getDescription
string const &ConfigVariableBase::get_description(void) const;

Description: Returns the brief description of this variable, if it has been defined.

getFlags
int ConfigVariableBase::get_flags(void) const;

Description: Returns the flags value as set by set_flags(). This includes the trust level and some other settings. See the individual methods is_closed(), get_trust_level(), etc. to pull out the semantic meaning of these flags individually.

getName
string const &ConfigVariableBase::get_name(void) const;

Description: Returns the name of the variable.

getTrustLevel
int ConfigVariableBase::get_trust_level(void) const;

Description: Returns the minimum trust_level a prc file must demonstrate in order to redefine the value for this variable. Arguably, this should be called the "mistrust level", since the larger the value, the more suspicious we are of prc files. This value is not used if is_closed() returns true, which indicates no file may be trusted.
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

getValueType
ConfigFlags::ValueType ConfigVariableBase::get_value_type(void) const;

Description: Returns the stated type of this variable. This should be VT_list, unless a later variable declaration has changed it.

hasLocalValue
bool ConfigVariableBase::has_local_value(void) const;

Description: Returns true if this variable's value has been shadowed by a local assignment (as created via make_local_value()), or false otherwise.

hasValue
bool ConfigVariableBase::has_value(void) const;

Description: Returns true if this variable has an explicit value, either from a prc file or locally set, or false if variable has its default value.

isClosed
bool ConfigVariableBase::is_closed(void) const;

Description: Returns true if the variable is not trusted by any prc file (and hence cannot be modified from its compiled-in default value), or false for the normal case, in which the variable can be modified by any prc file at or above its trust level (see get_trust_level()).
This value only has effect in a release build (specifically, when PRC_RESPECT_TRUST_LEVEL is defined true in Config.pp).

isDynamic
bool ConfigVariableBase::is_dynamic(void) const;

Description: Returns true if the variable was indicated as "dynamic" by its constructor, indicating that its name was dynamically generated, possibly from a large pool, and it should not be listed along with the other variables.

output
void ConfigVariableBase::output(ostream &out) const;

Description:

write
void ConfigVariableBase::write(ostream &out) const;

Description:


Connection

    from pandac.PandaModules import Connection
    Class : Connection
    Description : Represents a single TCP or UDP socket for input or output.

Inheritance:

    Connection: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of Connection:

    Connection (Constructor)
    considerFlush
    flush
    getAddress
    getCollectTcp
    getCollectTcpInterval
    getManager
    getSocket
    setCollectTcp
    setCollectTcpInterval
    setIpTimeToLive
    setIpTypeOfService
    setKeepAlive
    setLinger
    setMaxSegment
    setNoDelay
    setNonblock
    setRecvBufferSize
    setReuseAddr
    setSendBufferSize

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
Connection
Connection::Connection(ConnectionManager *manager, Socket_IP *socket);

Description: Creates a connection. Normally this constructor should not be used directly by user code; use one of the methods in ConnectionManager to make a new connection.

considerFlush
bool Connection::consider_flush(void);

Description: Sends the most recently queued TCP datagram(s) if enough time has elapsed. This only has meaning if set_collect_tcp() has been set to true.

flush
bool Connection::flush(void);

Description: Sends the most recently queued TCP datagram(s) now. This only has meaning if set_collect_tcp() has been set to true.

getAddress
NetAddress Connection::get_address(void) const;

Description: Returns the address bound to this connection, if it is a TCP connection.

getCollectTcp
bool Connection::get_collect_tcp(void) const;

Description: Returns the current setting of "collect-tcp" mode. See set_collect_tcp().

getCollectTcpInterval
double Connection::get_collect_tcp_interval(void) const;

Description: Returns the interval in time, in seconds, for which to hold TCP packets before sending all of the recently received packets at once. This only has meaning if "collect-tcp" mode is enabled; see set_collect_tcp().

getManager
ConnectionManager *Connection::get_manager(void) const;

Description: Returns a pointer to the ConnectionManager object that serves this connection.

getSocket
Socket_IP *Connection::get_socket(void) const;

Description: Returns the internal Socket_IP that defines the connection.

setCollectTcp
void Connection::set_collect_tcp(bool collect_tcp);

Description: Enables or disables "collect-tcp" mode. In this mode, individual TCP packets are not sent immediately, but rather they are collected together and accumulated to be sent periodically as one larger TCP packet. This cuts down on overhead from the TCP/IP protocol, especially if many small packets need to be sent on the same connection, but it introduces additional latency (since packets must be held before they can be sent).
See set_collect_tcp_interval() to specify the interval of time for which to hold packets before sending them.
If you enable this mode, you may also need to periodically call consider_flush() to flush the queue if no packets have been sent recently.

setCollectTcpInterval
void Connection::set_collect_tcp_interval(double interval);

Description: Specifies the interval in time, in seconds, for which to hold TCP packets before sending all of the recently received packets at once. This only has meaning if "collect-tcp" mode is enabled; see set_collect_tcp().

setIpTimeToLive
void Connection::set_ip_time_to_live(int ttl);

Description: Sets IP time-to-live.

setIpTypeOfService
void Connection::set_ip_type_of_service(int tos);

Description: Sets IP type-of-service and precedence.

setKeepAlive
void Connection::set_keep_alive(bool flag);

Description: Sets whether the connection is periodically tested to see if it is still alive.

setLinger
void Connection::set_linger(bool flag, double time);

Socket options.
Description: Sets the time to linger on close if data is present. If flag is false, when you close a socket with data available the system attempts to deliver the data to the peer (the default behavior). If flag is false but time is zero, the system discards any undelivered data when you close the socket. If flag is false but time is nonzero, the system waits up to time seconds to deliver the data.

setMaxSegment
void Connection::set_max_segment(int size);

Description: Sets the maximum segment size.

setNoDelay
void Connection::set_no_delay(bool flag);

Description: If flag is true, this disables the Nagle algorithm, and prevents delaying of send to coalesce packets.

setNonblock
void Connection::set_nonblock(bool flag);

Socket options.
Description: Sets whether nonblocking I/O should be in effect.

setRecvBufferSize
void Connection::set_recv_buffer_size(int size);

Description: Sets the size of the receive buffer, in bytes.

setReuseAddr
void Connection::set_reuse_addr(bool flag);

Description: Sets whether local address reuse is allowed.

setSendBufferSize
void Connection::set_send_buffer_size(int size);

Description: Sets the size of the send buffer, in bytes.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ConnectionListener

    from pandac.PandaModules import ConnectionListener
    Class : ConnectionListener
    Description : This is a special kind of ConnectionReader that waits for activity on a rendezvous port and accepts a TCP connection (instead of attempting to read a datagram from the rendezvous port).
    It is itself an abstract class, as it doesn't define what to do with the established connection. See QueuedConnectionListener.

Inheritance:

    ConnectionListener: ConnectionReader
    ConnectionReader:

Methods of ConnectionReader:

    addConnection
    getManager
    getNumThreads
    getRawMode
    getTcpHeaderSize
    isConnectionOk
    isPolling
    poll
    removeConnection
    setRawMode
    setTcpHeaderSize
addConnection
bool ConnectionReader::add_connection(Connection *connection);

Description: Adds a new socket to the list of sockets the ConnectionReader will monitor. A datagram that comes in on any of the monitored sockets will be reported. In the case of a ConnectionListener, this adds a new rendezvous socket; any activity on any of the monitored sockets will cause a connection to be accepted.
The return value is true if the connection was added, false if it was already there.
add_connection() is thread-safe, and may be called at will by any thread.

getManager
ConnectionManager *ConnectionReader::get_manager(void) const;

Description: Returns a pointer to the ConnectionManager object that serves this ConnectionReader.

getNumThreads
int ConnectionReader::get_num_threads(void) const;

Description: Returns the number of threads the ConnectionReader has been created with.

getRawMode
bool ConnectionReader::get_raw_mode(void) const;

Description: Returns the current setting of the raw mode flag. See set_raw_mode().

getTcpHeaderSize
int ConnectionReader::get_tcp_header_size(void) const;

Description: Returns the current setting of TCP header size. See set_tcp_header_size().

isConnectionOk
bool ConnectionReader::is_connection_ok(Connection *connection);

Description: Returns true if the indicated connection has been added to the ConnectionReader and is being monitored properly, false if it is not known, or if there was some error condition detected on the connection. (If there was an error condition, normally the ConnectionManager would have been informed and closed the connection.)

isPolling
bool ConnectionReader::is_polling(void) const;

Description: Returns true if the reader is a polling reader, i.e. it has no threads.

poll
void ConnectionReader::poll(void);

Description: Explicitly polls the available sockets to see if any of them have any noise. This function does nothing unless this is a polling-type ConnectionReader, i.e. it was created with zero threads (and is_polling() will return true).
It is not necessary to call this explicitly for a QueuedConnectionReader.

removeConnection
bool ConnectionReader::remove_connection(Connection *connection);

Description: Removes a socket from the list of sockets being monitored. Returns true if the socket was correctly removed, false if it was not on the list in the first place.
remove_connection() is thread-safe, and may be called at will by any thread.

setRawMode
void ConnectionReader::set_raw_mode(bool mode);

Description: Sets the ConnectionReader into raw mode (or turns off raw mode). In raw mode, datagram headers are not expected; instead, all the data available on the pipe is treated as a single datagram.
This is similar to set_tcp_header_size(0), except that it also turns off headers for UDP packets.

setTcpHeaderSize
void ConnectionReader::set_tcp_header_size(int tcp_header_size);

Description: Sets the header size of TCP packets. At the present, legal values for this are 0, 2, or 4; this specifies the number of bytes to use encode the datagram length at the start of each TCP datagram. Sender and receiver must independently agree on this.


ConnectionManager

    from pandac.PandaModules import ConnectionManager
    Class : ConnectionManager
    Description : The primary interface to the low-level networking layer in this package. A ConnectionManager is used to establish and destroy TCP and UDP connections. Communication on these connections, once established, is handled via ConnectionReader, ConnectionWriter, and ConnectionListener.
    You may use this class directly if you don't care about tracking which connections have been unexpectedly closed; otherwise, you should use QueuedConnectionManager to get reports about these events (or derive your own class to handle these events properly).

Inheritance:

    ConnectionManager:

Methods of ConnectionManager:

    ConnectionManager (Constructor)
    closeConnection
    getHostName
    openTCPClientConnection
    openTCPServerRendezvous
    openUDPConnection
ConnectionManager
ConnectionManager::ConnectionManager(void);

Description:

closeConnection
bool ConnectionManager::close_connection(PointerTo< Connection > const &connection);

Description: Terminates a UDP or TCP socket previously opened. This also removes it from any associated ConnectionReader or ConnectionListeners.
The socket itself may not be immediately closed--it will not be closed until all outstanding pointers to it are cleared, including any pointers remaining in NetDatagrams recently received from the socket.
The return value is true if the connection was marked to be closed, or false if close_connection() had already been called (or the connection did not belong to this ConnectionManager). In neither case can you infer anything about whether the connection has
*actually* been closed yet based on the return value.

getHostName
static string ConnectionManager::get_host_name(void);

Description: Returns the name of this particular machine on the network, if available, or the empty string if the hostname cannot be determined.

openTCPClientConnection
PointerTo< Connection > ConnectionManager::open_TCP_client_connection(NetAddress const &address, int timeout_ms);

Description: Attempts to establish a TCP client connection to a server at the indicated address. If the connection is not established within timeout_ms milliseconds, a null connection is returned.
Description: This is a shorthand version of the function to directly establish communications to a named host and port.

openTCPServerRendezvous
PointerTo< Connection > ConnectionManager::open_TCP_server_rendezvous(int port, int backlog);

Description: Creates a socket to be used as a rendezvous socket for a server to listen for TCP connections. The socket returned by this call should only be added to a ConnectionListener (not to a generic ConnectionReader).
backlog is the maximum length of the queue of pending connections.

openUDPConnection
PointerTo< Connection > ConnectionManager::open_UDP_connection(int port = (0));

Description: Opens a socket for sending and/or receiving UDP packets. If the port number is greater than zero, the UDP connection will be opened for listening on the indicated port; otherwise, it will be useful only for sending.
Use a ConnectionReader and ConnectionWriter to handle the actual communication.


ConnectionReader

    from pandac.PandaModules import ConnectionReader
    Class : ConnectionReader
    Description : This 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).
    A ConnectionReader may define an arbitrary number of threads (at least one) to process datagrams coming in from an arbitrary number of sockets that it is monitoring. The number of threads is specified at construction time and cannot be changed, but the set of sockets that is to be monitored may be constantly modified at will.
    This is an abstract class because it doesn't define how to process each received datagram. See QueuedConnectionReader. Also note that ConnectionListener derives from this class, extending it to accept connections on a rendezvous socket rather than read datagrams.

Inheritance:

    ConnectionReader:

Methods of ConnectionReader:

    addConnection
    getManager
    getNumThreads
    getRawMode
    getTcpHeaderSize
    isConnectionOk
    isPolling
    poll
    removeConnection
    setRawMode
    setTcpHeaderSize
addConnection
bool ConnectionReader::add_connection(Connection *connection);

Description: Adds a new socket to the list of sockets the ConnectionReader will monitor. A datagram that comes in on any of the monitored sockets will be reported. In the case of a ConnectionListener, this adds a new rendezvous socket; any activity on any of the monitored sockets will cause a connection to be accepted.
The return value is true if the connection was added, false if it was already there.
add_connection() is thread-safe, and may be called at will by any thread.

getManager
ConnectionManager *ConnectionReader::get_manager(void) const;

Description: Returns a pointer to the ConnectionManager object that serves this ConnectionReader.

getNumThreads
int ConnectionReader::get_num_threads(void) const;

Description: Returns the number of threads the ConnectionReader has been created with.

getRawMode
bool ConnectionReader::get_raw_mode(void) const;

Description: Returns the current setting of the raw mode flag. See set_raw_mode().

getTcpHeaderSize
int ConnectionReader::get_tcp_header_size(void) const;

Description: Returns the current setting of TCP header size. See set_tcp_header_size().

isConnectionOk
bool ConnectionReader::is_connection_ok(Connection *connection);

Description: Returns true if the indicated connection has been added to the ConnectionReader and is being monitored properly, false if it is not known, or if there was some error condition detected on the connection. (If there was an error condition, normally the ConnectionManager would have been informed and closed the connection.)

isPolling
bool ConnectionReader::is_polling(void) const;

Description: Returns true if the reader is a polling reader, i.e. it has no threads.

poll
void ConnectionReader::poll(void);

Description: Explicitly polls the available sockets to see if any of them have any noise. This function does nothing unless this is a polling-type ConnectionReader, i.e. it was created with zero threads (and is_polling() will return true).
It is not necessary to call this explicitly for a QueuedConnectionReader.

removeConnection
bool ConnectionReader::remove_connection(Connection *connection);

Description: Removes a socket from the list of sockets being monitored. Returns true if the socket was correctly removed, false if it was not on the list in the first place.
remove_connection() is thread-safe, and may be called at will by any thread.

setRawMode
void ConnectionReader::set_raw_mode(bool mode);

Description: Sets the ConnectionReader into raw mode (or turns off raw mode). In raw mode, datagram headers are not expected; instead, all the data available on the pipe is treated as a single datagram.
This is similar to set_tcp_header_size(0), except that it also turns off headers for UDP packets.

setTcpHeaderSize
void ConnectionReader::set_tcp_header_size(int tcp_header_size);

Description: Sets the header size of TCP packets. At the present, legal values for this are 0, 2, or 4; this specifies the number of bytes to use encode the datagram length at the start of each TCP datagram. Sender and receiver must independently agree on this.


ConnectionRepository

    from direct.distributed.ConnectionRepository import ConnectionRepository
    This is a base class for things that know how to establish a connection (and exchange datagrams) with a gameserver. This includes ClientRepository and AIRepository.

Inheritance:

    ConnectionRepository:

Methods of ConnectionRepository:

    __init__
    checkHttp
    connect
    disconnect
    generateGlobalObject
    getServerAddress
    handleDatagram
    handleReaderOverflow
    httpConnectCallback
    importModule
    lostConnection
    networkPlugPulled
    pullNetworkPlug
    readDCFile
    readerPollOnce
    readerPollUntilEmpty
    restoreNetworkPlug
    send
    startReaderPollTask
    stopReaderPollTask
__init__
def __init__(self, connectMethod, config, hasOwnerView=False)

Undocumented function.

checkHttp
def checkHttp(self)

Undocumented function.

connect
def connect(self, serverList, successCallback=None, successArgs=[], failureCallback=None, failureArgs=[])

Attempts to establish a connection to the server. May return before the connection is established. The two callbacks represent the two functions to call (and their arguments) on success or failure, respectively. The failure callback also gets one additional parameter, which will be passed in first: the return status code giving reason for failure, if it is known.

disconnect
def disconnect(self)

Closes the previously-established connection.

generateGlobalObject
def generateGlobalObject(self, doId, dcname, values=None)

Undocumented function.

getServerAddress
def getServerAddress(self)

Undocumented function.

handleDatagram
def handleDatagram(self, di)

Undocumented function.

handleReaderOverflow
def handleReaderOverflow(self)

Undocumented function.

httpConnectCallback
def httpConnectCallback(self, ch, serverList, serverIndex, successCallback, successArgs, failureCallback, failureArgs)

Undocumented function.

importModule
def importModule(self, dcImports, moduleName, importSymbols)

Imports the indicated moduleName and all of its symbols into the current namespace. This more-or-less reimplements the Python import command.

lostConnection
def lostConnection(self)

Undocumented function.

networkPlugPulled
def networkPlugPulled(self)

Undocumented function.

pullNetworkPlug
def pullNetworkPlug(self)

Undocumented function.

readDCFile
def readDCFile(self, dcFileNames=None)

Reads in the dc files listed in dcFileNames, or if dcFileNames is None, reads in all of the dc files listed in the Configrc file.

readerPollOnce
def readerPollOnce(self)

Undocumented function.

readerPollUntilEmpty
def readerPollUntilEmpty(self, task)

Undocumented function.

restoreNetworkPlug
def restoreNetworkPlug(self)

Undocumented function.

send
def send(self, datagram)

Undocumented function.

startReaderPollTask
def startReaderPollTask(self)

Undocumented function.

stopReaderPollTask
def stopReaderPollTask(self)

Undocumented function.


ConnectionWriter

    from pandac.PandaModules import ConnectionWriter
    Class : ConnectionWriter
    Description : This class handles threaded delivery of datagrams to various TCP or UDP sockets.
    A ConnectionWriter may define an arbitrary number of threads (0 or more) to write its datagrams to sockets. The number of threads is specified at construction time and cannot be changed.

Inheritance:

    ConnectionWriter:

Methods of ConnectionWriter:

    ConnectionWriter (Constructor)
    getManager
    getNumThreads
    getRawMode
    getTcpHeaderSize
    isImmediate
    isValidForUdp
    send
    setRawMode
    setTcpHeaderSize
ConnectionWriter
ConnectionWriter::ConnectionWriter(ConnectionManager *manager, int num_threads);

Description: Creates a new ConnectionWriter with the indicated number of threads to handle output.
If num_threads is 0, all datagrams will be sent immediately instead of queueing for later transmission by a thread.

getManager
ConnectionManager *ConnectionWriter::get_manager(void) const;

Description: Returns a pointer to the ConnectionManager object that serves this ConnectionWriter.

getNumThreads
int ConnectionWriter::get_num_threads(void) const;

Description: Returns the number of threads the ConnectionWriter has been created with.

getRawMode
bool ConnectionWriter::get_raw_mode(void) const;

Description: Returns the current setting of the raw mode flag. See set_raw_mode().

getTcpHeaderSize
int ConnectionWriter::get_tcp_header_size(void) const;

Description: Returns the current setting of TCP header size. See set_tcp_header_size().

isImmediate
bool ConnectionWriter::is_immediate(void) const;

Description: Returns true if the writer is an immediate writer, i.e. it has no threads.

isValidForUdp
bool ConnectionWriter::is_valid_for_udp(Datagram const &datagram) const;

Description: Returns true if the datagram is small enough to be sent over a UDP packet, false otherwise.

send
bool ConnectionWriter::send(Datagram const &datagram, PointerTo< Connection > const &connection);

Description: Enqueues a datagram for transmittal on the indicated socket. Since the host address is not specified with this form, this function should only be used for sending TCP packets. Use the other send() method for sending UDP packets.
Returns true if successful, false if there was an error. In the normal, threaded case, this function only returns false if the send queue is filled; it's impossible to detect a transmission error at this point.
Description: Enqueues a datagram for transmittal on the indicated socket. This form of the function allows the specification of a destination host address, and so is appropriate for UDP packets. Use the other send() method for sending TCP packets.

setRawMode
void ConnectionWriter::set_raw_mode(bool mode);

Description: Sets the ConnectionWriter into raw mode (or turns off raw mode). In raw mode, datagrams are not sent along with their headers; the bytes in the datagram are simply sent down the pipe.
Setting the ConnectionWriter to raw mode must be done with care. This can only be done when the matching ConnectionReader is also set to raw mode, or when the ConnectionWriter is communicating to a process that does not expect datagrams.

setTcpHeaderSize
void ConnectionWriter::set_tcp_header_size(int tcp_header_size);

Description: Sets the header size of TCP packets. At the present, legal values for this are 0, 2, or 4; this specifies the number of bytes to use encode the datagram length at the start of each TCP datagram. Sender and receiver must independently agree on this.


ContainerLeakDetector

    from direct.showbase.ContainerLeakDetector import ContainerLeakDetector
    Low-priority Python object-graph walker that looks for leaking containers. To reduce memory usage, this does a random walk of the Python objects to discover containers rather than keep a set of all visited objects; it may visit the same object many times but eventually it will discover every object. Checks container sizes at ever-increasing intervals.

Inheritance:

    ContainerLeakDetector:

Methods of ContainerLeakDetector:

    __init__
    _checkForLeaks
    _getCheckTaskName
    _getPruneTaskName
    _pruneObjectRefs
    _scheduleNextLeakCheck
    _scheduleNextPruning
    def
    destroy
    getContainerById
    getContainerByIdGen
    getContainerIds
    getContainerNameById
    getContainerNameByIdGen
    getLeakEvent
    removeContainerById
    run
__init__
def __init__(self, name, firstCheckDelay=None)

Undocumented function.

_checkForLeaks
def _checkForLeaks(self, task=None)

Undocumented function.

_getCheckTaskName
def _getCheckTaskName(self)

Undocumented function.

_getPruneTaskName
def _getPruneTaskName(self)

Undocumented function.

_pruneObjectRefs
def _pruneObjectRefs(self, task=None)

Undocumented function.

_scheduleNextLeakCheck
def _scheduleNextLeakCheck(self)

Undocumented function.

_scheduleNextPruning
def _scheduleNextPruning(self)

Undocumented function.

def
def defremovePrivateObj

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getContainerById
def getContainerById(self, id)

Undocumented function.

getContainerByIdGen
def getContainerByIdGen(self, id)

Undocumented function.

getContainerIds
def getContainerIds(self)

Undocumented function.

getContainerNameById
def getContainerNameById(self, id)

Undocumented function.

getContainerNameByIdGen
def getContainerNameByIdGen(self, id)

Undocumented function.

getLeakEvent
def getLeakEvent(self)

Undocumented function.

removeContainerById
def removeContainerById(self, id)

Undocumented function.

run
def run(self)

Undocumented function.


ContainerReport

    from direct.showbase.ContainerReport import ContainerReport

Inheritance:

    ContainerReport:

Methods of ContainerReport:

    __init__
    _enqueueContainer
    _examine
    _output
    _outputType
    destroy
    finished
    log
    run
__init__
def __init__(self, name, log=False, limit=None, threaded=False)

Undocumented function.

_enqueueContainer
def _enqueueContainer(self, obj, pathStr=None)

Undocumented function.

_examine
def _examine(self, obj)

Undocumented function.

_output
def _output(self, **kArgs)

Undocumented function.

_outputType
def _outputType(self, type, limit=None)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

finished
def finished(self)

Undocumented function.

log
def log(self, **kArgs)

Undocumented function.

run
def run(self)

Undocumented function.


ControlManager

    from direct.controls.ControlManager import ControlManager

Inheritance:

    ControlManager:

Methods of ControlManager:

    __init__
    __str__
    add
    collisionsOff
    collisionsOn
    delete
    deleteCollisions
    disable
    disableAvatarJump
    enable
    enableAvatarJump
    get
    getIsAirborne
    getSpeeds
    monitor
    placeOnFloor
    remove
    setSpeeds
    setTag
    setWASDTurn
    stop
    use
__init__
def __init__(self, enable=True, passMessagesThrough=False)

Undocumented function.

__str__
def __str__(self)

Undocumented function.

add
def add(self, controls, name="basic")

controls is an avatar control system. name is any key that you want to use to refer to the the controls later (e.g. using the use(<name>) call).
Add a control instance to the list of available control systems.
See also: use().

collisionsOff
def collisionsOff(self)

Undocumented function.

collisionsOn
def collisionsOn(self)

Undocumented function.

delete
def delete(self)

Undocumented function.

deleteCollisions
def deleteCollisions(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

disableAvatarJump
def disableAvatarJump(self)

prevent

enable
def enable(self)

Undocumented function.

enableAvatarJump
def enableAvatarJump(self)

Stop forcing the ctrl key to return 0's

get
def get(self, name)

Undocumented function.

getIsAirborne
def getIsAirborne(self)

Undocumented function.

getSpeeds
def getSpeeds(self)

Undocumented function.

monitor
def monitor(self, foo)

Undocumented function.

placeOnFloor
def placeOnFloor(self)

Undocumented function.

remove
def remove(self, name)

name is any key that was used to refer to the the controls when they were added (e.g. using the add(<controls>, <name>) call).
Remove a control instance from the list of available control systems.
See also: add().

setSpeeds
def setSpeeds(self, forwardSpeed, jumpForce, reverseSpeed, rotateSpeed, strafeLeft=0, strafeRight=0)

Undocumented function.

setTag
def setTag(self, key, value)

Undocumented function.

setWASDTurn
def setWASDTurn(self, turn)

Undocumented function.

stop
def stop(self)

Undocumented function.

use
def use(self, name, avatar)

name is a key (string) that was previously passed to add().
Use a previously added control system.
See also: add().


CoordinateSystem

    from pandac.PandaModules import CoordinateSystem

Inheritance:

    CoordinateSystem:


CopyOnWriteObject

    from pandac.PandaModules import CopyOnWriteObject
    Class : CopyOnWriteObject
    Description : This base class provides basic reference counting, but also can be used with a CopyOnWritePointer to provide get_read_pointer() and get_write_pointer().

Inheritance:

    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CountedResource

    from direct.showbase.CountedResource import CountedResource
    This class is an attempt to combine the RAIA idiom with reference counting semantics in order to model shared resources. RAIA stands for "Resource Allocation Is Acquisition" (see 'Effective C++' for a more in-depth explanation)
    When a resource is needed, create an appropriate CountedResource object. If the resource is already available (meaning another CountedResource object of the same type already exists), no action is taken. Otherwise, acquire() is invoked, and the resource is allocated. The resource will remain valid until all matching CountedResource objects have been deleted. When no objects of a particular CountedResource type exist, the release() function for that type is invoked and the managed resource is cleaned up.
    Usage: Define a subclass of CountedResource that defines the @classmethods acquire() and release(). In these two functions, define your resource allocation and cleanup code.
    IMPORTANT: If you define your own __init__ and __del__ methods, you MUST be sure to call down to the ones defined in CountedResource.
    Notes: Until we figure out a way to wrangle a bit more functionality out of Python, you MUST NOT inherit from any class that has CountedResource as its base class. In debug mode, this will raise a runtime assertion during the invalid class's call to __init__(). If you have more than one resource that you want to manage/access with a single object, you should subclass CountedResource again. See the example code at the bottom of this file to see how to accomplish this (This is useful for dependent resources).

Inheritance:

    CountedResource:

Methods of CountedResource:

    __del__
    __init__
    def
__del__
def __del__(self)

Undocumented function.

__init__
def __init__(self)

Undocumented function.

def
def defrelease

Undocumented function.


CppMemoryUsage

    from direct.showbase.LeakDetectors import CppMemoryUsage

Inheritance:

    CppMemoryUsage:

Methods of CppMemoryUsage:

    __len__
__len__
def __len__(self)

Undocumented function.


CRCache

    from direct.distributed.CRCache import CRCache

Inheritance:

    CRCache:

Methods of CRCache:

    __init__
    cache
    checkCache
    contains
    delete
    flush
    isEmpty
    retrieve
    turnOff
    turnOn
__init__
def __init__(self, maxCacheItems=10)

Undocumented function.

cache
def cache(self, distObj)

Undocumented function.

checkCache
def checkCache(self)

Undocumented function.

contains
def contains(self, doId)

Undocumented function.

delete
def delete(self, doId)

Undocumented function.

flush
def flush(self)

Delete each item in the cache then clear all references to them

isEmpty
def isEmpty(self)

Undocumented function.

retrieve
def retrieve(self, doId)

Undocumented function.

turnOff
def turnOff(self)

Undocumented function.

turnOn
def turnOn(self)

Undocumented function.


CRDataCache

    from direct.distributed.CRDataCache import CRDataCache

Inheritance:

    CRDataCache:

Methods of CRDataCache:

    __init__
    destroy
    flush
    hasCachedData
    popCachedData
    setCachedData
__init__
def __init__(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

flush
def flush(self)

Undocumented function.

hasCachedData
def hasCachedData(self, doId)

Undocumented function.

popCachedData
def popCachedData(self, doId)

Undocumented function.

setCachedData
def setCachedData(self, doId, name, data)

Undocumented function.


CTOC

    from direct.pyinst.carchive_rt import CTOC

Inheritance:

    CTOC:

Methods of CTOC:

    __getitem__
    __init__
    find
    frombinary
    get
__getitem__
def __getitem__(self, ndx)

Undocumented function.

__init__
def __init__(self)

Undocumented function.

find
def find(self, name)

Undocumented function.

frombinary
def frombinary(self, s)

Undocumented function.

get
def get(self, ndx)

Undocumented function.


CubicCurveseg

    from pandac.PandaModules import CubicCurveseg
    Class : CubicCurveseg
    Description : A CubicCurveseg is any curve that can be completely described by four 4-valued basis vectors, one for each dimension in three-space, and one for the homogeneous coordinate. This includes Beziers, Hermites, and NURBS.
    This class encapsulates a single curve segment of the cubic curve. Normally, when we think of Bezier and Hermite curves, we think of a piecewise collection of such segments.
    Although this class includes methods such as hermite_basis() and nurbs_basis(), to generate a Hermite and NURBS curve segment, respectively, only the final basis vectors are stored: the product of the basis matrix of the corresponding curve type, and its geometry vectors. This is the minimum information needed to evaluate the curve. However, the individual CV's that were used to compute these basis vectors are not retained; this might be handled in a subclass (for instance, HermiteCurve).

Inheritance:

    CubicCurveseg: ParametricCurve
    ParametricCurve: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of CubicCurveseg:

    getClassType

Methods of ParametricCurve:

    adjustPoint
    adjustPt
    adjustTangent
    calcLength
    findLength
    get2ndtangent
    getClassType
    getCurveType
    getMaxT
    getNumDimensions
    getPoint
    getPt
    getTangent
    isValid
    recompute
    setCurveType
    setNumDimensions
    stitch
    writeEgg

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
getClassType
static TypeHandle CubicCurveseg::get_class_type(void);

Undocumented function.

adjustPoint
virtual bool ParametricCurve::adjust_point(float t, float px, float py, float pz);

Description: Recomputes the curve such that it passes through the point (px, py, pz) at time t, but keeps the same tangent value at that point.

adjustPt
virtual bool ParametricCurve::adjust_pt(float t, float px, float py, float pz, float tx, float ty, float tz);

Description: Recomputes the curve such that it passes through the point (px, py, pz) with the tangent (tx, ty, tz).

adjustTangent
virtual bool ParametricCurve::adjust_tangent(float t, float tx, float ty, float tz);

Description: Recomputes the curve such that it has the tangent (tx, ty, tz) at time t, but keeps the same position at the point.

calcLength
float ParametricCurve::calc_length(void) const;

Description: Approximates the length of the entire curve to within a few decimal places.
Description: Approximates the length of the curve segment from parametric time 'from' to time 'to'.

findLength
float ParametricCurve::find_length(float start_t, float length_offset) const;

Description: Returns the parametric value corresponding to the indicated distance along the curve from the starting parametric value.
This is the inverse of calc_length(): rather than determining the length along the curve between two parametric points, it determines the position in parametric time of a point n units along the curve.
The search distance must not be negative.

get2ndtangent
virtual bool ParametricCurve::get_2ndtangent(float t, LVecBase3f &tangent2) const = 0;

Undocumented function.

getClassType
static TypeHandle ParametricCurve::get_class_type(void);

Undocumented function.

getCurveType
int ParametricCurve::get_curve_type(void) const;

Description: Returns the flag indicating the use to which the curve is intended to be put.

getMaxT
virtual float ParametricCurve::get_max_t(void) const;

Description: Returns the upper bound of t for the entire curve. The curve is defined in the range 0.0f <= t <= get_max_t(). This base class function always returns 1.0f; derived classes might override this to return something else.

getNumDimensions
int ParametricCurve::get_num_dimensions(void) const;

Description: Returns the number of significant dimensions in the curve's vertices, as set by a previous call to set_num_dimensions(). This is only a hint as to how the curve is intended to be used; the actual number of dimensions of any curve is always three.

getPoint
virtual bool ParametricCurve::get_point(float t, LVecBase3f &point) const = 0;

Undocumented function.

getPt
virtual bool ParametricCurve::get_pt(float t, LVecBase3f &point, LVecBase3f &tangent) const = 0;

Undocumented function.

getTangent
virtual bool ParametricCurve::get_tangent(float t, LVecBase3f &tangent) const = 0;

Undocumented function.

isValid
virtual bool ParametricCurve::is_valid(void) const;

Description: Returns true if the curve is defined. This base class function always returns true; derived classes might override this to sometimes return false.

recompute
virtual bool ParametricCurve::recompute(void);

Description: Recalculates the curve, if necessary. Returns true if the resulting curve is valid, false otherwise.

setCurveType
void ParametricCurve::set_curve_type(int type);

Description: Sets the flag indicating the use to which the curve is intended to be put. This flag is optional and only serves to provide a hint to the egg reader and writer code; it has no effect on the curve's behavior.
Setting the curve type also sets the num_dimensions to 3 or 1 according to the type.
THis flag may have one of the values PCT_XYZ, PCT_HPR, or PCT_T.

setNumDimensions
void ParametricCurve::set_num_dimensions(int num);

Description: Specifies the number of significant dimensions in the curve's vertices. This should be one of 1, 2, or 3. Normally, XYZ and HPR curves have three dimensions; time curves should always have one dimension. This only serves as a hint to the mopath editor, and also controls how the curve is written out.

stitch
virtual bool ParametricCurve::stitch(ParametricCurve const *a, ParametricCurve const *b);

Description: Regenerates this curve as one long curve: the first curve connected end-to-end with the second one. Either a or b may be the same as 'this'.
Returns true if successful, false on failure or if the curve type does not support stitching.

writeEgg
bool ParametricCurve::write_egg(Filename filename, CoordinateSystem cs = (CS_default));

Description: Writes an egg description of the nurbs curve to the specified output file. Returns true if the file is successfully written.
Description: Writes an egg description of the nurbs curve to the specified output stream. Returns true if the file is successfully written.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CullBinAttrib

    from pandac.PandaModules import CullBinAttrib
    Class : CullBinAttrib
    Description : Assigns geometry to a particular bin by name. The bins must be created separately via the CullBinManager interface.

Inheritance:

    CullBinAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CullBinAttrib:

    getBinName
    getClassType
    getDrawOrder
    make

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getBinName
string const &CullBinAttrib::get_bin_name(void) const;

Description: Returns the name of the bin this attribute specifies. If this is the empty string, it refers to the default bin.

getClassType
static TypeHandle CullBinAttrib::get_class_type(void);

Undocumented function.

getDrawOrder
int CullBinAttrib::get_draw_order(void) const;

Description: Returns the draw order this attribute specifies. Some bins (in particular, CullBinFixed bins) use this to further specify the order in which objects should be rendered.

make
static ConstPointerTo< RenderAttrib > CullBinAttrib::make(string const &bin_name, int draw_order);

Description: Constructs a new CullBinAttrib assigning geometry into the named bin. If the bin name is the empty string, the default bin is used.
The draw_order specifies further ordering information which is relevant only to certain kinds of bins (in particular CullBinFixed type bins).

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CullBinEnums

    from pandac.PandaModules import CullBinEnums
    Class : CullBinEnums
    Description : Provides scoping for the enumerated type shared by CullBin and CullBinManager.

Inheritance:

    CullBinEnums:

Constants in CullBinEnums:

    BTInvalid | (BinType)
BTUnsorted | (BinType)
BTStateSorted | (BinType)
BTBackToFront | (BinType)
BTFrontToBack | (BinType)
BTFixed | (BinType)


CullBinManager

    from pandac.PandaModules import CullBinManager
    Class : CullBinManager
    Description : This is a global object that maintains the collection of named CullBins in the world.

Inheritance:

    CullBinManager: CullBinEnums
    CullBinEnums:

Methods of CullBinManager:

    addBin
    findBin
    getBin
    getBinActive
    getBinName
    getBinSort
    getBinType
    getGlobalPtr
    getNumBins
    removeBin
    setBinActive
    setBinSort
    setBinType
    write

Constants in CullBinEnums:

    BTInvalid | (BinType)
BTUnsorted | (BinType)
BTStateSorted | (BinType)
BTBackToFront | (BinType)
BTFrontToBack | (BinType)
BTFixed | (BinType)
addBin
int CullBinManager::add_bin(string const &name, CullBinEnums::BinType type, int sort);

Description: Defines a new bin with the indicated name, and returns the new bin_index. If there is already a bin with the same name returns its bin_index if it had the same properties; otherwise, reports an error and returns -1.

findBin
int CullBinManager::find_bin(string const &name) const;

Description: Returns the bin_index associated with the bin of the given name, or -1 if no bin has that name.

getBin
int CullBinManager::get_bin(int n) const;

Description: Returns the bin_index of the nth bin in the set, where n is a number between 0 and get_num_bins(). This returns the list of bin_index numbers, in sorted order (that is, in the order in which the bins should be rendered).

getBinActive
bool CullBinManager::get_bin_active(int bin_index) const;

Description: Returns the active flag of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()).
When a bin is marked inactive, all geometry assigned to it is not rendered.
Description: Returns the active flag of the bin with the indicated name.

getBinName
string CullBinManager::get_bin_name(int bin_index) const;

Description: Returns the name of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()). The bin's name may not be changed during the life of the bin.

getBinSort
int CullBinManager::get_bin_sort(int bin_index) const;

Description: Returns the sort order of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()).
The bins are rendered in increasing order by their sort order; this number may be changed from time to time to reorder the bins.
Description: Returns the sort order of the bin with the indicated name.

getBinType
CullBinEnums::BinType CullBinManager::get_bin_type(int bin_index) const;

Description: Returns the type of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()).
Description: Returns the type of the bin with the indicated name.

getGlobalPtr
static CullBinManager *CullBinManager::get_global_ptr(void);

Description: Returns the pointer to the global CullBinManager object.

getNumBins
int CullBinManager::get_num_bins(void) const;

Description: Returns the number of bins in the world.

removeBin
void CullBinManager::remove_bin(int bin_index);

Description: Permanently removes the indicated bin. This operation is not protected from the pipeline and will disturb whatever is currently rendering in draw. You should not call this during the normal course of rendering a frame; it is intended only as an aid to development, to allow the developer to interactively fiddle with the set of bins.

setBinActive
void CullBinManager::set_bin_active(int bin_index, bool active);

Description: Changes the active flag of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()).
When a bin is marked inactive, all geometry assigned to it is not rendered.
Description: Changes the active flag of the bin with the indicated name.

setBinSort
void CullBinManager::set_bin_sort(int bin_index, int sort);

Description: Changes the sort order of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()).
The bins are rendered in increasing order by their sort order; this number may be changed from time to time to reorder the bins.
Description: Changes the sort order of the bin with the indicated name.

setBinType
void CullBinManager::set_bin_type(int bin_index, CullBinEnums::BinType type);

Description: Changes the type of the bin with the indicated bin_index (where bin_index was retrieved by get_bin() or find_bin()).
The change might be effective immediately, or it might take place next frame, depending on the bin type.
Description: Changes the type of the bin with the indicated name.

write
void CullBinManager::write(ostream &out) const;

Description:


CullFaceAttrib

    from pandac.PandaModules import CullFaceAttrib
    Class : CullFaceAttrib
    Description : Indicates which faces should be culled based on their vertex ordering.

Inheritance:

    CullFaceAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CullFaceAttrib:

    getActualMode
    getClassType
    getEffectiveMode
    getReverse
    make
    makeReverse

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in CullFaceAttrib:

    MCullNone | (Mode)
MCullClockwise | (Mode)
MCullCounterClockwise | (Mode)
MCullUnchanged | (Mode)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getActualMode
CullFaceAttrib::Mode CullFaceAttrib::get_actual_mode(void) const;

Description: Returns the actual culling mode, without considering the effects of the reverse flag. See also get_effective_mode().

getClassType
static TypeHandle CullFaceAttrib::get_class_type(void);

Undocumented function.

getEffectiveMode
CullFaceAttrib::Mode CullFaceAttrib::get_effective_mode(void) const;

Description: Returns the effective culling mode. This is the same as the actual culling mode, unless the reverse flag is set, which swaps CW for CCW and vice-versa. Also, M_cull_unchanged is mapped to M_cull_none.

getReverse
bool CullFaceAttrib::get_reverse(void) const;

Description: Returns the 'reverse' flag. If this is true, the actual cull direction (clockwise vs. counterclockwise) is the reverse of what is specified here. This allows support for make_reverse(), which defines a CullFaceAttrib that reverses whatever the sense of culling would have been.

make
static ConstPointerTo< RenderAttrib > CullFaceAttrib::make(CullFaceAttrib::Mode mode = (M_cull_clockwise));

Description: Constructs a new CullFaceAttrib object that specifies how to cull geometry. By Panda convention, vertices are ordered counterclockwise when seen from the front, so the M_cull_clockwise will cull backfacing polygons.
M_cull_unchanged is an identity attrib; if this is applied to vertices without any other intervening attrib, it is the same as applying the default attrib.

makeReverse
static ConstPointerTo< RenderAttrib > CullFaceAttrib::make_reverse(void);

Description: Constructs a new CullFaceAttrib object that reverses the effects of any other CullFaceAttrib objects in the scene graph. M_cull_clockwise will be treated as M_cull_counter_clockwise, and vice-versa. M_cull_none is unchanged.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CullTraverser

    from pandac.PandaModules import CullTraverser
    Class : CullTraverser
    Description : This object performs a depth-first traversal of the scene graph, with optional view-frustum culling, collecting CullState and searching for GeomNodes. Each renderable Geom encountered is passed along with its associated RenderState to the CullHandler object.

Inheritance:

    CullTraverser: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CullTraverser:

    CullTraverser (Constructor)
    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
CullTraverser
CullTraverser::CullTraverser(void);

Description:

getClassType
static TypeHandle CullTraverser::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


CurveFitter

    from pandac.PandaModules import CurveFitter
    Class : CurveFitter
    Description :

Inheritance:

    CurveFitter:

Methods of CurveFitter:

    CurveFitter (Constructor)
    addHpr
    addXyz
    addXyzHpr
    computeTangents
    desample
    getClassType
    getNumSamples
    getSampleHpr
    getSampleT
    getSampleTangent
    getSampleXyz
    makeHermite
    makeNurbs
    output
    removeSamples
    reset
    sample
    sortPoints
    wrapHpr
    write
CurveFitter
CurveFitter::CurveFitter(void);

Description:

addHpr
void CurveFitter::add_hpr(float t, LVecBase3f const &hpr);

Description: Adds a single sample hpr.

addXyz
void CurveFitter::add_xyz(float t, LVecBase3f const &xyz);

Description: Adds a single sample xyz.

addXyzHpr
void CurveFitter::add_xyz_hpr(float t, LVecBase3f const &xyz, LVecBase3f const &hpr);

Description: Adds a single sample xyz & hpr simultaneously.

computeTangents
void CurveFitter::compute_tangents(float scale);

Description: Once a set of points has been built, and prior to calling MakeHermite() or MakeNurbs(), ComputeTangents() must be called to set up the tangents correctly (unless the tangents were defined as the points were added).

desample
void CurveFitter::desample(float factor);

Description: Removes sample points in order to reduce the complexity of a sampled curve. Keeps one out of every factor samples. Also keeps the first and the last samples.

getClassType
static TypeHandle CurveFitter::get_class_type(void);

Undocumented function.

getNumSamples
int CurveFitter::get_num_samples(void) const;

Description: Returns the number of sample points that have been added.

getSampleHpr
LVecBase3f CurveFitter::get_sample_hpr(int n) const;

Description: Returns the orientation of the nth sample added.

getSampleT
float CurveFitter::get_sample_t(int n) const;

Description: Returns the parametric value of the nth sample added.

getSampleTangent
LVecBase3f CurveFitter::get_sample_tangent(int n) const;

Description: Returns the tangent associated with the nth sample added. This is only meaningful if compute_tangents() has already been called.

getSampleXyz
LVecBase3f CurveFitter::get_sample_xyz(int n) const;

Description: Returns the point in space of the nth sample added.

makeHermite
PointerTo< ParametricCurveCollection > CurveFitter::make_hermite(void) const;

Description: Converts the current set of data points into a Hermite curve.

makeNurbs
PointerTo< ParametricCurveCollection > CurveFitter::make_nurbs(void) const;

Description: Converts the current set of data points into a NURBS curve. This gives a smoother curve than produced by MakeHermite().

output
void CurveFitter::output(ostream &out) const;

Description:

removeSamples
void CurveFitter::remove_samples(int begin, int end);

Description: Eliminates all samples from index begin, up to but not including index end, from the database.

reset
void CurveFitter::reset(void);

Description: Removes all the data points previously added to the CurveFitter, and initializes it for a new curve.

sample
void CurveFitter::sample(ParametricCurveCollection *curves, int count);

Description: Generates a series of data points by sampling the given curve (or xyz/hpr curves) the indicated number of times. The sampling is made evenly in parametric time, and then the timewarps, if any, are applied.

sortPoints
void CurveFitter::sort_points(void);

Description: Sorts all the data points in order by parametric time, in case they were added in an incorrect order.

wrapHpr
void CurveFitter::wrap_hpr(void);

Description: Resets each HPR data point so that the maximum delta between any two consecutive points is 180 degrees, which should prevent incorrect HPR wrapping.

write
void CurveFitter::write(ostream &out) const;

Description:


CylindricalLens

    from pandac.PandaModules import CylindricalLens
    Class : CylindricalLens
    Description : A cylindrical lens. This is the kind of lens generally used for extremely wide panoramic shots. It behaves like a normal perspective lens in the vertical direction, but it is non-linear in the horizontal dimension: a point on the film corresponds to a point in space in linear proportion to its angle to the camera, not to its straight-line distance from the center.
    This allows up to 360 degree lenses in the horizontal dimension, with relatively little distortion. The distortion is not very apparent between two relatively nearby points on the film, but it becomes increasingly evident as you compare points widely spaced on the film.

Inheritance:

    CylindricalLens: Lens
    Lens: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of CylindricalLens:

    CylindricalLens (Constructor)
    getClassType

Methods of Lens:

    clear
    clearKeystone
    clearViewMat
    extrude
    extrudeVec
    getAspectRatio
    getChangeEvent
    getClassType
    getConvergenceDistance
    getCoordinateSystem
    getDefaultFar
    getDefaultNear
    getFar
    getFilmMat
    getFilmMatInv
    getFilmOffset
    getFilmSize
    getFocalLength
    getFov
    getHfov
    getInterocularDistance
    getKeystone
    getLensMat
    getLensMatInv
    getMinFov
    getNear
    getNodalPoint
    getProjectionMat
    getProjectionMatInv
    getUpVector
    getVfov
    getViewHpr
    getViewMat
    getViewVector
    isLinear
    isOrthographic
    isPerspective
    makeBounds
    makeCopy
    makeGeometry
    output
    project
    recomputeAll
    setAspectRatio
    setChangeEvent
    setConvergenceDistance
    setCoordinateSystem
    setFar
    setFilmOffset
    setFilmSize
    setFocalLength
    setFov
    setFrustumFromCorners
    setInterocularDistance
    setKeystone
    setMinFov
    setNear
    setNearFar
    setViewHpr
    setViewMat
    setViewVector
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in Lens:

    SCMono | (StereoChannel)
SCLeft | (StereoChannel)
SCRight | (StereoChannel)
SCStereo | (StereoChannel)
FCRoll | (FromCorners)
FCCameraPlane | (FromCorners)
FCOffAxis | (FromCorners)
FCAspectRatio | (FromCorners)
FCShear | (FromCorners)
FCKeystone | (FromCorners)
CylindricalLens
CylindricalLens::CylindricalLens(void);

Description:

getClassType
static TypeHandle CylindricalLens::get_class_type(void);

Undocumented function.

clear
void Lens::clear(void);

Description: Resets all lens parameters to their initial default settings.

clearKeystone
void Lens::clear_keystone(void);

Description: Disables the lens keystone correction.

clearViewMat
void Lens::clear_view_mat(void);

Description: Resets the lens transform to identity.

extrude
bool Lens::extrude(LPoint2f const &point2d, LPoint3f &near_point, LPoint3f &far_point) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the corresponding vector in space that maps to this point, if such a vector can be determined. The vector is returned by indicating the points on the near plane and far plane that both map to the indicated 2-d point.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

extrudeVec
bool Lens::extrude_vec(LPoint2f const &point2d, LVector3f &vec3d) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the vector that corresponds to the view direction. This will be parallel to the normal on the surface (the far plane) corresponding to the lens shape at this point.
See the comment block on Lens::extrude_vec_impl() for a more in-depth comment on the meaning of this vector.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

getAspectRatio
float Lens::get_aspect_ratio(void) const;

Description: Returns the aspect ratio of the Lens. This is determined based on the indicated film size; see set_film_size().

getChangeEvent
string const &Lens::get_change_event(void) const;

Description: Returns the name of the event that will be generated whenever any properties of this particular Lens have changed.

getClassType
static TypeHandle Lens::get_class_type(void);

Undocumented function.

getConvergenceDistance
float Lens::get_convergence_distance(void) const;

Description: See set_convergence_distance().

getCoordinateSystem
CoordinateSystem Lens::get_coordinate_system(void) const;

Description: Returns the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

getDefaultFar
static float Lens::get_default_far(void);

Description: Returns the default far plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getDefaultNear
static float Lens::get_default_near(void);

Description: Returns the default near plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getFar
float Lens::get_far(void) const;

Description: Returns the position of the far plane (or cylinder, sphere, whatever).

getFilmMat
LMatrix4f const &Lens::get_film_mat(void) const;

Description: Returns the matrix that transforms from a point behind the lens to a point on the film.

getFilmMatInv
LMatrix4f const &Lens::get_film_mat_inv(void) const;

Description: Returns the matrix that transforms from a point on the film to a point behind the lens.

getFilmOffset
LVector2f const &Lens::get_film_offset(void) const;

Description: Returns the horizontal and vertical offset amounts of this Lens. See set_film_offset().

getFilmSize
LVecBase2f const &Lens::get_film_size(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_film_size().

getFocalLength
float Lens::get_focal_length(void) const;

Description: Returns the focal length of the lens. This may have been set explicitly by a previous call to set_focal_length(), or it may be computed based on the lens' fov and film_size. For certain kinds of lenses, the focal length has no meaning.

getFov
LVecBase2f const &Lens::get_fov(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_fov().

getHfov
float Lens::get_hfov(void) const;

Description: Returns the horizontal component of fov only. See get_fov().

getInterocularDistance
float Lens::get_interocular_distance(void) const;

Description: See set_interocular_distance().

getKeystone
LVecBase2f const &Lens::get_keystone(void) const;

Description: Returns the keystone correction specified for the lens.

getLensMat
LMatrix4f const &Lens::get_lens_mat(void) const;

Description: Returns the matrix that transforms from a point in front of the lens to a point in space.

getLensMatInv
LMatrix4f const &Lens::get_lens_mat_inv(void) const;

Description: Returns the matrix that transforms from a point in space to a point in front of the lens.

getMinFov
float Lens::get_min_fov(void) const;

Description: Returns the field of view of the narrowest dimension of the window. See set_min_fov().

getNear
float Lens::get_near(void) const;

Description: Returns the position of the near plane (or cylinder, sphere, whatever).

getNodalPoint
LPoint3f Lens::get_nodal_point(void) const;

Description: Returns the center point of the lens: the point from which the lens is viewing.

getProjectionMat
LMatrix4f const &Lens::get_projection_mat(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the complete transformation matrix from a 3-d point in space to a point on the film, if such a matrix exists, or the identity matrix if the lens is nonlinear.

getProjectionMatInv
LMatrix4f const &Lens::get_projection_mat_inv(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the matrix that transforms from a 2-d point on the film to a 3-d vector in space, if such a matrix exists.

getUpVector
LVector3f const &Lens::get_up_vector(void) const;

Description: Returns the axis perpendicular to the camera's view vector that indicates the "up" direction.

getVfov
float Lens::get_vfov(void) const;

Description: Returns the vertical component of fov only. See get_fov().

getViewHpr
LVecBase3f const &Lens::get_view_hpr(void) const;

Description: Returns the direction in which the lens is facing.

getViewMat
LMatrix4f const &Lens::get_view_mat(void) const;

Description: Returns the direction in which the lens is facing.

getViewVector
LVector3f const &Lens::get_view_vector(void) const;

Description: Returns the axis along which the lens is facing.

isLinear
virtual bool Lens::is_linear(void) const;

Description: Returns true if the lens represents a linear projection (e.g. PerspectiveLens, OrthographicLens), and therefore there is a valid matrix returned by get_projection_mat(), or false otherwise.

isOrthographic
virtual bool Lens::is_orthographic(void) const;

Description: Returns true if the lens represents a orthographic projection (i.e. it is a OrthographicLens), false otherwise.

isPerspective
virtual bool Lens::is_perspective(void) const;

Description: Returns true if the lens represents a perspective projection (i.e. it is a PerspectiveLens), false otherwise.

makeBounds
virtual PointerTo< BoundingVolume > Lens::make_bounds(void) const;

Description: Allocates and returns a new BoundingVolume that encloses the frustum used for this kind of lens, if possible. If a suitable bounding volume cannot be created, returns NULL.

makeCopy
virtual PointerTo< Lens > Lens::make_copy(void) const = 0;

Undocumented function.

makeGeometry
virtual PointerTo< Geom > Lens::make_geometry(void);

Description: Allocates and returns a new Geom that can be rendered to show a visible representation of the frustum used for this kind of lens, if it makes sense to do so. If a visible representation cannot be created, returns NULL.

output
virtual void Lens::output(ostream &out) const;

Description:

project
bool Lens::project(LPoint3f const &point3d, LPoint3f &point2d) const;

Description: Given a 3-d point in space, determine the 2-d point this maps to, in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner.
Returns true if the 3-d point is in front of the lens and within the viewing frustum (in which case point2d is filled in), or false otherwise (in which case point2d will be filled in with something, which may or may not be meaningful).
The z coordinate will also be set to a value in the range (-1, 1), where 1 represents a point on the near plane, and -1 represents a point on the far plane.

recomputeAll
void Lens::recompute_all(void);

Description: Forces all internal parameters of the Lens to be recomputed. Normally, this should never need to be called; it is provided only to assist in debugging.

setAspectRatio
void Lens::set_aspect_ratio(float aspect_ratio);

Description: Sets the aspect ratio of the lens. This is the ratio of the height to the width of the generated image. Setting this overrides the two-parameter fov or film size setting.

setChangeEvent
void Lens::set_change_event(string const &event);

Description: Sets the name of the event that will be generated whenever any properties of the Lens have changed. If this is not set for a particular lens, no event will be generated.
The event is thrown with one parameter, the lens itself. This can be used to automatically track changes to camera fov, etc. in the application.

setConvergenceDistance
void Lens::set_convergence_distance(float convergence_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setCoordinateSystem
void Lens::set_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

setFar
void Lens::set_far(float far_distance);

Description: Defines the position of the far plane (or cylinder, sphere, whatever). Points farther from the lens than this may not be rendered.

setFilmOffset
void Lens::set_film_offset(float x, float y);

Description: Sets the horizontal and vertical offset amounts of this Lens. These are both in the same units specified in set_film_size().
This can be used to establish an off-axis lens.

setFilmSize
void Lens::set_film_size(float width);

Description: Sets the size and shape of the "film" within the lens. This both establishes the units used by calls like set_focal_length(), and establishes the aspect ratio of the frame.
In a physical camera, the field of view of a lens is determined by the lens' focal length and by the size of the film area exposed by the lens. For instance, a 35mm camera exposes a rectangle on the film about 24mm x 36mm, which means a 50mm lens gives about a 40-degree horizontal field of view.
In the virtual camera, you may set the film size to any units here, and specify a focal length in the same units to simulate the same effect. Or, you may ignore this parameter, and specify the field of view and aspect ratio of the lens directly.
Description: Sets the horizontal size of the film without changing its shape. The aspect ratio remains unchanged; this computes the vertical size of the film to automatically maintain the aspect ratio.

setFocalLength
void Lens::set_focal_length(float focal_length);

Description: Sets the focal length of the lens. This may adjust the field-of-view correspondingly, and is an alternate way to specify field of view.
For certain kinds of lenses (e.g. OrthographicLens), the focal length has no meaning.

setFov
void Lens::set_fov(float fov);

Description: Sets the field of view of the lens in both dimensions. This establishes both the field of view and the aspect ratio of the lens. This is one way to specify the field of view of a lens; set_focal_length() is another way.
For certain kinds of lenses (like OrthoLens), the field of view has no meaning.
Description: Sets the horizontal field of view of the lens without changing the aspect ratio. The vertical field of view is adjusted to maintain the same aspect ratio.
For certain kinds of lenses (like OrthographicLens), the field of view has no meaning.

setFrustumFromCorners
void Lens::set_frustum_from_corners(LVecBase3f const &ul, LVecBase3f const &ur, LVecBase3f const &ll, LVecBase3f const &lr, int flags);

Description: Sets up the lens to use the frustum defined by the four indicated points. This is most useful for a PerspectiveLens, but it may be called for other kinds of lenses as well.
The frustum will be rooted at the origin (or by whatever translation might have been specified in a previous call to set_view_mat).
It is legal for the four points not to be arranged in a rectangle; if this is the case, the frustum will be fitted as tightly as possible to cover all four points.
The flags parameter contains the union of one or more of the following bits to control the behavior of this function:
FC_roll - If this is included, the camera may be rotated so that its up vector is perpendicular to the top line. Otherwise, the standard up vector is used.
FC_camera_plane - This allows the camera plane to be adjusted to be as nearly perpendicular to the center of the frustum as possible. Without this bit, the orientation camera plane is defined by position of the four points (which should all be coplanar). With this bit, the camera plane is arbitarary, and may be chosen so that the four points do not themselves lie in the camera plane (but the points will still be within the frustum).
FC_off_axis - This allows the resulting frustum to be off-axis to get the tightest possible fit. Without this bit, the viewing axis will be centered within the frustum, but there may be more wasted space along the edges.
FC_aspect_ratio - This allows the frustum to be scaled non-proportionately in the vertical and horizontal dimensions, if necessary, to get a tighter fit. Without this bit, the current aspect ratio will be preserved.
FC_shear - This allows the frustum to be sheared, if necessary, to get the tightest possible fit. This may result in a parallelogram-based frustum, which will give a slanted appearance to the rendered image. Without this bit, the frustum will be rectangle-based.
In general, if 0 is passed in as the value for flags, the generated frustum will be a loose fit but sane; if -1 is passed in, it will be a tighter fit and possibly screwy.

setInterocularDistance
void Lens::set_interocular_distance(float interocular_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setKeystone
void Lens::set_keystone(LVecBase2f const &keystone);

Description: Indicates the ratio of keystone correction to perform on the lens, in each of three axes. This will build a special non-affine scale factor into the projection matrix that will compensate for keystoning of a projected image; this can be used to compensate for a projector that for physical reasons cannot be aimed directly at it screen.
The default value is taken from the default-keystone Config variable. 0, 0 indicates no keystone correction; specify a small value (usually in the range -1 .. 1) in either the x or y position to generate a keystone correction in that axis.

setMinFov
void Lens::set_min_fov(float min_fov);

Description: Sets the field of view of the smallest dimension of the window. If the window is wider than it is tall, this specifies the vertical field of view; if it is taller than it is wide, this specifies the horizontal field of view.
In many cases, this is preferable to setting either the horizontal or vertical field of view explicitly. Setting this parameter means that pulling the window wider will widen the field of view, which is usually what you expect to happen.

setNear
void Lens::set_near(float near_distance);

Description: Defines the position of the near plane (or cylinder, sphere, whatever). Points closer to the lens than this may not be rendered.

setNearFar
void Lens::set_near_far(float near_distance, float far_distance);

Description: Simultaneously changes the near and far planes.

setViewHpr
void Lens::set_view_hpr(float h, float p, float r);

Description: Sets the direction in which the lens is facing. Normally, this is down the forward axis (usually the Y axis), but it may be rotated. This is only one way of specifying the rotation; you may also specify an explicit vector in which to look, or you may give a complete transformation matrix.

setViewMat
void Lens::set_view_mat(LMatrix4f const &view_mat);

Description: Sets an arbitrary transformation on the lens. This replaces the individual transformation components like set_view_hpr().
Setting a transformation here will have a slightly different effect than putting one on the LensNode that contains this lens. In particular, lighting and other effects computations will still be performed on the lens in its untransformed (facing forward) position, but the actual projection matrix will be transformed by this matrix.

setViewVector
void Lens::set_view_vector(float x, float y, float z, float i, float j, float k);

Description: Specifies the direction in which the lens is facing by giving an axis to look along, and a perpendicular (or at least non-parallel) up axis.
See also set_view_hpr().

write
virtual void Lens::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Datagram

    from pandac.PandaModules import Datagram
    Class : Datagram
    Description : An ordered list of data elements, formatted in memory for transmission over a socket or writing to a data file.
    Data elements should be added one at a time, in order, to the Datagram. The nature and contents of the data elements are totally up to the user. When a Datagram has been transmitted and received, its data elements may be extracted using a DatagramIterator; it is up to the caller to know the correct type of each data element in order.
    A Datagram is itself headerless; it is simply a collection of data elements.

Inheritance:

    Datagram: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of Datagram:

    Datagram (Constructor)
    addBeFloat32
    addBeFloat64
    addBeInt16
    addBeInt32
    addBeInt64
    addBeUint16
    addBeUint32
    addBeUint64
    addBool
    addFixedString
    addFloat32
    addFloat64
    addInt16
    addInt32
    addInt64
    addInt8
    addString
    addString32
    addUint16
    addUint32
    addUint64
    addUint8
    addWstring
    addZString
    appendData
    assign
    clear
    copyArray
    dumpHex
    getArray
    getClassType
    getData
    getLength
    getMessage
    modifyArray
    operator !=
    operator <
    operator =
    operator ==
    output
    padBytes
    setArray
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
Datagram
Datagram::Datagram(void);

Description: Constructs an empty datagram.
Description: Constructs a datagram from an existing block of data.
Description:

addBeFloat32
void Datagram::add_be_float32(float value);

Description: Adds a 32-bit single-precision big-endian floating-point number to the datagram. Since this kind of float is not necessarily portable across different architectures, special care is required.

addBeFloat64
void Datagram::add_be_float64(double value);

Description: Adds a 64-bit big-endian floating-point number to the datagram.

addBeInt16
void Datagram::add_be_int16(short int value);

These functions pack numbers big-endian, in case that's desired.
Description: Adds a signed 16-bit big-endian integer to the datagram.

addBeInt32
void Datagram::add_be_int32(int value);

These functions pack numbers big-endian, in case that's desired.
Description: Adds a signed 32-bit big-endian integer to the datagram.

addBeInt64
void Datagram::add_be_int64(__int64 value);

Description: Adds a signed 64-bit big-endian integer to the datagram.

addBeUint16
void Datagram::add_be_uint16(unsigned short int value);

Description: Adds an unsigned 16-bit big-endian integer to the datagram.

addBeUint32
void Datagram::add_be_uint32(unsigned int value);

Description: Adds an unsigned 32-bit big-endian integer to the datagram.

addBeUint64
void Datagram::add_be_uint64(unsigned __int64 value);

Description: Adds an unsigned 64-bit big-endian integer to the datagram.

addBool
void Datagram::add_bool(bool value);

Description: Adds a boolean value to the datagram.

addFixedString
void Datagram::add_fixed_string(string const &str, unsigned int size);

Description: Adds a fixed-length string to the datagram. If the string given is less than the requested size, this will pad the string out with zeroes; if it is greater than the requested size, this will silently truncate the string.

addFloat32
void Datagram::add_float32(float value);

Description: Adds a 32-bit single-precision floating-point number to the datagram. Since this kind of float is not necessarily portable across different architectures, special care is required.

addFloat64
void Datagram::add_float64(double value);

Description: Adds a 64-bit floating-point number to the datagram.

addInt16
void Datagram::add_int16(short int value);

The default numeric packing is little-endian.
Description: Adds a signed 16-bit integer to the datagram.

addInt32
void Datagram::add_int32(int value);

The default numeric packing is little-endian.
Description: Adds a signed 32-bit integer to the datagram.

addInt64
void Datagram::add_int64(__int64 value);

Description: Adds a signed 64-bit integer to the datagram.

addInt8
void Datagram::add_int8(signed char value);

Description: Adds a signed 8-bit integer to the datagram.

addString
void Datagram::add_string(string const &str);

Description: Adds a variable-length string to the datagram. This actually adds a count followed by n bytes.

addString32
void Datagram::add_string32(string const &str);

Description: Adds a variable-length string to the datagram, using a 32-bit length field to allow very long strings.

addUint16
void Datagram::add_uint16(unsigned short int value);

Description: Adds an unsigned 16-bit integer to the datagram.

addUint32
void Datagram::add_uint32(unsigned int value);

Description: Adds an unsigned 32-bit integer to the datagram.

addUint64
void Datagram::add_uint64(unsigned __int64 value);

Description: Adds an unsigned 64-bit integer to the datagram.

addUint8
void Datagram::add_uint8(unsigned char value);

Description: Adds an unsigned 8-bit integer to the datagram.

addWstring
void Datagram::add_wstring(basic_string< wchar_t > const &str);

Description: Adds a variable-length wstring to the datagram.

addZString
void Datagram::add_z_string(string str);

Description: Adds a variable-length string to the datagram, as a NULL-terminated string.

appendData
void Datagram::append_data(void const *data, unsigned int size);

Description: Appends some more raw data to the end of the datagram.

assign
void Datagram::assign(void const *data, unsigned int size);

Undocumented function.

clear
virtual void Datagram::clear(void);

Description: Resets the datagram to empty, in preparation for building up a new datagram.

copyArray
void Datagram::copy_array(ConstPointerToArray< unsigned char > data);

Description: Replaces the data in the Datagram with a copy of the data in the indicated CPTA_uchar. Unlike set_array(), a complete copy is made of the data; subsequent changes to the Datagram will *not* change the source CPTA_uchar.

dumpHex
void Datagram::dump_hex(ostream &out, unsigned int indent = (0)) const;

Description: Writes a representation of the entire datagram contents, as a sequence of hex (and ASCII) values.

getArray
ConstPointerToArray< unsigned char > Datagram::get_array(void) const;

Description: Returns a const pointer to the actual data in the Datagram.

getClassType
static TypeHandle Datagram::get_class_type(void);

Undocumented function.

getData
void const *Datagram::get_data(void) const;

Description: Returns a pointer to the beginning of the datagram's data.

getLength
unsigned int Datagram::get_length(void) const;

Description: Returns the number of bytes in the datagram.

getMessage
string Datagram::get_message(void) const;

Description: Returns the datagram's data as a string.

modifyArray
PointerToArray< unsigned char > Datagram::modify_array(void);

Description: Returns a modifiable pointer to the actual data in the Datagram.

operator !=
bool Datagram::operator !=(Datagram const &other) const;

Description:

operator <
bool Datagram::operator <(Datagram const &other) const;

Description:

operator =
void Datagram::operator =(Datagram const &copy);

Description:

operator ==
bool Datagram::operator ==(Datagram const &other) const;

Description:

output
void Datagram::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

padBytes
void Datagram::pad_bytes(unsigned int size);

Description: Adds the indicated number of zero bytes to the datagram.

setArray
void Datagram::set_array(PointerToArray< unsigned char > data);

Description: Replaces the data in the Datagram with the data in the indicated PTA_uchar. This is assignment by reference: subsequent changes to the Datagram will also change the source PTA_uchar.

write
void Datagram::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


DatagramIterator

    from pandac.PandaModules import DatagramIterator
    Class : DatagramIterator
    Description : A class to retrieve the individual data elements previously stored in a Datagram. Elements may be retrieved one at a time; it is up to the caller to know the correct type and order of each element.

Inheritance:

    DatagramIterator:

Methods of DatagramIterator:

    DatagramIterator (Constructor)
    extractBytes
    getBeFloat32
    getBeFloat64
    getBeInt16
    getBeInt32
    getBeInt64
    getBeUint16
    getBeUint32
    getBeUint64
    getBool
    getCurrentIndex
    getDatagram
    getFixedString
    getFloat32
    getFloat64
    getInt16
    getInt32
    getInt64
    getInt8
    getRemainingBytes
    getRemainingSize
    getString
    getString32
    getUint16
    getUint32
    getUint64
    getUint8
    getWstring
    getZString
    operator =
    output
    skipBytes
    write
DatagramIterator
DatagramIterator::DatagramIterator(void);

Description:

extractBytes
string DatagramIterator::extract_bytes(unsigned int size);

Description: Extracts the indicated number of bytes in the datagram and returns them as a string.

getBeFloat32
float DatagramIterator::get_be_float32(void);

Description: Extracts a 32-bit big-endian single-precision floating-point number. Since this kind of float is not necessarily portable across different architectures, special care is required.

getBeFloat64
double DatagramIterator::get_be_float64(void);

Description: Extracts a 64-bit big-endian floating-point number.

getBeInt16
short int DatagramIterator::get_be_int16(void);

Description: Extracts a signed 16-bit big-endian integer.

getBeInt32
int DatagramIterator::get_be_int32(void);

Description: Extracts a signed 32-bit big-endian integer.

getBeInt64
__int64 DatagramIterator::get_be_int64(void);

Description: Extracts a signed 64-bit big-endian integer.

getBeUint16
unsigned short int DatagramIterator::get_be_uint16(void);

Description: Extracts an unsigned 16-bit big-endian integer.

getBeUint32
unsigned int DatagramIterator::get_be_uint32(void);

Description: Extracts an unsigned 32-bit big-endian integer.

getBeUint64
unsigned __int64 DatagramIterator::get_be_uint64(void);

Description: Extracts an unsigned 64-bit big-endian integer.

getBool
bool DatagramIterator::get_bool(void);

Various ways to get data and increment the iterator... Cut-and-paste-orama
Description: Extracts a boolean value.

getCurrentIndex
unsigned int DatagramIterator::get_current_index(void) const;

Description: Returns the current position within the datagram of the next piece of data to extract.

getDatagram
Datagram const &DatagramIterator::get_datagram(void) const;

Description: Return the datagram of this iterator.

getFixedString
string DatagramIterator::get_fixed_string(unsigned int size);

Description: Extracts a fixed-length string. However, if a zero byte occurs within the string, it marks the end of the string.

getFloat32
float DatagramIterator::get_float32(void);

Description: Extracts a 32-bit single-precision floating-point number. Since this kind of float is not necessarily portable across different architectures, special care is required.

getFloat64
double DatagramIterator::get_float64(void);

Description: Extracts a 64-bit floating-point number.

getInt16
short int DatagramIterator::get_int16(void);

Description: Extracts a signed 16-bit integer.

getInt32
int DatagramIterator::get_int32(void);

Description: Extracts a signed 32-bit integer.

getInt64
__int64 DatagramIterator::get_int64(void);

Description: Extracts a signed 64-bit integer.

getInt8
signed char DatagramIterator::get_int8(void);

Description: Extracts a signed 8-bit integer.

getRemainingBytes
string DatagramIterator::get_remaining_bytes(void) const;

Description: Returns the remaining bytes in the datagram as a string, but does not extract them from the iterator.

getRemainingSize
int DatagramIterator::get_remaining_size(void) const;

Description: Return the bytes left in the datagram.

getString
string DatagramIterator::get_string(void);

Description: Extracts a variable-length string.

getString32
string DatagramIterator::get_string32(void);

Description: Extracts a variable-length string with a 32-bit length field.

getUint16
unsigned short int DatagramIterator::get_uint16(void);

Description: Extracts an unsigned 16-bit integer.

getUint32
unsigned int DatagramIterator::get_uint32(void);

Description: Extracts an unsigned 32-bit integer.

getUint64
unsigned __int64 DatagramIterator::get_uint64(void);

Description: Extracts an unsigned 64-bit integer.

getUint8
unsigned char DatagramIterator::get_uint8(void);

Description: Extracts an unsigned 8-bit integer.

getWstring
basic_string< wchar_t > DatagramIterator::get_wstring(void);

Description: Extracts a variable-length wstring (with a 32-bit length field).

getZString
string DatagramIterator::get_z_string(void);

Description: Extracts a variable-length string, as a NULL-terminated string.

operator =
void DatagramIterator::operator =(DatagramIterator const &copy);

Description:

output
void DatagramIterator::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

skipBytes
void DatagramIterator::skip_bytes(unsigned int size);

Description: Skips over the indicated number of bytes in the datagram.

write
void DatagramIterator::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.


DataGraphTraverser

    from pandac.PandaModules import DataGraphTraverser
    Class : DataGraphTraverser
    Description : This object supervises the traversal of the data graph and the moving of data from one DataNode to its children. The data graph is used to manage data from input devices, etc. See the overview of the data graph in dataNode.h.

Inheritance:

    DataGraphTraverser:

Methods of DataGraphTraverser:

    DataGraphTraverser (Constructor)
    collectLeftovers
    getCurrentThread
    traverse
    traverseBelow
DataGraphTraverser
DataGraphTraverser::DataGraphTraverser(Thread *current_thread = ((get_current_thread())));

Description:

collectLeftovers
void DataGraphTraverser::collect_leftovers(void);

Description: Pick up any nodes that didn't get completely traversed. These must be nodes that have multiple parents, with at least one parent completely outside of the data graph.

getCurrentThread
Thread *DataGraphTraverser::get_current_thread(void) const;

Description: Returns the currently-executing thread object, as passed to the DataGraphTraverser constructor.

traverse
void DataGraphTraverser::traverse(PandaNode *node);

Description: Starts the traversal of the data graph at the indicated root node.

traverseBelow
void DataGraphTraverser::traverse_below(PandaNode *node, DataNodeTransmit const &output);

Description: Continues the traversal to all the children of the indicated node, passing in the given data, without actually calling transmit_data() on the given node.


DataNode

    from pandac.PandaModules import DataNode
    Class : DataNode
    Description : The fundamental type of node for the data graph. The DataNode class is itself primarily intended as an abstract class; it defines no inputs and no outputs. Most kinds of data nodes will derive from this to specify the inputs and outputs in the constructor.
    DataNode does not attempt to cycle its data with a PipelineCycler. The data graph is intended to be used only within a single thread.

Inheritance:

    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


dataresource

    from direct.pyinst.resource import dataresource
    A subclass for arbitrary files.

Inheritance:

    dataresource:

Methods of dataresource:

    __init__
    asFilter
__init__
def __init__(self, name, fullname=None)

Undocumented function.

asFilter
def asFilter(self)

Create a FileFilter from self.


DCArrayParameter

    from pandac.PandaModules import DCArrayParameter
    Class : DCArrayParameter
    Description : This represents an array of some other kind of object, meaning this parameter type accepts an arbitrary (or possibly fixed) number of nested fields, all of which are of the same type.

Inheritance:

    DCArrayParameter: DCParameter
    DCParameter: DCField
    DCField: DCPackerInterface DCKeywordList
    DCPackerInterface:
    DCKeywordList:

Methods of DCArrayParameter:

    getArraySize
    getElementType

Methods of DCParameter:

    asArrayParameter
    asSimpleParameter
    getTypedef
    isValid
    makeCopy

Methods of DCField:

    aiFormatUpdate
    asAtomicField
    asField
    asMolecularField
    asParameter
    clientFormatUpdate
    formatData
    getClass
    getDefaultValue
    getNumber
    hasDefaultValue
    isAirecv
    isBogusField
    isBroadcast
    isClrecv
    isClsend
    isDb
    isOwnrecv
    isOwnsend
    isRam
    isRequired
    output
    packArgs
    parseString
    receiveUpdate
    unpackArgs
    validateRanges
    write

Methods of DCPackerInterface:

    asClassParameter
    asField
    asSwitchParameter
    checkMatch
    findSeekIndex
    getName

Methods of DCKeywordList:

    compareKeywords
    getKeyword
    getKeywordByName
    getNumKeywords
    hasKeyword
getArraySize
int DCArrayParameter::get_array_size(void) const;

Description: Returns the fixed number of elements in this array, or -1 if the array may contain a variable number of elements.

getElementType
DCParameter *DCArrayParameter::get_element_type(void) const;

Description: Returns the type of the individual elements of this array.

asArrayParameter
virtual DCArrayParameter *DCParameter::as_array_parameter(void);

Description:

asSimpleParameter
virtual DCSimpleParameter *DCParameter::as_simple_parameter(void);

Description:

getTypedef
DCTypedef const *DCParameter::get_typedef(void) const;

Description: If this type has been referenced from a typedef, returns the DCTypedef instance, or NULL if the type was declared on-the-fly.

isValid
virtual bool DCParameter::is_valid(void) const = 0;

Undocumented function.

makeCopy
virtual DCParameter *DCParameter::make_copy(void) const = 0;

Undocumented function.

aiFormatUpdate
Datagram DCField::ai_format_update(unsigned int do_id, unsigned __int64 to_id, unsigned __int64 from_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the AI.

asAtomicField
virtual DCAtomicField *DCField::as_atomic_field(void);

Description: Returns the same field pointer converted to an atomic field pointer, if this is in fact an atomic field; otherwise, returns NULL.

asField
virtual DCField *DCField::as_field(void);

Description:

asMolecularField
virtual DCMolecularField *DCField::as_molecular_field(void);

Description: Returns the same field pointer converted to a molecular field pointer, if this is in fact a molecular field; otherwise, returns NULL.

asParameter
virtual DCParameter *DCField::as_parameter(void);

Description:

clientFormatUpdate
Datagram DCField::client_format_update(unsigned int do_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the client.

formatData
string DCField::format_data(string const &packed_data, bool show_field_names = (1));

Description: Given a blob that represents the packed data for this field, returns a string formatting it for human consumption. Returns empty string if there is an error.

getClass
DCClass *DCField::get_class(void) const;

Description: Returns the DCClass pointer for the class that contains this field.

getDefaultValue
string const &DCField::get_default_value(void) const;

Description: Returns the default value for this field. If a default value has been explicitly set (e.g. has_default_value() returns true), returns that value; otherwise, returns an implicit default for the field.

getNumber
int DCField::get_number(void) const;

Description: Returns a unique index number associated with this field. This is defined implicitly when the .dc file(s) are read.

hasDefaultValue
bool DCField::has_default_value(void) const;

Description: Returns true if a default value has been explicitly established for this field, false otherwise.

isAirecv
bool DCField::is_airecv(void) const;

Description: Returns true if the "airecv" flag is set for this field, false otherwise.

isBogusField
bool DCField::is_bogus_field(void) const;

Description: Returns true if the field has been flagged as a bogus field. This is set for fields that are generated by the parser as placeholder for missing fields, as when reading a partial file; it should not occur in a normal valid dc file.

isBroadcast
bool DCField::is_broadcast(void) const;

Description: Returns true if the "broadcast" flag is set for this field, false otherwise.

isClrecv
bool DCField::is_clrecv(void) const;

Description: Returns true if the "clrecv" flag is set for this field, false otherwise.

isClsend
bool DCField::is_clsend(void) const;

Description: Returns true if the "clsend" flag is set for this field, false otherwise.

isDb
bool DCField::is_db(void) const;

Description: Returns true if the "db" flag is set for this field, false otherwise.

isOwnrecv
bool DCField::is_ownrecv(void) const;

Description: Returns true if the "ownrecv" flag is set for this field, false otherwise.

isOwnsend
bool DCField::is_ownsend(void) const;

Description: Returns true if the "ownsend" flag is set for this field, false otherwise.

isRam
bool DCField::is_ram(void) const;

Description: Returns true if the "ram" flag is set for this field, false otherwise.

isRequired
bool DCField::is_required(void) const;

Description: Returns true if the "required" flag is set for this field, false otherwise.

output
void DCField::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

packArgs
bool DCField::pack_args(DCPacker &packer, PyObject *sequence) const;

Description: Packs the Python arguments from the indicated tuple into the packer. Returns true on success, false on failure.
It is assumed that the packer is currently positioned on this field.

parseString
string DCField::parse_string(string const &formatted_string);

Description: Given a human-formatted string (for instance, as returned by format_data(), above) that represents the value of this field, parse the string and return the corresponding packed data. Returns empty string if there is an error.

receiveUpdate
void DCField::receive_update(DCPacker &packer, PyObject *distobj) const;

Description: Extracts the update message out of the datagram and applies it to the indicated object by calling the appropriate method.

unpackArgs
PyObject *DCField::unpack_args(DCPacker &packer) const;

Description: Unpacks the values from the packer, beginning at the current point in the unpack_buffer, into a Python tuple and returns the tuple.
It is assumed that the packer is currently positioned on this field.

validateRanges
bool DCField::validate_ranges(string const &packed_data) const;

Description: Verifies that all of the packed values in the field data are within the specified ranges and that there are no extra bytes on the end of the record. Returns true if all fields are valid, false otherwise.

write
void DCField::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.

asClassParameter
virtual DCClassParameter *DCPackerInterface::as_class_parameter(void);

Description:

asField
virtual DCField *DCPackerInterface::as_field(void);

Description:

asSwitchParameter
virtual DCSwitchParameter *DCPackerInterface::as_switch_parameter(void);

Description:

checkMatch
bool DCPackerInterface::check_match(DCPackerInterface const *other) const;

Description: Returns true if the other interface is bitwise the same as this one--that is, a uint32 only matches a uint32, etc. Names of components, and range limits, are not compared.
Description: Returns true if this interface is bitwise the same as the interface described with the indicated formatted string, e.g. "(uint8, uint8, int16)", or false otherwise.
If DCFile is not NULL, it specifies the DCFile that was previously loaded, from which some predefined structs and typedefs may be referenced in the description string.

findSeekIndex
int DCPackerInterface::find_seek_index(string const &name) const;

Description: Returns the index number to be passed to a future call to DCPacker::seek() to seek directly to the named field without having to look up the field name in a table later, or -1 if the named field cannot be found.
If the named field is nested within a switch or some similar dynamic structure that reveals different fields based on the contents of the data, this mechanism cannot be used to pre-fetch the field index number--you must seek for the field by name.

getName
string const &DCPackerInterface::get_name(void) const;

Description: Returns the name of this field, or empty string if the field is unnamed.

compareKeywords
bool DCKeywordList::compare_keywords(DCKeywordList const &other) const;

Description: Returns true if this list has the same keywords as the other list, false if some keywords differ. Order is not considered important.

getKeyword
DCKeyword const *DCKeywordList::get_keyword(int n) const;

Description: Returns the nth keyword in the list.

getKeywordByName
DCKeyword const *DCKeywordList::get_keyword_by_name(string const &name) const;

Description: Returns the keyword in the list with the indicated name, or NULL if there is no keyword in the list with that name.

getNumKeywords
int DCKeywordList::get_num_keywords(void) const;

Description: Returns the number of keywords in the list.

hasKeyword
bool DCKeywordList::has_keyword(string const &name) const;

Description: Returns true if this list includes the indicated keyword, false otherwise.


DCAtomicField

    from pandac.PandaModules import DCAtomicField

Inheritance:

    DCAtomicField: DCField
    DCField: DCPackerInterface DCKeywordList
    DCPackerInterface:
    DCKeywordList:

Methods of DCAtomicField:

    getElement
    getElementDefault
    getElementDivisor
    getElementName
    getElementType
    getNumElements
    hasElementDefault

Methods of DCField:

    aiFormatUpdate
    asAtomicField
    asField
    asMolecularField
    asParameter
    clientFormatUpdate
    formatData
    getClass
    getDefaultValue
    getNumber
    hasDefaultValue
    isAirecv
    isBogusField
    isBroadcast
    isClrecv
    isClsend
    isDb
    isOwnrecv
    isOwnsend
    isRam
    isRequired
    output
    packArgs
    parseString
    receiveUpdate
    unpackArgs
    validateRanges
    write

Methods of DCPackerInterface:

    asClassParameter
    asField
    asSwitchParameter
    checkMatch
    findSeekIndex
    getName

Methods of DCKeywordList:

    compareKeywords
    getKeyword
    getKeywordByName
    getNumKeywords
    hasKeyword
getElement
DCParameter *DCAtomicField::get_element(int n) const;

Description: Returns the parameter object describing the nth element.

getElementDefault
string DCAtomicField::get_element_default(int n) const;

These five methods are deprecated and will be removed soon.
Description: Returns the pre-formatted default value associated with the nth element of the field. This is only valid if has_element_default() returns true, in which case this string represents the bytes that should be assigned to the field as a default value.
If the element is an array-type element, the returned value will include the two-byte length preceding the array data.
This is deprecated; use get_element() instead.

getElementDivisor
int DCAtomicField::get_element_divisor(int n) const;

Description: Returns the divisor associated with the nth element of the field. This implements an implicit fixed-point system; floating-point values are to be multiplied by this value before encoding into a packet, and divided by this number after decoding.
This method is deprecated; use get_element()->get_divisor() instead.

getElementName
string DCAtomicField::get_element_name(int n) const;

Description: Returns the name of the nth element of the field. This name is strictly for documentary purposes; it does not generally affect operation. If a name is not specified, this will be the empty string.
This method is deprecated; use get_element()->get_name() instead.

getElementType
DCSubatomicType DCAtomicField::get_element_type(int n) const;

Description: Returns the numeric type of the nth element of the field. This method is deprecated; use get_element() instead.

getNumElements
int DCAtomicField::get_num_elements(void) const;

Description: Returns the number of elements (parameters) of the atomic field.

hasElementDefault
bool DCAtomicField::has_element_default(int n) const;

These five methods are deprecated and will be removed soon.
Description: Returns true if the nth element of the field has a default value specified, false otherwise.
This is deprecated; use get_element() instead.

aiFormatUpdate
Datagram DCField::ai_format_update(unsigned int do_id, unsigned __int64 to_id, unsigned __int64 from_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the AI.

asAtomicField
virtual DCAtomicField *DCField::as_atomic_field(void);

Description: Returns the same field pointer converted to an atomic field pointer, if this is in fact an atomic field; otherwise, returns NULL.

asField
virtual DCField *DCField::as_field(void);

Description:

asMolecularField
virtual DCMolecularField *DCField::as_molecular_field(void);

Description: Returns the same field pointer converted to a molecular field pointer, if this is in fact a molecular field; otherwise, returns NULL.

asParameter
virtual DCParameter *DCField::as_parameter(void);

Description:

clientFormatUpdate
Datagram DCField::client_format_update(unsigned int do_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the client.

formatData
string DCField::format_data(string const &packed_data, bool show_field_names = (1));

Description: Given a blob that represents the packed data for this field, returns a string formatting it for human consumption. Returns empty string if there is an error.

getClass
DCClass *DCField::get_class(void) const;

Description: Returns the DCClass pointer for the class that contains this field.

getDefaultValue
string const &DCField::get_default_value(void) const;

Description: Returns the default value for this field. If a default value has been explicitly set (e.g. has_default_value() returns true), returns that value; otherwise, returns an implicit default for the field.

getNumber
int DCField::get_number(void) const;

Description: Returns a unique index number associated with this field. This is defined implicitly when the .dc file(s) are read.

hasDefaultValue
bool DCField::has_default_value(void) const;

Description: Returns true if a default value has been explicitly established for this field, false otherwise.

isAirecv
bool DCField::is_airecv(void) const;

Description: Returns true if the "airecv" flag is set for this field, false otherwise.

isBogusField
bool DCField::is_bogus_field(void) const;

Description: Returns true if the field has been flagged as a bogus field. This is set for fields that are generated by the parser as placeholder for missing fields, as when reading a partial file; it should not occur in a normal valid dc file.

isBroadcast
bool DCField::is_broadcast(void) const;

Description: Returns true if the "broadcast" flag is set for this field, false otherwise.

isClrecv
bool DCField::is_clrecv(void) const;

Description: Returns true if the "clrecv" flag is set for this field, false otherwise.

isClsend
bool DCField::is_clsend(void) const;

Description: Returns true if the "clsend" flag is set for this field, false otherwise.

isDb
bool DCField::is_db(void) const;

Description: Returns true if the "db" flag is set for this field, false otherwise.

isOwnrecv
bool DCField::is_ownrecv(void) const;

Description: Returns true if the "ownrecv" flag is set for this field, false otherwise.

isOwnsend
bool DCField::is_ownsend(void) const;

Description: Returns true if the "ownsend" flag is set for this field, false otherwise.

isRam
bool DCField::is_ram(void) const;

Description: Returns true if the "ram" flag is set for this field, false otherwise.

isRequired
bool DCField::is_required(void) const;

Description: Returns true if the "required" flag is set for this field, false otherwise.

output
void DCField::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

packArgs
bool DCField::pack_args(DCPacker &packer, PyObject *sequence) const;

Description: Packs the Python arguments from the indicated tuple into the packer. Returns true on success, false on failure.
It is assumed that the packer is currently positioned on this field.

parseString
string DCField::parse_string(string const &formatted_string);

Description: Given a human-formatted string (for instance, as returned by format_data(), above) that represents the value of this field, parse the string and return the corresponding packed data. Returns empty string if there is an error.

receiveUpdate
void DCField::receive_update(DCPacker &packer, PyObject *distobj) const;

Description: Extracts the update message out of the datagram and applies it to the indicated object by calling the appropriate method.

unpackArgs
PyObject *DCField::unpack_args(DCPacker &packer) const;

Description: Unpacks the values from the packer, beginning at the current point in the unpack_buffer, into a Python tuple and returns the tuple.
It is assumed that the packer is currently positioned on this field.

validateRanges
bool DCField::validate_ranges(string const &packed_data) const;

Description: Verifies that all of the packed values in the field data are within the specified ranges and that there are no extra bytes on the end of the record. Returns true if all fields are valid, false otherwise.

write
void DCField::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.

asClassParameter
virtual DCClassParameter *DCPackerInterface::as_class_parameter(void);

Description:

asField
virtual DCField *DCPackerInterface::as_field(void);

Description:

asSwitchParameter
virtual DCSwitchParameter *DCPackerInterface::as_switch_parameter(void);

Description:

checkMatch
bool DCPackerInterface::check_match(DCPackerInterface const *other) const;

Description: Returns true if the other interface is bitwise the same as this one--that is, a uint32 only matches a uint32, etc. Names of components, and range limits, are not compared.
Description: Returns true if this interface is bitwise the same as the interface described with the indicated formatted string, e.g. "(uint8, uint8, int16)", or false otherwise.
If DCFile is not NULL, it specifies the DCFile that was previously loaded, from which some predefined structs and typedefs may be referenced in the description string.

findSeekIndex
int DCPackerInterface::find_seek_index(string const &name) const;

Description: Returns the index number to be passed to a future call to DCPacker::seek() to seek directly to the named field without having to look up the field name in a table later, or -1 if the named field cannot be found.
If the named field is nested within a switch or some similar dynamic structure that reveals different fields based on the contents of the data, this mechanism cannot be used to pre-fetch the field index number--you must seek for the field by name.

getName
string const &DCPackerInterface::get_name(void) const;

Description: Returns the name of this field, or empty string if the field is unnamed.

compareKeywords
bool DCKeywordList::compare_keywords(DCKeywordList const &other) const;

Description: Returns true if this list has the same keywords as the other list, false if some keywords differ. Order is not considered important.

getKeyword
DCKeyword const *DCKeywordList::get_keyword(int n) const;

Description: Returns the nth keyword in the list.

getKeywordByName
DCKeyword const *DCKeywordList::get_keyword_by_name(string const &name) const;

Description: Returns the keyword in the list with the indicated name, or NULL if there is no keyword in the list with that name.

getNumKeywords
int DCKeywordList::get_num_keywords(void) const;

Description: Returns the number of keywords in the list.

hasKeyword
bool DCKeywordList::has_keyword(string const &name) const;

Description: Returns true if this list includes the indicated keyword, false otherwise.


DCClass

    from pandac.PandaModules import DCClass
    Class : DCClass
    Description : Defines a particular DistributedClass as read from an input .dc file.

Inheritance:

    DCClass: DCDeclaration
    DCDeclaration:

Methods of DCClass:

    aiDatabaseGenerateContext
    aiDatabaseGenerateContextOld
    aiFormatGenerate
    aiFormatUpdate
    clientFormatGenerate
    clientFormatUpdate
    directUpdate
    getClassDef
    getConstructor
    getDcFile
    getField
    getFieldByIndex
    getFieldByName
    getInheritedField
    getName
    getNumber
    getNumFields
    getNumInheritedFields
    getNumParents
    getOwnerClassDef
    getParent
    hasClassDef
    hasConstructor
    hasOwnerClassDef
    inheritsFromBogusClass
    isBogusClass
    isStruct
    packRequiredField
    receiveUpdate
    receiveUpdateAllRequired
    receiveUpdateBroadcastRequired
    receiveUpdateBroadcastRequiredOwner
    receiveUpdateOther
    setClassDef
    setOwnerClassDef
    startGenerate
    stopGenerate

Methods of DCDeclaration:

    asClass
    asSwitch
    output
    write
aiDatabaseGenerateContext
Datagram DCClass::ai_database_generate_context(unsigned int context_id, unsigned int parent_id, unsigned int zone_id, unsigned __int64 owner_channel, unsigned __int64 database_server_id, unsigned __int64 from_channel_id) const;

Description: Generates a datagram containing the message necessary to create a new database distributed object from the AI.
First Pass is to only incldue required values (with Defaults).

aiDatabaseGenerateContextOld
Datagram DCClass::ai_database_generate_context_old(unsigned int context_id, unsigned int parent_id, unsigned int zone_id, unsigned __int64 database_server_id, unsigned __int64 from_channel_id) const;

TODO: remove this once Skyler has things working with the new server
Description: Generates a datagram containing the message necessary to create a new database distributed object from the AI.
First Pass is to only incldue required values (with Defaults).

aiFormatGenerate
Datagram DCClass::ai_format_generate(PyObject *distobj, unsigned int do_id, unsigned int parent_id, unsigned int zone_id, unsigned __int64 district_channel_id, unsigned __int64 from_channel_id, PyObject *optional_fields) const;

Description: Generates a datagram containing the message necessary to generate a new distributed object from the AI. This requires querying the object for the initial value of its required fields.
optional_fields is a list of fieldNames to generate in addition to the normal required fields.

aiFormatUpdate
Datagram DCClass::ai_format_update(string const &field_name, unsigned int do_id, unsigned __int64 to_id, unsigned __int64 from_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the AI.

clientFormatGenerate
Datagram DCClass::client_format_generate(PyObject *distobj, unsigned int do_id, unsigned int zone_id, PyObject *optional_fields) const;

Description: Generates a datagram containing the message necessary to generate a new distributed object from the client. This requires querying the object for the initial value of its required fields.
optional_fields is a list of fieldNames to generate in addition to the normal required fields.

clientFormatUpdate
Datagram DCClass::client_format_update(string const &field_name, unsigned int do_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the client.

directUpdate
void DCClass::direct_update(PyObject *distobj, string const &field_name, string const &value_blob);

Description: Processes an update for a named field from a packed value blob.
Description: Processes an update for a named field from a packed datagram.

getClassDef
PyObject *DCClass::get_class_def(void) const;

Description: Returns the class object that was previously associated with this DistributedClass. This will return a new reference to the object.

getConstructor
DCField *DCClass::get_constructor(void) const;

Description: Returns the constructor method for this class if it is defined, or NULL if the class uses the default constructor.

getDcFile
DCFile *DCClass::get_dc_file(void) const;

Description: Returns the DCFile object that contains the class.

getField
DCField *DCClass::get_field(int n) const;

Description: Returns the nth field in the class. This is not necessarily the field with index n; this is the nth field defined in the class directly, ignoring inheritance.

getFieldByIndex
DCField *DCClass::get_field_by_index(int index_number) const;

Description: Returns a pointer to the DCField that has the indicated index number. If the numbered field is not found in the current class, the parent classes will be searched, so the value returned may not actually be a field within this class. Returns NULL if there is no such field defined.

getFieldByName
DCField *DCClass::get_field_by_name(string const &name) const;

Description: Returns a pointer to the DCField that shares the indicated name. If the named field is not found in the current class, the parent classes will be searched, so the value returned may not actually be a field within this class. Returns NULL if there is no such field defined.

getInheritedField
DCField *DCClass::get_inherited_field(int n) const;

Description: Returns the nth field field in the class and all of its ancestors.
This *used* to be the same thing as get_field_by_index(), back when the fields were numbered sequentially within a class's inheritance hierarchy. Now that fields have a globally unique index number, this is no longer true.

getName
string const &DCClass::get_name(void) const;

Description: Returns the name of this class.

getNumber
int DCClass::get_number(void) const;

Description: Returns a unique index number associated with this class. This is defined implicitly when the .dc file(s) are read.

getNumFields
int DCClass::get_num_fields(void) const;

Description: Returns the number of fields defined directly in this class, ignoring inheritance.

getNumInheritedFields
int DCClass::get_num_inherited_fields(void) const;

Description: Returns the total number of field fields defined in this class and all ancestor classes.

getNumParents
int DCClass::get_num_parents(void) const;

Description: Returns the number of base classes this class inherits from.

getOwnerClassDef
PyObject *DCClass::get_owner_class_def(void) const;

Description: Returns the owner class object that was previously associated with this DistributedClass. This will return a new reference to the object.

getParent
DCClass *DCClass::get_parent(int n) const;

Description: Returns the nth parent class this class inherits from.

hasClassDef
bool DCClass::has_class_def(void) const;

Description: Returns true if the DCClass object has an associated Python class definition, false otherwise.

hasConstructor
bool DCClass::has_constructor(void) const;

Description: Returns true if this class has a constructor method, false if it just uses the default constructor.

hasOwnerClassDef
bool DCClass::has_owner_class_def(void) const;

Description: Returns true if the DCClass object has an associated Python owner class definition, false otherwise.

inheritsFromBogusClass
bool DCClass::inherits_from_bogus_class(void) const;

Description : Returns true if this class, or any class in the inheritance heirarchy for this class, is a "bogus" class--a forward reference to an as-yet-undefined class.

isBogusClass
bool DCClass::is_bogus_class(void) const;

Description: Returns true if the class has been flagged as a bogus class. This is set for classes that are generated by the parser as placeholder for missing classes, as when reading a partial file; it should not occur in a normal valid dc file.

isStruct
bool DCClass::is_struct(void) const;

Description: Returns true if the class has been identified with the "struct" keyword in the dc file, false if it was declared with "dclass".

packRequiredField
bool DCClass::pack_required_field(Datagram &datagram, PyObject *distobj, DCField const *field) const;

Description: Looks up the current value of the indicated field by calling the appropriate get*() function, then packs that value into the datagram. This field is presumably either a required field or a specified optional field, and we are building up a datagram for the generate-with-required message.
Returns true on success, false on failure.
Description: Looks up the current value of the indicated field by calling the appropriate get*() function, then packs that value into the packer. This field is presumably either a required field or a specified optional field, and we are building up a datagram for the generate-with-required message.

receiveUpdate
void DCClass::receive_update(PyObject *distobj, DatagramIterator &di) const;

Description: Extracts the update message out of the packer and applies it to the indicated object by calling the appropriate method.

receiveUpdateAllRequired
void DCClass::receive_update_all_required(PyObject *distobj, DatagramIterator &di) const;

Description: Processes a big datagram that includes all of the "required" fields that are sent when an avatar is created. This is all of the atomic fields that are marked "required", whether they are broadcast or not.

receiveUpdateBroadcastRequired
void DCClass::receive_update_broadcast_required(PyObject *distobj, DatagramIterator &di) const;

Description: Processes a big datagram that includes all of the "required" fields that are sent along with a normal "generate with required" message. This is all of the atomic fields that are marked "broadcast required".

receiveUpdateBroadcastRequiredOwner
void DCClass::receive_update_broadcast_required_owner(PyObject *distobj, DatagramIterator &di) const;

Description: Processes a big datagram that includes all of the "required" fields that are sent along with a normal "generate with required" message. This is all of the atomic fields that are marked "broadcast ownrecv". Should be used for 'owner-view' objects.

receiveUpdateOther
void DCClass::receive_update_other(PyObject *distobj, DatagramIterator &di) const;

Description: Processes a datagram that lists some additional fields that are broadcast in one chunk.

setClassDef
void DCClass::set_class_def(PyObject *class_def);

Description: Sets the class object associated with this DistributedClass. This object will be used to construct new instances of the class.

setOwnerClassDef
void DCClass::set_owner_class_def(PyObject *owner_class_def);

Description: Sets the owner class object associated with this DistributedClass. This object will be used to construct new owner instances of the class.

startGenerate
void DCClass::start_generate(void);

Description: Starts the PStats timer going on the "generate" task, that is, marks the beginning of the process of generating a new object, for the purposes of timing this process.
This should balance with a corresponding call to stop_generate().

stopGenerate
void DCClass::stop_generate(void);

Description: Stops the PStats timer on the "generate" task. This should balance with a preceding call to start_generate().

asClass
virtual DCClass *DCDeclaration::as_class(void);

Description:

asSwitch
virtual DCSwitch *DCDeclaration::as_switch(void);

Description:

output
virtual void DCDeclaration::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

write
void DCDeclaration::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.


DCClassParameter

    from pandac.PandaModules import DCClassParameter
    Class : DCClassParameter
    Description : This represents a class (or struct) object used as a parameter itself. This means that all the fields of the class get packed into the message.

Inheritance:

    DCClassParameter: DCParameter
    DCParameter: DCField
    DCField: DCPackerInterface DCKeywordList
    DCPackerInterface:
    DCKeywordList:

Methods of DCClassParameter:

    getClass

Methods of DCParameter:

    asArrayParameter
    asSimpleParameter
    getTypedef
    isValid
    makeCopy

Methods of DCField:

    aiFormatUpdate
    asAtomicField
    asField
    asMolecularField
    asParameter
    clientFormatUpdate
    formatData
    getClass
    getDefaultValue
    getNumber
    hasDefaultValue
    isAirecv
    isBogusField
    isBroadcast
    isClrecv
    isClsend
    isDb
    isOwnrecv
    isOwnsend
    isRam
    isRequired
    output
    packArgs
    parseString
    receiveUpdate
    unpackArgs
    validateRanges
    write

Methods of DCPackerInterface:

    asClassParameter
    asField
    asSwitchParameter
    checkMatch
    findSeekIndex
    getName

Methods of DCKeywordList:

    compareKeywords
    getKeyword
    getKeywordByName
    getNumKeywords
    hasKeyword
getClass
DCClass const *DCClassParameter::get_class(void) const;

Description: Returns the class object this parameter represents.

asArrayParameter
virtual DCArrayParameter *DCParameter::as_array_parameter(void);

Description:

asSimpleParameter
virtual DCSimpleParameter *DCParameter::as_simple_parameter(void);

Description:

getTypedef
DCTypedef const *DCParameter::get_typedef(void) const;

Description: If this type has been referenced from a typedef, returns the DCTypedef instance, or NULL if the type was declared on-the-fly.

isValid
virtual bool DCParameter::is_valid(void) const = 0;

Undocumented function.

makeCopy
virtual DCParameter *DCParameter::make_copy(void) const = 0;

Undocumented function.

aiFormatUpdate
Datagram DCField::ai_format_update(unsigned int do_id, unsigned __int64 to_id, unsigned __int64 from_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the AI.

asAtomicField
virtual DCAtomicField *DCField::as_atomic_field(void);

Description: Returns the same field pointer converted to an atomic field pointer, if this is in fact an atomic field; otherwise, returns NULL.

asField
virtual DCField *DCField::as_field(void);

Description:

asMolecularField
virtual DCMolecularField *DCField::as_molecular_field(void);

Description: Returns the same field pointer converted to a molecular field pointer, if this is in fact a molecular field; otherwise, returns NULL.

asParameter
virtual DCParameter *DCField::as_parameter(void);

Description:

clientFormatUpdate
Datagram DCField::client_format_update(unsigned int do_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the client.

formatData
string DCField::format_data(string const &packed_data, bool show_field_names = (1));

Description: Given a blob that represents the packed data for this field, returns a string formatting it for human consumption. Returns empty string if there is an error.

getClass
DCClass *DCField::get_class(void) const;

Description: Returns the DCClass pointer for the class that contains this field.

getDefaultValue
string const &DCField::get_default_value(void) const;

Description: Returns the default value for this field. If a default value has been explicitly set (e.g. has_default_value() returns true), returns that value; otherwise, returns an implicit default for the field.

getNumber
int DCField::get_number(void) const;

Description: Returns a unique index number associated with this field. This is defined implicitly when the .dc file(s) are read.

hasDefaultValue
bool DCField::has_default_value(void) const;

Description: Returns true if a default value has been explicitly established for this field, false otherwise.

isAirecv
bool DCField::is_airecv(void) const;

Description: Returns true if the "airecv" flag is set for this field, false otherwise.

isBogusField
bool DCField::is_bogus_field(void) const;

Description: Returns true if the field has been flagged as a bogus field. This is set for fields that are generated by the parser as placeholder for missing fields, as when reading a partial file; it should not occur in a normal valid dc file.

isBroadcast
bool DCField::is_broadcast(void) const;

Description: Returns true if the "broadcast" flag is set for this field, false otherwise.

isClrecv
bool DCField::is_clrecv(void) const;

Description: Returns true if the "clrecv" flag is set for this field, false otherwise.

isClsend
bool DCField::is_clsend(void) const;

Description: Returns true if the "clsend" flag is set for this field, false otherwise.

isDb
bool DCField::is_db(void) const;

Description: Returns true if the "db" flag is set for this field, false otherwise.

isOwnrecv
bool DCField::is_ownrecv(void) const;

Description: Returns true if the "ownrecv" flag is set for this field, false otherwise.

isOwnsend
bool DCField::is_ownsend(void) const;

Description: Returns true if the "ownsend" flag is set for this field, false otherwise.

isRam
bool DCField::is_ram(void) const;

Description: Returns true if the "ram" flag is set for this field, false otherwise.

isRequired
bool DCField::is_required(void) const;

Description: Returns true if the "required" flag is set for this field, false otherwise.

output
void DCField::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

packArgs
bool DCField::pack_args(DCPacker &packer, PyObject *sequence) const;

Description: Packs the Python arguments from the indicated tuple into the packer. Returns true on success, false on failure.
It is assumed that the packer is currently positioned on this field.

parseString
string DCField::parse_string(string const &formatted_string);

Description: Given a human-formatted string (for instance, as returned by format_data(), above) that represents the value of this field, parse the string and return the corresponding packed data. Returns empty string if there is an error.

receiveUpdate
void DCField::receive_update(DCPacker &packer, PyObject *distobj) const;

Description: Extracts the update message out of the datagram and applies it to the indicated object by calling the appropriate method.

unpackArgs
PyObject *DCField::unpack_args(DCPacker &packer) const;

Description: Unpacks the values from the packer, beginning at the current point in the unpack_buffer, into a Python tuple and returns the tuple.
It is assumed that the packer is currently positioned on this field.

validateRanges
bool DCField::validate_ranges(string const &packed_data) const;

Description: Verifies that all of the packed values in the field data are within the specified ranges and that there are no extra bytes on the end of the record. Returns true if all fields are valid, false otherwise.

write
void DCField::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.

asClassParameter
virtual DCClassParameter *DCPackerInterface::as_class_parameter(void);

Description:

asField
virtual DCField *DCPackerInterface::as_field(void);

Description:

asSwitchParameter
virtual DCSwitchParameter *DCPackerInterface::as_switch_parameter(void);

Description:

checkMatch
bool DCPackerInterface::check_match(DCPackerInterface const *other) const;

Description: Returns true if the other interface is bitwise the same as this one--that is, a uint32 only matches a uint32, etc. Names of components, and range limits, are not compared.
Description: Returns true if this interface is bitwise the same as the interface described with the indicated formatted string, e.g. "(uint8, uint8, int16)", or false otherwise.
If DCFile is not NULL, it specifies the DCFile that was previously loaded, from which some predefined structs and typedefs may be referenced in the description string.

findSeekIndex
int DCPackerInterface::find_seek_index(string const &name) const;

Description: Returns the index number to be passed to a future call to DCPacker::seek() to seek directly to the named field without having to look up the field name in a table later, or -1 if the named field cannot be found.
If the named field is nested within a switch or some similar dynamic structure that reveals different fields based on the contents of the data, this mechanism cannot be used to pre-fetch the field index number--you must seek for the field by name.

getName
string const &DCPackerInterface::get_name(void) const;

Description: Returns the name of this field, or empty string if the field is unnamed.

compareKeywords
bool DCKeywordList::compare_keywords(DCKeywordList const &other) const;

Description: Returns true if this list has the same keywords as the other list, false if some keywords differ. Order is not considered important.

getKeyword
DCKeyword const *DCKeywordList::get_keyword(int n) const;

Description: Returns the nth keyword in the list.

getKeywordByName
DCKeyword const *DCKeywordList::get_keyword_by_name(string const &name) const;

Description: Returns the keyword in the list with the indicated name, or NULL if there is no keyword in the list with that name.

getNumKeywords
int DCKeywordList::get_num_keywords(void) const;

Description: Returns the number of keywords in the list.

hasKeyword
bool DCKeywordList::has_keyword(string const &name) const;

Description: Returns true if this list includes the indicated keyword, false otherwise.


DCDeclaration

    from pandac.PandaModules import DCDeclaration
    Class : DCDeclaration
    Description : This is a common interface for a declaration in a DC file. Currently, this is either a class or a typedef declaration (import declarations are still collected together at the top, and don't inherit from this object). Its only purpose is so that classes and typedefs can be stored in one list together so they can be ordered correctly on output.

Inheritance:

    DCDeclaration:

Methods of DCDeclaration:

    asClass
    asSwitch
    output
    write
asClass
virtual DCClass *DCDeclaration::as_class(void);

Description:

asSwitch
virtual DCSwitch *DCDeclaration::as_switch(void);

Description:

output
virtual void DCDeclaration::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

write
void DCDeclaration::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.


DCField

    from pandac.PandaModules import DCField
    Class : DCField
    Description : A single field of a Distributed Class, either atomic or molecular.

Inheritance:

    DCField: DCPackerInterface DCKeywordList
    DCPackerInterface:
    DCKeywordList:

Methods of DCField:

    aiFormatUpdate
    asAtomicField
    asField
    asMolecularField
    asParameter
    clientFormatUpdate
    formatData
    getClass
    getDefaultValue
    getNumber
    hasDefaultValue
    isAirecv
    isBogusField
    isBroadcast
    isClrecv
    isClsend
    isDb
    isOwnrecv
    isOwnsend
    isRam
    isRequired
    output
    packArgs
    parseString
    receiveUpdate
    unpackArgs
    validateRanges
    write

Methods of DCPackerInterface:

    asClassParameter
    asField
    asSwitchParameter
    checkMatch
    findSeekIndex
    getName

Methods of DCKeywordList:

    compareKeywords
    getKeyword
    getKeywordByName
    getNumKeywords
    hasKeyword
aiFormatUpdate
Datagram DCField::ai_format_update(unsigned int do_id, unsigned __int64 to_id, unsigned __int64 from_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the AI.

asAtomicField
virtual DCAtomicField *DCField::as_atomic_field(void);

Description: Returns the same field pointer converted to an atomic field pointer, if this is in fact an atomic field; otherwise, returns NULL.

asField
virtual DCField *DCField::as_field(void);

Description:

asMolecularField
virtual DCMolecularField *DCField::as_molecular_field(void);

Description: Returns the same field pointer converted to a molecular field pointer, if this is in fact a molecular field; otherwise, returns NULL.

asParameter
virtual DCParameter *DCField::as_parameter(void);

Description:

clientFormatUpdate
Datagram DCField::client_format_update(unsigned int do_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the client.

formatData
string DCField::format_data(string const &packed_data, bool show_field_names = (1));

Description: Given a blob that represents the packed data for this field, returns a string formatting it for human consumption. Returns empty string if there is an error.

getClass
DCClass *DCField::get_class(void) const;

Description: Returns the DCClass pointer for the class that contains this field.

getDefaultValue
string const &DCField::get_default_value(void) const;

Description: Returns the default value for this field. If a default value has been explicitly set (e.g. has_default_value() returns true), returns that value; otherwise, returns an implicit default for the field.

getNumber
int DCField::get_number(void) const;

Description: Returns a unique index number associated with this field. This is defined implicitly when the .dc file(s) are read.

hasDefaultValue
bool DCField::has_default_value(void) const;

Description: Returns true if a default value has been explicitly established for this field, false otherwise.

isAirecv
bool DCField::is_airecv(void) const;

Description: Returns true if the "airecv" flag is set for this field, false otherwise.

isBogusField
bool DCField::is_bogus_field(void) const;

Description: Returns true if the field has been flagged as a bogus field. This is set for fields that are generated by the parser as placeholder for missing fields, as when reading a partial file; it should not occur in a normal valid dc file.

isBroadcast
bool DCField::is_broadcast(void) const;

Description: Returns true if the "broadcast" flag is set for this field, false otherwise.

isClrecv
bool DCField::is_clrecv(void) const;

Description: Returns true if the "clrecv" flag is set for this field, false otherwise.

isClsend
bool DCField::is_clsend(void) const;

Description: Returns true if the "clsend" flag is set for this field, false otherwise.

isDb
bool DCField::is_db(void) const;

Description: Returns true if the "db" flag is set for this field, false otherwise.

isOwnrecv
bool DCField::is_ownrecv(void) const;

Description: Returns true if the "ownrecv" flag is set for this field, false otherwise.

isOwnsend
bool DCField::is_ownsend(void) const;

Description: Returns true if the "ownsend" flag is set for this field, false otherwise.

isRam
bool DCField::is_ram(void) const;

Description: Returns true if the "ram" flag is set for this field, false otherwise.

isRequired
bool DCField::is_required(void) const;

Description: Returns true if the "required" flag is set for this field, false otherwise.

output
void DCField::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

packArgs
bool DCField::pack_args(DCPacker &packer, PyObject *sequence) const;

Description: Packs the Python arguments from the indicated tuple into the packer. Returns true on success, false on failure.
It is assumed that the packer is currently positioned on this field.

parseString
string DCField::parse_string(string const &formatted_string);

Description: Given a human-formatted string (for instance, as returned by format_data(), above) that represents the value of this field, parse the string and return the corresponding packed data. Returns empty string if there is an error.

receiveUpdate
void DCField::receive_update(DCPacker &packer, PyObject *distobj) const;

Description: Extracts the update message out of the datagram and applies it to the indicated object by calling the appropriate method.

unpackArgs
PyObject *DCField::unpack_args(DCPacker &packer) const;

Description: Unpacks the values from the packer, beginning at the current point in the unpack_buffer, into a Python tuple and returns the tuple.
It is assumed that the packer is currently positioned on this field.

validateRanges
bool DCField::validate_ranges(string const &packed_data) const;

Description: Verifies that all of the packed values in the field data are within the specified ranges and that there are no extra bytes on the end of the record. Returns true if all fields are valid, false otherwise.

write
void DCField::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.

asClassParameter
virtual DCClassParameter *DCPackerInterface::as_class_parameter(void);

Description:

asField
virtual DCField *DCPackerInterface::as_field(void);

Description:

asSwitchParameter
virtual DCSwitchParameter *DCPackerInterface::as_switch_parameter(void);

Description:

checkMatch
bool DCPackerInterface::check_match(DCPackerInterface const *other) const;

Description: Returns true if the other interface is bitwise the same as this one--that is, a uint32 only matches a uint32, etc. Names of components, and range limits, are not compared.
Description: Returns true if this interface is bitwise the same as the interface described with the indicated formatted string, e.g. "(uint8, uint8, int16)", or false otherwise.
If DCFile is not NULL, it specifies the DCFile that was previously loaded, from which some predefined structs and typedefs may be referenced in the description string.

findSeekIndex
int DCPackerInterface::find_seek_index(string const &name) const;

Description: Returns the index number to be passed to a future call to DCPacker::seek() to seek directly to the named field without having to look up the field name in a table later, or -1 if the named field cannot be found.
If the named field is nested within a switch or some similar dynamic structure that reveals different fields based on the contents of the data, this mechanism cannot be used to pre-fetch the field index number--you must seek for the field by name.

getName
string const &DCPackerInterface::get_name(void) const;

Description: Returns the name of this field, or empty string if the field is unnamed.

compareKeywords
bool DCKeywordList::compare_keywords(DCKeywordList const &other) const;

Description: Returns true if this list has the same keywords as the other list, false if some keywords differ. Order is not considered important.

getKeyword
DCKeyword const *DCKeywordList::get_keyword(int n) const;

Description: Returns the nth keyword in the list.

getKeywordByName
DCKeyword const *DCKeywordList::get_keyword_by_name(string const &name) const;

Description: Returns the keyword in the list with the indicated name, or NULL if there is no keyword in the list with that name.

getNumKeywords
int DCKeywordList::get_num_keywords(void) const;

Description: Returns the number of keywords in the list.

hasKeyword
bool DCKeywordList::has_keyword(string const &name) const;

Description: Returns true if this list includes the indicated keyword, false otherwise.


DCFile

    from pandac.PandaModules import DCFile
    Class : DCFile
    Description : Represents the complete list of Distributed Class descriptions as read from a .dc file.

Inheritance:

    DCFile:

Methods of DCFile:

    DCFile (Constructor)
    allObjectsValid
    clear
    getClass
    getClassByName
    getFieldByIndex
    getHash
    getImportModule
    getImportSymbol
    getKeyword
    getKeywordByName
    getNumClasses
    getNumImportModules
    getNumImportSymbols
    getNumKeywords
    getNumTypedefs
    getSwitchByName
    getTypedef
    getTypedefByName
    read
    readAll
    write
DCFile
DCFile::DCFile(void);

Description:

allObjectsValid
bool DCFile::all_objects_valid(void) const;

Description: Returns true if all of the classes read from the DC file were defined and valid, or false if any of them were undefined ("bogus classes"). If this is true, we might have read a partial file.

clear
void DCFile::clear(void);

Description: Removes all of the classes defined within the DCFile and prepares it for reading a new file.

getClass
DCClass *DCFile::get_class(int n) const;

Description: Returns the nth class read from the .dc file(s).

getClassByName
DCClass *DCFile::get_class_by_name(string const &name) const;

Description: Returns the class that has the indicated name, or NULL if there is no such class.

getFieldByIndex
DCField *DCFile::get_field_by_index(int index_number) const;

Description: Returns a pointer to the one DCField that has the indicated index number, of all the DCFields across all classes in the file.
This method is only valid if dc-multiple-inheritance is set true in the Config.prc file. Without this setting, different DCFields may share the same index number, so this global lookup is not possible.

getHash
unsigned long int DCFile::get_hash(void) const;

Description: Returns a 32-bit hash index associated with this file. This number is guaranteed to be consistent if the contents of the file have not changed, and it is very likely to be different if the contents of the file do change.

getImportModule
string DCFile::get_import_module(int n) const;

Description: Returns the module named by the nth import line read from the .dc file(s).

getImportSymbol
string DCFile::get_import_symbol(int n, int i) const;

Description: Returns the ith symbol named by the nth import line read from the .dc file(s).

getKeyword
DCKeyword const *DCFile::get_keyword(int n) const;

Description: Returns the nth keyword read from the .dc file(s).

getKeywordByName
DCKeyword const *DCFile::get_keyword_by_name(string const &name) const;

Description: Returns the keyword that has the indicated name, or NULL if there is no such keyword name.

getNumClasses
int DCFile::get_num_classes(void) const;

Description: Returns the number of classes read from the .dc file(s).

getNumImportModules
int DCFile::get_num_import_modules(void) const;

Description: Returns the number of import lines read from the .dc file(s).

getNumImportSymbols
int DCFile::get_num_import_symbols(int n) const;

Description: Returns the number of symbols explicitly imported by the nth import line. If this is 0, the line is "import modulename"; if it is more than 0, the line is "from modulename import symbol, symbol ... ".

getNumKeywords
int DCFile::get_num_keywords(void) const;

Description: Returns the number of keywords read from the .dc file(s).

getNumTypedefs
int DCFile::get_num_typedefs(void) const;

Description: Returns the number of typedefs read from the .dc file(s).

getSwitchByName
DCSwitch *DCFile::get_switch_by_name(string const &name) const;

Description: Returns the switch that has the indicated name, or NULL if there is no such switch.

getTypedef
DCTypedef *DCFile::get_typedef(int n) const;

Description: Returns the nth typedef read from the .dc file(s).

getTypedefByName
DCTypedef *DCFile::get_typedef_by_name(string const &name) const;

Description: Returns the typedef that has the indicated name, or NULL if there is no such typedef name.

read
bool DCFile::read(Filename filename);

WITHIN_PANDA
Description: Opens and reads the indicated .dc file by name. The distributed classes defined in the file will be appended to the set of distributed classes already recorded, if any.
Returns true if the file is successfully read, false if there was an error (in which case the file might have been partially read).
Description: Parses the already-opened input stream for distributed class descriptions. The filename parameter is optional and is only used when reporting errors.
The distributed classes defined in the file will be appended to the set of distributed classes already recorded, if any.

readAll
bool DCFile::read_all(void);

Description: This special method reads all of the .dc files named by the "dc-file" config.prc variable, and loads them into the DCFile namespace.

write
bool DCFile::write(Filename filename, bool brief) const;

Description: Opens the indicated filename for output and writes a parseable description of all the known distributed classes to the file.
Returns true if the description is successfully written, false otherwise.
Description: Writes a parseable description of all the known distributed classes to the stream.


DCKeyword

    from pandac.PandaModules import DCKeyword
    Class : DCKeyword
    Description : This represents a single keyword declaration in the dc file. It is used to define a communication property associated with a field, for instance "broadcast" or "airecv".

Inheritance:

    DCKeyword: DCDeclaration
    DCDeclaration:

Methods of DCKeyword:

    getName

Methods of DCDeclaration:

    asClass
    asSwitch
    output
    write
getName
string const &DCKeyword::get_name(void) const;

Description: Returns the name of this keyword.

asClass
virtual DCClass *DCDeclaration::as_class(void);

Description:

asSwitch
virtual DCSwitch *DCDeclaration::as_switch(void);

Description:

output
virtual void DCDeclaration::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

write
void DCDeclaration::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.


DCKeywordList

    from pandac.PandaModules import DCKeywordList
    Class : DCKeywordList
    Description : This is a list of keywords (see DCKeyword) that may be set on a particular field.

Inheritance:

    DCKeywordList:

Methods of DCKeywordList:

    compareKeywords
    getKeyword
    getKeywordByName
    getNumKeywords
    hasKeyword
compareKeywords
bool DCKeywordList::compare_keywords(DCKeywordList const &other) const;

Description: Returns true if this list has the same keywords as the other list, false if some keywords differ. Order is not considered important.

getKeyword
DCKeyword const *DCKeywordList::get_keyword(int n) const;

Description: Returns the nth keyword in the list.

getKeywordByName
DCKeyword const *DCKeywordList::get_keyword_by_name(string const &name) const;

Description: Returns the keyword in the list with the indicated name, or NULL if there is no keyword in the list with that name.

getNumKeywords
int DCKeywordList::get_num_keywords(void) const;

Description: Returns the number of keywords in the list.

hasKeyword
bool DCKeywordList::has_keyword(string const &name) const;

Description: Returns true if this list includes the indicated keyword, false otherwise.


DCMolecularField

    from pandac.PandaModules import DCMolecularField
    Class : DCMolecularField
    Description : A single molecular field of a Distributed Class, as read from a .dc file. This represents a combination of two or more related atomic fields, that will often be treated as a unit.

Inheritance:

    DCMolecularField: DCField
    DCField: DCPackerInterface DCKeywordList
    DCPackerInterface:
    DCKeywordList:

Methods of DCMolecularField:

    getAtomic
    getNumAtomics

Methods of DCField:

    aiFormatUpdate
    asAtomicField
    asField
    asMolecularField
    asParameter
    clientFormatUpdate
    formatData
    getClass
    getDefaultValue
    getNumber
    hasDefaultValue
    isAirecv
    isBogusField
    isBroadcast
    isClrecv
    isClsend
    isDb
    isOwnrecv
    isOwnsend
    isRam
    isRequired
    output
    packArgs
    parseString
    receiveUpdate
    unpackArgs
    validateRanges
    write

Methods of DCPackerInterface:

    asClassParameter
    asField
    asSwitchParameter
    checkMatch
    findSeekIndex
    getName

Methods of DCKeywordList:

    compareKeywords
    getKeyword
    getKeywordByName
    getNumKeywords
    hasKeyword
getAtomic
DCAtomicField *DCMolecularField::get_atomic(int n) const;

Description: Returns the nth atomic field that makes up this molecular field. This may or may not be a field of this particular class; it might be defined in a parent class.

getNumAtomics
int DCMolecularField::get_num_atomics(void) const;

Description: Returns the number of atomic fields that make up this molecular field.

aiFormatUpdate
Datagram DCField::ai_format_update(unsigned int do_id, unsigned __int64 to_id, unsigned __int64 from_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the AI.

asAtomicField
virtual DCAtomicField *DCField::as_atomic_field(void);

Description: Returns the same field pointer converted to an atomic field pointer, if this is in fact an atomic field; otherwise, returns NULL.

asField
virtual DCField *DCField::as_field(void);

Description:

asMolecularField
virtual DCMolecularField *DCField::as_molecular_field(void);

Description: Returns the same field pointer converted to a molecular field pointer, if this is in fact a molecular field; otherwise, returns NULL.

asParameter
virtual DCParameter *DCField::as_parameter(void);

Description:

clientFormatUpdate
Datagram DCField::client_format_update(unsigned int do_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the client.

formatData
string DCField::format_data(string const &packed_data, bool show_field_names = (1));

Description: Given a blob that represents the packed data for this field, returns a string formatting it for human consumption. Returns empty string if there is an error.

getClass
DCClass *DCField::get_class(void) const;

Description: Returns the DCClass pointer for the class that contains this field.

getDefaultValue
string const &DCField::get_default_value(void) const;

Description: Returns the default value for this field. If a default value has been explicitly set (e.g. has_default_value() returns true), returns that value; otherwise, returns an implicit default for the field.

getNumber
int DCField::get_number(void) const;

Description: Returns a unique index number associated with this field. This is defined implicitly when the .dc file(s) are read.

hasDefaultValue
bool DCField::has_default_value(void) const;

Description: Returns true if a default value has been explicitly established for this field, false otherwise.

isAirecv
bool DCField::is_airecv(void) const;

Description: Returns true if the "airecv" flag is set for this field, false otherwise.

isBogusField
bool DCField::is_bogus_field(void) const;

Description: Returns true if the field has been flagged as a bogus field. This is set for fields that are generated by the parser as placeholder for missing fields, as when reading a partial file; it should not occur in a normal valid dc file.

isBroadcast
bool DCField::is_broadcast(void) const;

Description: Returns true if the "broadcast" flag is set for this field, false otherwise.

isClrecv
bool DCField::is_clrecv(void) const;

Description: Returns true if the "clrecv" flag is set for this field, false otherwise.

isClsend
bool DCField::is_clsend(void) const;

Description: Returns true if the "clsend" flag is set for this field, false otherwise.

isDb
bool DCField::is_db(void) const;

Description: Returns true if the "db" flag is set for this field, false otherwise.

isOwnrecv
bool DCField::is_ownrecv(void) const;

Description: Returns true if the "ownrecv" flag is set for this field, false otherwise.

isOwnsend
bool DCField::is_ownsend(void) const;

Description: Returns true if the "ownsend" flag is set for this field, false otherwise.

isRam
bool DCField::is_ram(void) const;

Description: Returns true if the "ram" flag is set for this field, false otherwise.

isRequired
bool DCField::is_required(void) const;

Description: Returns true if the "required" flag is set for this field, false otherwise.

output
void DCField::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

packArgs
bool DCField::pack_args(DCPacker &packer, PyObject *sequence) const;

Description: Packs the Python arguments from the indicated tuple into the packer. Returns true on success, false on failure.
It is assumed that the packer is currently positioned on this field.

parseString
string DCField::parse_string(string const &formatted_string);

Description: Given a human-formatted string (for instance, as returned by format_data(), above) that represents the value of this field, parse the string and return the corresponding packed data. Returns empty string if there is an error.

receiveUpdate
void DCField::receive_update(DCPacker &packer, PyObject *distobj) const;

Description: Extracts the update message out of the datagram and applies it to the indicated object by calling the appropriate method.

unpackArgs
PyObject *DCField::unpack_args(DCPacker &packer) const;

Description: Unpacks the values from the packer, beginning at the current point in the unpack_buffer, into a Python tuple and returns the tuple.
It is assumed that the packer is currently positioned on this field.

validateRanges
bool DCField::validate_ranges(string const &packed_data) const;

Description: Verifies that all of the packed values in the field data are within the specified ranges and that there are no extra bytes on the end of the record. Returns true if all fields are valid, false otherwise.

write
void DCField::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.

asClassParameter
virtual DCClassParameter *DCPackerInterface::as_class_parameter(void);

Description:

asField
virtual DCField *DCPackerInterface::as_field(void);

Description:

asSwitchParameter
virtual DCSwitchParameter *DCPackerInterface::as_switch_parameter(void);

Description:

checkMatch
bool DCPackerInterface::check_match(DCPackerInterface const *other) const;

Description: Returns true if the other interface is bitwise the same as this one--that is, a uint32 only matches a uint32, etc. Names of components, and range limits, are not compared.
Description: Returns true if this interface is bitwise the same as the interface described with the indicated formatted string, e.g. "(uint8, uint8, int16)", or false otherwise.
If DCFile is not NULL, it specifies the DCFile that was previously loaded, from which some predefined structs and typedefs may be referenced in the description string.

findSeekIndex
int DCPackerInterface::find_seek_index(string const &name) const;

Description: Returns the index number to be passed to a future call to DCPacker::seek() to seek directly to the named field without having to look up the field name in a table later, or -1 if the named field cannot be found.
If the named field is nested within a switch or some similar dynamic structure that reveals different fields based on the contents of the data, this mechanism cannot be used to pre-fetch the field index number--you must seek for the field by name.

getName
string const &DCPackerInterface::get_name(void) const;

Description: Returns the name of this field, or empty string if the field is unnamed.

compareKeywords
bool DCKeywordList::compare_keywords(DCKeywordList const &other) const;

Description: Returns true if this list has the same keywords as the other list, false if some keywords differ. Order is not considered important.

getKeyword
DCKeyword const *DCKeywordList::get_keyword(int n) const;

Description: Returns the nth keyword in the list.

getKeywordByName
DCKeyword const *DCKeywordList::get_keyword_by_name(string const &name) const;

Description: Returns the keyword in the list with the indicated name, or NULL if there is no keyword in the list with that name.

getNumKeywords
int DCKeywordList::get_num_keywords(void) const;

Description: Returns the number of keywords in the list.

hasKeyword
bool DCKeywordList::has_keyword(string const &name) const;

Description: Returns true if this list includes the indicated keyword, false otherwise.


DCPackData

    from pandac.PandaModules import DCPackData
    Class : DCPackData
    Description : This is a block of data that receives the results of DCPacker.

Inheritance:

    DCPackData:

Methods of DCPackData:

    DCPackData (Constructor)
    clear
    getLength
    getString
DCPackData
DCPackData::DCPackData(void);

Description:

clear
void DCPackData::clear(void);

Description: Empties the contents of the data (without necessarily freeing its allocated memory).

getLength
unsigned int DCPackData::get_length(void) const;

Description: Returns the current length of the buffer. This is the number of useful bytes stored in the buffer, not the amount of memory it takes up.

getString
string DCPackData::get_string(void) const;

Description: Returns the data buffer as a string. Also see get_data().


DCPacker

    from pandac.PandaModules import DCPacker
    Class : DCPacker
    Description : This class can be used for packing a series of numeric and string data into a binary stream, according to the DC specification.
    See also direct/src/doc/dcPacker.txt for a more complete description and examples of using this class.

Inheritance:

    DCPacker:

Methods of DCPacker:

    DCPacker (Constructor)
    beginPack
    beginRepack
    beginUnpack
    clearData
    endPack
    endRepack
    endUnpack
    getCurrentField
    getCurrentFieldName
    getCurrentParent
    getLastSwitch
    getLength
    getNumNestedFields
    getNumStackElementsEverAllocated
    getNumUnpackedBytes
    getPackType
    getString
    hadError
    hadPackError
    hadParseError
    hadRangeError
    hasNestedFields
    moreNestedFields
    packDefaultValue
    packDouble
    packInt
    packInt64
    packLiteralValue
    packObject
    packString
    packUint
    packUint64
    parseAndPack
    pop
    push
    rawPackFloat64
    rawPackInt16
    rawPackInt32
    rawPackInt64
    rawPackInt8
    rawPackString
    rawPackUint16
    rawPackUint32
    rawPackUint64
    rawPackUint8
    rawUnpackFloat64
    rawUnpackInt16
    rawUnpackInt32
    rawUnpackInt64
    rawUnpackInt8
    rawUnpackString
    rawUnpackUint16
    rawUnpackUint32
    rawUnpackUint64
    rawUnpackUint8
    seek
    setUnpackData
    unpackAndFormat
    unpackDouble
    unpackInt
    unpackInt64
    unpackLiteralValue
    unpackObject
    unpackSkip
    unpackString
    unpackUint
    unpackUint64
    unpackValidate
DCPacker
DCPacker::DCPacker(void);

Description:

beginPack
void DCPacker::begin_pack(DCPackerInterface const *root);

Description: Begins a packing session. The parameter is the DC object that describes the packing format; it may be a DCParameter or DCField.
Unless you call clear_data() between sessions, multiple packing sessions will be concatenated together into the same buffer. If you wish to add bytes to the buffer between packing sessions, use append_data() or get_write_pointer().

beginRepack
void DCPacker::begin_repack(DCPackerInterface const *root);

Description: Begins a repacking session. You must have previously called set_unpack_data() to specify a buffer to unpack.
Unlike begin_pack() or begin_unpack() you may not concatenate the results of multiple begin_repack() sessions in one buffer.
Also, unlike in packing or unpacking modes, you may not walk through the fields from beginning to end, or even pack two consecutive fields at once. Instead, you must call seek() for each field you wish to modify and pack only that one field; then call seek() again to modify another field.

beginUnpack
void DCPacker::begin_unpack(DCPackerInterface const *root);

Description: Begins an unpacking session. You must have previously called set_unpack_data() to specify a buffer to unpack.
If there was data left in the buffer after a previous begin_unpack() .. end_unpack() session, the new session will resume from the current point. This method may be used, therefore, to unpack a sequence of objects from the same buffer.

clearData
void DCPacker::clear_data(void);

Description: Empties the data in the pack buffer and unpack buffer. This should be called between calls to begin_pack(), unless you want to concatenate all of the pack results together.

endPack
bool DCPacker::end_pack(void);

Description: Finishes a packing session.
The return value is true on success, or false if there has been some error during packing.

endRepack
bool DCPacker::end_repack(void);

Description: Finishes the repacking session.
The return value is true on success, or false if there has been some error during repacking (or if all fields have not been repacked).

endUnpack
bool DCPacker::end_unpack(void);

Description: Finishes the unpacking session.
The return value is true on success, or false if there has been some error during unpacking (or if all fields have not been unpacked).

getCurrentField
DCPackerInterface const *DCPacker::get_current_field(void) const;

Description: Returns the field that will be referenced by the next call to pack_*() or unpack_*(). This will be NULL if we have unpacked (or packed) all fields, or if it is time to call pop().

getCurrentFieldName
string DCPacker::get_current_field_name(void) const;

Description: Returns the name of the current field, if it has a name, or the empty string if the field does not have a name or there is no current field.

getCurrentParent
DCPackerInterface const *DCPacker::get_current_parent(void) const;

Description: Returns the field that we left in our last call to push(): the owner of the current level of fields. This may be NULL at the beginning of the pack operation.

getLastSwitch
DCSwitchParameter const *DCPacker::get_last_switch(void) const;

Description: Returns a pointer to the last DCSwitch instance that we have passed by and selected one case of during the pack/unpack process. Each time we encounter a new DCSwitch and select a case, this will change state.
This may be used to detect when a DCSwitch has been selected. At the moment this changes state, get_current_parent() will contain the particular SwitchCase that was selected by the switch.

getLength
unsigned int DCPacker::get_length(void) const;

Description: Returns the current length of the buffer. This is the number of useful bytes stored in the buffer, not the amount of memory it takes up.

getNumNestedFields
int DCPacker::get_num_nested_fields(void) const;

Description: Returns the number of nested fields associated with the current field, if has_nested_fields() returned true.
The return value may be -1 to indicate that a variable number of nested fields are accepted by this field type (e.g. a variable-length array).
Note that this method is unreliable to determine how many fields you must traverse before you can call pop(), since particularly in the presence of a DCSwitch, it may change during traversal. Use more_nested_fields() instead.

getNumStackElementsEverAllocated
static int DCPacker::get_num_stack_elements_ever_allocated(void);

Description: Returns the number of DCPacker::StackElement pointers ever simultaneously allocated; these are now either in active use or have been recycled into the deleted DCPacker::StackElement pool to be used again.

getNumUnpackedBytes
unsigned int DCPacker::get_num_unpacked_bytes(void) const;

Description: Returns the number of bytes that have been unpacked so far, or after unpack_end(), the total number of bytes that were unpacked at all. This can be used to validate that all of the bytes in the buffer were actually unpacked (which is not otherwise considered an error).

getPackType
DCPackType DCPacker::get_pack_type(void) const;

Description: Returns the type of value expected by the current field. See the enumerated type definition at the top of DCPackerInterface.h. If this returns one of PT_double, PT_int, PT_int64, or PT_string, then you should call the corresponding pack_double(), pack_int() function (or unpack_double(), unpack_int(), etc.) to transfer data. Otherwise, you should call push() and begin packing or unpacking the nested fields.

getString
string DCPacker::get_string(void) const;

Description: Returns the packed data buffer as a string. Also see get_data().
Description: Copies the packed data into the indicated string. Also see get_data().

hadError
bool DCPacker::had_error(void) const;

Description: Returns true if there has been any error (either a pack error or a range error) since the most recent call to begin(). If this returns true, then the matching call to end() will indicate an error (false).

hadPackError
bool DCPacker::had_pack_error(void) const;

Description: Returns true if there has been an packing error since the most recent call to begin(); in particular, this may be called after end() has returned false to determine the nature of the failure.
A return value of true indicates there was a push/pop mismatch, or the push/pop structure did not match the data structure, or there were the wrong number of elements in a nested push/pop structure, or on unpack that the data stream was truncated.

hadParseError
bool DCPacker::had_parse_error(void) const;

Description: Returns true if there has been an parse error since the most recent call to begin(); this can only happen if you call parse_and_pack().

hadRangeError
bool DCPacker::had_range_error(void) const;

Description: Returns true if there has been an range validation error since the most recent call to begin(); in particular, this may be called after end() has returned false to determine the nature of the failure.
A return value of true indicates a value that was packed or unpacked did not fit within the specified legal range for a parameter, or within the limits of the field size.

hasNestedFields
bool DCPacker::has_nested_fields(void) const;

Description: Returns true if the current field has any nested fields (and thus expects a push() .. pop() interface), or false otherwise. If this returns true, get_num_nested_fields() may be called to determine how many nested fields are expected.

moreNestedFields
bool DCPacker::more_nested_fields(void) const;

Description: Returns true if there are more nested fields to pack or unpack in the current push sequence, false if it is time to call pop().

packDefaultValue
void DCPacker::pack_default_value(void);

Description: Adds the default value for the current element into the stream. If no default has been set for the current element, creates a sensible default.

packDouble
void DCPacker::pack_double(double value);

Description: Packs the indicated numeric or string value into the stream.

packInt
void DCPacker::pack_int(int value);

Description: Packs the indicated numeric or string value into the stream.

packInt64
void DCPacker::pack_int64(__int64 value);

Description: Packs the indicated numeric or string value into the stream.

packLiteralValue
void DCPacker::pack_literal_value(string const &value);

Description: Adds the indicated string value into the stream, representing a single pre-packed field element, or a whole group of field elements at once.

packObject
void DCPacker::pack_object(PyObject *object);

Description: Packs the Python object of whatever type into the packer. Each numeric object and string object maps to the corresponding pack_value() call; a tuple or sequence maps to a push() followed by all of the tuple's contents followed by a pop().

packString
void DCPacker::pack_string(string const &value);

Description: Packs the indicated numeric or string value into the stream.

packUint
void DCPacker::pack_uint(unsigned int value);

Description: Packs the indicated numeric or string value into the stream.

packUint64
void DCPacker::pack_uint64(unsigned __int64 value);

Description: Packs the indicated numeric or string value into the stream.

parseAndPack
bool DCPacker::parse_and_pack(string const &formatted_object);

HAVE_PYTHON
Description: Parses an object's value according to the DC file syntax (e.g. as a default value string) and packs it. Returns true on success, false on a parse error.

pop
void DCPacker::pop(void);

Description: Marks the end of a nested series of fields.
This must be called to match a previous push() only after all the expected number of nested fields have been packed. It is an error to call it too early, or too late.

push
void DCPacker::push(void);

Description: Marks the beginning of a nested series of fields.
This must be called before filling the elements of an array or the individual fields in a structure field. It must also be balanced by a matching pop().
It is necessary to use push() / pop() only if has_nested_fields() returns true.

rawPackFloat64
void DCPacker::raw_pack_float64(double value);

Description: Packs the data into the buffer between packing sessions.

rawPackInt16
void DCPacker::raw_pack_int16(int value);

Description: Packs the data into the buffer between packing sessions.

rawPackInt32
void DCPacker::raw_pack_int32(int value);

Description: Packs the data into the buffer between packing sessions.

rawPackInt64
void DCPacker::raw_pack_int64(__int64 value);

Description: Packs the data into the buffer between packing sessions.

rawPackInt8
void DCPacker::raw_pack_int8(int value);

The following methods are used only for packing (or unpacking) raw data into the buffer between packing sessions (e.g. between calls to end_pack() and the next begin_pack()).
Description: Packs the data into the buffer between packing sessions.

rawPackString
void DCPacker::raw_pack_string(string const &value);

Description: Packs the data into the buffer between packing sessions.

rawPackUint16
void DCPacker::raw_pack_uint16(unsigned int value);

Description: Packs the data into the buffer between packing sessions.

rawPackUint32
void DCPacker::raw_pack_uint32(unsigned int value);

Description: Packs the data into the buffer between packing sessions.

rawPackUint64
void DCPacker::raw_pack_uint64(unsigned __int64 value);

Description: Packs the data into the buffer between packing sessions.

rawPackUint8
void DCPacker::raw_pack_uint8(unsigned int value);

Description: Packs the data into the buffer between packing sessions.

rawUnpackFloat64
double DCPacker::raw_unpack_float64(void);

Description: Unpacks the data from the buffer between unpacking sessions.

rawUnpackInt16
int DCPacker::raw_unpack_int16(void);

Description: Unpacks the data from the buffer between unpacking sessions.

rawUnpackInt32
int DCPacker::raw_unpack_int32(void);

Description: Unpacks the data from the buffer between unpacking sessions.

rawUnpackInt64
__int64 DCPacker::raw_unpack_int64(void);

Description: Unpacks the data from the buffer between unpacking sessions.

rawUnpackInt8
int DCPacker::raw_unpack_int8(void);

Description: Unpacks the data from the buffer between unpacking sessions.

rawUnpackString
string DCPacker::raw_unpack_string(void);

Description: Unpacks the data from the buffer between unpacking sessions.

rawUnpackUint16
unsigned int DCPacker::raw_unpack_uint16(void);

Description: Unpacks the data from the buffer between unpacking sessions.

rawUnpackUint32
unsigned int DCPacker::raw_unpack_uint32(void);

Description: Unpacks the data from the buffer between unpacking sessions.

rawUnpackUint64
unsigned __int64 DCPacker::raw_unpack_uint64(void);

Description: Unpacks the data from the buffer between unpacking sessions.

rawUnpackUint8
unsigned int DCPacker::raw_unpack_uint8(void);

Description: Unpacks the data from the buffer between unpacking sessions.

seek
bool DCPacker::seek(string const &field_name);

Description: Sets the current unpack (or repack) position to the named field. In unpack mode, the next call to unpack_*() or push() will begin to read the named field. In repack mode, the next call to pack_*() or push() will modify the named field.
Returns true if successful, false if the field is not known (or if the packer is in an invalid mode).
Description: Seeks to the field indentified by seek_index, which was returned by an earlier call to DCField::find_seek_index() to get the index of some nested field. Also see the version of seek() that accepts a field name.

setUnpackData
void DCPacker::set_unpack_data(string const &data);

Description: Sets up the unpack_data pointer. You may call this before calling the version of begin_unpack() that takes only one parameter.

unpackAndFormat
string DCPacker::unpack_and_format(bool show_field_names = (1));

Description: Unpacks an object and formats its value into a syntax suitable for parsing in the dc file (e.g. as a default value), or as an input to parse_object.

unpackDouble
double DCPacker::unpack_double(void);

Description: Unpacks the current numeric or string value from the stream.

unpackInt
int DCPacker::unpack_int(void);

Description: Unpacks the current numeric or string value from the stream.

unpackInt64
__int64 DCPacker::unpack_int64(void);

Description: Unpacks the current numeric or string value from the stream.

unpackLiteralValue
string DCPacker::unpack_literal_value(void);

Description: Returns the literal string that represents the packed value of the current field, and advances the field pointer.

unpackObject
PyObject *DCPacker::unpack_object(void);

Description: Unpacks a Python object of the appropriate type from the stream for the current field. This may be an integer or a string for a simple field object; if the current field represents a list of fields it will be a tuple.

unpackSkip
void DCPacker::unpack_skip(void);

Description: Skips the current field without unpacking it and advances to the next field. If the current field contains nested fields, skips all of them.

unpackString
string DCPacker::unpack_string(void);

Description: Unpacks the current numeric or string value from the stream.

unpackUint
unsigned int DCPacker::unpack_uint(void);

Description: Unpacks the current numeric or string value from the stream.

unpackUint64
unsigned __int64 DCPacker::unpack_uint64(void);

Description: Unpacks the current numeric or string value from the stream.

unpackValidate
void DCPacker::unpack_validate(void);

Description: Internally unpacks the current numeric or string value and validates it against the type range limits, but does not return the value. If the current field contains nested fields, validates all of them.


DCPackerInterface

    from pandac.PandaModules import DCPackerInterface
    Class : DCPackerInterface
    Description : This defines the internal interface for packing values into a DCField. The various different DC objects inherit from this.
    Normally these methods are called only by the DCPacker object; the user wouldn't normally call these directly.

Inheritance:

    DCPackerInterface:

Methods of DCPackerInterface:

    asClassParameter
    asField
    asSwitchParameter
    checkMatch
    findSeekIndex
    getName
asClassParameter
virtual DCClassParameter *DCPackerInterface::as_class_parameter(void);

Description:

asField
virtual DCField *DCPackerInterface::as_field(void);

Description:

asSwitchParameter
virtual DCSwitchParameter *DCPackerInterface::as_switch_parameter(void);

Description:

checkMatch
bool DCPackerInterface::check_match(DCPackerInterface const *other) const;

Description: Returns true if the other interface is bitwise the same as this one--that is, a uint32 only matches a uint32, etc. Names of components, and range limits, are not compared.
Description: Returns true if this interface is bitwise the same as the interface described with the indicated formatted string, e.g. "(uint8, uint8, int16)", or false otherwise.
If DCFile is not NULL, it specifies the DCFile that was previously loaded, from which some predefined structs and typedefs may be referenced in the description string.

findSeekIndex
int DCPackerInterface::find_seek_index(string const &name) const;

Description: Returns the index number to be passed to a future call to DCPacker::seek() to seek directly to the named field without having to look up the field name in a table later, or -1 if the named field cannot be found.
If the named field is nested within a switch or some similar dynamic structure that reveals different fields based on the contents of the data, this mechanism cannot be used to pre-fetch the field index number--you must seek for the field by name.

getName
string const &DCPackerInterface::get_name(void) const;

Description: Returns the name of this field, or empty string if the field is unnamed.


DCPackType

    from pandac.PandaModules import DCPackType
    This enumerated type is returned by get_pack_type() and represents the best choice for a subsequent call to pack_*() or unpack_*().

Inheritance:

    DCPackType:


DCParameter

    from pandac.PandaModules import DCParameter
    Class : DCParameter
    Description : Represents the type specification for a single parameter within a field specification. This may be a simple type, or it may be a class or an array reference.
    This may also be a typedef reference to another type, which has the same properties as the referenced type, but a different name.

Inheritance:

    DCParameter: DCField
    DCField: DCPackerInterface DCKeywordList
    DCPackerInterface:
    DCKeywordList:

Methods of DCParameter:

    asArrayParameter
    asSimpleParameter
    getTypedef
    isValid
    makeCopy

Methods of DCField:

    aiFormatUpdate
    asAtomicField
    asField
    asMolecularField
    asParameter
    clientFormatUpdate
    formatData
    getClass
    getDefaultValue
    getNumber
    hasDefaultValue
    isAirecv
    isBogusField
    isBroadcast
    isClrecv
    isClsend
    isDb
    isOwnrecv
    isOwnsend
    isRam
    isRequired
    output
    packArgs
    parseString
    receiveUpdate
    unpackArgs
    validateRanges
    write

Methods of DCPackerInterface:

    asClassParameter
    asField
    asSwitchParameter
    checkMatch
    findSeekIndex
    getName

Methods of DCKeywordList:

    compareKeywords
    getKeyword
    getKeywordByName
    getNumKeywords
    hasKeyword
asArrayParameter
virtual DCArrayParameter *DCParameter::as_array_parameter(void);

Description:

asSimpleParameter
virtual DCSimpleParameter *DCParameter::as_simple_parameter(void);

Description:

getTypedef
DCTypedef const *DCParameter::get_typedef(void) const;

Description: If this type has been referenced from a typedef, returns the DCTypedef instance, or NULL if the type was declared on-the-fly.

isValid
virtual bool DCParameter::is_valid(void) const = 0;

Undocumented function.

makeCopy
virtual DCParameter *DCParameter::make_copy(void) const = 0;

Undocumented function.

aiFormatUpdate
Datagram DCField::ai_format_update(unsigned int do_id, unsigned __int64 to_id, unsigned __int64 from_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the AI.

asAtomicField
virtual DCAtomicField *DCField::as_atomic_field(void);

Description: Returns the same field pointer converted to an atomic field pointer, if this is in fact an atomic field; otherwise, returns NULL.

asField
virtual DCField *DCField::as_field(void);

Description:

asMolecularField
virtual DCMolecularField *DCField::as_molecular_field(void);

Description: Returns the same field pointer converted to a molecular field pointer, if this is in fact a molecular field; otherwise, returns NULL.

asParameter
virtual DCParameter *DCField::as_parameter(void);

Description:

clientFormatUpdate
Datagram DCField::client_format_update(unsigned int do_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the client.

formatData
string DCField::format_data(string const &packed_data, bool show_field_names = (1));

Description: Given a blob that represents the packed data for this field, returns a string formatting it for human consumption. Returns empty string if there is an error.

getClass
DCClass *DCField::get_class(void) const;

Description: Returns the DCClass pointer for the class that contains this field.

getDefaultValue
string const &DCField::get_default_value(void) const;

Description: Returns the default value for this field. If a default value has been explicitly set (e.g. has_default_value() returns true), returns that value; otherwise, returns an implicit default for the field.

getNumber
int DCField::get_number(void) const;

Description: Returns a unique index number associated with this field. This is defined implicitly when the .dc file(s) are read.

hasDefaultValue
bool DCField::has_default_value(void) const;

Description: Returns true if a default value has been explicitly established for this field, false otherwise.

isAirecv
bool DCField::is_airecv(void) const;

Description: Returns true if the "airecv" flag is set for this field, false otherwise.

isBogusField
bool DCField::is_bogus_field(void) const;

Description: Returns true if the field has been flagged as a bogus field. This is set for fields that are generated by the parser as placeholder for missing fields, as when reading a partial file; it should not occur in a normal valid dc file.

isBroadcast
bool DCField::is_broadcast(void) const;

Description: Returns true if the "broadcast" flag is set for this field, false otherwise.

isClrecv
bool DCField::is_clrecv(void) const;

Description: Returns true if the "clrecv" flag is set for this field, false otherwise.

isClsend
bool DCField::is_clsend(void) const;

Description: Returns true if the "clsend" flag is set for this field, false otherwise.

isDb
bool DCField::is_db(void) const;

Description: Returns true if the "db" flag is set for this field, false otherwise.

isOwnrecv
bool DCField::is_ownrecv(void) const;

Description: Returns true if the "ownrecv" flag is set for this field, false otherwise.

isOwnsend
bool DCField::is_ownsend(void) const;

Description: Returns true if the "ownsend" flag is set for this field, false otherwise.

isRam
bool DCField::is_ram(void) const;

Description: Returns true if the "ram" flag is set for this field, false otherwise.

isRequired
bool DCField::is_required(void) const;

Description: Returns true if the "required" flag is set for this field, false otherwise.

output
void DCField::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

packArgs
bool DCField::pack_args(DCPacker &packer, PyObject *sequence) const;

Description: Packs the Python arguments from the indicated tuple into the packer. Returns true on success, false on failure.
It is assumed that the packer is currently positioned on this field.

parseString
string DCField::parse_string(string const &formatted_string);

Description: Given a human-formatted string (for instance, as returned by format_data(), above) that represents the value of this field, parse the string and return the corresponding packed data. Returns empty string if there is an error.

receiveUpdate
void DCField::receive_update(DCPacker &packer, PyObject *distobj) const;

Description: Extracts the update message out of the datagram and applies it to the indicated object by calling the appropriate method.

unpackArgs
PyObject *DCField::unpack_args(DCPacker &packer) const;

Description: Unpacks the values from the packer, beginning at the current point in the unpack_buffer, into a Python tuple and returns the tuple.
It is assumed that the packer is currently positioned on this field.

validateRanges
bool DCField::validate_ranges(string const &packed_data) const;

Description: Verifies that all of the packed values in the field data are within the specified ranges and that there are no extra bytes on the end of the record. Returns true if all fields are valid, false otherwise.

write
void DCField::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.

asClassParameter
virtual DCClassParameter *DCPackerInterface::as_class_parameter(void);

Description:

asField
virtual DCField *DCPackerInterface::as_field(void);

Description:

asSwitchParameter
virtual DCSwitchParameter *DCPackerInterface::as_switch_parameter(void);

Description:

checkMatch
bool DCPackerInterface::check_match(DCPackerInterface const *other) const;

Description: Returns true if the other interface is bitwise the same as this one--that is, a uint32 only matches a uint32, etc. Names of components, and range limits, are not compared.
Description: Returns true if this interface is bitwise the same as the interface described with the indicated formatted string, e.g. "(uint8, uint8, int16)", or false otherwise.
If DCFile is not NULL, it specifies the DCFile that was previously loaded, from which some predefined structs and typedefs may be referenced in the description string.

findSeekIndex
int DCPackerInterface::find_seek_index(string const &name) const;

Description: Returns the index number to be passed to a future call to DCPacker::seek() to seek directly to the named field without having to look up the field name in a table later, or -1 if the named field cannot be found.
If the named field is nested within a switch or some similar dynamic structure that reveals different fields based on the contents of the data, this mechanism cannot be used to pre-fetch the field index number--you must seek for the field by name.

getName
string const &DCPackerInterface::get_name(void) const;

Description: Returns the name of this field, or empty string if the field is unnamed.

compareKeywords
bool DCKeywordList::compare_keywords(DCKeywordList const &other) const;

Description: Returns true if this list has the same keywords as the other list, false if some keywords differ. Order is not considered important.

getKeyword
DCKeyword const *DCKeywordList::get_keyword(int n) const;

Description: Returns the nth keyword in the list.

getKeywordByName
DCKeyword const *DCKeywordList::get_keyword_by_name(string const &name) const;

Description: Returns the keyword in the list with the indicated name, or NULL if there is no keyword in the list with that name.

getNumKeywords
int DCKeywordList::get_num_keywords(void) const;

Description: Returns the number of keywords in the list.

hasKeyword
bool DCKeywordList::has_keyword(string const &name) const;

Description: Returns true if this list includes the indicated keyword, false otherwise.


DCSimpleParameter

    from pandac.PandaModules import DCSimpleParameter
    Class : DCSimpleParameter
    Description : This is the most fundamental kind of parameter type: a single number or string, one of the DCSubatomicType elements. It may also optionally have a divisor, which is meaningful only for the numeric type elements (and represents a fixed-point numeric convention).

Inheritance:

    DCSimpleParameter: DCParameter
    DCParameter: DCField
    DCField: DCPackerInterface DCKeywordList
    DCPackerInterface:
    DCKeywordList:

Methods of DCSimpleParameter:

    getDivisor
    getModulus
    getType
    hasModulus

Methods of DCParameter:

    asArrayParameter
    asSimpleParameter
    getTypedef
    isValid
    makeCopy

Methods of DCField:

    aiFormatUpdate
    asAtomicField
    asField
    asMolecularField
    asParameter
    clientFormatUpdate
    formatData
    getClass
    getDefaultValue
    getNumber
    hasDefaultValue
    isAirecv
    isBogusField
    isBroadcast
    isClrecv
    isClsend
    isDb
    isOwnrecv
    isOwnsend
    isRam
    isRequired
    output
    packArgs
    parseString
    receiveUpdate
    unpackArgs
    validateRanges
    write

Methods of DCPackerInterface:

    asClassParameter
    asField
    asSwitchParameter
    checkMatch
    findSeekIndex
    getName

Methods of DCKeywordList:

    compareKeywords
    getKeyword
    getKeywordByName
    getNumKeywords
    hasKeyword
getDivisor
int DCSimpleParameter::get_divisor(void) const;

Description: Returns the divisor associated with this type. This is 1 by default, but if this is other than one it represents the scale to apply when packing and unpacking numeric values (to store fixed-point values in an integer field). It is only meaningful for numeric-type fields.

getModulus
double DCSimpleParameter::get_modulus(void) const;

Description: Returns the modulus associated with this type, if any. It is an error to call this if has_modulus() returned false.
If present, this is the modulus that is used to constrain the numeric value of the field before it is packed (and range-checked).

getType
DCSubatomicType DCSimpleParameter::get_type(void) const;

Description: Returns the particular subatomic type represented by this instance.

hasModulus
bool DCSimpleParameter::has_modulus(void) const;

Description: Returns true if there is a modulus associated, false otherwise.,

asArrayParameter
virtual DCArrayParameter *DCParameter::as_array_parameter(void);

Description:

asSimpleParameter
virtual DCSimpleParameter *DCParameter::as_simple_parameter(void);

Description:

getTypedef
DCTypedef const *DCParameter::get_typedef(void) const;

Description: If this type has been referenced from a typedef, returns the DCTypedef instance, or NULL if the type was declared on-the-fly.

isValid
virtual bool DCParameter::is_valid(void) const = 0;

Undocumented function.

makeCopy
virtual DCParameter *DCParameter::make_copy(void) const = 0;

Undocumented function.

aiFormatUpdate
Datagram DCField::ai_format_update(unsigned int do_id, unsigned __int64 to_id, unsigned __int64 from_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the AI.

asAtomicField
virtual DCAtomicField *DCField::as_atomic_field(void);

Description: Returns the same field pointer converted to an atomic field pointer, if this is in fact an atomic field; otherwise, returns NULL.

asField
virtual DCField *DCField::as_field(void);

Description:

asMolecularField
virtual DCMolecularField *DCField::as_molecular_field(void);

Description: Returns the same field pointer converted to a molecular field pointer, if this is in fact a molecular field; otherwise, returns NULL.

asParameter
virtual DCParameter *DCField::as_parameter(void);

Description:

clientFormatUpdate
Datagram DCField::client_format_update(unsigned int do_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the client.

formatData
string DCField::format_data(string const &packed_data, bool show_field_names = (1));

Description: Given a blob that represents the packed data for this field, returns a string formatting it for human consumption. Returns empty string if there is an error.

getClass
DCClass *DCField::get_class(void) const;

Description: Returns the DCClass pointer for the class that contains this field.

getDefaultValue
string const &DCField::get_default_value(void) const;

Description: Returns the default value for this field. If a default value has been explicitly set (e.g. has_default_value() returns true), returns that value; otherwise, returns an implicit default for the field.

getNumber
int DCField::get_number(void) const;

Description: Returns a unique index number associated with this field. This is defined implicitly when the .dc file(s) are read.

hasDefaultValue
bool DCField::has_default_value(void) const;

Description: Returns true if a default value has been explicitly established for this field, false otherwise.

isAirecv
bool DCField::is_airecv(void) const;

Description: Returns true if the "airecv" flag is set for this field, false otherwise.

isBogusField
bool DCField::is_bogus_field(void) const;

Description: Returns true if the field has been flagged as a bogus field. This is set for fields that are generated by the parser as placeholder for missing fields, as when reading a partial file; it should not occur in a normal valid dc file.

isBroadcast
bool DCField::is_broadcast(void) const;

Description: Returns true if the "broadcast" flag is set for this field, false otherwise.

isClrecv
bool DCField::is_clrecv(void) const;

Description: Returns true if the "clrecv" flag is set for this field, false otherwise.

isClsend
bool DCField::is_clsend(void) const;

Description: Returns true if the "clsend" flag is set for this field, false otherwise.

isDb
bool DCField::is_db(void) const;

Description: Returns true if the "db" flag is set for this field, false otherwise.

isOwnrecv
bool DCField::is_ownrecv(void) const;

Description: Returns true if the "ownrecv" flag is set for this field, false otherwise.

isOwnsend
bool DCField::is_ownsend(void) const;

Description: Returns true if the "ownsend" flag is set for this field, false otherwise.

isRam
bool DCField::is_ram(void) const;

Description: Returns true if the "ram" flag is set for this field, false otherwise.

isRequired
bool DCField::is_required(void) const;

Description: Returns true if the "required" flag is set for this field, false otherwise.

output
void DCField::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

packArgs
bool DCField::pack_args(DCPacker &packer, PyObject *sequence) const;

Description: Packs the Python arguments from the indicated tuple into the packer. Returns true on success, false on failure.
It is assumed that the packer is currently positioned on this field.

parseString
string DCField::parse_string(string const &formatted_string);

Description: Given a human-formatted string (for instance, as returned by format_data(), above) that represents the value of this field, parse the string and return the corresponding packed data. Returns empty string if there is an error.

receiveUpdate
void DCField::receive_update(DCPacker &packer, PyObject *distobj) const;

Description: Extracts the update message out of the datagram and applies it to the indicated object by calling the appropriate method.

unpackArgs
PyObject *DCField::unpack_args(DCPacker &packer) const;

Description: Unpacks the values from the packer, beginning at the current point in the unpack_buffer, into a Python tuple and returns the tuple.
It is assumed that the packer is currently positioned on this field.

validateRanges
bool DCField::validate_ranges(string const &packed_data) const;

Description: Verifies that all of the packed values in the field data are within the specified ranges and that there are no extra bytes on the end of the record. Returns true if all fields are valid, false otherwise.

write
void DCField::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.

asClassParameter
virtual DCClassParameter *DCPackerInterface::as_class_parameter(void);

Description:

asField
virtual DCField *DCPackerInterface::as_field(void);

Description:

asSwitchParameter
virtual DCSwitchParameter *DCPackerInterface::as_switch_parameter(void);

Description:

checkMatch
bool DCPackerInterface::check_match(DCPackerInterface const *other) const;

Description: Returns true if the other interface is bitwise the same as this one--that is, a uint32 only matches a uint32, etc. Names of components, and range limits, are not compared.
Description: Returns true if this interface is bitwise the same as the interface described with the indicated formatted string, e.g. "(uint8, uint8, int16)", or false otherwise.
If DCFile is not NULL, it specifies the DCFile that was previously loaded, from which some predefined structs and typedefs may be referenced in the description string.

findSeekIndex
int DCPackerInterface::find_seek_index(string const &name) const;

Description: Returns the index number to be passed to a future call to DCPacker::seek() to seek directly to the named field without having to look up the field name in a table later, or -1 if the named field cannot be found.
If the named field is nested within a switch or some similar dynamic structure that reveals different fields based on the contents of the data, this mechanism cannot be used to pre-fetch the field index number--you must seek for the field by name.

getName
string const &DCPackerInterface::get_name(void) const;

Description: Returns the name of this field, or empty string if the field is unnamed.

compareKeywords
bool DCKeywordList::compare_keywords(DCKeywordList const &other) const;

Description: Returns true if this list has the same keywords as the other list, false if some keywords differ. Order is not considered important.

getKeyword
DCKeyword const *DCKeywordList::get_keyword(int n) const;

Description: Returns the nth keyword in the list.

getKeywordByName
DCKeyword const *DCKeywordList::get_keyword_by_name(string const &name) const;

Description: Returns the keyword in the list with the indicated name, or NULL if there is no keyword in the list with that name.

getNumKeywords
int DCKeywordList::get_num_keywords(void) const;

Description: Returns the number of keywords in the list.

hasKeyword
bool DCKeywordList::has_keyword(string const &name) const;

Description: Returns true if this list includes the indicated keyword, false otherwise.


DCSubatomicType

    from pandac.PandaModules import DCSubatomicType
    Enum : DCSubatomicType
    Description : This defines the numeric type of each element of a DCAtomicField; that is, the particular values that will get added to the message when the atomic field method is called.

Inheritance:

    DCSubatomicType:


DCSwitch

    from pandac.PandaModules import DCSwitch
    Class : DCSwitch
    Description : This represents a switch statement, which can appear inside a class body and represents two or more alternative unpacking schemes based on the first field read.

Inheritance:

    DCSwitch: DCDeclaration
    DCDeclaration:

Methods of DCSwitch:

    getCase
    getCaseByValue
    getDefaultCase
    getField
    getFieldByName
    getKeyParameter
    getName
    getNumCases
    getNumFields
    getValue

Methods of DCDeclaration:

    asClass
    asSwitch
    output
    write
getCase
DCPackerInterface *DCSwitch::get_case(int n) const;

Description: Returns the DCPackerInterface that packs the nth case.

getCaseByValue
int DCSwitch::get_case_by_value(string const &case_value) const;

Description: Returns the index number of the case with the indicated packed value, or -1 if no case has this value.

getDefaultCase
DCPackerInterface *DCSwitch::get_default_case(void) const;

Description: Returns the DCPackerInterface that packs the default case, or NULL if there is no default case.

getField
DCField *DCSwitch::get_field(int case_index, int n) const;

Description: Returns the nth field in the indicated case.

getFieldByName
DCField *DCSwitch::get_field_by_name(int case_index, string const &name) const;

Description: Returns the field with the given name from the indicated case, or NULL if no field has this name.

getKeyParameter
DCField *DCSwitch::get_key_parameter(void) const;

Description: Returns the key parameter on which the switch is based. The value of this parameter in the record determines which one of the several cases within the switch will be used.

getName
string const &DCSwitch::get_name(void) const;

Description: Returns the name of this switch.

getNumCases
int DCSwitch::get_num_cases(void) const;

Description: Returns the number of different cases within the switch. The legal values for case_index range from 0 to get_num_cases() - 1.

getNumFields
int DCSwitch::get_num_fields(int case_index) const;

Description: Returns the number of fields in the indicated case.

getValue
string DCSwitch::get_value(int case_index) const;

Description: Returns the packed value associated with the indicated case.

asClass
virtual DCClass *DCDeclaration::as_class(void);

Description:

asSwitch
virtual DCSwitch *DCDeclaration::as_switch(void);

Description:

output
virtual void DCDeclaration::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

write
void DCDeclaration::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.


DCSwitchParameter

    from pandac.PandaModules import DCSwitchParameter
    Class : DCSwitchParameter
    Description : This represents a switch object used as a parameter itself, which packs the appropriate fields of the switch into the message.

Inheritance:

    DCSwitchParameter: DCParameter
    DCParameter: DCField
    DCField: DCPackerInterface DCKeywordList
    DCPackerInterface:
    DCKeywordList:

Methods of DCSwitchParameter:

    getSwitch

Methods of DCParameter:

    asArrayParameter
    asSimpleParameter
    getTypedef
    isValid
    makeCopy

Methods of DCField:

    aiFormatUpdate
    asAtomicField
    asField
    asMolecularField
    asParameter
    clientFormatUpdate
    formatData
    getClass
    getDefaultValue
    getNumber
    hasDefaultValue
    isAirecv
    isBogusField
    isBroadcast
    isClrecv
    isClsend
    isDb
    isOwnrecv
    isOwnsend
    isRam
    isRequired
    output
    packArgs
    parseString
    receiveUpdate
    unpackArgs
    validateRanges
    write

Methods of DCPackerInterface:

    asClassParameter
    asField
    asSwitchParameter
    checkMatch
    findSeekIndex
    getName

Methods of DCKeywordList:

    compareKeywords
    getKeyword
    getKeywordByName
    getNumKeywords
    hasKeyword
getSwitch
DCSwitch const *DCSwitchParameter::get_switch(void) const;

Description: Returns the switch object this parameter represents.

asArrayParameter
virtual DCArrayParameter *DCParameter::as_array_parameter(void);

Description:

asSimpleParameter
virtual DCSimpleParameter *DCParameter::as_simple_parameter(void);

Description:

getTypedef
DCTypedef const *DCParameter::get_typedef(void) const;

Description: If this type has been referenced from a typedef, returns the DCTypedef instance, or NULL if the type was declared on-the-fly.

isValid
virtual bool DCParameter::is_valid(void) const = 0;

Undocumented function.

makeCopy
virtual DCParameter *DCParameter::make_copy(void) const = 0;

Undocumented function.

aiFormatUpdate
Datagram DCField::ai_format_update(unsigned int do_id, unsigned __int64 to_id, unsigned __int64 from_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the AI.

asAtomicField
virtual DCAtomicField *DCField::as_atomic_field(void);

Description: Returns the same field pointer converted to an atomic field pointer, if this is in fact an atomic field; otherwise, returns NULL.

asField
virtual DCField *DCField::as_field(void);

Description:

asMolecularField
virtual DCMolecularField *DCField::as_molecular_field(void);

Description: Returns the same field pointer converted to a molecular field pointer, if this is in fact a molecular field; otherwise, returns NULL.

asParameter
virtual DCParameter *DCField::as_parameter(void);

Description:

clientFormatUpdate
Datagram DCField::client_format_update(unsigned int do_id, PyObject *args) const;

Description: Generates a datagram containing the message necessary to send an update for the indicated distributed object from the client.

formatData
string DCField::format_data(string const &packed_data, bool show_field_names = (1));

Description: Given a blob that represents the packed data for this field, returns a string formatting it for human consumption. Returns empty string if there is an error.

getClass
DCClass *DCField::get_class(void) const;

Description: Returns the DCClass pointer for the class that contains this field.

getDefaultValue
string const &DCField::get_default_value(void) const;

Description: Returns the default value for this field. If a default value has been explicitly set (e.g. has_default_value() returns true), returns that value; otherwise, returns an implicit default for the field.

getNumber
int DCField::get_number(void) const;

Description: Returns a unique index number associated with this field. This is defined implicitly when the .dc file(s) are read.

hasDefaultValue
bool DCField::has_default_value(void) const;

Description: Returns true if a default value has been explicitly established for this field, false otherwise.

isAirecv
bool DCField::is_airecv(void) const;

Description: Returns true if the "airecv" flag is set for this field, false otherwise.

isBogusField
bool DCField::is_bogus_field(void) const;

Description: Returns true if the field has been flagged as a bogus field. This is set for fields that are generated by the parser as placeholder for missing fields, as when reading a partial file; it should not occur in a normal valid dc file.

isBroadcast
bool DCField::is_broadcast(void) const;

Description: Returns true if the "broadcast" flag is set for this field, false otherwise.

isClrecv
bool DCField::is_clrecv(void) const;

Description: Returns true if the "clrecv" flag is set for this field, false otherwise.

isClsend
bool DCField::is_clsend(void) const;

Description: Returns true if the "clsend" flag is set for this field, false otherwise.

isDb
bool DCField::is_db(void) const;

Description: Returns true if the "db" flag is set for this field, false otherwise.

isOwnrecv
bool DCField::is_ownrecv(void) const;

Description: Returns true if the "ownrecv" flag is set for this field, false otherwise.

isOwnsend
bool DCField::is_ownsend(void) const;

Description: Returns true if the "ownsend" flag is set for this field, false otherwise.

isRam
bool DCField::is_ram(void) const;

Description: Returns true if the "ram" flag is set for this field, false otherwise.

isRequired
bool DCField::is_required(void) const;

Description: Returns true if the "required" flag is set for this field, false otherwise.

output
void DCField::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

packArgs
bool DCField::pack_args(DCPacker &packer, PyObject *sequence) const;

Description: Packs the Python arguments from the indicated tuple into the packer. Returns true on success, false on failure.
It is assumed that the packer is currently positioned on this field.

parseString
string DCField::parse_string(string const &formatted_string);

Description: Given a human-formatted string (for instance, as returned by format_data(), above) that represents the value of this field, parse the string and return the corresponding packed data. Returns empty string if there is an error.

receiveUpdate
void DCField::receive_update(DCPacker &packer, PyObject *distobj) const;

Description: Extracts the update message out of the datagram and applies it to the indicated object by calling the appropriate method.

unpackArgs
PyObject *DCField::unpack_args(DCPacker &packer) const;

Description: Unpacks the values from the packer, beginning at the current point in the unpack_buffer, into a Python tuple and returns the tuple.
It is assumed that the packer is currently positioned on this field.

validateRanges
bool DCField::validate_ranges(string const &packed_data) const;

Description: Verifies that all of the packed values in the field data are within the specified ranges and that there are no extra bytes on the end of the record. Returns true if all fields are valid, false otherwise.

write
void DCField::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.

asClassParameter
virtual DCClassParameter *DCPackerInterface::as_class_parameter(void);

Description:

asField
virtual DCField *DCPackerInterface::as_field(void);

Description:

asSwitchParameter
virtual DCSwitchParameter *DCPackerInterface::as_switch_parameter(void);

Description:

checkMatch
bool DCPackerInterface::check_match(DCPackerInterface const *other) const;

Description: Returns true if the other interface is bitwise the same as this one--that is, a uint32 only matches a uint32, etc. Names of components, and range limits, are not compared.
Description: Returns true if this interface is bitwise the same as the interface described with the indicated formatted string, e.g. "(uint8, uint8, int16)", or false otherwise.
If DCFile is not NULL, it specifies the DCFile that was previously loaded, from which some predefined structs and typedefs may be referenced in the description string.

findSeekIndex
int DCPackerInterface::find_seek_index(string const &name) const;

Description: Returns the index number to be passed to a future call to DCPacker::seek() to seek directly to the named field without having to look up the field name in a table later, or -1 if the named field cannot be found.
If the named field is nested within a switch or some similar dynamic structure that reveals different fields based on the contents of the data, this mechanism cannot be used to pre-fetch the field index number--you must seek for the field by name.

getName
string const &DCPackerInterface::get_name(void) const;

Description: Returns the name of this field, or empty string if the field is unnamed.

compareKeywords
bool DCKeywordList::compare_keywords(DCKeywordList const &other) const;

Description: Returns true if this list has the same keywords as the other list, false if some keywords differ. Order is not considered important.

getKeyword
DCKeyword const *DCKeywordList::get_keyword(int n) const;

Description: Returns the nth keyword in the list.

getKeywordByName
DCKeyword const *DCKeywordList::get_keyword_by_name(string const &name) const;

Description: Returns the keyword in the list with the indicated name, or NULL if there is no keyword in the list with that name.

getNumKeywords
int DCKeywordList::get_num_keywords(void) const;

Description: Returns the number of keywords in the list.

hasKeyword
bool DCKeywordList::has_keyword(string const &name) const;

Description: Returns true if this list includes the indicated keyword, false otherwise.


DCTypedef

    from pandac.PandaModules import DCTypedef
    Class : DCTypedef
    Description : This represents a single typedef declaration in the dc file. It assigns a particular type to a new name, just like a C typedef.

Inheritance:

    DCTypedef: DCDeclaration
    DCDeclaration:

Methods of DCTypedef:

    getDescription
    getName
    getNumber
    isBogusTypedef
    isImplicitTypedef

Methods of DCDeclaration:

    asClass
    asSwitch
    output
    write
getDescription
string DCTypedef::get_description(void) const;

Description: Returns a brief decription of the typedef, useful for human consumption.

getName
string const &DCTypedef::get_name(void) const;

Description: Returns the name of this typedef.

getNumber
int DCTypedef::get_number(void) const;

Description: Returns a unique index number associated with this typedef definition. This is defined implicitly when the .dc file(s) are read.

isBogusTypedef
bool DCTypedef::is_bogus_typedef(void) const;

Description: Returns true if the typedef has been flagged as a bogus typedef. This is set for typedefs that are generated by the parser as placeholder for missing typedefs, as when reading a partial file; it should not occur in a normal valid dc file.

isImplicitTypedef
bool DCTypedef::is_implicit_typedef(void) const;

Description: Returns true if the typedef has been flagged as an implicit typedef, meaning it was created for a DCClass that was referenced inline as a type.

asClass
virtual DCClass *DCDeclaration::as_class(void);

Description:

asSwitch
virtual DCSwitch *DCDeclaration::as_switch(void);

Description:

output
virtual void DCDeclaration::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

write
void DCDeclaration::write(ostream &out, int indent_level) const;

Description : Write a string representation of this instance to <out>.


DecalEffect

    from pandac.PandaModules import DecalEffect
    Class : DecalEffect
    Description : Applied to a GeomNode to indicate that the children of this GeomNode are coplanar and should be drawn as decals (eliminating Z-fighting).

Inheritance:

    DecalEffect: RenderEffect
    RenderEffect: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of DecalEffect:

    getClassType
    make

Methods of RenderEffect:

    compareTo
    getClassType
    getNumEffects
    listEffects
    output
    validateEffects
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle DecalEffect::get_class_type(void);

Undocumented function.

make
static ConstPointerTo< RenderEffect > DecalEffect::make(void);

Description: Constructs a new DecalEffect object.

compareTo
int RenderEffect::compare_to(RenderEffect const &other) const;

Description: Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderEffect class because all equivalent RenderEffect objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderEffect::get_class_type(void);

Undocumented function.

getNumEffects
static int RenderEffect::get_num_effects(void);

Description: Returns the total number of unique RenderEffect objects allocated in the world. This will go up and down during normal operations.

listEffects
static void RenderEffect::list_effects(ostream &out);

Description: Lists all of the RenderEffects in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderEffect::output(ostream &out) const;

Description:

validateEffects
static bool RenderEffect::validate_effects(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderEffect objects).

write
virtual void RenderEffect::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Decompressor

    from pandac.PandaModules import Decompressor
    Class : Decompressor
    Description : This manages run-time decompression of a zlib-compressed stream, as a background or foreground task.

Inheritance:

    Decompressor:

Methods of Decompressor:

    Decompressor (Constructor)
    decompress
    getProgress
    initiate
    run
Decompressor
Decompressor::Decompressor(void);

Description:

decompress
bool Decompressor::decompress(Filename const &source_file);

Description: Performs a foreground decompression of the named file; does not return until the decompression is complete.
Description: Does an in-memory decompression of the indicated Ramfile. The decompressed contents are written back into the same Ramfile on completion.

getProgress
float Decompressor::get_progress(void) const;

Description: Returns the ratio through the decompression step in the background.

initiate
int Decompressor::initiate(Filename const &source_file);

Description: Begins a background decompression of the named file (whose filename must end in ".pz") to a new file without the .pz extension. The source file is removed after successful completion.
Description: Begins a background decompression from the named source file to the named destination file. The source file is removed after successful completion.

run
int Decompressor::run(void);

Description: Called each frame to do the next bit of work in the background task. Returns EU_ok if a chunk is completed but there is more to go, or EU_success when we're all done. Any other return value indicates an error.


DelayDelete

    from direct.distributed.DelayDelete import DelayDelete
    The DelayDelete class is a special class whose sole purpose is management of the DistributedObject.delayDelete() counter.
    Normally, a DistributedObject has a delayDelete count of 0. When we need to bracket a region of code that cannot tolerate a DistributedObject being deleted, we call do.delayDelete(1) to increment the delayDelete count by 1. While the count is nonzero, the object will not be deleted. Outside of our critical code, we call do.delayDelete(0) to decrement the delayDelete count and allow the object to be deleted once again.
    Explicit management of this counter is tedious and risky. This class implicitly manages the counter by incrementing the count in the constructor, and decrementing it in the destructor. This guarantees that every increment is matched up by a corresponding decrement.
    Thus, to temporarily protect a DistributedObject from deletion, simply create a DelayDelete object. While the DelayDelete object exists, the DistributedObject will not be deleted; when the DelayDelete object ceases to exist, it may be deleted.

Inheritance:

    DelayDelete:

Methods of DelayDelete:

    __init__
    destroy
    getName
    getObject
__init__
def __init__(self, distObj, name)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

getObject
def getObject(self)

Undocumented function.


DelayedCall

    from direct.showbase.PythonUtil import DelayedCall
    calls a func after a specified delay

Inheritance:

    DelayedCall:

Methods of DelayedCall:

    __init__
    _addDoLater
    _doCallback
    _removeDoLater
    destroy
    finish
__init__
def __init__(self, func, name=None, delay=None)

Undocumented function.

_addDoLater
def _addDoLater(self)

Undocumented function.

_doCallback
def _doCallback(self, task)

Undocumented function.

_removeDoLater
def _removeDoLater(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

finish
def finish(self)

Undocumented function.


DelayedFunctor

    from direct.showbase.PythonUtil import DelayedFunctor
    Waits for this object to be called, then calls supplied functor after a delay. Effectively inserts a time delay between the caller and the functor.

Inheritance:

    DelayedFunctor:

Methods of DelayedFunctor:

    __call__
    __init__
    _callFunctor
__call__
def __call__(self, *args, **kwArgs)

Undocumented function.

__init__
def __init__(self, functor, name=None, delay=None)

Undocumented function.

_callFunctor
def _callFunctor(self)

Undocumented function.


DeltaProfiler

    from direct.directutil.DeltaProfiler import DeltaProfiler
    This is a Python specific ProfileTimer.cxx. It's not related directly to the ProfileTimer code, it just shares some concepts.

Inheritance:

    DeltaProfiler:

Methods of DeltaProfiler:

    __init__
    printDeltaTime
__init__
def __init__(self, name="")

Undocumented function.

printDeltaTime
def printDeltaTime(self, label)

Undocumented function.


DepthOffsetAttrib

    from pandac.PandaModules import DepthOffsetAttrib
    Class : DepthOffsetAttrib
    Description : This is a special kind of attribute that instructs the graphics driver to apply an offset or bias to the generated depth values for rendered polygons, before they are written to the depth buffer.
    This can be used to shift polygons forward slightly, to resolve depth conflicts. The cull traverser may optionally use this, for instance, to implement decals. However, driver support for this feature seems to be spotty, so use with caution.
    The bias is always an integer number, and each integer increment represents the smallest possible increment in Z that is sufficient to completely resolve two coplanar polygons. Positive numbers are closer towards the camera.
    Nested DepthOffsetAttrib values accumulate; that is, a DepthOffsetAttrib with a value of 1 beneath another DepthOffsetAttrib with a value of 2 presents a net offset of 3. (A DepthOffsetAttrib will not, however, combine with any other DepthOffsetAttribs with a lower override parameter.) The net value should probably not exceed 16 or drop below 0 for maximum portability.

Inheritance:

    DepthOffsetAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of DepthOffsetAttrib:

    getClassType
    getOffset
    make

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle DepthOffsetAttrib::get_class_type(void);

Undocumented function.

getOffset
int DepthOffsetAttrib::get_offset(void) const;

Description: Returns the depth offset represented by this attrib.

make
static ConstPointerTo< RenderAttrib > DepthOffsetAttrib::make(int offset = (1));

Description: Constructs a new DepthOffsetAttrib object that indicates the relative amount of bias to write to the depth buffer for subsequent geometry.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


DepthTestAttrib

    from pandac.PandaModules import DepthTestAttrib
    Class : DepthTestAttrib
    Description : Enables or disables writing to the depth buffer.

Inheritance:

    DepthTestAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of DepthTestAttrib:

    getClassType
    getMode
    make

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle DepthTestAttrib::get_class_type(void);

Undocumented function.

getMode
RenderAttrib::PandaCompareFunc DepthTestAttrib::get_mode(void) const;

Description: Returns the depth write mode.

make
static ConstPointerTo< RenderAttrib > DepthTestAttrib::make(RenderAttrib::PandaCompareFunc mode);

Description: Constructs a new DepthTestAttrib object.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


DepthWriteAttrib

    from pandac.PandaModules import DepthWriteAttrib
    Class : DepthWriteAttrib
    Description : Enables or disables writing to the depth buffer.

Inheritance:

    DepthWriteAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of DepthWriteAttrib:

    getClassType
    getMode
    make

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in DepthWriteAttrib:

    MOff | (Mode)
MOn | (Mode)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle DepthWriteAttrib::get_class_type(void);

Undocumented function.

getMode
DepthWriteAttrib::Mode DepthWriteAttrib::get_mode(void) const;

Description: Returns the depth write mode.

make
static ConstPointerTo< RenderAttrib > DepthWriteAttrib::make(DepthWriteAttrib::Mode mode);

Description: Constructs a new DepthWriteAttrib object.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


DestructiveScratchPad

    from direct.showbase.PythonUtil import DestructiveScratchPad

Inheritance:

    DestructiveScratchPad:

Methods of DestructiveScratchPad:

    add
    destroy
add
def add(self, **kArgs)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


DevWalker

    from direct.controls.DevWalker import DevWalker

Inheritance:

    DevWalker:

Methods of DevWalker:

    __init__
    addBlastForce
    deleteCollisions
    disableAvatarControls
    displayDebugInfo
    enableAvatarControls
    flushEventHandlers
    getSpeeds
    handleAvatarControls
    initializeCollisions
    oneTimeCollide
    placeOnFloor
    setAirborneHeightFunc
    setAvatar
    setCollisionsActive
    setFloorBitMask
    setTag
    setWalkSpeed
    setWallBitMask
__init__
def __init__(self)

Undocumented function.

addBlastForce
def addBlastForce(self, vector)

Undocumented function.

deleteCollisions
def deleteCollisions(self)

Undocumented function.

disableAvatarControls
def disableAvatarControls(self)

Ignore the arrow keys, etc.

displayDebugInfo
def displayDebugInfo(self)

For debug use.

enableAvatarControls
def enableAvatarControls(self)

Activate the arrow keys, etc.

flushEventHandlers
def flushEventHandlers(self)

Undocumented function.

getSpeeds
def getSpeeds(self)

Undocumented function.

handleAvatarControls
def handleAvatarControls(self, task)

Check on the arrow keys and update the avatar.

initializeCollisions
def initializeCollisions(self, collisionTraverser, avatarNodePath, wallCollideMask, floorCollideMask, avatarRadius=1.4, floorOffset=1.0, reach=1.0)

Undocumented function.

oneTimeCollide
def oneTimeCollide(self)

Undocumented function.

placeOnFloor
def placeOnFloor(self)

Undocumented function.

setAirborneHeightFunc
def setAirborneHeightFunc(self, getAirborneHeight)

Undocumented function.

setAvatar
def setAvatar(self, avatar)

Undocumented function.

setCollisionsActive
def setCollisionsActive(self, active=1)

Undocumented function.

setFloorBitMask
def setFloorBitMask(self, bitMask)

Undocumented function.

setTag
def setTag(self, key, value)

Undocumented function.

setWalkSpeed
def setWalkSpeed(self, forward, jump, reverse, rotate)

Undocumented function.

setWallBitMask
def setWallBitMask(self, bitMask)

Undocumented function.


Dial

    from direct.tkwidgets.Dial import Dial
    Valuator widget which includes an angle dial and an entry for setting floating point values

Inheritance:

    Dial:

Methods of Dial:

    __init__
    _setRollover
    _setSnap
    addValuatorMenuEntries
    addValuatorPropertiesToDialog
    createValuator
    packValuator
    setBase
    setDelta
    setRollover
    setSnap
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

_setRollover
def _setRollover(self)

Menu command to turn Dial rollover on/off (i.e. does value accumulate every time you complete a revolution of the dial?)

_setSnap
def _setSnap(self)

Menu command to turn Dial angle snap on/off

addValuatorMenuEntries
def addValuatorMenuEntries(self)

Undocumented function.

addValuatorPropertiesToDialog
def addValuatorPropertiesToDialog(self)

Undocumented function.

createValuator
def createValuator(self)

Undocumented function.

packValuator
def packValuator(self)

Undocumented function.

setBase
def setBase(self)

Set Dial base value: value = base + delta * numRevs

setDelta
def setDelta(self)

Set Dial delta value: value = base + delta * numRevs

setRollover
def setRollover(self)

Turn Dial rollover (accumulation of a sum) on/off

setSnap
def setSnap(self)

Turn Dial angle snap on/off


DialNode

    from pandac.PandaModules import DialNode
    Class : DialNode
    Description : This is the primary interface to infinite dial type devices associated with a ClientBase. This creates a node that connects to the named dial device, if it exists, and provides hooks to the user to read the state of any of the sequentially numbered dial controls associated with that device.
    A dial is a rotating device that does not have stops--it can keep rotating any number of times. Therefore it does not have a specific position at any given time, unlike an AnalogDevice.

Inheritance:

    DialNode: DataNode
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of DialNode:

    DialNode (Constructor)
    getClassType
    getNumDials
    isDialKnown
    isValid
    readDial

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
DialNode
DialNode::DialNode(ClientBase *client, string const &device_name);

Description:

getClassType
static TypeHandle DialNode::get_class_type(void);

Undocumented function.

getNumDials
int DialNode::get_num_dials(void) const;

Description: Returns the number of dial dials known to the DialNode. This number may change as more dials are discovered.

isDialKnown
bool DialNode::is_dial_known(int index) const;

Description: Returns true if the state of the indicated dial dial is known, or false if we have never heard anything about this particular dial.

isValid
bool DialNode::is_valid(void) const;

Description: Returns true if the DialNode is valid and connected to a server, false otherwise.

readDial
double DialNode::read_dial(int index);

Description: Returns the number of complete revolutions of the dial since the last time read_dial() was called. This is a destructive operation; it is not possible to read the dial without resetting the counter.

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


DialWidget

    from direct.tkwidgets.Dial import DialWidget

Inheritance:

    DialWidget:

Methods of DialWidget:

    __init__
    _onButtonPress
    _onButtonRelease
    computeDialAngle
    computeValueFromAngle
    get
    highlightKnob
    knobMouseDown
    knobMouseUp
    mouseDown
    mouseMotion
    mouseUp
    restoreKnob
    set
    setBackground
    setBorderwidth
    setNumDigits
    setNumSegments
    setRelief
    shiftMouseMotion
    updateDialSF
    updateDialTask
    updateIndicator
    updateIndicatorDegrees
    updateIndicatorRadians
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

_onButtonPress
def _onButtonPress(self, *args)

User redefinable callback executed on button press

_onButtonRelease
def _onButtonRelease(self, *args)

User redefinable callback executed on button release

computeDialAngle
def computeDialAngle(self, event, fShift=0)

Undocumented function.

computeValueFromAngle
def computeValueFromAngle(self, dialAngle)

Undocumented function.

get
def get(self)

self.get() Get current dial value

highlightKnob
def highlightKnob(self, event)

Undocumented function.

knobMouseDown
def knobMouseDown(self, event)

Undocumented function.

knobMouseUp
def knobMouseUp(self, event)

Undocumented function.

mouseDown
def mouseDown(self, event)

Undocumented function.

mouseMotion
def mouseMotion(self, event, fShift=0)

Undocumented function.

mouseUp
def mouseUp(self, event)

Undocumented function.

restoreKnob
def restoreKnob(self, event)

Undocumented function.

set
def set(self, value, fCommand=1)

self.set(value, fCommand = 1) Set dial to new value, execute command if fCommand == 1

setBackground
def setBackground(self)

Undocumented function.

setBorderwidth
def setBorderwidth(self)

Undocumented function.

setNumDigits
def setNumDigits(self)

Undocumented function.

setNumSegments
def setNumSegments(self)

Undocumented function.

setRelief
def setRelief(self)

Undocumented function.

shiftMouseMotion
def shiftMouseMotion(self, event)

Undocumented function.

updateDialSF
def updateDialSF(self, event)

Undocumented function.

updateDialTask
def updateDialTask(self, state)

Undocumented function.

updateIndicator
def updateIndicator(self, value)

Undocumented function.

updateIndicatorDegrees
def updateIndicatorDegrees(self, degAngle)

Undocumented function.

updateIndicatorRadians
def updateIndicatorRadians(self, dialAngle)

Undocumented function.


DictionaryInspector

    from direct.tkpanels.Inspector import DictionaryInspector

Inheritance:

    DictionaryInspector:

Methods of DictionaryInspector:

    initializePartsList
    partNumber
initializePartsList
def initializePartsList(self)

Undocumented function.

partNumber
def partNumber(self, partNumber)

Undocumented function.


Diff

    from direct.showbase.ObjectPool import Diff

Inheritance:

    Diff:

Methods of Diff:

    __init__
    printOut
__init__
def __init__(self, lost, gained)

Undocumented function.

printOut
def printOut(self, full=False)

Undocumented function.


DirectAnalogs

    from direct.directdevices.DirectDeviceManager import DirectAnalogs

Inheritance:

    DirectAnalogs:

Methods of DirectAnalogs:

    __getitem__
    __init__
    __len__
    __repr__
    disable
    enable
    getName
    getNodePath
    normalize
    normalizeChannel
    normalizeWithoutCentering
__getitem__
def __getitem__(self, index)

Undocumented function.

__init__
def __init__(self, vrpnClient, device)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

enable
def enable(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

getNodePath
def getNodePath(self)

Undocumented function.

normalize
def normalize(self, rawValue, minVal=-1, maxVal=1, sf=1.0)

Undocumented function.

normalizeChannel
def normalizeChannel(self, chan, minVal=-1, maxVal=1, sf=1.0)

Undocumented function.

normalizeWithoutCentering
def normalizeWithoutCentering(self, val, minVal=-1, maxVal=1)

Undocumented function.


DirectBoundingBox

    from direct.directtools.DirectSelection import DirectBoundingBox

Inheritance:

    DirectBoundingBox:

Methods of DirectBoundingBox:

    __init__
    __repr__
    computeBounds
    computeTightBounds
    createBBoxLines
    getBounds
    getCenter
    getMax
    getMin
    getRadius
    hide
    recompute
    setBoxColorScale
    show
    updateBBoxLines
    vecAsString
__init__
def __init__(self, nodePath, bboxColor=None)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

computeBounds
def computeBounds(self)

Undocumented function.

computeTightBounds
def computeTightBounds(self)

Undocumented function.

createBBoxLines
def createBBoxLines(self, bboxColor=None)

Undocumented function.

getBounds
def getBounds(self)

Undocumented function.

getCenter
def getCenter(self)

Undocumented function.

getMax
def getMax(self)

Undocumented function.

getMin
def getMin(self)

Undocumented function.

getRadius
def getRadius(self)

Undocumented function.

hide
def hide(self)

Undocumented function.

recompute
def recompute(self)

Undocumented function.

setBoxColorScale
def setBoxColorScale(self, r, g, b, a)

Undocumented function.

show
def show(self)

Undocumented function.

updateBBoxLines
def updateBBoxLines(self)

Undocumented function.

vecAsString
def vecAsString(self, vec)

Undocumented function.


DirectButton

    from direct.gui.DirectButton import DirectButton
    DirectButton(parent) - Create a DirectGuiWidget which responds to mouse clicks and execute a callback function if defined

Inheritance:

    DirectButton:

Methods of DirectButton:

    __init__
    commandFunc
    setClickSound
    setCommandButtons
    setRolloverSound
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

commandFunc
def commandFunc(self, event)

Undocumented function.

setClickSound
def setClickSound(self)

Undocumented function.

setCommandButtons
def setCommandButtons(self)

Undocumented function.

setRolloverSound
def setRolloverSound(self)

Undocumented function.


DirectButtons

    from direct.directdevices.DirectDeviceManager import DirectButtons

Inheritance:

    DirectButtons:

Methods of DirectButtons:

    __getitem__
    __init__
    __len__
    __repr__
    disable
    enable
    getName
    getNodePath
__getitem__
def __getitem__(self, index)

Undocumented function.

__init__
def __init__(self, vrpnClient, device)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

enable
def enable(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

getNodePath
def getNodePath(self)

Undocumented function.


DirectCameraControl

    from direct.directtools.DirectCameraControl import DirectCameraControl

Inheritance:

    DirectCameraControl:

Methods of DirectCameraControl:

    __init__
    centerCam
    centerCamIn
    centerCamNow
    computeCOA
    disableMouseFly
    enableMouseFly
    fitOnWidget
    homeCam
    HPanYZoomTask
    HPPanTask
    lockCOA
    mouseDollyStart
    mouseFlyStart
    mouseFlyStartTopWin
    mouseFlyStop
    mouseFlyStopTopWin
    mouseRollTask
    mouseRotateStart
    mouseRotateTask
    moveToFit
    orbitUprightCam
    pickNextCOA
    removeManipulateCameraTask
    reparentCam
    spawnHPanYZoom
    spawnHPPan
    spawnMouseRollTask
    spawnMouseRotateTask
    spawnMoveToView
    spawnXZTranslate
    spawnXZTranslateOrHPanYZoom
    spawnXZTranslateOrHPPan
    stickToWidgetTask
    swingCamAboutWidget
    toggleCOALock
    toggleMarkerVis
    unlockCOA
    updateCoa
    updateCoaMarkerSize
    updateCoaMarkerSizeOnDeath
    uprightCam
    XZTranslateOrHPanYZoomTask
    XZTranslateOrHPPanTask
    XZTranslateTask
    zoomCam
__init__
def __init__(self)

Undocumented function.

centerCam
def centerCam(self)

Undocumented function.

centerCamIn
def centerCamIn(self, t)

Undocumented function.

centerCamNow
def centerCamNow(self)

Undocumented function.

computeCOA
def computeCOA(self, entry)

Undocumented function.

disableMouseFly
def disableMouseFly(self)

Undocumented function.

enableMouseFly
def enableMouseFly(self, fKeyEvents=1)

Undocumented function.

fitOnWidget
def fitOnWidget(self, nodePath='None Given')

Undocumented function.

homeCam
def homeCam(self)

Undocumented function.

HPanYZoomTask
def HPanYZoomTask(self, state)

Undocumented function.

HPPanTask
def HPPanTask(self, state)

Undocumented function.

lockCOA
def lockCOA(self)

Undocumented function.

mouseDollyStart
def mouseDollyStart(self, modifiers)

Undocumented function.

mouseFlyStart
def mouseFlyStart(self, modifiers)

Undocumented function.

mouseFlyStartTopWin
def mouseFlyStartTopWin(self)

Undocumented function.

mouseFlyStop
def mouseFlyStop(self)

Undocumented function.

mouseFlyStopTopWin
def mouseFlyStopTopWin(self)

Undocumented function.

mouseRollTask
def mouseRollTask(self, state)

Undocumented function.

mouseRotateStart
def mouseRotateStart(self, modifiers)

Undocumented function.

mouseRotateTask
def mouseRotateTask(self, state)

Undocumented function.

moveToFit
def moveToFit(self)

Undocumented function.

orbitUprightCam
def orbitUprightCam(self)

Undocumented function.

pickNextCOA
def pickNextCOA(self)

Cycle through collision handler entries

removeManipulateCameraTask
def removeManipulateCameraTask(self)

Undocumented function.

reparentCam
def reparentCam(self, state)

Undocumented function.

spawnHPanYZoom
def spawnHPanYZoom(self)

Undocumented function.

spawnHPPan
def spawnHPPan(self)

Undocumented function.

spawnMouseRollTask
def spawnMouseRollTask(self)

Undocumented function.

spawnMouseRotateTask
def spawnMouseRotateTask(self)

Undocumented function.

spawnMoveToView
def spawnMoveToView(self, view)

Undocumented function.

spawnXZTranslate
def spawnXZTranslate(self)

Undocumented function.

spawnXZTranslateOrHPanYZoom
def spawnXZTranslateOrHPanYZoom(self)

Undocumented function.

spawnXZTranslateOrHPPan
def spawnXZTranslateOrHPPan(self)

Undocumented function.

stickToWidgetTask
def stickToWidgetTask(self, state)

Undocumented function.

swingCamAboutWidget
def swingCamAboutWidget(self, degrees, t)

Undocumented function.

toggleCOALock
def toggleCOALock(self)

Undocumented function.

toggleMarkerVis
def toggleMarkerVis(self)

Undocumented function.

unlockCOA
def unlockCOA(self)

Undocumented function.

updateCoa
def updateCoa(self, ref2point, coaDist=None, ref=None)

Undocumented function.

updateCoaMarkerSize
def updateCoaMarkerSize(self, coaDist=None)

Undocumented function.

updateCoaMarkerSizeOnDeath
def updateCoaMarkerSizeOnDeath(self, state)

Undocumented function.

uprightCam
def uprightCam(self)

Undocumented function.

XZTranslateOrHPanYZoomTask
def XZTranslateOrHPanYZoomTask(self, state)

Undocumented function.

XZTranslateOrHPPanTask
def XZTranslateOrHPPanTask(self, state)

Undocumented function.

XZTranslateTask
def XZTranslateTask(self, state)

Undocumented function.

zoomCam
def zoomCam(self, zoomFactor, t)

Undocumented function.


DirectCheckBox

    from direct.gui.DirectCheckBox import DirectCheckBox
    DirectCheckBox(parent) - Create a DirectGuiWidget which responds to mouse clicks by setting a state of True or False and executes a callback function if defined.
    Uses an image swap rather than a text change to indicate state.

Inheritance:

    DirectCheckBox:

Methods of DirectCheckBox:

    __init__
    commandFunc
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

commandFunc
def commandFunc(self, event)

Undocumented function.


DirectCheckButton

    from direct.gui.DirectCheckButton import DirectCheckButton
    DirectCheckButton(parent) - Create a DirectGuiWidget which responds to mouse clicks by setting a state of on or off and execute a callback function (passing that state through) if defined

Inheritance:

    DirectCheckButton:

Methods of DirectCheckButton:

    __init__
    commandFunc
    resetFrameSize
    setFrameSize
    setIndicatorValue
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

commandFunc
def commandFunc(self, event)

Undocumented function.

resetFrameSize
def resetFrameSize(self)

Undocumented function.

setFrameSize
def setFrameSize(self, fClearFrame=0)

Undocumented function.

setIndicatorValue
def setIndicatorValue(self)

Undocumented function.


DirectDeviceManager

    from direct.directdevices.DirectDeviceManager import DirectDeviceManager

Inheritance:

    DirectDeviceManager:

Methods of DirectDeviceManager:

    __init__
    createAnalogs
    createButtons
    createDials
    createTimecodeReader
    createTracker
__init__
def __init__(self, server=None)

Undocumented function.

createAnalogs
def createAnalogs(self, device)

Undocumented function.

createButtons
def createButtons(self, device)

Undocumented function.

createDials
def createDials(self, device)

Undocumented function.

createTimecodeReader
def createTimecodeReader(self, device)

Undocumented function.

createTracker
def createTracker(self, device)

Undocumented function.


DirectDialog

    from direct.gui.DirectDialog import DirectDialog

Inheritance:

    DirectDialog:

Methods of DirectDialog:

    __init__
    buttonCommand
    cleanup
    configureDialog
    destroy
    hide
    setMessage
    show
__init__
def __init__(self, parent=None, **kw)

DirectDialog(kw)
Creates a popup dialog to alert and/or interact with user. Some of the main keywords that can be used to customize the dialog: Keyword Definition
------- ----------
text Text message/query displayed to user geom Geometry to be displayed in dialog buttonTextList List of text to show on each button buttonGeomList List of geometry to show on each button buttonImageList List of images to show on each button buttonValueList List of values sent to dialog command for each button. If value is [] then the ordinal rank of the button is used as its value buttonHotKeyList List of hotkeys to bind to each button. Typing hotkey is equivalent to pressing the corresponding button. suppressKeys Set to true if you wish to suppress keys (i.e. Dialog eats key event), false if you wish Dialog to pass along key event buttonSize 4-tuple used to specify custom size for each button (to make bigger then geom/text for example) pad Space between border and interior graphics topPad Extra space added above text/geom/image midPad Extra space added between text/buttons sidePad Extra space added to either side of text/buttons buttonPadSF Scale factor used to expand/contract button horizontal spacing command Callback command used when a button is pressed. Value supplied to command depends on values in buttonValueList
Note: Number of buttons on the dialog depends upon the maximum length of any button[Text|Geom|Image|Value]List specified. Values of None are substituted for lists that are shorter than the max length

buttonCommand
def buttonCommand(self, value, event=None)

Undocumented function.

cleanup
def cleanup(self)

Undocumented function.

configureDialog
def configureDialog(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

hide
def hide(self)

Undocumented function.

setMessage
def setMessage(self, message)

Undocumented function.

show
def show(self)

Undocumented function.


DirectDials

    from direct.directdevices.DirectDeviceManager import DirectDials

Inheritance:

    DirectDials:

Methods of DirectDials:

    __getitem__
    __init__
    __len__
    __repr__
    disable
    enable
    getName
    getNodePath
__getitem__
def __getitem__(self, index)

if (index < 0) or (index >= self.getNumDials()): raise IndexError

__init__
def __init__(self, vrpnClient, device)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

enable
def enable(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

getNodePath
def getNodePath(self)

Undocumented function.


DirectEntry

    from direct.gui.DirectEntry import DirectEntry
    DirectEntry(parent) - Create a DirectGuiWidget which responds to keyboard buttons

Inheritance:

    DirectEntry:

Methods of DirectEntry:

    __init__
    _autoCapitalize
    _handleErasing
    _handleTyping
    autoCapitalizeFunc
    commandFunc
    destroy
    enterText
    failedCommandFunc
    focusInCommandFunc
    focusOutCommandFunc
    get
    getBounds
    set
    setBackgroundFocus
    setClickSound
    setCursorKeysActive
    setCursorPosition
    setFocus
    setObscureMode
    setRolloverSound
    setup
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

_autoCapitalize
def _autoCapitalize(self)

Undocumented function.

_handleErasing
def _handleErasing(self, guiEvent)

Undocumented function.

_handleTyping
def _handleTyping(self, guiEvent)

Undocumented function.

autoCapitalizeFunc
def autoCapitalizeFunc(self)

Undocumented function.

commandFunc
def commandFunc(self, event)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

enterText
def enterText(self, text)

sets the entry's text, and moves the cursor to the end

failedCommandFunc
def failedCommandFunc(self, event)

Undocumented function.

focusInCommandFunc
def focusInCommandFunc(self)

Undocumented function.

focusOutCommandFunc
def focusOutCommandFunc(self)

Undocumented function.

get
def get(self, plain=False)

Returns the text currently showing in the typable region. If plain is True, the returned text will not include any formatting characters like nested color-change codes.

getBounds
def getBounds(self, state=0)

Undocumented function.

set
def set(self, text)

Changes the text currently showing in the typable region; does not change the current cursor position. Also see enterText().

setBackgroundFocus
def setBackgroundFocus(self)

Undocumented function.

setClickSound
def setClickSound(self)

Undocumented function.

setCursorKeysActive
def setCursorKeysActive(self)

Undocumented function.

setCursorPosition
def setCursorPosition(self, pos)

Undocumented function.

setFocus
def setFocus(self)

Undocumented function.

setObscureMode
def setObscureMode(self)

Undocumented function.

setRolloverSound
def setRolloverSound(self)

Undocumented function.

setup
def setup(self)

Undocumented function.


DirectFastrak

    from direct.directdevices.DirectFastrak import DirectFastrak

Inheritance:

    DirectFastrak:

Methods of DirectFastrak:

    __init__
    destroy
    disable
    enable
    fastrakUpdate
    updateTask
__init__
def __init__(self, device='Tracker0', nodePath=base.direct.camera)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

enable
def enable(self)

Undocumented function.

fastrakUpdate
def fastrakUpdate(self)

Undocumented function.

updateTask
def updateTask(self, state)

Undocumented function.


DirectFrame

    from direct.gui.DirectFrame import DirectFrame

Inheritance:

    DirectFrame:

Methods of DirectFrame:

    __init__
    destroy
    setGeom
    setImage
    setText
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

setGeom
def setGeom(self)

Undocumented function.

setImage
def setImage(self)

Undocumented function.

setText
def setText(self)

Undocumented function.


DirectGrid

    from direct.directtools.DirectGrid import DirectGrid

Inheritance:

    DirectGrid:

Methods of DirectGrid:

    __init__
    computeSnapAngle
    computeSnapPoint
    disable
    enable
    getGridSize
    getGridSpacing
    getHprSnap
    getSnapAngle
    getXyzSnap
    isEnabled
    setGridSize
    setGridSpacing
    setHprSnap
    setSnapAngle
    setXyzSnap
    toggleGrid
    updateGrid
__init__
def __init__(self, gridSize=100.0, gridSpacing=5.0, planeColor=(0.5, 0.5, 0.5, 0.5), parent=None)

Undocumented function.

computeSnapAngle
def computeSnapAngle(self, angle)

Undocumented function.

computeSnapPoint
def computeSnapPoint(self, point)

Undocumented function.

disable
def disable(self)

Undocumented function.

enable
def enable(self, parent=None)

Undocumented function.

getGridSize
def getGridSize(self)

Undocumented function.

getGridSpacing
def getGridSpacing(self)

Undocumented function.

getHprSnap
def getHprSnap(self)

Undocumented function.

getSnapAngle
def getSnapAngle(self)

Undocumented function.

getXyzSnap
def getXyzSnap(self)

Undocumented function.

isEnabled
def isEnabled(self)

Undocumented function.

setGridSize
def setGridSize(self, size)

Undocumented function.

setGridSpacing
def setGridSpacing(self, spacing)

Undocumented function.

setHprSnap
def setHprSnap(self, fSnap)

Undocumented function.

setSnapAngle
def setSnapAngle(self, angle)

Undocumented function.

setXyzSnap
def setXyzSnap(self, fSnap)

Undocumented function.

toggleGrid
def toggleGrid(self)

Undocumented function.

updateGrid
def updateGrid(self)

Undocumented function.


DirectGuiBase

    from direct.gui.DirectGuiBase import DirectGuiBase

Inheritance:

    DirectGuiBase:

Methods of DirectGuiBase:

    __init__
    __setitem__
    addoptions
    bind
    cget
    component
    components
    configure
    createcomponent
    defineoptions
    destroy
    destroycomponent
    hascomponent
    initialiseoptions
    isinitoption
    options
    postInitialiseFunc
    unbind
__init__
def __init__(self)

Undocumented function.

__setitem__
def __setitem__(self, key, value)

Undocumented function.

addoptions
def addoptions(self, optionDefs)

addoptions(optionDefs) - add option def to option info

bind
def bind(self, event, command, extraArgs=[])

Bind the command (which should expect one arg) to the specified event (such as ENTER, EXIT, B1PRESS, B1CLICK, etc.) See DirectGuiGlobals for possible events

cget
def cget(self, option)

Get current configuration setting for this option

component
def component(self, name)

Undocumented function.

components
def components(self)

Undocumented function.

configure
def configure(self, option=None, **kw)

configure(option = None) Query or configure the megawidget options.

createcomponent
def createcomponent(self, componentName, componentAliases, componentGroup, widgetClass, *widgetArgs, **kw)

Create a component (during construction or later) for this widget.

defineoptions
def defineoptions(self, keywords, optionDefs, dynamicGroups=())

defineoptions(keywords, optionDefs, dynamicGroups = {})

destroy
def destroy(self)

Undocumented function.

destroycomponent
def destroycomponent(self, name)

Undocumented function.

hascomponent
def hascomponent(self, component)

Undocumented function.

initialiseoptions
def initialiseoptions(self, myClass)

Call all initialisation functions to initialize widget options to default of keyword value

isinitoption
def isinitoption(self, option)

Is this opition one that can only be specified at construction?

options
def options(self)

Print out a list of available widget options. Does not include subcomponent options.

postInitialiseFunc
def postInitialiseFunc(self)

Undocumented function.

unbind
def unbind(self, event)

Unbind the specified event


DirectGuiWidget

    from direct.gui.DirectGuiBase import DirectGuiWidget

Inheritance:

    DirectGuiWidget:

Methods of DirectGuiWidget:

    __init__
    copyOptions
    destroy
    disableEdit
    editStart
    editStop
    enableEdit
    frameInitialiseFunc
    getBounds
    getCenter
    getFrameType
    getHeight
    getWidth
    guiDragTask
    guiScaleTask
    printConfig
    resetFrameSize
    setBorderWidth
    setFrameColor
    setFrameSize
    setFrameTexture
    setFrameVisibleScale
    setProp
    setRelief
    setState
    taskName
    uniqueName
    updateFrameStyle
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

copyOptions
def copyOptions(self, other)

Copy other's options into our self so we look and feel like other

destroy
def destroy(self)

Undocumented function.

disableEdit
def disableEdit(self)

Undocumented function.

editStart
def editStart(self, event)

Undocumented function.

editStop
def editStop(self, event)

Undocumented function.

enableEdit
def enableEdit(self)

Undocumented function.

frameInitialiseFunc
def frameInitialiseFunc(self)

Undocumented function.

getBounds
def getBounds(self, state=0)

Undocumented function.

getCenter
def getCenter(self)

Undocumented function.

getFrameType
def getFrameType(self, state=0)

Undocumented function.

getHeight
def getHeight(self)

Undocumented function.

getWidth
def getWidth(self)

Undocumented function.

guiDragTask
def guiDragTask(self, state)

Undocumented function.

guiScaleTask
def guiScaleTask(self, state)

Undocumented function.

printConfig
def printConfig(self, indent=0)

Undocumented function.

resetFrameSize
def resetFrameSize(self)

Undocumented function.

setBorderWidth
def setBorderWidth(self)

Undocumented function.

setFrameColor
def setFrameColor(self)

Undocumented function.

setFrameSize
def setFrameSize(self, fClearFrame=0)

Undocumented function.

setFrameTexture
def setFrameTexture(self)

Undocumented function.

setFrameVisibleScale
def setFrameVisibleScale(self)

Undocumented function.

setProp
def setProp(self, propString, value)

Allows you to set a property like frame['text'] = 'Joe' in a function instead of an assignment. This is useful for setting properties inside function intervals where must input a function and extraArgs, not an assignment.

setRelief
def setRelief(self, fSetStyle=1)

Undocumented function.

setState
def setState(self)

Undocumented function.

taskName
def taskName(self, idString)

Undocumented function.

uniqueName
def uniqueName(self, idString)

Undocumented function.

updateFrameStyle
def updateFrameStyle(self)

Undocumented function.


DirectionalLight

    from pandac.PandaModules import DirectionalLight
    Class : DirectionalLight
    Description : A light shining from infinitely far away in a particular direction, like sunlight.

Inheritance:

    DirectionalLight: LightNode
    LightNode: Light PandaNode
    Light: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    Namable:
    LinkedListNode:

Methods of DirectionalLight:

    DirectionalLight (Constructor)
    getClassType
    getDirection
    getPoint
    getSpecularColor
    setDirection
    setPoint
    setSpecularColor

Methods of LightNode:

    getClassType
    output
    write

Methods of Light:

    asNode
    getClassPriority
    getClassType
    getColor
    getPriority
    setColor
    setPriority

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
DirectionalLight
DirectionalLight::DirectionalLight(string const &name);

Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

getClassType
static TypeHandle DirectionalLight::get_class_type(void);

Undocumented function.

getDirection
LVector3f const &DirectionalLight::get_direction(void) const;

Description: Returns the direction in which the light is aimed. This is local to the coordinate space in which the light is assigned.

getPoint
LPoint3f const &DirectionalLight::get_point(void) const;

Description: Returns the point in space at which the light is located. This is local to the coordinate space in which the light is assigned.
This actually has no bearing on the visual effect of the light, since the light is rendered as if it were infinitely far away. This is only used to create a visible representation of the light.

getSpecularColor
LVecBase4f const &DirectionalLight::get_specular_color(void) const;

Description: Returns the color of specular highlights generated by the light.

setDirection
void DirectionalLight::set_direction(LVector3f const &direction);

Description: Sets the direction in which the light is aimed.

setPoint
void DirectionalLight::set_point(LPoint3f const &point);

Description: Sets the point in space at which the light is located.

setSpecularColor
void DirectionalLight::set_specular_color(LVecBase4f const &color);

Description: Sets the color of specular highlights generated by the light.

getClassType
static TypeHandle LightNode::get_class_type(void);

Undocumented function.

output
virtual void LightNode::output(ostream &out) const;

We have to explicitly publish these because they resolve the multiple inheritance.
Description:

write
virtual void LightNode::write(ostream &out, int indent_level = (0)) const;

We have to explicitly publish these because they resolve the multiple inheritance.
Description:

asNode
virtual PandaNode *Light::as_node(void) = 0;

Undocumented function.

getClassPriority
virtual int Light::get_class_priority(void) const = 0;

Undocumented function.

getClassType
static TypeHandle Light::get_class_type(void);

Undocumented function.

getColor
LVecBase4f const &Light::get_color(void) const;

Description: Returns the basic color of the light.

getPriority
int Light::get_priority(void) const;

Description: Returns the priority associated with this light. See set_priority().

setColor
void Light::set_color(LVecBase4f const &color);

Description: Sets the basic color of the light.

setPriority
void Light::set_priority(int priority);

Description: Changes the relative importance of this light relative to the other lights that are applied simultaneously.
The priority number is used to decide which of the requested lights are to be selected for rendering when more lights are requested than the hardware will support. The highest-priority n lights are selected for rendering.
This is similar to TextureStage::set_priority().

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


DirectJoybox

    from direct.directdevices.DirectJoybox import DirectJoybox

Inheritance:

    DirectJoybox:

Methods of DirectJoybox:

    __init__
    acceptSwitchModeEvent
    acceptUprightCameraEvent
    addButtonEvents
    basicMode
    demoMode
    destroy
    disable
    driveMode
    enable
    fpsMode
    getEventName
    getHprMultiplier
    getNodePath
    getRefCS
    getXyzMultiplier
    hprXyzMode
    ignoreSwitchModeEvent
    ignoreUprightCameraEvent
    joeMode
    joyboxFly
    lookAroundMode
    lookAtMode
    lucMode
    mopathMode
    normalizeChannel
    nullFly
    nullMode
    orbitFly
    orbitMode
    orbitNode
    planetFly
    planetMode
    setHeadingNodePath
    setHprMultiplier
    setMode
    setNodePath
    setRefCS
    setRotateInPlace
    setUseHeadingNP
    setXyzMultiplier
    showMode
    spaceFly
    spaceMode
    switchMode
    tankFly
    tankMode
    updateTask
    updateVals
    updateValsUnrolled
    walkthruMode
__init__
def __init__(self, device='CerealBox', nodePath=base.direct.camera, headingNP=base.direct.camera)

Undocumented function.

acceptSwitchModeEvent
def acceptSwitchModeEvent(self, button=R_UPPER)

Undocumented function.

acceptUprightCameraEvent
def acceptUprightCameraEvent(self, button=L_UPPER)

Undocumented function.

addButtonEvents
def addButtonEvents(self)

Undocumented function.

basicMode
def basicMode(self)

Undocumented function.

demoMode
def demoMode(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

driveMode
def driveMode(self)

Undocumented function.

enable
def enable(self)

Undocumented function.

fpsMode
def fpsMode(self)

Undocumented function.

getEventName
def getEventName(self, index)

Undocumented function.

getHprMultiplier
def getHprMultiplier(self)

Undocumented function.

getNodePath
def getNodePath(self)

Undocumented function.

getRefCS
def getRefCS(self)

Undocumented function.

getXyzMultiplier
def getXyzMultiplier(self)

Undocumented function.

hprXyzMode
def hprXyzMode(self)

Undocumented function.

ignoreSwitchModeEvent
def ignoreSwitchModeEvent(self, button=R_UPPER)

Undocumented function.

ignoreUprightCameraEvent
def ignoreUprightCameraEvent(self, button=L_UPPER)

Undocumented function.

joeMode
def joeMode(self)

Undocumented function.

joyboxFly
def joyboxFly(self)

Undocumented function.

lookAroundMode
def lookAroundMode(self)

Undocumented function.

lookAtMode
def lookAtMode(self)

Undocumented function.

lucMode
def lucMode(self)

Undocumented function.

mopathMode
def mopathMode(self)

Undocumented function.

normalizeChannel
def normalizeChannel(self, chan, minVal=-1, maxVal=1)

Undocumented function.

nullFly
def nullFly(self)

Undocumented function.

nullMode
def nullMode(self)

Undocumented function.

orbitFly
def orbitFly(self)

Undocumented function.

orbitMode
def orbitMode(self)

Undocumented function.

orbitNode
def orbitNode(self, h, p, r)

Undocumented function.

planetFly
def planetFly(self)

Undocumented function.

planetMode
def planetMode(self, auxData=[])

Undocumented function.

setHeadingNodePath
def setHeadingNodePath(self, np)

Undocumented function.

setHprMultiplier
def setHprMultiplier(self, multiplier)

Undocumented function.

setMode
def setMode(self, func, name)

Undocumented function.

setNodePath
def setNodePath(self, nodePath)

Undocumented function.

setRefCS
def setRefCS(self, refCS)

Undocumented function.

setRotateInPlace
def setRotateInPlace(self, enabled)

Undocumented function.

setUseHeadingNP
def setUseHeadingNP(self, enabled)

Undocumented function.

setXyzMultiplier
def setXyzMultiplier(self, multiplier)

Undocumented function.

showMode
def showMode(self, modeText)

Undocumented function.

spaceFly
def spaceFly(self)

Undocumented function.

spaceMode
def spaceMode(self)

Undocumented function.

switchMode
def switchMode(self)

Undocumented function.

tankFly
def tankFly(self)

Undocumented function.

tankMode
def tankMode(self)

Undocumented function.

updateTask
def updateTask(self, state)

Undocumented function.

updateVals
def updateVals(self)

Undocumented function.

updateValsUnrolled
def updateValsUnrolled(self)

Undocumented function.

walkthruMode
def walkthruMode(self)

Undocumented function.


DirectLabel

    from direct.gui.DirectLabel import DirectLabel
    DirectLabel(parent) - Create a DirectGuiWidget which has multiple states. User explicitly chooses a state to display

Inheritance:

    DirectLabel:

Methods of DirectLabel:

    __init__
    setActiveState
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

setActiveState
def setActiveState(self)

setActiveState - change label to specifed state


DirectLight

    from direct.directtools.DirectLights import DirectLight

Inheritance:

    DirectLight:

Methods of DirectLight:

    __init__
    getLight
    getName
__init__
def __init__(self, light, parent)

Undocumented function.

getLight
def getLight(self)

Undocumented function.

getName
def getName(self)

Undocumented function.


DirectLights

    from direct.directtools.DirectLights import DirectLights

Inheritance:

    DirectLights:

Methods of DirectLights:

    __getitem__
    __init__
    __len__
    allOff
    allOn
    asList
    create
    createDefaultLights
    delete
    deleteAll
    getNameList
    setOff
    setOn
    toggle
__getitem__
def __getitem__(self, name)

Undocumented function.

__init__
def __init__(self, parent=render)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

allOff
def allOff(self)

Turn off all DIRECT lights

allOn
def allOn(self)

Turn on all DIRECT lights

asList
def asList(self)

Undocumented function.

create
def create(self, type)

Undocumented function.

createDefaultLights
def createDefaultLights(self)

Undocumented function.

delete
def delete(self, light)

Undocumented function.

deleteAll
def deleteAll(self)

Undocumented function.

getNameList
def getNameList(self)

Undocumented function.

setOff
def setOff(self, directLight)

Turn off the given directLight

setOn
def setOn(self, directLight)

Turn on the given directLight

toggle
def toggle(self)

Toggles light attribute, but doesn't toggle individual lights


DirectManipulationControl

    from direct.directtools.DirectManipulation import DirectManipulationControl

Inheritance:

    DirectManipulationControl:

Methods of DirectManipulationControl:

    __init__
    addTag
    disableManipulation
    enableManipulation
    followSelectedNodePathTask
    getEditTypes
    manipulateObject
    manipulateObjectCleanup
    manipulateObjectTask
    manipulationStart
    manipulationStop
    plantSelectedNodePath
    removeManipulateObjectTask
    removeTag
    rotate1D
    rotate2D
    rotateAboutViewVector
    scale1D
    scale3D
    spawnFollowSelectedNodePathTask
    spawnManipulateObjectTask
    switchToMoveMode
    toggleObjectHandlesMode
    watchMouseTask
    widgetCheck
    xlate1D
    xlate2D
    xlateCamXY
    xlateCamXZ
__init__
def __init__(self)

Undocumented function.

addTag
def addTag(self, tag)

Undocumented function.

disableManipulation
def disableManipulation(self, allowSelectionOnly=False)

Undocumented function.

enableManipulation
def enableManipulation(self)

Undocumented function.

followSelectedNodePathTask
def followSelectedNodePathTask(self, state)

Undocumented function.

getEditTypes
def getEditTypes(self, objects)

Undocumented function.

manipulateObject
def manipulateObject(self)

Undocumented function.

manipulateObjectCleanup
def manipulateObjectCleanup(self)

Undocumented function.

manipulateObjectTask
def manipulateObjectTask(self, state)

Undocumented function.

manipulationStart
def manipulationStart(self, modifiers)

Undocumented function.

manipulationStop
def manipulationStop(self)

Undocumented function.

plantSelectedNodePath
def plantSelectedNodePath(self)

Move selected object to intersection point of cursor on scene

removeManipulateObjectTask
def removeManipulateObjectTask(self)

Undocumented function.

removeTag
def removeTag(self, tag)

Undocumented function.

rotate1D
def rotate1D(self, state)

Undocumented function.

rotate2D
def rotate2D(self, state)

Virtual trackball rotation of widget

rotateAboutViewVector
def rotateAboutViewVector(self, state)

Undocumented function.

scale1D
def scale1D(self, state)

Undocumented function.

scale3D
def scale3D(self, state)

Undocumented function.

spawnFollowSelectedNodePathTask
def spawnFollowSelectedNodePathTask(self)

Undocumented function.

spawnManipulateObjectTask
def spawnManipulateObjectTask(self)

Undocumented function.

switchToMoveMode
def switchToMoveMode(self, state)

Undocumented function.

toggleObjectHandlesMode
def toggleObjectHandlesMode(self)

Undocumented function.

watchMouseTask
def watchMouseTask(self, state)

Undocumented function.

widgetCheck
def widgetCheck(self, type)

Undocumented function.

xlate1D
def xlate1D(self, state)

Undocumented function.

xlate2D
def xlate2D(self, state)

Undocumented function.

xlateCamXY
def xlateCamXY(self, state)

Constrained 2D motion perpendicular to camera's image plane This moves the object in the camera's XY plane if shift is held Moves object toward camera if control is held

xlateCamXZ
def xlateCamXZ(self, state)

Constrained 2D motion parallel to the camera's image plane This moves the object in the camera's XZ plane


DirectNodePath

    from direct.directtools.DirectSelection import DirectNodePath

Inheritance:

    DirectNodePath:

Methods of DirectNodePath:

    __init__
    dehighlight
    getCenter
    getMax
    getMin
    getRadius
    highlight
__init__
def __init__(self, nodePath, bboxColor=None)

Undocumented function.

dehighlight
def dehighlight(self)

Undocumented function.

getCenter
def getCenter(self)

Undocumented function.

getMax
def getMax(self)

Undocumented function.

getMin
def getMin(self)

Undocumented function.

getRadius
def getRadius(self)

Undocumented function.

highlight
def highlight(self, fRecompute=1)

Undocumented function.


DirectNotify

    from direct.directnotify.DirectNotify import DirectNotify
    DirectNotify class: this class contains methods for creating mulitple notify categories via a dictionary of Notifiers.

Inheritance:

    DirectNotify:

Methods of DirectNotify:

    __init__
    __str__
    getCategories
    getCategory
    giveNotify
    newCategory
    popupControls
    setDconfigLevel
    setDconfigLevels
    setVerbose
__init__
def __init__(self)

DirectNotify class keeps a dictionary of Notfiers

__str__
def __str__(self)

Print handling routine

getCategories
def getCategories(self)

Return list of category dictionary keys

getCategory
def getCategory(self, categoryName)

getCategory(self, string) Return the category with given name if present, None otherwise

giveNotify
def giveNotify(self, cls)

Undocumented function.

newCategory
def newCategory(self, categoryName, logger=None)

newCategory(self, string) Make a new notify category named categoryName. Return new category if no such category exists, else return existing category

popupControls
def popupControls(self, tl=None)

Undocumented function.

setDconfigLevel
def setDconfigLevel(self, categoryName)

Check to see if this category has a dconfig variable to set the notify severity and then set that level. You cannot set these until config is set.

setDconfigLevels
def setDconfigLevels(self)

Undocumented function.

setVerbose
def setVerbose(self)

Undocumented function.


DirectObject

    from direct.showbase.DirectObject import DirectObject
    This is the class that all Direct/SAL classes should inherit from

Inheritance:

    DirectObject:

Methods of DirectObject:

    __init__
    _clearTask
    accept
    acceptOnce
    addTask
    classTree
    doMethodLater
    getAllAccepting
    ignore
    ignoreAll
    isAccepting
    isIgnoring
    removeAllTasks
    removeTask
__init__
def __init__(self)

Undocumented function.

_clearTask
def _clearTask(self, task)

Undocumented function.

accept
def accept(self, event, method, extraArgs=[])

Undocumented function.

acceptOnce
def acceptOnce(self, event, method, extraArgs=[])

Undocumented function.

addTask
def addTask(self, *args, **kwargs)

Undocumented function.

classTree
def classTree(self)

Undocumented function.

doMethodLater
def doMethodLater(self, *args, **kwargs)

Undocumented function.

getAllAccepting
def getAllAccepting(self)

Undocumented function.

ignore
def ignore(self, event)

Undocumented function.

ignoreAll
def ignoreAll(self)

Undocumented function.

isAccepting
def isAccepting(self, event)

Undocumented function.

isIgnoring
def isIgnoring(self, event)

Undocumented function.

removeAllTasks
def removeAllTasks(self)

Undocumented function.

removeTask
def removeTask(self, taskOrName)

Undocumented function.


DirectOptionMenu

    from direct.gui.DirectOptionMenu import DirectOptionMenu
    DirectOptionMenu(parent) - Create a DirectButton which pops up a menu which can be used to select from a list of items. Execute button command (passing the selected item through) if defined To cancel the popup menu click anywhere on the screen outside of the popup menu. No command is executed in this case.

Inheritance:

    DirectOptionMenu:

Methods of DirectOptionMenu:

    __init__
    _highlightItem
    _unhighlightItem
    commandFunc
    get
    hidePopupMenu
    index
    selectHighlightedIndex
    set
    setItems
    showPopupMenu
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

_highlightItem
def _highlightItem(self, item, index)

Set frame color of highlighted item, record index

_unhighlightItem
def _unhighlightItem(self, item, frameColor)

Clear frame color, clear highlightedIndex

commandFunc
def commandFunc(self, event)

Override popup menu button's command func Command is executed in response to selecting menu items

get
def get(self)

Get currently selected item

hidePopupMenu
def hidePopupMenu(self, event=None)

Put away popup and cancel frame

index
def index(self, index)

Undocumented function.

selectHighlightedIndex
def selectHighlightedIndex(self, event=None)

Check to see if item is highlighted (by cursor being within that item). If so, selected it. If not, do nothing

set
def set(self, index, fCommand=1)

Undocumented function.

setItems
def setItems(self)

self['items'] = itemList Create new popup menu to reflect specified set of items

showPopupMenu
def showPopupMenu(self, event=None)

Make popup visible and try to position it just to right of mouse click with currently selected item aligned with button. Adjust popup position if default position puts it outside of visible screen region


DirectoryImporter

    from direct.pyinst.imputil import DirectoryImporter
    Importer subclass to emulate the standard importer.

Inheritance:

    DirectoryImporter:

Methods of DirectoryImporter:

    __init__
    __repr__
    _compile
    _timestamp
    get_code
__init__
def __init__(self, dir)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

_compile
def _compile(self, pathname, timestamp)

Undocumented function.

_timestamp
def _timestamp(self, pathname)

Undocumented function.

get_code
def get_code(self, parent, modname, fqname)

Undocumented function.


DirectRadamec

    from direct.directdevices.DirectRadamec import DirectRadamec

Inheritance:

    DirectRadamec:

Methods of DirectRadamec:

    __init__
    destroy
    disable
    enable
    normalizeChannel
    radamecDebug
    updateTask
__init__
def __init__(self, device='Analog0', nodePath=base.direct.camera)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

enable
def enable(self)

Undocumented function.

normalizeChannel
def normalizeChannel(self, chan, minVal=-1, maxVal=1)

Undocumented function.

radamecDebug
def radamecDebug(self)

Undocumented function.

updateTask
def updateTask(self, state)

Undocumented function.


DirectRadioButton

    from direct.gui.DirectRadioButton import DirectRadioButton
    DirectRadioButton(parent) - Create a DirectGuiWidget which responds to mouse clicks by setting given value to given variable and execute a callback function (passing that state through) if defined

Inheritance:

    DirectRadioButton:

Methods of DirectRadioButton:

    __init__
    check
    commandFunc
    resetFrameSize
    setFrameSize
    setIndicatorValue
    setOthers
    uncheck
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

check
def check(self)

Undocumented function.

commandFunc
def commandFunc(self, event)

Undocumented function.

resetFrameSize
def resetFrameSize(self)

Undocumented function.

setFrameSize
def setFrameSize(self, fClearFrame=0)

Undocumented function.

setIndicatorValue
def setIndicatorValue(self)

Undocumented function.

setOthers
def setOthers(self, others)

Undocumented function.

uncheck
def uncheck(self)

Undocumented function.


DirectScrollBar

    from direct.gui.DirectScrollBar import DirectScrollBar
    DirectScrollBar -- a widget which represents a scroll bar the user can use for paging through a large document or panel.

Inheritance:

    DirectScrollBar:

Methods of DirectScrollBar:

    __init__
    __setValue
    commandFunc
    destroy
    getRatio
    getValue
    scrollPage
    scrollStep
    setManageButtons
    setOrientation
    setPageSize
    setRange
    setResizeThumb
    setScrollSize
    setValue
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

__setValue
def __setValue(self)

Undocumented function.

commandFunc
def commandFunc(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getRatio
def getRatio(self)

Undocumented function.

getValue
def getValue(self)

Undocumented function.

scrollPage
def scrollPage(self, pageCount)

Scrolls the indicated number of pages forward. If pageCount is negative, scrolls backward.

scrollStep
def scrollStep(self, stepCount)

Scrolls the indicated number of steps forward. If stepCount is negative, scrolls backward.

setManageButtons
def setManageButtons(self)

Undocumented function.

setOrientation
def setOrientation(self)

Undocumented function.

setPageSize
def setPageSize(self)

Undocumented function.

setRange
def setRange(self)

Undocumented function.

setResizeThumb
def setResizeThumb(self)

Undocumented function.

setScrollSize
def setScrollSize(self)

Undocumented function.

setValue
def setValue(self, value)

Undocumented function.


DirectScrolledFrame

    from direct.gui.DirectScrolledFrame import DirectScrolledFrame
    DirectScrolledFrame -- a special frame that uses DirectScrollBar to implement a small window (the frameSize) into a potentially much larger virtual canvas (the canvasSize, scrolledFrame.getCanvas()).
    Unless specified otherwise, scroll bars are automatically created and managed as needed, based on the relative sizes od the frameSize and the canvasSize. You can also set manageScrollBars = 0 and explicitly position and hide or show the scroll bars yourself.

Inheritance:

    DirectScrolledFrame:

Methods of DirectScrolledFrame:

    __init__
    commandFunc
    destroy
    getCanvas
    setAutoHideScrollBars
    setCanvasSize
    setManageScrollBars
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

commandFunc
def commandFunc(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getCanvas
def getCanvas(self)

Undocumented function.

setAutoHideScrollBars
def setAutoHideScrollBars(self)

Undocumented function.

setCanvasSize
def setCanvasSize(self)

Undocumented function.

setManageScrollBars
def setManageScrollBars(self)

Undocumented function.


DirectScrolledList

    from direct.gui.DirectScrolledList import DirectScrolledList

Inheritance:

    DirectScrolledList:

Methods of DirectScrolledList:

    __buttonUp
    __decButtonDown
    __incButtonDown
    __init__
    __scrollByTask
    addItem
    destroy
    getItemIndexForItemID
    getSelectedIndex
    getSelectedText
    makeAllItems
    recordMaxHeight
    refresh
    removeAllItems
    removeItem
    scrollBy
    scrollTo
    scrollToItemID
    selectListItem
    setForceHeight
    setNumItemsVisible
    setScrollSpeed
__buttonUp
def __buttonUp(self, event)

Undocumented function.

__decButtonDown
def __decButtonDown(self, event)

Undocumented function.

__incButtonDown
def __incButtonDown(self, event)

Undocumented function.

__init__
def __init__(self, parent=None, **kw)

Undocumented function.

__scrollByTask
def __scrollByTask(self, task)

Undocumented function.

addItem
def addItem(self, item, refresh=1)

Add this string and extraArg to the list

destroy
def destroy(self)

Undocumented function.

getItemIndexForItemID
def getItemIndexForItemID(self, itemID)

Undocumented function.

getSelectedIndex
def getSelectedIndex(self)

Undocumented function.

getSelectedText
def getSelectedText(self)

Undocumented function.

makeAllItems
def makeAllItems(self)

Undocumented function.

recordMaxHeight
def recordMaxHeight(self)

Undocumented function.

refresh
def refresh(self)

Update the list - useful when adding or deleting items or changing properties that would affect the scrolling

removeAllItems
def removeAllItems(self, refresh=1)

Remove this item from the panel Warning 2006_10_19 tested only in the trolley metagame

removeItem
def removeItem(self, item, refresh=1)

Remove this item from the panel

scrollBy
def scrollBy(self, delta)

Undocumented function.

scrollTo
def scrollTo(self, index, centered=0)

scrolls list so selected index is at top, or centered in box

scrollToItemID
def scrollToItemID(self, itemID, centered=0)

Undocumented function.

selectListItem
def selectListItem(self, item)

Undocumented function.

setForceHeight
def setForceHeight(self)

Undocumented function.

setNumItemsVisible
def setNumItemsVisible(self)

Undocumented function.

setScrollSpeed
def setScrollSpeed(self)

Undocumented function.


DirectScrolledListItem

    from direct.gui.DirectScrolledList import DirectScrolledListItem
    While you are not required to use a DirectScrolledListItem for a DirectScrolledList, doing so takes care of the highlighting and unhighlighting of the list items.

Inheritance:

    DirectScrolledListItem:

Methods of DirectScrolledListItem:

    __init__
    select
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

select
def select(self)

Undocumented function.


DirectSession

    from direct.directtools.DirectSession import DirectSession

Inheritance:

    DirectSession:

Methods of DirectSession:

    __init__
    addPassThroughKey
    addUnpickable
    beginOOBE
    deselect
    deselectAll
    destroy
    disable
    disableActionEvents
    disableKeyEvents
    disableModifierEvents
    disableMouseEvents
    downAncestry
    enable
    enableActionEvents
    enableKeyEvents
    enableLight
    enableModifierEvents
    enableMouseEvents
    endOOBE
    fitOnNodePath
    flash
    flashDone
    flashDummy
    followSelectedNodePathTask
    getAndSetName
    getModifiers
    gotAlt
    gotControl
    gotShift
    hideActiveParentReadout
    hideDirectMessage
    hideDirectMessageLater
    hideSelectedNPReadout
    inputHandler
    isEnabled
    isNotCycle
    isolate
    message
    minimumConfiguration
    oobe
    popRedoGroup
    popUndoGroup
    pushRedo
    pushUndo
    redo
    removeAllSelected
    removeNodePath
    removeUnpickable
    reparent
    reset
    select
    setActiveParent
    setCOAMode
    setFScaleWidgetByCam
    showAllDescendants
    toggleDirect
    toggleVis
    toggleWidgetVis
    undo
    upAncestry
    useObjectHandles
    widgetResizeTask
__init__
def __init__(self)

Undocumented function.

addPassThroughKey
def addPassThroughKey(self, key)

Undocumented function.

addUnpickable
def addUnpickable(self, item)

Undocumented function.

beginOOBE
def beginOOBE(self, state)

Undocumented function.

deselect
def deselect(self, nodePath)

Undocumented function.

deselectAll
def deselectAll(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

disableActionEvents
def disableActionEvents(self)

Undocumented function.

disableKeyEvents
def disableKeyEvents(self)

Undocumented function.

disableModifierEvents
def disableModifierEvents(self)

Undocumented function.

disableMouseEvents
def disableMouseEvents(self)

Undocumented function.

downAncestry
def downAncestry(self)

Undocumented function.

enable
def enable(self)

Undocumented function.

enableActionEvents
def enableActionEvents(self)

Undocumented function.

enableKeyEvents
def enableKeyEvents(self)

Undocumented function.

enableLight
def enableLight(self)

Undocumented function.

enableModifierEvents
def enableModifierEvents(self)

Undocumented function.

enableMouseEvents
def enableMouseEvents(self)

Undocumented function.

endOOBE
def endOOBE(self, state)

Undocumented function.

fitOnNodePath
def fitOnNodePath(self, nodePath='None Given')

Undocumented function.

flash
def flash(self, nodePath='None Given')

Highlight an object by setting it red for a few seconds

flashDone
def flashDone(self, state)

Undocumented function.

flashDummy
def flashDummy(self, state)

Undocumented function.

followSelectedNodePathTask
def followSelectedNodePathTask(self, state)

Undocumented function.

getAndSetName
def getAndSetName(self, nodePath)

Prompt user for new node path name

getModifiers
def getModifiers(self, input, base)

Undocumented function.

gotAlt
def gotAlt(self, modifiers)

Undocumented function.

gotControl
def gotControl(self, modifiers)

Undocumented function.

gotShift
def gotShift(self, modifiers)

Undocumented function.

hideActiveParentReadout
def hideActiveParentReadout(self)

Undocumented function.

hideDirectMessage
def hideDirectMessage(self, state)

Undocumented function.

hideDirectMessageLater
def hideDirectMessageLater(self)

Undocumented function.

hideSelectedNPReadout
def hideSelectedNPReadout(self)

Undocumented function.

inputHandler
def inputHandler(self, input)

Undocumented function.

isEnabled
def isEnabled(self)

Undocumented function.

isNotCycle
def isNotCycle(self, nodePath, parent)

Undocumented function.

isolate
def isolate(self, nodePath='None Given')

Show a node path and hide its siblings

message
def message(self, text)

Undocumented function.

minimumConfiguration
def minimumConfiguration(self)

Undocumented function.

oobe
def oobe(self)

Undocumented function.

popRedoGroup
def popRedoGroup(self)

Undocumented function.

popUndoGroup
def popUndoGroup(self)

Undocumented function.

pushRedo
def pushRedo(self, nodePathList)

Undocumented function.

pushUndo
def pushUndo(self, nodePathList, fResetRedo=1)

Undocumented function.

redo
def redo(self)

Undocumented function.

removeAllSelected
def removeAllSelected(self)

Undocumented function.

removeNodePath
def removeNodePath(self, nodePath='None Given')

Undocumented function.

removeUnpickable
def removeUnpickable(self, item)

Undocumented function.

reparent
def reparent(self, nodePath=None, fWrt=0)

Undocumented function.

reset
def reset(self)

Undocumented function.

select
def select(self, nodePath, fMultiSelect=0, fSelectTag=1, fResetAncestry=1)

Undocumented function.

setActiveParent
def setActiveParent(self, nodePath=None)

Undocumented function.

setCOAMode
def setCOAMode(self, mode)

Undocumented function.

setFScaleWidgetByCam
def setFScaleWidgetByCam(self, flag)

Undocumented function.

showAllDescendants
def showAllDescendants(self, nodePath=render)

Show the level and its descendants

toggleDirect
def toggleDirect(self)

Undocumented function.

toggleVis
def toggleVis(self, nodePath='None Given')

Toggle visibility of node path

toggleWidgetVis
def toggleWidgetVis(self)

Undocumented function.

undo
def undo(self)

Undocumented function.

upAncestry
def upAncestry(self)

Undocumented function.

useObjectHandles
def useObjectHandles(self)

Undocumented function.

widgetResizeTask
def widgetResizeTask(self, state)

Undocumented function.


DirectSessionPanel

    from direct.tkpanels.DirectSessionPanel import DirectSessionPanel

Inheritance:

    DirectSessionPanel:

Methods of DirectSessionPanel:

    __init__
    addAmbient
    addDirectional
    addJBNodePath
    addLight
    addNodePath
    addNodePathToDict
    addPoint
    addSpot
    appInit
    createDevicePage
    createEnvPage
    createGridPage
    createInterface
    createLightsPage
    createMemPage
    createTasksPage
    onDestroy
    pushRedo
    pushRedoHook
    pushUndo
    pushUndoHook
    redoHook
    redoListEmptyHook
    resetFov
    selectDisplayRegionNamed
    selectedNodePathHook
    selectJBModeNamed
    selectJBNodePathNamed
    selectLightNamed
    selectNodePathNamed
    setBackgroundColor
    setBackgroundColorVec
    setConstantAttenuation
    setExponent
    setFar
    setHFov
    setLightColor
    setLinearAttenuation
    setNear
    setQuadraticAttenuation
    setSpecularColor
    setVFov
    toggleActiveLight
    toggleDirect
    toggleDirectGrid
    toggleGrid
    toggleHprSnap
    toggleJoybox
    toggleLights
    toggleWidgetOnTop
    toggleXyzSnap
    undoHook
    undoListEmptyHook
    updateDisplayRegionInfo
    updateEnvironmentInfo
    updateGridInfo
    updateInfo
    updateLightInfo
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

addAmbient
def addAmbient(self)

Undocumented function.

addDirectional
def addDirectional(self)

Undocumented function.

addJBNodePath
def addJBNodePath(self, nodePath)

Undocumented function.

addLight
def addLight(self, light)

Undocumented function.

addNodePath
def addNodePath(self, nodePath)

Undocumented function.

addNodePathToDict
def addNodePathToDict(self, nodePath, names, menu, dict)

Undocumented function.

addPoint
def addPoint(self)

Undocumented function.

addSpot
def addSpot(self)

Undocumented function.

appInit
def appInit(self)

Undocumented function.

createDevicePage
def createDevicePage(self, devicePage)

Undocumented function.

createEnvPage
def createEnvPage(self, envPage)

Undocumented function.

createGridPage
def createGridPage(self, gridPage)

Undocumented function.

createInterface
def createInterface(self)

Undocumented function.

createLightsPage
def createLightsPage(self, lightsPage)

Undocumented function.

createMemPage
def createMemPage(self, memPage)

Undocumented function.

createTasksPage
def createTasksPage(self, tasksPage)

Undocumented function.

onDestroy
def onDestroy(self, event)

Undocumented function.

pushRedo
def pushRedo(self)

Undocumented function.

pushRedoHook
def pushRedoHook(self)

Undocumented function.

pushUndo
def pushUndo(self, fResetRedo=1)

Undocumented function.

pushUndoHook
def pushUndoHook(self)

Undocumented function.

redoHook
def redoHook(self, nodePathList=[])

Undocumented function.

redoListEmptyHook
def redoListEmptyHook(self)

Undocumented function.

resetFov
def resetFov(self)

Undocumented function.

selectDisplayRegionNamed
def selectDisplayRegionNamed(self, name)

Undocumented function.

selectedNodePathHook
def selectedNodePathHook(self, nodePath)

Undocumented function.

selectJBModeNamed
def selectJBModeNamed(self, name)

Undocumented function.

selectJBNodePathNamed
def selectJBNodePathNamed(self, name)

Undocumented function.

selectLightNamed
def selectLightNamed(self, name)

Undocumented function.

selectNodePathNamed
def selectNodePathNamed(self, name)

Undocumented function.

setBackgroundColor
def setBackgroundColor(self, r, g, b)

Undocumented function.

setBackgroundColorVec
def setBackgroundColorVec(self, color)

Undocumented function.

setConstantAttenuation
def setConstantAttenuation(self, value)

Undocumented function.

setExponent
def setExponent(self, value)

Undocumented function.

setFar
def setFar(self, far)

Undocumented function.

setHFov
def setHFov(self, hFov)

Undocumented function.

setLightColor
def setLightColor(self, color)

Undocumented function.

setLinearAttenuation
def setLinearAttenuation(self, value)

Undocumented function.

setNear
def setNear(self, near)

Undocumented function.

setQuadraticAttenuation
def setQuadraticAttenuation(self, value)

Undocumented function.

setSpecularColor
def setSpecularColor(self, color)

Undocumented function.

setVFov
def setVFov(self, vFov)

Undocumented function.

toggleActiveLight
def toggleActiveLight(self)

Undocumented function.

toggleDirect
def toggleDirect(self)

Undocumented function.

toggleDirectGrid
def toggleDirectGrid(self)

Undocumented function.

toggleGrid
def toggleGrid(self)

Undocumented function.

toggleHprSnap
def toggleHprSnap(self)

Undocumented function.

toggleJoybox
def toggleJoybox(self)

Undocumented function.

toggleLights
def toggleLights(self)

Undocumented function.

toggleWidgetOnTop
def toggleWidgetOnTop(self)

Undocumented function.

toggleXyzSnap
def toggleXyzSnap(self)

Undocumented function.

undoHook
def undoHook(self, nodePathList=[])

Undocumented function.

undoListEmptyHook
def undoListEmptyHook(self)

Undocumented function.

updateDisplayRegionInfo
def updateDisplayRegionInfo(self)

Undocumented function.

updateEnvironmentInfo
def updateEnvironmentInfo(self)

Undocumented function.

updateGridInfo
def updateGridInfo(self)

Undocumented function.

updateInfo
def updateInfo(self, page='Environment')

Undocumented function.

updateLightInfo
def updateLightInfo(self, page=None)

Undocumented function.


DirectSlider

    from direct.gui.DirectSlider import DirectSlider
    DirectSlider -- a widget which represents a slider that the user can pull left and right to represent a continuous value.

Inheritance:

    DirectSlider:

Methods of DirectSlider:

    __init__
    __setValue
    commandFunc
    destroy
    getRatio
    getValue
    setOrientation
    setPageSize
    setRange
    setScrollSize
    setValue
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

__setValue
def __setValue(self)

Undocumented function.

commandFunc
def commandFunc(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getRatio
def getRatio(self)

Undocumented function.

getValue
def getValue(self)

Undocumented function.

setOrientation
def setOrientation(self)

Undocumented function.

setPageSize
def setPageSize(self)

Undocumented function.

setRange
def setRange(self)

Undocumented function.

setScrollSize
def setScrollSize(self)

Undocumented function.

setValue
def setValue(self, value)

Undocumented function.


DirectTimecodeReader

    from direct.directdevices.DirectDeviceManager import DirectTimecodeReader

Inheritance:

    DirectTimecodeReader:

Methods of DirectTimecodeReader:

    __init__
    __repr__
    disable
    enable
    getName
    getNodePath
    getTime
__init__
def __init__(self, vrpnClient, device)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

enable
def enable(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

getNodePath
def getNodePath(self)

Undocumented function.

getTime
def getTime(self)

Undocumented function.


DirectTracker

    from direct.directdevices.DirectDeviceManager import DirectTracker

Inheritance:

    DirectTracker:

Methods of DirectTracker:

    __init__
    __repr__
    disable
    enable
    getName
    getNodePath
__init__
def __init__(self, vrpnClient, device)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

enable
def enable(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

getNodePath
def getNodePath(self)

Undocumented function.


DirectWaitBar

    from direct.gui.DirectWaitBar import DirectWaitBar
    DirectEntry(parent) - Create a DirectGuiWidget which responds to keyboard buttons

Inheritance:

    DirectWaitBar:

Methods of DirectWaitBar:

    __init__
    destroy
    finish
    getPercent
    setBarBorderWidth
    setBarColor
    setBarRelief
    setBarTexture
    setRange
    setValue
    update
    updateBarStyle
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

finish
def finish(self)

Undocumented function.

getPercent
def getPercent(self)

Undocumented function.

setBarBorderWidth
def setBarBorderWidth(self)

Undocumented function.

setBarColor
def setBarColor(self)

Undocumented function.

setBarRelief
def setBarRelief(self)

Undocumented function.

setBarTexture
def setBarTexture(self)

Undocumented function.

setRange
def setRange(self)

Undocumented function.

setValue
def setValue(self)

Undocumented function.

update
def update(self, value)

Undocumented function.

updateBarStyle
def updateBarStyle(self)

Undocumented function.


DirFilter

    from direct.pyinst.tocfilter import DirFilter
    A filter based on directories. DirFilter(dirlist) dirs may be relative and will be normalized. Subdirectories of dirs will be excluded.

Inheritance:

    DirFilter:

Methods of DirFilter:

    __init__
__init__
def __init__(self, dirlist)

Undocumented function.


dirresource

    from direct.pyinst.resource import dirresource
    A sublcass for a directory.
    Generally transformed to a list of files through contents() and filtered by file extensions or resource type. Note that contents() is smart enough to regard a .py and .pyc as the same resource.

Inheritance:

    dirresource:

Methods of dirresource:

    __init__
    asFilter
    contents
__init__
def __init__(self, name, fullname=None)

Undocumented function.

asFilter
def asFilter(self)

Undocumented function.

contents
def contents(self, prefix='')

Return the list of (typed) resources in self.name


DiscEmitter

    from pandac.PandaModules import DiscEmitter
    Class : DiscEmitter
    Description : Describes a planar disc region from which particles are generated

Inheritance:

    DiscEmitter: BaseParticleEmitter
    BaseParticleEmitter: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of DiscEmitter:

    DiscEmitter (Constructor)
    getCubicLerping
    getInnerAngle
    getInnerMagnitude
    getOuterAngle
    getOuterMagnitude
    getRadius
    setCubicLerping
    setInnerAngle
    setInnerMagnitude
    setOuterAngle
    setOuterMagnitude
    setRadius

Methods of BaseParticleEmitter:

    generate
    getAmplitude
    getAmplitudeSpread
    getEmissionType
    getExplicitLaunchVector
    getOffsetForce
    getRadiateOrigin
    makeCopy
    output
    setAmplitude
    setAmplitudeSpread
    setEmissionType
    setExplicitLaunchVector
    setOffsetForce
    setRadiateOrigin
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleEmitter:

    ETEXPLICIT | (emissionType)
ETRADIATE | (emissionType)
ETCUSTOM | (emissionType)
DiscEmitter
DiscEmitter::DiscEmitter(void);

Description : constructor
Description : copy constructor

getCubicLerping
bool DiscEmitter::get_cubic_lerping(void) const;

Description : clerp flag accessor

getInnerAngle
float DiscEmitter::get_inner_angle(void) const;

Description : aoe accessor

getInnerMagnitude
float DiscEmitter::get_inner_magnitude(void) const;

Description : mag accessor

getOuterAngle
float DiscEmitter::get_outer_angle(void) const;

Description : aoe accessor

getOuterMagnitude
float DiscEmitter::get_outer_magnitude(void) const;

Description : mag accessor

getRadius
float DiscEmitter::get_radius(void) const;

Description : radius accessor

setCubicLerping
void DiscEmitter::set_cubic_lerping(bool clerp);

Description : clerp flag

setInnerAngle
void DiscEmitter::set_inner_angle(float i_angle);

Description : aoe assignment

setInnerMagnitude
void DiscEmitter::set_inner_magnitude(float i_mag);

Description : mag assignment

setOuterAngle
void DiscEmitter::set_outer_angle(float o_angle);

Description : aoe assignement

setOuterMagnitude
void DiscEmitter::set_outer_magnitude(float o_mag);

Description : mag assignment

setRadius
void DiscEmitter::set_radius(float r);

Description : radius assignment

generate
void BaseParticleEmitter::generate(LPoint3f &pos, LVector3f &vel);

Description : parent generation function

getAmplitude
float BaseParticleEmitter::get_amplitude(void) const;

Description : amplitude query

getAmplitudeSpread
float BaseParticleEmitter::get_amplitude_spread(void) const;

Description : amplitude spread query

getEmissionType
BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type(void) const;

Description : emission type query

getExplicitLaunchVector
LVector3f BaseParticleEmitter::get_explicit_launch_vector(void) const;

Description : query for explicit emission launch vector

getOffsetForce
LVector3f BaseParticleEmitter::get_offset_force(void) const;

Description : user-defined force

getRadiateOrigin
LPoint3f BaseParticleEmitter::get_radiate_origin(void) const;

Description : query for explicit emission launch vector

makeCopy
virtual BaseParticleEmitter *BaseParticleEmitter::make_copy(void) = 0;

Undocumented function.

output
virtual void BaseParticleEmitter::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAmplitude
void BaseParticleEmitter::set_amplitude(float a);

Description : amplitude assignment

setAmplitudeSpread
void BaseParticleEmitter::set_amplitude_spread(float as);

Description : amplitude spread assignment

setEmissionType
void BaseParticleEmitter::set_emission_type(BaseParticleEmitter::emissionType et);

Description : emission type assignment

setExplicitLaunchVector
void BaseParticleEmitter::set_explicit_launch_vector(LVector3f const &elv);

this is a constant force applied to all particles
Description : assignment of explicit emission launch vector

setOffsetForce
void BaseParticleEmitter::set_offset_force(LVector3f const &of);

Description : user-defined force

setRadiateOrigin
void BaseParticleEmitter::set_radiate_origin(LPoint3f const &ro);

this is a constant force applied to all particles
Description : assignment of radiate emission origin point

write
virtual void BaseParticleEmitter::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


DisplayConnection

    from direct.cluster.ClusterClient import DisplayConnection

Inheritance:

    DisplayConnection:

Methods of DisplayConnection:

    __init__
    getSwapReady
    poll
    sendCamFrustum
    sendCamOffset
    sendCommandString
    sendExit
    sendMoveCam
    sendMoveNamedObject
    sendMoveSelected
    sendNamedMovementDone
    sendSwapNow
    sendTimeData
__init__
def __init__(self, qcm, serverName, port, msgHandler)

Undocumented function.

getSwapReady
def getSwapReady(self)

Undocumented function.

poll
def poll(self)

Non blocking task to read all available datagrams

sendCamFrustum
def sendCamFrustum(self, focalLength, filmSize, filmOffset)

Undocumented function.

sendCamOffset
def sendCamOffset(self, xyz, hpr)

Undocumented function.

sendCommandString
def sendCommandString(self, commandString)

Undocumented function.

sendExit
def sendExit(self)

Undocumented function.

sendMoveCam
def sendMoveCam(self, xyz, hpr)

Undocumented function.

sendMoveNamedObject
def sendMoveNamedObject(self, xyz, hpr, scale, color, hidden, name)

Undocumented function.

sendMoveSelected
def sendMoveSelected(self, xyz, hpr, scale)

Undocumented function.

sendNamedMovementDone
def sendNamedMovementDone(self)

Undocumented function.

sendSwapNow
def sendSwapNow(self)

Undocumented function.

sendTimeData
def sendTimeData(self, frameCount, frameTime, dt)

Undocumented function.


DisplayInformation

    from pandac.PandaModules import DisplayInformation
    Class : DisplayInformation
    Description : This class contains various display information.

Inheritance:

    DisplayInformation:

Methods of DisplayInformation:

    DisplayInformation (Constructor)
    getAvailablePageFileSize
    getAvailablePhysicalMemory
    getAvailableProcessVirtualMemory
    getCpuBrandIndex
    getCpuBrandString
    getCpuFrequency
    getCpuIdData
    getCpuIdSize
    getCpuIdVersion
    getCpuTime
    getCpuVendorString
    getCpuVersionInformation
    getCurrentCpuFrequency
    getDeviceId
    getDisplayModeBitsPerPixel
    getDisplayModeFullscreenOnly
    getDisplayModeHeight
    getDisplayModeRefreshRate
    getDisplayModeWidth
    getDisplayState
    getDriverBuild
    getDriverDateDay
    getDriverDateMonth
    getDriverDateYear
    getDriverProduct
    getDriverSubVersion
    getDriverVersion
    getMaximumCpuFrequency
    getMaximumWindowHeight
    getMaximumWindowWidth
    getMemoryLoad
    getOsPlatformId
    getOsVersionBuild
    getOsVersionMajor
    getOsVersionMinor
    getPageFaultCount
    getPageFileSize
    getPageFileUsage
    getPeakPageFileUsage
    getPeakProcessMemory
    getPhysicalMemory
    getProcessMemory
    getProcessVirtualMemory
    getShaderModel
    getTextureMemory
    getTotalDisplayModes
    getVendorId
    getVideoMemory
    getWindowBitsPerPixel
    updateCpuFrequency
    updateMemoryInformation

Constants in DisplayInformation:

    DSUnknown | (DetectionState)
DSSuccess | (DetectionState)
DSDirect3dCreateError | (DetectionState)
DSCreateWindowError | (DetectionState)
DSCreateDeviceError | (DetectionState)
DisplayInformation
DisplayInformation::DisplayInformation(void);

Description:

getAvailablePageFileSize
unsigned __int64 DisplayInformation::get_available_page_file_size(void);

Description:

getAvailablePhysicalMemory
unsigned __int64 DisplayInformation::get_available_physical_memory(void);

Description:

getAvailableProcessVirtualMemory
unsigned __int64 DisplayInformation::get_available_process_virtual_memory(void);

Description:

getCpuBrandIndex
unsigned int DisplayInformation::get_cpu_brand_index(void);

Description:

getCpuBrandString
char *DisplayInformation::get_cpu_brand_string(void);

Description:

getCpuFrequency
unsigned __int64 DisplayInformation::get_cpu_frequency(void);

Description:

getCpuIdData
unsigned int DisplayInformation::get_cpu_id_data(int index);

Description: Returns part of cpu id binary data based on the index.

getCpuIdSize
int DisplayInformation::get_cpu_id_size(void);

Description: Returns the number of 32-bit values for cpu id binary data.

getCpuIdVersion
int DisplayInformation::get_cpu_id_version(void);

Description:

getCpuTime
unsigned __int64 DisplayInformation::get_cpu_time(void);

Description:

getCpuVendorString
char *DisplayInformation::get_cpu_vendor_string(void);

Description:

getCpuVersionInformation
unsigned int DisplayInformation::get_cpu_version_information(void);

Description:

getCurrentCpuFrequency
unsigned __int64 DisplayInformation::get_current_cpu_frequency(void);

Description:

getDeviceId
int DisplayInformation::get_device_id(void);

Description:

getDisplayModeBitsPerPixel
int DisplayInformation::get_display_mode_bits_per_pixel(int display_index);

Description:

getDisplayModeFullscreenOnly
int DisplayInformation::get_display_mode_fullscreen_only(int display_index);

Description:

getDisplayModeHeight
int DisplayInformation::get_display_mode_height(int display_index);

Description:

getDisplayModeRefreshRate
int DisplayInformation::get_display_mode_refresh_rate(int display_index);

Description:

getDisplayModeWidth
int DisplayInformation::get_display_mode_width(int display_index);

Description:

getDisplayState
int DisplayInformation::get_display_state(void);

Description:

getDriverBuild
int DisplayInformation::get_driver_build(void);

Description:

getDriverDateDay
int DisplayInformation::get_driver_date_day(void);

Description:

getDriverDateMonth
int DisplayInformation::get_driver_date_month(void);

Description:

getDriverDateYear
int DisplayInformation::get_driver_date_year(void);

Description:

getDriverProduct
int DisplayInformation::get_driver_product(void);

Description:

getDriverSubVersion
int DisplayInformation::get_driver_sub_version(void);

Description:

getDriverVersion
int DisplayInformation::get_driver_version(void);

Description:

getMaximumCpuFrequency
unsigned __int64 DisplayInformation::get_maximum_cpu_frequency(void);

Description:

getMaximumWindowHeight
int DisplayInformation::get_maximum_window_height(void);

Description:

getMaximumWindowWidth
int DisplayInformation::get_maximum_window_width(void);

Description:

getMemoryLoad
int DisplayInformation::get_memory_load(void);

Description:

getOsPlatformId
int DisplayInformation::get_os_platform_id(void);

Description: Returns -1 if not set.

getOsVersionBuild
int DisplayInformation::get_os_version_build(void);

Description: Returns -1 if not set.

getOsVersionMajor
int DisplayInformation::get_os_version_major(void);

Description: Returns -1 if not set.

getOsVersionMinor
int DisplayInformation::get_os_version_minor(void);

Description: Returns -1 if not set.

getPageFaultCount
unsigned __int64 DisplayInformation::get_page_fault_count(void);

Description:

getPageFileSize
unsigned __int64 DisplayInformation::get_page_file_size(void);

Description:

getPageFileUsage
unsigned __int64 DisplayInformation::get_page_file_usage(void);

Description:

getPeakPageFileUsage
unsigned __int64 DisplayInformation::get_peak_page_file_usage(void);

Description:

getPeakProcessMemory
unsigned __int64 DisplayInformation::get_peak_process_memory(void);

Description:

getPhysicalMemory
unsigned __int64 DisplayInformation::get_physical_memory(void);

Description:

getProcessMemory
unsigned __int64 DisplayInformation::get_process_memory(void);

Description:

getProcessVirtualMemory
unsigned __int64 DisplayInformation::get_process_virtual_memory(void);

Description:

getShaderModel
int DisplayInformation::get_shader_model(void);

Description:

getTextureMemory
int DisplayInformation::get_texture_memory(void);

Description:

getTotalDisplayModes
int DisplayInformation::get_total_display_modes(void);

Description:

getVendorId
int DisplayInformation::get_vendor_id(void);

Description:

getVideoMemory
int DisplayInformation::get_video_memory(void);

Description:

getWindowBitsPerPixel
int DisplayInformation::get_window_bits_per_pixel(void);

Description:

updateCpuFrequency
void DisplayInformation::update_cpu_frequency(int processor_number);

Description:

updateMemoryInformation
void DisplayInformation::update_memory_information(void);

Description:


DisplayRegion

    from pandac.PandaModules import DisplayRegion
    Class : DisplayRegion
    Description : A rectangular subregion within a window for rendering into. Typically, there is one DisplayRegion that covers the whole window, but you may also create smaller DisplayRegions for having different regions within the window that represent different scenes. You may also stack up DisplayRegions like panes of glass, usually for layering 2-d interfaces on top of a 3-d scene.

Inheritance:

    DisplayRegion: ReferenceCount DrawableRegion
    ReferenceCount: MemoryBase
    MemoryBase:
    DrawableRegion:

Methods of DisplayRegion:

    computePixels
    computePixelsAllStages
    getBottom
    getCamera
    getClassType
    getClearDepthBetweenEyes
    getCubeMapIndex
    getCullTraverser
    getDimensions
    getLeft
    getPipe
    getPixelHeight
    getPixels
    getPixelWidth
    getRegionPixels
    getRegionPixelsI
    getRight
    getScreenshot
    getSort
    getStereoChannel
    getTop
    getWindow
    isActive
    makeCullResultGraph
    makeScreenshotFilename
    output
    saveScreenshot
    saveScreenshotDefault
    setActive
    setCamera
    setClearDepthBetweenEyes
    setCubeMapIndex
    setCullTraverser
    setDimensions
    setSort
    setStereoChannel

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of DrawableRegion:

    disableClears
    getClearActive
    getClearColor
    getClearColorActive
    getClearDepth
    getClearDepthActive
    getClearStencil
    getClearStencilActive
    getClearValue
    getPixelFactor
    getPixelZoom
    getRenderbufferType
    isAnyClearActive
    setClearActive
    setClearColor
    setClearColorActive
    setClearDepth
    setClearDepthActive
    setClearStencil
    setClearStencilActive
    setClearValue
    setPixelZoom
    supportsPixelZoom

Constants in DrawableRegion:

    RTPStencil | (RenderTexturePlane)
RTPDepthStencil | (RenderTexturePlane)
RTPDepth | (RenderTexturePlane)
RTPColor | (RenderTexturePlane)
RTPAuxRgba0 | (RenderTexturePlane)
RTPAuxRgba1 | (RenderTexturePlane)
RTPAuxRgba2 | (RenderTexturePlane)
RTPAuxRgba3 | (RenderTexturePlane)
RTPAuxHrgba0 | (RenderTexturePlane)
RTPAuxHrgba1 | (RenderTexturePlane)
RTPAuxHrgba2 | (RenderTexturePlane)
RTPAuxHrgba3 | (RenderTexturePlane)
RTPAuxFloat0 | (RenderTexturePlane)
RTPAuxFloat1 | (RenderTexturePlane)
RTPAuxFloat2 | (RenderTexturePlane)
RTPAuxFloat3 | (RenderTexturePlane)
RTPCOUNT | (RenderTexturePlane)
computePixels
void DisplayRegion::compute_pixels(void);

Description: Computes the pixel locations of the DisplayRegion within its window. The DisplayRegion will request the size from the window.
Description: Computes the pixel locations of the DisplayRegion within its window, given the size of the window in pixels.

computePixelsAllStages
void DisplayRegion::compute_pixels_all_stages(void);

Description: Computes the pixel locations of the DisplayRegion within its window. The DisplayRegion will request the size from the window.
Description: Performs a compute_pixels() operation for all stages of the pipeline. This is appropriate, for instance, when a window changes sizes, since this is a global operation; and you want the new window size to be immediately available even to the downstream stages.

getBottom
float DisplayRegion::get_bottom(void) const;

Description: Retrieves the y coordinate of the bottom edge of the rectangle within its GraphicsOutput. This number will be in the range [0..1].

getCamera
NodePath DisplayRegion::get_camera(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the camera associated with this DisplayRegion, or an empty NodePath if no camera is associated.

getClassType
static TypeHandle DisplayRegion::get_class_type(void);

Undocumented function.

getClearDepthBetweenEyes
bool DisplayRegion::get_clear_depth_between_eyes(void) const;

Description: Returns whether the depth buffer is cleared again between the left and right eyes of a stereo DisplayRegion. See set_clear_depth_between_eyes().

getCubeMapIndex
int DisplayRegion::get_cube_map_index(void) const;

Description: Returns the cube map face index associated with this particular DisplayRegion, or -1 if it is not associated with a cube map. See set_cube_map_index().

getCullTraverser
CullTraverser *DisplayRegion::get_cull_traverser(void);

Description: Returns the CullTraverser that will be used to draw the contents of this DisplayRegion.

getDimensions
void DisplayRegion::get_dimensions(float &l, float &r, float &b, float &t) const;

Description: Retrieves the coordinates of the DisplayRegion's rectangle within its GraphicsOutput. These numbers will be in the range [0..1].

getLeft
float DisplayRegion::get_left(void) const;

Description: Retrieves the x coordinate of the left edge of the rectangle within its GraphicsOutput. This number will be in the range [0..1].

getPipe
GraphicsPipe *DisplayRegion::get_pipe(void) const;

Description: Returns the GraphicsPipe that this DisplayRegion is ultimately associated with, or NULL if no pipe is associated.

getPixelHeight
int DisplayRegion::get_pixel_height(void) const;

Description: Returns the height of the DisplayRegion in pixels.

getPixels
void DisplayRegion::get_pixels(int &pl, int &pr, int &pb, int &pt) const;

Description: Retrieves the coordinates of the DisplayRegion within its window, in pixels.

getPixelWidth
int DisplayRegion::get_pixel_width(void) const;

Description: Returns the width of the DisplayRegion in pixels.

getRegionPixels
void DisplayRegion::get_region_pixels(int &xo, int &yo, int &w, int &h) const;

Description: Retrieves the coordinates of the DisplayRegion within its window, as the pixel location of its bottom-left corner, along with a pixel width and height.

getRegionPixelsI
void DisplayRegion::get_region_pixels_i(int &xo, int &yo, int &w, int &h) const;

Description: Similar to get_region_pixels(), but returns the upper left corner, and the pixel numbers are numbered from the top-left corner down, in the DirectX way of things.

getRight
float DisplayRegion::get_right(void) const;

Description: Retrieves the x coordinate of the right edge of the rectangle within its GraphicsOutput. This number will be in the range [0..1].

getScreenshot
bool DisplayRegion::get_screenshot(PNMImage &image);

Description: Captures the most-recently rendered image from the framebuffer into the indicated PNMImage. Returns true on success, false on failure.

getSort
int DisplayRegion::get_sort(void) const;

Description: Returns the sort value associated with the DisplayRegion.

getStereoChannel
Lens::StereoChannel DisplayRegion::get_stereo_channel(void);

Description: Returns whether the DisplayRegion is specified as the left or right channel of a stereo pair, or whether it is a normal, monocular image. See set_stereo_channel().

getTop
float DisplayRegion::get_top(void) const;

Description: Retrieves the y coordinate of the top edge of the rectangle within its GraphicsOutput. This number will be in the range [0..1].

getWindow
GraphicsOutput *DisplayRegion::get_window(void) const;

Description: Returns the GraphicsOutput that this DisplayRegion is ultimately associated with, or NULL if no window is associated.

isActive
bool DisplayRegion::is_active(void) const;

Description: Returns the active flag associated with the DisplayRegion.

makeCullResultGraph
PointerTo< PandaNode > DisplayRegion::make_cull_result_graph(void);

Description: Returns a special scene graph constructed to represent the results of the last frame's cull operation.
This will be a hierarchy of nodes, one node for each bin, each of which will in term be a parent of a number of GeomNodes, representing the geometry drawn in each bin.
This is useful mainly for high-level debugging and abstraction tools; it should not be mistaken for the low-level cull result itself, which is constructed and maintained internally. No such scene graph is normally constructed during the rendering of a frame; this is an artificial construct created for the purpose of making it easy to analyze the results of the cull operation.

makeScreenshotFilename
static Filename DisplayRegion::make_screenshot_filename(string const &prefix = ("screenshot"));

Description: Synthesizes a suitable default filename for passing to save_screenshot().
The default filename is generated from the supplied prefix and from the Config variable screenshot-filename, which contains the following strings:
%~p - the supplied prefix %~f - the frame count %~e - the value of screenshot-extension All other % strings in strftime().

output
void DisplayRegion::output(ostream &out) const;

Description:

saveScreenshot
bool DisplayRegion::save_screenshot(Filename const &filename, string const &image_comment = (""));

Description: Saves a screenshot of the region to the indicated filename. Returns true on success, false on failure.

saveScreenshotDefault
Filename DisplayRegion::save_screenshot_default(string const &prefix = ("screenshot"));

Description: Saves a screenshot of the region to a default filename, and returns the filename, or empty string if the screenshot failed. The filename is generated by make_screenshot_filename().

setActive
void DisplayRegion::set_active(bool active);

Description: Sets the active flag associated with the DisplayRegion. If the DisplayRegion is marked inactive, nothing is rendered.

setCamera
void DisplayRegion::set_camera(NodePath const &camera);

Description: Sets the camera that is associated with this DisplayRegion. There is a one-to-many association between cameras and DisplayRegions; one camera may be shared by multiple DisplayRegions.
The camera is actually set via a NodePath, which clarifies which instance of the camera (if there happen to be multiple instances) we should use.

setClearDepthBetweenEyes
void DisplayRegion::set_clear_depth_between_eyes(bool clear_depth_between_eyes);

Description: Specifies whether the depth buffer is cleared again between the left and right eyes of a stereo DisplayRegion. This has an effect only when get_stereo_channel() returns Lens::SC_stereo; other kinds of DisplayRegions are monocular and do not render two different eyes.
Normally, you want this to be true, since if you're using a depth buffer you normally need to clear it between the left and right eyes.

setCubeMapIndex
void DisplayRegion::set_cube_map_index(int cube_map_index);

Description: This is a special parameter that is only used when rendering the faces of a cube map. Normally you should not need to set it directly. This sets up the DisplayRegion to render to the nth cube map face; the value must be between 0 and 5, inclusive. A normal DisplayRegion that is not associated with any particular cube map should be set to -1.

setCullTraverser
void DisplayRegion::set_cull_traverser(CullTraverser *trav);

Description: Specifies the CullTraverser that will be used to draw the contents of this DisplayRegion. Normally the default CullTraverser is sufficient, but this may be changed to change the default cull behavior.

setDimensions
void DisplayRegion::set_dimensions(float l, float r, float b, float t);

Description: Changes the portion of the framebuffer this DisplayRegion corresponds to. The parameters range from 0 to 1, where 0,0 is the lower left corner and 1,1 is the upper right; (0, 1, 0, 1) represents the whole screen.

setSort
void DisplayRegion::set_sort(int sort);

Description: Sets the sort value associated with the DisplayRegion. Within a window, DisplayRegions will be rendered in order from the lowest sort value to the highest.

setStereoChannel
void DisplayRegion::set_stereo_channel(Lens::StereoChannel stereo_channel);

Description: Specifies whether the DisplayRegion represents the left or right channel of a stereo pair, or whether it is a normal, monocular image. See set_stereo_channel().
This controls which direction--to the left or the right--the view from a PerspectiveLens is shifted when it is used to render into this DisplayRegion. Also see Lens::set_interocular_distance() and
Lens::set_convergence_distance().
Normally you would create at least two DisplayRegions for a stereo window, one for each of the left and right channels. The two DisplayRegions may share the same camera (and thus the same lens); this parameter is used to control the exact properties of the lens when it is used to render into this DisplayRegion.
When the DisplayRegion is attached to a stereo window (one in which FrameBufferProperties::FM_stereo is set), this also specifies which physical channel the DisplayRegion renders to.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

disableClears
void DrawableRegion::disable_clears(void);

Description: Disables both the color and depth clear. See set_clear_color_active and set_clear_depth_active.

getClearActive
bool DrawableRegion::get_clear_active(int n) const;

Description: Gets the clear-active flag for any bitplane.

getClearColor
LVecBase4f const &DrawableRegion::get_clear_color(void) const;

Description: Returns the current clear color value. This is the value that will be used to clear the color buffer every frame, but only if get_clear_color_active() returns true. If get_clear_color_active() returns false, this is meaningless.

getClearColorActive
bool DrawableRegion::get_clear_color_active(void) const;

Description: Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. See set_clear_color_active().

getClearDepth
float DrawableRegion::get_clear_depth(void) const;

Description: Returns the current clear depth value. This is the value that will be used to clear the depth buffer every frame, but only if get_clear_depth_active() returns true. If get_clear_depth_active() returns false, this is meaningless.

getClearDepthActive
bool DrawableRegion::get_clear_depth_active(void) const;

Description: Returns the current setting of the flag that indicates whether the depth buffer should be cleared every frame. See set_clear_depth_active().

getClearStencil
unsigned int DrawableRegion::get_clear_stencil(void) const;

Description: Returns the current clear stencil value. This is the value that will be used to clear the stencil buffer every frame, but only if get_clear_stencil_active() returns true. If get_clear_stencil_active() returns false, this is meaningless.

getClearStencilActive
bool DrawableRegion::get_clear_stencil_active(void) const;

Description: Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. See set_clear_stencil_active().

getClearValue
LVecBase4f const &DrawableRegion::get_clear_value(int n) const;

Description: Returns the clear value for any bitplane.

getPixelFactor
float DrawableRegion::get_pixel_factor(void) const;

Description: Returns the amount by which the height and width of the region will be scaled internally, based on the zoom factor set by set_pixel_zoom(). This will return 1.0 if the pixel_zoom was not set or if it is not being respected (for instance, because the underlying renderer doesn't support it--see supports_pixel_zoom).

getPixelZoom
float DrawableRegion::get_pixel_zoom(void) const;

Description: Returns the value set by set_pixel_zoom(), regardless of whether it is being respected or not. Also see get_pixel_factor().

getRenderbufferType
static int DrawableRegion::get_renderbuffer_type(int plane);

Description: Returns the RenderBuffer::Type that corresponds to a RenderTexturePlane.

isAnyClearActive
bool DrawableRegion::is_any_clear_active(void) const;

Description: Returns true if any of the clear types (so far there are just color or depth) have been set active, or false if none of them are active and there is no need to clear.

setClearActive
void DrawableRegion::set_clear_active(int n, bool clear_aux_active);

Description: Sets the clear-active flag for any bitplane.

setClearColor
void DrawableRegion::set_clear_color(LVecBase4f const &color);

Description: Sets the clear color to the indicated value. This is the value that will be used to clear the color buffer every frame, but only if get_clear_color_active() returns true. If get_clear_color_active() returns false, this is meaningless.

setClearColorActive
void DrawableRegion::set_clear_color_active(bool clear_color_active);

Description: Toggles the flag that indicates whether the color buffer should be cleared every frame. If this is true, the color buffer will be cleared to the color indicated by set_clear_color(); otherwise, it will be left alone.

setClearDepth
void DrawableRegion::set_clear_depth(float depth);

Description: Sets the clear depth to the indicated value. This is the value that will be used to clear the depth buffer every frame, but only if get_clear_depth_active() returns true. If get_clear_depth_active() returns false, this is meaningless.

setClearDepthActive
void DrawableRegion::set_clear_depth_active(bool clear_depth_active);

Description: Toggles the flag that indicates whether the depth buffer should be cleared every frame. If this is true, the depth buffer will be cleared to the depth value indicated by set_clear_depth(); otherwise, it will be left alone.

setClearStencil
void DrawableRegion::set_clear_stencil(unsigned int stencil);

Description: Sets the clear stencil to the indicated value. This is the value that will be used to clear the stencil buffer every frame, but only if get_clear_color_active() returns true. If get_clear_stencil_active() returns false, this is meaningless.

setClearStencilActive
void DrawableRegion::set_clear_stencil_active(bool clear_stencil_active);

Description: Toggles the flag that indicates whether the stencil buffer should be cleared every frame. If this is true, the stencil buffer will be cleared to the value indicated by set_clear_stencil(); otherwise, it will be left alone.

setClearValue
void DrawableRegion::set_clear_value(int n, LVecBase4f const &color);

Description: Sets the clear value for any bitplane.

setPixelZoom
void DrawableRegion::set_pixel_zoom(float pixel_zoom);

Description: Sets the amount by which the pixels of the region are scaled internally when filling the image interally. Setting this number larger makes the pixels blockier, but may make the rendering faster, particularly for software renderers. Setting this number to 2.0 reduces the number of pixels that have to be filled by the renderer by a factor of 2.0. It doesn't make sense to set this lower than 1.0.
It is possible to set this on either individual DisplayRegions or on overall GraphicsWindows, but you will get better performance for setting it on the window rather than its individual DisplayRegions. Also, you may not set it on a DisplayRegion that doesn't have both clear_color() and clear_depth() enabled.
This property is only supported on renderers for which it is particularly useful--currently, this is the tinydisplay software renderer. Other kinds of renderers allow you to set this property, but ignore it.

supportsPixelZoom
virtual bool DrawableRegion::supports_pixel_zoom(void) const;

Description: Returns true if a call to set_pixel_zoom() will be respected, false if it will be ignored. If this returns false, then get_pixel_factor() will always return 1.0, regardless of what value you specify for set_pixel_zoom().
This may return false if the underlying renderer doesn't support pixel zooming, or if you have called this on a DisplayRegion that doesn't have both set_clear_color() and set_clear_depth() enabled.


DisplayRegionContext

    from direct.directtools.DirectSession import DisplayRegionContext

Inheritance:

    DisplayRegionContext:

Methods of DisplayRegionContext:

    __getitem__
    __init__
    camUpdate
    getHeight
    getHfov
    getVfov
    getWidth
    mouseUpdate
    setFov
    setHfov
    setOrientation
    setVfov
__getitem__
def __getitem__(self, key)

Undocumented function.

__init__
def __init__(self, cam)

Undocumented function.

camUpdate
def camUpdate(self, lens=None)

Undocumented function.

getHeight
def getHeight(self)

Undocumented function.

getHfov
def getHfov(self)

Undocumented function.

getVfov
def getVfov(self)

Undocumented function.

getWidth
def getWidth(self)

Undocumented function.

mouseUpdate
def mouseUpdate(self)

Undocumented function.

setFov
def setFov(self, hfov, vfov)

Undocumented function.

setHfov
def setHfov(self, hfov)

Undocumented function.

setOrientation
def setOrientation(self)

Undocumented function.

setVfov
def setVfov(self, vfov)

Undocumented function.


DisplayRegionList

    from direct.directtools.DirectSession import DisplayRegionList

Inheritance:

    DisplayRegionList:

Methods of DisplayRegionList:

    __getitem__
    __init__
    __len__
    contextTask
    getCurrentDr
    mouseUpdate
    removeContextTask
    setFar
    setFov
    setHfov
    setNear
    setNearFar
    setVfov
    spawnContextTask
    start
    stop
    updateContext
__getitem__
def __getitem__(self, index)

Undocumented function.

__init__
def __init__(self)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

contextTask
def contextTask(self, state)

Undocumented function.

getCurrentDr
def getCurrentDr(self)

Undocumented function.

mouseUpdate
def mouseUpdate(self, modifiers=DIRECT_NO_MOD)

Undocumented function.

removeContextTask
def removeContextTask(self)

Undocumented function.

setFar
def setFar(self, far)

Undocumented function.

setFov
def setFov(self, hfov, vfov)

Undocumented function.

setHfov
def setHfov(self, fov)

Undocumented function.

setNear
def setNear(self, near)

Undocumented function.

setNearFar
def setNearFar(self, near, far)

Undocumented function.

setVfov
def setVfov(self, fov)

Undocumented function.

spawnContextTask
def spawnContextTask(self)

Undocumented function.

start
def start(self)

Undocumented function.

stop
def stop(self)

Undocumented function.

updateContext
def updateContext(self)

Undocumented function.


DisplaySearchParameters

    from pandac.PandaModules import DisplaySearchParameters
    Class : DisplaySearchParameters
    Description : Parameters used for searching display capabilities.

Inheritance:

    DisplaySearchParameters:

Methods of DisplaySearchParameters:

    DisplaySearchParameters (Constructor)
    setMaximumBitsPerPixel
    setMaximumHeight
    setMaximumWidth
    setMinimumBitsPerPixel
    setMinimumHeight
    setMinimumWidth
DisplaySearchParameters
DisplaySearchParameters::DisplaySearchParameters(void);

Description:

setMaximumBitsPerPixel
void DisplaySearchParameters::set_maximum_bits_per_pixel(int maximum_bits_per_pixel);

Description:

setMaximumHeight
void DisplaySearchParameters::set_maximum_height(int maximum_height);

Description:

setMaximumWidth
void DisplaySearchParameters::set_maximum_width(int maximum_width);

Description:

setMinimumBitsPerPixel
void DisplaySearchParameters::set_minimum_bits_per_pixel(int minimum_bits_per_pixel);

Description:

setMinimumHeight
void DisplaySearchParameters::set_minimum_height(int minimum_height);

Description:

setMinimumWidth
void DisplaySearchParameters::set_minimum_width(int minimum_width);

Description:


DistancePhasedNode

    from direct.showbase.DistancePhasedNode import DistancePhasedNode
    This class defines a PhasedObject,NodePath object that will handle the phasing of an object in the scene graph according to its distance from some other collider object(such as an avatar).
    Since it's a NodePath, you can parent it to another object in the scene graph, or even inherit from this class to get its functionality.
    What you will need to define to use this class:
    - The distances at which you want the phases to load/unload
    - Whether you want the object to clean itself up or not when
    exitting the largest distance sphere
    - What the load/unload functions are
    - What sort of events to listen for when a collision occurs
    - (Optional) A collision bitmask for the phase collision spheres
    - (Optional) A 'from' collision node to collide into our 'into' spheres
    You specify the distances and function names by the phaseParamMap parameter to __init__(). For example:
    phaseParamMap = {'Alias': distance, ...} ... def loadPhaseAlias(self): pass def unloadPhaseAlias(self): pass
    If the 'fromCollideNode' is supplied, we will set up our own traverser and only traverse below this node. It will send out events of the form '<enterPrefix>%in' and '<exitPrefix>%in' in order to match the main collision traverser's patterns. Note that this will only be used after a reset or phase change in order to fully transition to the correct phase in a single pass. Most of the time, it will be reacting to events from the main collision traverser.
    IMPORTANT!: The following only applies when autoCleanup == True: If you unload the last phase, by either calling cleanup() or by exitting the last phase's distance, you will need to explicitly call reset() to get the distance phasing to work again. This was done so if either this node or the collider is removed from the scene graph(eg. avatar teleport), the phased object will clean itself up automatically.

Inheritance:

    DistancePhasedNode:

Methods of DistancePhasedNode:

    __del__
    __disableCollisions
    __enableCollisions
    __getEnterEvent
    __getExitEvent
    __handleEnterEvent
    __handleExitEvent
    __init__
    __oneTimeCollide
    __repr__
    __str__
    cleanup
    def
    reset
    setPhase
    setPhaseCollideMask
__del__
def __del__(self)

Undocumented function.

__disableCollisions
def __disableCollisions(self, cleanup=False)

Disables all collision geometry by stashing the geometry. If autoCleanup == True and we're not currently cleaning up, leave the exit event and collision sphere active for the largest(thus lowest) phase. This is so that we can still cleanup if the phase node exits the largest sphere.

__enableCollisions
def __enableCollisions(self, phase)

Turns on collisions for the spheres bounding this phase zone by unstashing their geometry. Enables the exit event for the larger and the enter event for the smaller. Handles the extreme(end) phases gracefully.

__getEnterEvent
def __getEnterEvent(self, phaseName)

Undocumented function.

__getExitEvent
def __getExitEvent(self, phaseName)

Undocumented function.

__handleEnterEvent
def __handleEnterEvent(self, phaseName, cEntry)

Undocumented function.

__handleExitEvent
def __handleExitEvent(self, phaseName, cEntry)

Undocumented function.

__init__
def __init__(self, name, phaseParamMap={}, autoCleanup=True, enterPrefix='enter', exitPrefix='exit', phaseCollideMask=BitMask32.allOn(), fromCollideNode=None)

Undocumented function.

__oneTimeCollide
def __oneTimeCollide(self)

Fire off a one-time collision traversal of the scene graph. This allows us to process our entire phasing process in one frame in the cases where we cross more than one phase border.

__repr__
def __repr__(self)

Undocumented function.

__str__
def __str__(self)

Undocumented function.

cleanup
def cleanup(self)

Disables all collisions. Ignores all owned event listeners. Unloads all unloaded phases.

def
def def__deallocateId

Reuse abandoned ids.

reset
def reset(self)

Unloads all loaded phases and puts the phase node in the startup state is if it had just been initialized.

setPhase
def setPhase(self, aPhase)

See PhasedObject.setPhase()

setPhaseCollideMask
def setPhaseCollideMask(self, mask)

Sets the intoCollideMasks for our collision spheres.


DistributedActor

    from direct.actor.DistributedActor import DistributedActor

Inheritance:

    DistributedActor:

Methods of DistributedActor:

    __init__
    delete
    disable
    loop
__init__
def __init__(self, cr)

Undocumented function.

delete
def delete(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

loop
def loop(self, animName, restart=1, partName=None, fromFrame=None, toFrame=None)

Undocumented function.


DistributedCartesianGrid

    from direct.distributed.DistributedCartesianGrid import DistributedCartesianGrid

Inheritance:

    DistributedCartesianGrid:

Methods of DistributedCartesianGrid:

    __init__
    addObjectToGrid
    clearWorldContext
    def
    delete
    disable
    generate
    getCenterPos
    handleAvatarZoneChange
    handleChildArrive
    handleChildArriveZone
    handleChildLeave
    isGridParent
    processVisibility
    removeObjectFromGrid
    setCellWidth
    setParentingRules
    setWorldContext
    turnOff
    turnOn
__init__
def __init__(self, cr)

Undocumented function.

addObjectToGrid
def addObjectToGrid(self, av)

Undocumented function.

clearWorldContext
def clearWorldContext(self, event=None)

Undocumented function.

def
def defstopProcessVisibility

Undocumented function.

delete
def delete(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

generate
def generate(self)

Undocumented function.

getCenterPos
def getCenterPos(self)

Undocumented function.

handleAvatarZoneChange
def handleAvatarZoneChange(self, av, zoneId)

Undocumented function.

handleChildArrive
def handleChildArrive(self, child, zoneId)

Undocumented function.

handleChildArriveZone
def handleChildArriveZone(self, child, zoneId)

Undocumented function.

handleChildLeave
def handleChildLeave(self, child, zoneId)

Undocumented function.

isGridParent
def isGridParent(self)

Undocumented function.

processVisibility
def processVisibility(self, task)

Undocumented function.

removeObjectFromGrid
def removeObjectFromGrid(self, av)

Undocumented function.

setCellWidth
def setCellWidth(self, width)

Undocumented function.

setParentingRules
def setParentingRules(self, style, rule)

Undocumented function.

setWorldContext
def setWorldContext(self, worldContext)

Undocumented function.

turnOff
def turnOff(self)

Undocumented function.

turnOn
def turnOn(self, av=None)

Undocumented function.


DistributedCartesianGridAI

    from direct.distributed.DistributedCartesianGridAI import DistributedCartesianGridAI

Inheritance:

    DistributedCartesianGridAI:

Methods of DistributedCartesianGridAI:

    __init__
    addObjectToGrid
    delete
    getCellWidth
    getParentingRules
    handleAvatarZoneChange
    handleSetLocation
    isGridParent
    removeObjectFromGrid
    startUpdateGridTask
    stopUpdateGridTask
    updateGridTask
__init__
def __init__(self, air, startingZone, gridSize, gridRadius, cellWidth, style="Cartesian")

Undocumented function.

addObjectToGrid
def addObjectToGrid(self, av, useZoneId=-1)

Undocumented function.

delete
def delete(self)

Undocumented function.

getCellWidth
def getCellWidth(self)

Undocumented function.

getParentingRules
def getParentingRules(self)

Undocumented function.

handleAvatarZoneChange
def handleAvatarZoneChange(self, av, useZoneId=-1)

Undocumented function.

handleSetLocation
def handleSetLocation(self, av, parentId, zoneId)

Undocumented function.

isGridParent
def isGridParent(self)

Undocumented function.

removeObjectFromGrid
def removeObjectFromGrid(self, av)

Undocumented function.

startUpdateGridTask
def startUpdateGridTask(self)

Undocumented function.

stopUpdateGridTask
def stopUpdateGridTask(self)

Undocumented function.

updateGridTask
def updateGridTask(self, task=None)

Undocumented function.


DistributedLargeBlobSender

    from direct.directutil.DistributedLargeBlobSender import DistributedLargeBlobSender
    DistributedLargeBlobSender: for sending large chunks of data through the DC system

Inheritance:

    DistributedLargeBlobSender:

Methods of DistributedLargeBlobSender:

    __init__
    announceGenerate
    generate
    getBlob
    isComplete
    privOnBlobComplete
    sendAck
    setChunk
    setDoneEvent
    setFilename
    setMode
    setTargetAvId
__init__
def __init__(self, cr)

Undocumented function.

announceGenerate
def announceGenerate(self)

Undocumented function.

generate
def generate(self)

Undocumented function.

getBlob
def getBlob(self)

returns the full blob

isComplete
def isComplete(self)

returns non-zero if we've got the full blob

privOnBlobComplete
def privOnBlobComplete(self)

Undocumented function.

sendAck
def sendAck(self)

Undocumented function.

setChunk
def setChunk(self, chunk)

Undocumented function.

setDoneEvent
def setDoneEvent(self, event)

Undocumented function.

setFilename
def setFilename(self, filename)

Undocumented function.

setMode
def setMode(self, mode)

Undocumented function.

setTargetAvId
def setTargetAvId(self, avId)

Undocumented function.


DistributedLargeBlobSenderAI

    from direct.directutil.DistributedLargeBlobSenderAI import DistributedLargeBlobSenderAI
    DistributedLargeBlobSenderAI: for sending large chunks of data through the DC system to a specific avatar

Inheritance:

    DistributedLargeBlobSenderAI:

Methods of DistributedLargeBlobSenderAI:

    __init__
    getMode
    getTargetAvId
    setAck
__init__
def __init__(self, air, zoneId, targetAvId, data, useDisk=0)

Undocumented function.

getMode
def getMode(self)

Undocumented function.

getTargetAvId
def getTargetAvId(self)

Undocumented function.

setAck
def setAck(self)

Undocumented function.


DistributedNode

    from direct.distributed.DistributedNode import DistributedNode
    Distributed Node class:

Inheritance:

    DistributedNode:

Methods of DistributedNode:

    __cmp__
    __init__
    b_setParent
    d_setH
    d_setHpr
    d_setP
    d_setParent
    d_setPos
    d_setPosHpr
    d_setR
    d_setX
    d_setXY
    d_setXYH
    d_setXYZH
    d_setXZ
    d_setY
    d_setZ
    delete
    disable
    do_setParent
    generate
    setLocation
    setParent
    setParentStr
    setXY
    setXYH
    setXYZH
    setXZ
__cmp__
def __cmp__(self, other)

Undocumented function.

__init__
def __init__(self, cr)

Undocumented function.

b_setParent
def b_setParent(self, parentToken)

Undocumented function.

d_setH
def d_setH(self, h)

Undocumented function.

d_setHpr
def d_setHpr(self, h, p, r)

Undocumented function.

d_setP
def d_setP(self, p)

Undocumented function.

d_setParent
def d_setParent(self, parentToken)

Undocumented function.

d_setPos
def d_setPos(self, x, y, z)

Undocumented function.

d_setPosHpr
def d_setPosHpr(self, x, y, z, h, p, r)

Undocumented function.

d_setR
def d_setR(self, r)

Undocumented function.

d_setX
def d_setX(self, x)

Undocumented function.

d_setXY
def d_setXY(self, x, y)

Undocumented function.

d_setXYH
def d_setXYH(self, x, y, h)

Undocumented function.

d_setXYZH
def d_setXYZH(self, x, y, z, h)

Undocumented function.

d_setXZ
def d_setXZ(self, x, z)

Undocumented function.

d_setY
def d_setY(self, y)

Undocumented function.

d_setZ
def d_setZ(self, z)

Undocumented function.

delete
def delete(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

do_setParent
def do_setParent(self, parentToken)

do_setParent(self, int parentToken)
This function is defined simply to allow a derived class (like DistributedAvatar) to override the behavior of setParent if desired.

generate
def generate(self)

Undocumented function.

setLocation
def setLocation(self, parentId, zoneId, teleport=0)

Undocumented function.

setParent
def setParent(self, parentToken)

Undocumented function.

setParentStr
def setParentStr(self, parentTokenStr)

Undocumented function.

setXY
def setXY(self, x, y)

Undocumented function.

setXYH
def setXYH(self, x, y, h)

Undocumented function.

setXYZH
def setXYZH(self, x, y, z, h)

Undocumented function.

setXZ
def setXZ(self, x, z)

Undocumented function.


DistributedNodeAI

    from direct.distributed.DistributedNodeAI import DistributedNodeAI

Inheritance:

    DistributedNodeAI:

Methods of DistributedNodeAI:

    __init__
    b_setParent
    b_setPosHpr
    b_setXYZH
    d_setH
    d_setHpr
    d_setP
    d_setParent
    d_setPos
    d_setPosHpr
    d_setR
    d_setX
    d_setXY
    d_setXYH
    d_setXYZH
    d_setY
    d_setZ
    delete
    do_setParent
    getXYZH
    setLocation
    setParent
    setParentStr
    setXY
    setXYH
    setXYZH
__init__
def __init__(self, air, name=None)

Undocumented function.

b_setParent
def b_setParent(self, parentToken)

Undocumented function.

b_setPosHpr
def b_setPosHpr(self, x, y, z, h, p, r)

Undocumented function.

b_setXYZH
def b_setXYZH(self, x, y, z, h)

Undocumented function.

d_setH
def d_setH(self, h)

Undocumented function.

d_setHpr
def d_setHpr(self, h, p, r)

Undocumented function.

d_setP
def d_setP(self, p)

Undocumented function.

d_setParent
def d_setParent(self, parentToken)

Undocumented function.

d_setPos
def d_setPos(self, x, y, z)

Undocumented function.

d_setPosHpr
def d_setPosHpr(self, x, y, z, h, p, r)

Undocumented function.

d_setR
def d_setR(self, r)

Undocumented function.

d_setX
def d_setX(self, x)

Undocumented function.

d_setXY
def d_setXY(self, x, y)

Undocumented function.

d_setXYH
def d_setXYH(self, x, y, h)

Undocumented function.

d_setXYZH
def d_setXYZH(self, x, y, z, h)

Undocumented function.

d_setY
def d_setY(self, y)

Undocumented function.

d_setZ
def d_setZ(self, z)

Undocumented function.

delete
def delete(self)

Undocumented function.

do_setParent
def do_setParent(self, parentToken)

Undocumented function.

getXYZH
def getXYZH(self)

Undocumented function.

setLocation
def setLocation(self, parentId, zoneId, teleport=0)

Undocumented function.

setParent
def setParent(self, parentToken)

Undocumented function.

setParentStr
def setParentStr(self, parentToken)

Undocumented function.

setXY
def setXY(self, x, y)

Undocumented function.

setXYH
def setXYH(self, x, y, h)

Undocumented function.

setXYZH
def setXYZH(self, x, y, z, h)

Undocumented function.


DistributedNodeUD

    from direct.distributed.DistributedNodeUD import DistributedNodeUD

Inheritance:

    DistributedNodeUD:

Methods of DistributedNodeUD:

    __init__
    b_setParent
    d_setH
    d_setHpr
    d_setP
    d_setParent
    d_setPos
    d_setPosHpr
    d_setR
    d_setX
    d_setXY
    d_setXYH
    d_setXYZH
    d_setY
    d_setZ
    do_setParent
    setParent
    setParentStr
    setXY
    setXYH
    setXYZH
__init__
def __init__(self, air, name=None)

Undocumented function.

b_setParent
def b_setParent(self, parentToken)

Undocumented function.

d_setH
def d_setH(self, h)

Undocumented function.

d_setHpr
def d_setHpr(self, h, p, r)

Undocumented function.

d_setP
def d_setP(self, p)

Undocumented function.

d_setParent
def d_setParent(self, parentToken)

Undocumented function.

d_setPos
def d_setPos(self, x, y, z)

Undocumented function.

d_setPosHpr
def d_setPosHpr(self, x, y, z, h, p, r)

Undocumented function.

d_setR
def d_setR(self, r)

Undocumented function.

d_setX
def d_setX(self, x)

Undocumented function.

d_setXY
def d_setXY(self, x, y)

Undocumented function.

d_setXYH
def d_setXYH(self, x, y, h)

Undocumented function.

d_setXYZH
def d_setXYZH(self, x, y, z, h)

Undocumented function.

d_setY
def d_setY(self, y)

Undocumented function.

d_setZ
def d_setZ(self, z)

Undocumented function.

do_setParent
def do_setParent(self, parentToken)

Undocumented function.

setParent
def setParent(self, parentToken)

Undocumented function.

setParentStr
def setParentStr(self, parentToken)

Undocumented function.

setXY
def setXY(self, x, y)

Undocumented function.

setXYH
def setXYH(self, x, y, h)

Undocumented function.

setXYZH
def setXYZH(self, x, y, z, h)

Undocumented function.


DistributedObject

    from direct.distributed.DistributedObject import DistributedObject
    The Distributed Object class is the base class for all network based (i.e. distributed) objects. These will usually (always?) have a dclass entry in a *.dc file.

Inheritance:

    DistributedObject:

Methods of DistributedObject:

    __init__
    _deactivateDO
    _destroyDO
    _retrieveCachedData
    acquireDelayDelete
    addInterest
    announceGenerate
    b_setLocation
    d_setLocation
    delayDelete
    delete
    deleteOrDelay
    disable
    disableAndAnnounce
    disableAnnounceAndDelete
    doCallbackContext
    doneBarrier
    execCommand
    flushCachedData
    forceAllowDelayDelete
    generate
    generateInit
    getAutoInterests
    getCacheable
    getCachedData
    getCallback
    getCallbackArgs
    getCallbackContext
    getCurrentContexts
    getDelayDeleteCount
    getDelayDeleteEvent
    getDelayDeleteNames
    getDisableEvent
    getDoId
    getLocation
    getNeverDisable
    getParentObj
    hasCachedData
    isDisabled
    isGenerated
    isGridParent
    isLocal
    postGenerateMessage
    releaseDelayDelete
    removeInterest
    sendDeleteMsg
    sendDisableMsg
    sendUpdate
    setBarrierData
    setCacheable
    setCachedData
    setLocation
    setNeverDisable
    taskName
    uniqueName
    updateAllRequiredFields
    updateRequiredFields
    updateRequiredOtherFields
    updateZone
__init__
def __init__(self, cr)

Undocumented function.

_deactivateDO
def _deactivateDO(self)

Undocumented function.

_destroyDO
def _destroyDO(self)

Undocumented function.

_retrieveCachedData
def _retrieveCachedData(self)

Undocumented function.

acquireDelayDelete
def acquireDelayDelete(self, name)

Undocumented function.

addInterest
def addInterest(self, zoneId, note="", event=None)

Undocumented function.

announceGenerate
def announceGenerate(self)

Sends a message to the world after the object has been generated and all of its required fields filled in.

b_setLocation
def b_setLocation(self, parentId, zoneId)

Undocumented function.

d_setLocation
def d_setLocation(self, parentId, zoneId)

Undocumented function.

delayDelete
def delayDelete(self)

Inheritors should redefine this to take appropriate action on delayDelete

delete
def delete(self)

Inheritors should redefine this to take appropriate action on delete

deleteOrDelay
def deleteOrDelay(self)

Undocumented function.

disable
def disable(self)

Inheritors should redefine this to take appropriate action on disable

disableAndAnnounce
def disableAndAnnounce(self)

Inheritors should *not* redefine this function.

disableAnnounceAndDelete
def disableAnnounceAndDelete(self)

Undocumented function.

doCallbackContext
def doCallbackContext(self, context, args)

Undocumented function.

doneBarrier
def doneBarrier(self, name=None)

Undocumented function.

execCommand
def execCommand(self, string, mwMgrId, avId, zoneId)

Undocumented function.

flushCachedData
def flushCachedData(self, name)

Undocumented function.

forceAllowDelayDelete
def forceAllowDelayDelete(self)

Undocumented function.

generate
def generate(self)

Inheritors should redefine this to take appropriate action on generate

generateInit
def generateInit(self)

This method is called when the DistributedObject is first introduced to the world... Not when it is pulled from the cache.

getAutoInterests
def getAutoInterests(self)

Undocumented function.

getCacheable
def getCacheable(self)

Undocumented function.

getCachedData
def getCachedData(self, name)

Undocumented function.

getCallback
def getCallback(self, context)

Undocumented function.

getCallbackArgs
def getCallbackArgs(self, context)

Undocumented function.

getCallbackContext
def getCallbackContext(self, callback, extraArgs=[])

Undocumented function.

getCurrentContexts
def getCurrentContexts(self)

Undocumented function.

getDelayDeleteCount
def getDelayDeleteCount(self)

Undocumented function.

getDelayDeleteEvent
def getDelayDeleteEvent(self)

Undocumented function.

getDelayDeleteNames
def getDelayDeleteNames(self)

Undocumented function.

getDisableEvent
def getDisableEvent(self)

Undocumented function.

getDoId
def getDoId(self)

Return the distributed object id

getLocation
def getLocation(self)

Undocumented function.

getNeverDisable
def getNeverDisable(self)

Undocumented function.

getParentObj
def getParentObj(self)

Undocumented function.

hasCachedData
def hasCachedData(self, name)

Undocumented function.

isDisabled
def isDisabled(self)

Returns true if the object has been disabled and/or deleted, or if it is brand new and hasn't yet been generated.

isGenerated
def isGenerated(self)

Returns true if the object has been fully generated by now, and not yet disabled.

isGridParent
def isGridParent(self)

Undocumented function.

isLocal
def isLocal(self)

Undocumented function.

postGenerateMessage
def postGenerateMessage(self)

Undocumented function.

releaseDelayDelete
def releaseDelayDelete(self, token)

Undocumented function.

removeInterest
def removeInterest(self, handle, event=None)

Undocumented function.

sendDeleteMsg
def sendDeleteMsg(self)

Undocumented function.

sendDisableMsg
def sendDisableMsg(self)

Undocumented function.

sendUpdate
def sendUpdate(self, fieldName, args=[], sendToId=None)

Undocumented function.

setBarrierData
def setBarrierData(self, data)

Undocumented function.

setCacheable
def setCacheable(self, bool)

Undocumented function.

setCachedData
def setCachedData(self, name, data)

Undocumented function.

setLocation
def setLocation(self, parentId, zoneId)

Undocumented function.

setNeverDisable
def setNeverDisable(self, bool)

Undocumented function.

taskName
def taskName(self, taskString)

Undocumented function.

uniqueName
def uniqueName(self, idString)

Undocumented function.

updateAllRequiredFields
def updateAllRequiredFields(self, dclass, di)

Undocumented function.

updateRequiredFields
def updateRequiredFields(self, dclass, di)

Undocumented function.

updateRequiredOtherFields
def updateRequiredOtherFields(self, dclass, di)

Undocumented function.

updateZone
def updateZone(self, zoneId)

Undocumented function.


DistributedObjectAI

    from direct.distributed.DistributedObjectAI import DistributedObjectAI

Inheritance:

    DistributedObjectAI:

Methods of DistributedObjectAI:

    __barrierCallback
    __getBarrierData
    __init__
    addInterest
    announceGenerate
    b_setLocation
    beginBarrier
    d_setLocation
    def
    delete
    execCommand
    generate
    generateInit
    generateOtpObject
    generateTargetChannel
    generateWithRequired
    generateWithRequiredAndId
    GetAccountConnectionChannel
    GetAccountIDFromChannelCode
    GetAvatarIDFromChannelCode
    getCollTrav
    getDeleteEvent
    getDoId
    getLocation
    getLogicalZoneChangeEvent
    getNonCollidableParent
    getParentMgr
    GetPuppetConnectionChannel
    getRender
    getZoneChangeEvent
    getZoneData
    handleLogicalZoneChange
    ignoreBarrier
    initFromServerResponse
    isDeleted
    isGenerated
    isGridParent
    postGenerateMessage
    preAllocateDoId
    releaseZoneData
    requestDelete
    sendDeleteEvent
    sendGenerateWithRequired
    sendMessageBundle
    sendSetZone
    sendUpdate
    sendUpdateToAccountId
    sendUpdateToAvatarId
    sendUpdateToChannel
    setBarrierReady
    setLocation
    startMessageBundle
    taskName
    uniqueName
    updateAllRequiredFields
    updateAllRequiredOtherFields
    updateRequiredFields
    updateRequiredOtherFields
    validate
__barrierCallback
def __barrierCallback(self, context, callback, avIds)

Undocumented function.

__getBarrierData
def __getBarrierData(self)

Undocumented function.

__init__
def __init__(self, air)

Undocumented function.

addInterest
def addInterest(self, zoneId, note="", event=None)

Undocumented function.

announceGenerate
def announceGenerate(self)

Called after the object has been generated and all of its required fields filled in. Overwrite when needed.

b_setLocation
def b_setLocation(self, parentId, zoneId)

Undocumented function.

beginBarrier
def beginBarrier(self, name, avIds, timeout, callback)

Undocumented function.

d_setLocation
def d_setLocation(self, parentId, zoneId)

Undocumented function.

def
def defstaticGetLogicalZoneChangeEvent

Undocumented function.

delete
def delete(self)

Inheritors should redefine this to take appropriate action on delete Note that this may be called multiple times if a class inherits from DistributedObjectAI more than once.

execCommand
def execCommand(self, string, mwMgrId, avId, zoneId)

Undocumented function.

generate
def generate(self)

Inheritors should put functions that require self.zoneId or other networked info in this function.

generateInit
def generateInit(self, repository=None)

First generate (not from cache).

generateOtpObject
def generateOtpObject(self, parentId, zoneId, optionalFields=[], doId=None)

Undocumented function.

generateTargetChannel
def generateTargetChannel(self, repository)

Who to send this to for generate messages

generateWithRequired
def generateWithRequired(self, zoneId, optionalFields=[])

Undocumented function.

generateWithRequiredAndId
def generateWithRequiredAndId(self, doId, parentId, zoneId, optionalFields=[])

Undocumented function.

GetAccountConnectionChannel
def GetAccountConnectionChannel(self, doId)

Undocumented function.

GetAccountIDFromChannelCode
def GetAccountIDFromChannelCode(self, channel)

Undocumented function.

GetAvatarIDFromChannelCode
def GetAvatarIDFromChannelCode(self, channel)

Undocumented function.

getCollTrav
def getCollTrav(self, *args, **kArgs)

Undocumented function.

getDeleteEvent
def getDeleteEvent(self)

Undocumented function.

getDoId
def getDoId(self)

Return the distributed object id

getLocation
def getLocation(self)

Undocumented function.

getLogicalZoneChangeEvent
def getLogicalZoneChangeEvent(self)

Undocumented function.

getNonCollidableParent
def getNonCollidableParent(self)

Undocumented function.

getParentMgr
def getParentMgr(self)

Undocumented function.

GetPuppetConnectionChannel
def GetPuppetConnectionChannel(self, doId)

Undocumented function.

getRender
def getRender(self)

Undocumented function.

getZoneChangeEvent
def getZoneChangeEvent(self)

Undocumented function.

getZoneData
def getZoneData(self)

Undocumented function.

handleLogicalZoneChange
def handleLogicalZoneChange(self, newZoneId, oldZoneId)

this function gets called as if we never go through the quiet zone. Note that it is called once you reach the newZone, and not at the time that you leave the oldZone.

ignoreBarrier
def ignoreBarrier(self, context)

Undocumented function.

initFromServerResponse
def initFromServerResponse(self, valDict)

Undocumented function.

isDeleted
def isDeleted(self)

Returns true if the object has been deleted, or if it is brand new and hasnt yet been generated.

isGenerated
def isGenerated(self)

Returns true if the object has been generated

isGridParent
def isGridParent(self)

Undocumented function.

postGenerateMessage
def postGenerateMessage(self)

Undocumented function.

preAllocateDoId
def preAllocateDoId(self)

objects that need to have a doId before they are generated can call this to pre-allocate a doId for the object

releaseZoneData
def releaseZoneData(self)

Undocumented function.

requestDelete
def requestDelete(self)

Undocumented function.

sendDeleteEvent
def sendDeleteEvent(self)

Undocumented function.

sendGenerateWithRequired
def sendGenerateWithRequired(self, repository, parentId, zoneId, optionalFields=[])

Undocumented function.

sendMessageBundle
def sendMessageBundle(self)

Undocumented function.

sendSetZone
def sendSetZone(self, zoneId)

Undocumented function.

sendUpdate
def sendUpdate(self, fieldName, args=[])

Undocumented function.

sendUpdateToAccountId
def sendUpdateToAccountId(self, accountId, fieldName, args)

Undocumented function.

sendUpdateToAvatarId
def sendUpdateToAvatarId(self, avId, fieldName, args)

Undocumented function.

sendUpdateToChannel
def sendUpdateToChannel(self, channelId, fieldName, args)

Undocumented function.

setBarrierReady
def setBarrierReady(self, context)

Undocumented function.

setLocation
def setLocation(self, parentId, zoneId)

Undocumented function.

startMessageBundle
def startMessageBundle(self, name)

Undocumented function.

taskName
def taskName(self, taskString)

Undocumented function.

uniqueName
def uniqueName(self, idString)

Undocumented function.

updateAllRequiredFields
def updateAllRequiredFields(self, dclass, di)

Undocumented function.

updateAllRequiredOtherFields
def updateAllRequiredOtherFields(self, dclass, di)

Undocumented function.

updateRequiredFields
def updateRequiredFields(self, dclass, di)

Undocumented function.

updateRequiredOtherFields
def updateRequiredOtherFields(self, dclass, di)

Undocumented function.

validate
def validate(self, avId, bool, msg)

Undocumented function.


DistributedObjectBase

    from direct.distributed.DistributedObjectBase import DistributedObjectBase
    The Distributed Object class is the base class for all network based (i.e. distributed) objects. These will usually (always?) have a dclass entry in a *.dc file.

Inheritance:

    DistributedObjectBase:

Methods of DistributedObjectBase:

    __init__
    getLocation
    getParentObj
    handleChildArrive
    handleChildArriveZone
    handleChildLeave
    handleChildLeaveZone
    handleQueryObjectChildrenLocalDone
    hasParentingRules
__init__
def __init__(self, cr)

Undocumented function.

getLocation
def getLocation(self)

Undocumented function.

getParentObj
def getParentObj(self)

Undocumented function.

handleChildArrive
def handleChildArrive(self, childObj, zoneId)

A new child has just setLocation beneath us. Give us a chance to run code when a new child sets location to us. For example, we may want to scene graph reparent the child to some subnode we own.

handleChildArriveZone
def handleChildArriveZone(self, childObj, zoneId)

A child has just changed zones beneath us with setLocation. Give us a chance to run code when an existing child sets location to us. For example, we may want to scene graph reparent the child to some subnode we own.

handleChildLeave
def handleChildLeave(self, childObj, zoneId)

A child is about to setLocation away from us. Give us a chance to run code just before a child sets location away from us.

handleChildLeaveZone
def handleChildLeaveZone(self, childObj, zoneId)

A child is about to setLocation to another zone beneath us. Give us a chance to run code just before a child sets location to that zone.

handleQueryObjectChildrenLocalDone
def handleQueryObjectChildrenLocalDone(self, context)

Undocumented function.

hasParentingRules
def hasParentingRules(self)

Undocumented function.


DistributedObjectGlobal

    from direct.distributed.DistributedObjectGlobal import DistributedObjectGlobal
    The Distributed Object Global class is the base class for global network based (i.e. distributed) objects.

Inheritance:

    DistributedObjectGlobal:

Methods of DistributedObjectGlobal:

    __init__
__init__
def __init__(self, cr)

Undocumented function.


DistributedObjectGlobalAI

    from direct.distributed.DistributedObjectGlobalAI import DistributedObjectGlobalAI

Inheritance:

    DistributedObjectGlobalAI:

Methods of DistributedObjectGlobalAI:

    __init__
    announceGenerate
    delete
__init__
def __init__(self, air)

Undocumented function.

announceGenerate
def announceGenerate(self)

Undocumented function.

delete
def delete(self)

Undocumented function.


DistributedObjectGlobalUD

    from direct.distributed.DistributedObjectGlobalUD import DistributedObjectGlobalUD

Inheritance:

    DistributedObjectGlobalUD:

Methods of DistributedObjectGlobalUD:

    __execMessage
    __init__
    announceGenerate
    delete
    execCommand
__execMessage
def __execMessage(self, message)

Undocumented function.

__init__
def __init__(self, air)

Undocumented function.

announceGenerate
def announceGenerate(self)

Undocumented function.

delete
def delete(self)

Undocumented function.

execCommand
def execCommand(self, command, mwMgrId, avId, zoneId)

Undocumented function.


DistributedObjectOV

    from direct.distributed.DistributedObjectOV import DistributedObjectOV
    Implementation of the 'owner view' (OV) of a distributed object;

Inheritance:

    DistributedObjectOV:

Methods of DistributedObjectOV:

    __init__
    announceGenerate
    delete
    deleteOrDelay
    disable
    disableAndAnnounce
    disableAnnounceAndDelete
    generate
    generateInit
    getCacheable
    getDelayDeleteCount
    getDoId
    isDisabled
    isGenerated
    postGenerateMessage
    sendUpdate
    taskName
    uniqueName
    updateAllRequiredFields
    updateRequiredFields
    updateRequiredOtherFields
__init__
def __init__(self, cr)

Undocumented function.

announceGenerate
def announceGenerate(self)

Sends a message to the world after the object has been generated and all of its required fields filled in.

delete
def delete(self)

Inheritors should redefine this to take appropriate action on delete

deleteOrDelay
def deleteOrDelay(self)

Undocumented function.

disable
def disable(self)

Inheritors should redefine this to take appropriate action on disable

disableAndAnnounce
def disableAndAnnounce(self)

Undocumented function.

disableAnnounceAndDelete
def disableAnnounceAndDelete(self)

Undocumented function.

generate
def generate(self)

Inheritors should redefine this to take appropriate action on generate

generateInit
def generateInit(self)

This method is called when the DistributedObjectOV is first introduced to the world... Not when it is pulled from the cache.

getCacheable
def getCacheable(self)

Undocumented function.

getDelayDeleteCount
def getDelayDeleteCount(self)

Undocumented function.

getDoId
def getDoId(self)

Return the distributed object id

isDisabled
def isDisabled(self)

Returns true if the object has been disabled and/or deleted, or if it is brand new and hasn't yet been generated.

isGenerated
def isGenerated(self)

Returns true if the object has been fully generated by now, and not yet disabled.

postGenerateMessage
def postGenerateMessage(self)

Undocumented function.

sendUpdate
def sendUpdate(self, fieldName, args=[], sendToId=None)

Undocumented function.

taskName
def taskName(self, taskString)

Undocumented function.

uniqueName
def uniqueName(self, idString)

Undocumented function.

updateAllRequiredFields
def updateAllRequiredFields(self, dclass, di)

Undocumented function.

updateRequiredFields
def updateRequiredFields(self, dclass, di)

Undocumented function.

updateRequiredOtherFields
def updateRequiredOtherFields(self, dclass, di)

Undocumented function.


DistributedObjectUD

    from direct.distributed.DistributedObjectUD import DistributedObjectUD

Inheritance:

    DistributedObjectUD:

Methods of DistributedObjectUD:

    __barrierCallback
    __getBarrierData
    __init__
    addInterest
    announceGenerate
    b_setLocation
    beginBarrier
    d_setLocation
    delete
    execCommand
    generate
    generateInit
    generateOtpObject
    generateTargetChannel
    generateWithRequired
    generateWithRequiredAndId
    GetAccountConnectionChannel
    GetAccountIDFromChannelCode
    GetAvatarIDFromChannelCode
    getCollTrav
    getDeleteEvent
    getDoId
    getLocation
    getLogicalZoneChangeEvent
    getNonCollidableParent
    getParentMgr
    GetPuppetConnectionChannel
    getRender
    getZoneChangeEvent
    handleLogicalZoneChange
    ignoreBarrier
    initFromServerResponse
    isDeleted
    isGenerated
    isGridParent
    postGenerateMessage
    preAllocateDoId
    requestDelete
    sendDeleteEvent
    sendGenerateWithRequired
    sendSetZone
    sendUpdate
    sendUpdateToAccountId
    sendUpdateToAvatarId
    sendUpdateToChannel
    setBarrierReady
    setLocation
    taskName
    uniqueName
    updateAllRequiredFields
    updateAllRequiredOtherFields
    updateRequiredFields
    updateRequiredOtherFields
    validate
__barrierCallback
def __barrierCallback(self, context, callback, avIds)

Undocumented function.

__getBarrierData
def __getBarrierData(self)

Undocumented function.

__init__
def __init__(self, air)

Undocumented function.

addInterest
def addInterest(self, zoneId, note="", event=None)

Undocumented function.

announceGenerate
def announceGenerate(self)

Called after the object has been generated and all of its required fields filled in. Overwrite when needed.

b_setLocation
def b_setLocation(self, parentId, zoneId)

Undocumented function.

beginBarrier
def beginBarrier(self, name, avIds, timeout, callback)

Undocumented function.

d_setLocation
def d_setLocation(self, parentId, zoneId)

Undocumented function.

delete
def delete(self)

Inheritors should redefine this to take appropriate action on delete Note that this may be called multiple times if a class inherits from DistributedObjectUD more than once.

execCommand
def execCommand(self, string, mwMgrId, avId, zoneId)

Undocumented function.

generate
def generate(self)

Inheritors should put functions that require self.zoneId or other networked info in this function.

generateInit
def generateInit(self, repository=None)

First generate (not from cache).

generateOtpObject
def generateOtpObject(self, parentId, zoneId, optionalFields=[], doId=None)

Undocumented function.

generateTargetChannel
def generateTargetChannel(self, repository)

Who to send this to for generate messages

generateWithRequired
def generateWithRequired(self, zoneId, optionalFields=[])

Undocumented function.

generateWithRequiredAndId
def generateWithRequiredAndId(self, doId, parentId, zoneId, optionalFields=[])

Undocumented function.

GetAccountConnectionChannel
def GetAccountConnectionChannel(self, doId)

Undocumented function.

GetAccountIDFromChannelCode
def GetAccountIDFromChannelCode(self, channel)

Undocumented function.

GetAvatarIDFromChannelCode
def GetAvatarIDFromChannelCode(self, channel)

Undocumented function.

getCollTrav
def getCollTrav(self, *args, **kArgs)

Undocumented function.

getDeleteEvent
def getDeleteEvent(self)

Undocumented function.

getDoId
def getDoId(self)

Return the distributed object id

getLocation
def getLocation(self)

Undocumented function.

getLogicalZoneChangeEvent
def getLogicalZoneChangeEvent(self)

Undocumented function.

getNonCollidableParent
def getNonCollidableParent(self)

Undocumented function.

getParentMgr
def getParentMgr(self)

Undocumented function.

GetPuppetConnectionChannel
def GetPuppetConnectionChannel(self, doId)

Undocumented function.

getRender
def getRender(self)

Undocumented function.

getZoneChangeEvent
def getZoneChangeEvent(self)

Undocumented function.

handleLogicalZoneChange
def handleLogicalZoneChange(self, newZoneId, oldZoneId)

this function gets called as if we never go through the quiet zone. Note that it is called once you reach the newZone, and not at the time that you leave the oldZone.

ignoreBarrier
def ignoreBarrier(self, context)

Undocumented function.

initFromServerResponse
def initFromServerResponse(self, valDict)

Undocumented function.

isDeleted
def isDeleted(self)

Returns true if the object has been deleted, or if it is brand new and hasnt yet been generated.

isGenerated
def isGenerated(self)

Returns true if the object has been generated

isGridParent
def isGridParent(self)

Undocumented function.

postGenerateMessage
def postGenerateMessage(self)

Undocumented function.

preAllocateDoId
def preAllocateDoId(self)

objects that need to have a doId before they are generated can call this to pre-allocate a doId for the object

requestDelete
def requestDelete(self)

Undocumented function.

sendDeleteEvent
def sendDeleteEvent(self)

Undocumented function.

sendGenerateWithRequired
def sendGenerateWithRequired(self, repository, parentId, zoneId, optionalFields=[])

Undocumented function.

sendSetZone
def sendSetZone(self, zoneId)

Undocumented function.

sendUpdate
def sendUpdate(self, fieldName, args=[])

Undocumented function.

sendUpdateToAccountId
def sendUpdateToAccountId(self, accountId, fieldName, args)

Undocumented function.

sendUpdateToAvatarId
def sendUpdateToAvatarId(self, avId, fieldName, args)

Undocumented function.

sendUpdateToChannel
def sendUpdateToChannel(self, channelId, fieldName, args)

Undocumented function.

setBarrierReady
def setBarrierReady(self, context)

Undocumented function.

setLocation
def setLocation(self, parentId, zoneId)

Undocumented function.

taskName
def taskName(self, taskString)

Undocumented function.

uniqueName
def uniqueName(self, idString)

Undocumented function.

updateAllRequiredFields
def updateAllRequiredFields(self, dclass, di)

Undocumented function.

updateAllRequiredOtherFields
def updateAllRequiredOtherFields(self, dclass, di)

Undocumented function.

updateRequiredFields
def updateRequiredFields(self, dclass, di)

Undocumented function.

updateRequiredOtherFields
def updateRequiredOtherFields(self, dclass, di)

Undocumented function.

validate
def validate(self, avId, bool, msg)

Undocumented function.


DistributedSmoothNode

    from direct.distributed.DistributedSmoothNode import DistributedSmoothNode
    This specializes DistributedNode to add functionality to smooth motion over time, via the SmoothMover C++ object defined in DIRECT.

Inheritance:

    DistributedSmoothNode:

Methods of DistributedSmoothNode:

    __init__
    activateSmoothing
    clearSmoothing
    d_returnResync
    d_setParent
    d_suggestResync
    delete
    disable
    doSmoothTask
    forceToTruePosition
    generate
    getSmoothWrtReparents
    peerToPeerResync
    reloadPosition
    returnResync
    setComponentH
    setComponentP
    setComponentR
    setComponentT
    setComponentTLive
    setComponentX
    setComponentY
    setComponentZ
    setSmH
    setSmHpr
    setSmoothWrtReparents
    setSmPos
    setSmPosHpr
    setSmStop
    setSmXY
    setSmXYH
    setSmXYZH
    setSmXZ
    setSmZ
    smoothPosition
    startSmooth
    stopSmooth
    suggestResync
    wantsSmoothing
    wrtReparentTo
__init__
def __init__(self, cr)

Undocumented function.

activateSmoothing
def activateSmoothing(self, smoothing, prediction)

Enables or disables the smoothing of other avatars' motion. This used to be a global flag, but now it is specific to each avatar instance. However, see globalActivateSmoothing() in this module.
If smoothing is off, no kind of smoothing will be performed, regardless of the setting of prediction.
This is not necessarily predictive smoothing; if predictive smoothing is off, avatars will be lagged by a certain factor to achieve smooth motion. Otherwise, if predictive smoothing is on, avatars will be drawn as nearly as possible in their current position, by extrapolating from old position reports.
This assumes you have a client repository that knows its localAvatarDoId -- stored in self.cr.localAvatarDoId

clearSmoothing
def clearSmoothing(self, bogus=None)

Undocumented function.

d_returnResync
def d_returnResync(self, avId, timestampB, serverTime, uncertainty)

Undocumented function.

d_setParent
def d_setParent(self, parentToken)

Undocumented function.

d_suggestResync
def d_suggestResync(self, avId, timestampA, timestampB, serverTime, uncertainty)

Undocumented function.

delete
def delete(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

doSmoothTask
def doSmoothTask(self, task)

Undocumented function.

forceToTruePosition
def forceToTruePosition(self)

This forces the node to reposition itself to its latest known position. This may result in a pop as the node skips the last of its lerp points.

generate
def generate(self)

Undocumented function.

getSmoothWrtReparents
def getSmoothWrtReparents(self)

Undocumented function.

peerToPeerResync
def peerToPeerResync(self, avId, timestamp, serverTime, uncertainty)

Undocumented function.

reloadPosition
def reloadPosition(self)

This function re-reads the position from the node itself and clears any old position reports for the node. This should be used whenever show code bangs on the node position and expects it to stick.

returnResync
def returnResync(self, avId, timestampB, serverTimeSec, serverTimeUSec, uncertainty)

A reply sent by a client whom we recently sent suggestResync to, this reports the client's new delta information so we can adjust our clock as well.

setComponentH
def setComponentH(self, h)

Undocumented function.

setComponentP
def setComponentP(self, p)

Undocumented function.

setComponentR
def setComponentR(self, r)

Undocumented function.

setComponentT
def setComponentT(self, timestamp)

Undocumented function.

setComponentTLive
def setComponentTLive(self, timestamp)

Undocumented function.

setComponentX
def setComponentX(self, x)

Undocumented function.

setComponentY
def setComponentY(self, y)

Undocumented function.

setComponentZ
def setComponentZ(self, z)

Undocumented function.

setSmH
def setSmH(self, h, timestamp=None)

Undocumented function.

setSmHpr
def setSmHpr(self, h, p, r, timestamp=None)

Undocumented function.

setSmoothWrtReparents
def setSmoothWrtReparents(self, flag)

Undocumented function.

setSmPos
def setSmPos(self, x, y, z, timestamp=None)

Undocumented function.

setSmPosHpr
def setSmPosHpr(self, x, y, z, h, p, r, timestamp=None)

Undocumented function.

setSmStop
def setSmStop(self, timestamp=None)

Undocumented function.

setSmXY
def setSmXY(self, x, y, timestamp=None)

Undocumented function.

setSmXYH
def setSmXYH(self, x, y, h, timestamp)

Undocumented function.

setSmXYZH
def setSmXYZH(self, x, y, z, h, timestamp=None)

Undocumented function.

setSmXZ
def setSmXZ(self, x, z, timestamp=None)

Undocumented function.

setSmZ
def setSmZ(self, z, timestamp=None)

Undocumented function.

smoothPosition
def smoothPosition(self)

This function updates the position of the node to its computed smoothed position. This may be overridden by a derived class to specialize the behavior.

startSmooth
def startSmooth(self)

This function starts the task that ensures the node is positioned correctly every frame. However, while the task is running, you won't be able to lerp the node or directly position it.

stopSmooth
def stopSmooth(self)

This function stops the task spawned by startSmooth(), and allows show code to move the node around directly.

suggestResync
def suggestResync(self, avId, timestampA, timestampB, serverTimeSec, serverTimeUSec, uncertainty)

This message is sent from one client to another when the other client receives a timestamp from this client that is so far out of date as to suggest that one or both clients needs to resynchronize their clock information.

wantsSmoothing
def wantsSmoothing(self)

Undocumented function.

wrtReparentTo
def wrtReparentTo(self, parent)

Undocumented function.


DistributedSmoothNodeAI

    from direct.distributed.DistributedSmoothNodeAI import DistributedSmoothNodeAI

Inheritance:

    DistributedSmoothNodeAI:

Methods of DistributedSmoothNodeAI:

    __init__
    clearSmoothing
    delete
    disable
    generate
    getComponentH
    getComponentP
    getComponentR
    getComponentT
    getComponentX
    getComponentY
    getComponentZ
    setComponentH
    setComponentP
    setComponentR
    setComponentT
    setComponentX
    setComponentY
    setComponentZ
    setSmH
    setSmHpr
    setSmPos
    setSmPosHpr
    setSmStop
    setSmXY
    setSmXYH
    setSmXYZH
    setSmXZ
    setSmZ
__init__
def __init__(self, air, name=None)

Undocumented function.

clearSmoothing
def clearSmoothing(self, bogus=None)

Undocumented function.

delete
def delete(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

generate
def generate(self)

Undocumented function.

getComponentH
def getComponentH(self)

Undocumented function.

getComponentP
def getComponentP(self)

Undocumented function.

getComponentR
def getComponentR(self)

Undocumented function.

getComponentT
def getComponentT(self)

Undocumented function.

getComponentX
def getComponentX(self)

Undocumented function.

getComponentY
def getComponentY(self)

Undocumented function.

getComponentZ
def getComponentZ(self)

Undocumented function.

setComponentH
def setComponentH(self, h)

Undocumented function.

setComponentP
def setComponentP(self, p)

Undocumented function.

setComponentR
def setComponentR(self, r)

Undocumented function.

setComponentT
def setComponentT(self, t)

Undocumented function.

setComponentX
def setComponentX(self, x)

Undocumented function.

setComponentY
def setComponentY(self, y)

Undocumented function.

setComponentZ
def setComponentZ(self, z)

Undocumented function.

setSmH
def setSmH(self, h, t=None)

Undocumented function.

setSmHpr
def setSmHpr(self, h, p, r, t=None)

Undocumented function.

setSmPos
def setSmPos(self, x, y, z, t=None)

Undocumented function.

setSmPosHpr
def setSmPosHpr(self, x, y, z, h, p, r, t=None)

Undocumented function.

setSmStop
def setSmStop(self, t=None)

Undocumented function.

setSmXY
def setSmXY(self, x, y, t=None)

Undocumented function.

setSmXYH
def setSmXYH(self, x, y, h, t=None)

Undocumented function.

setSmXYZH
def setSmXYZH(self, x, y, z, h, t=None)

Undocumented function.

setSmXZ
def setSmXZ(self, x, z, t=None)

Undocumented function.

setSmZ
def setSmZ(self, z, t=None)

Undocumented function.


DistributedSmoothNodeBase

    from direct.distributed.DistributedSmoothNodeBase import DistributedSmoothNodeBase
    common base class for DistributedSmoothNode and DistributedSmoothNodeAI

Inheritance:

    DistributedSmoothNodeBase:

Methods of DistributedSmoothNodeBase:

    __init__
    _posHprBroadcast
    b_clearSmoothing
    d_clearSmoothing
    delete
    disable
    generate
    getPosHprBroadcastTaskName
    posHprBroadcastStarted
    sendCurrentPosition
    setPosHprBroadcastPeriod
    startPosHprBroadcast
    stopPosHprBroadcast
    wantSmoothPosBroadcastTask
__init__
def __init__(self)

Undocumented function.

_posHprBroadcast
def _posHprBroadcast(self, task=DummyTask)

Undocumented function.

b_clearSmoothing
def b_clearSmoothing(self)

Undocumented function.

d_clearSmoothing
def d_clearSmoothing(self)

Undocumented function.

delete
def delete(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

generate
def generate(self)

Undocumented function.

getPosHprBroadcastTaskName
def getPosHprBroadcastTaskName(self)

Undocumented function.

posHprBroadcastStarted
def posHprBroadcastStarted(self)

Undocumented function.

sendCurrentPosition
def sendCurrentPosition(self)

Undocumented function.

setPosHprBroadcastPeriod
def setPosHprBroadcastPeriod(self, period)

Undocumented function.

startPosHprBroadcast
def startPosHprBroadcast(self, period=.2, stagger=0, type=None)

Undocumented function.

stopPosHprBroadcast
def stopPosHprBroadcast(self)

Undocumented function.

wantSmoothPosBroadcastTask
def wantSmoothPosBroadcastTask(self)

Undocumented function.


DNABaselineStyle

    from direct.leveleditor.LevelEditor import DNABaselineStyle
    Class to hold attributes of a baseline style (wiggle, colors, etc)

Inheritance:

    DNABaselineStyle:

Methods of DNABaselineStyle:

    __getitem__
    __init__
    __repr__
    __setitem__
    copy
    copyTo
    output
__getitem__
def __getitem__(self, index)

Undocumented function.

__init__
def __init__(self, baseline=None, name='baseline_style')

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

__setitem__
def __setitem__(self, index, item)

Undocumented function.

copy
def copy(self, baseline)

Undocumented function.

copyTo
def copyTo(self, baseline)

Undocumented function.

output
def output(self, file=sys.stdout)

Output style description to a file


DNAFlatBuildingStyle

    from direct.leveleditor.LevelEditor import DNAFlatBuildingStyle
    Class to hold attributes of a building style

Inheritance:

    DNAFlatBuildingStyle:

Methods of DNAFlatBuildingStyle:

    __init__
    add
    copy
    output
__init__
def __init__(self, building=None, styleList=None, name='bldg_style')

Undocumented function.

add
def add(self, style, height)

Undocumented function.

copy
def copy(self, building)

Undocumented function.

output
def output(self, file=sys.stdout)

Undocumented function.


DNAWallStyle

    from direct.leveleditor.LevelEditor import DNAWallStyle
    Class to hold attributes of a wall style (textures, colors, etc)

Inheritance:

    DNAWallStyle:

Methods of DNAWallStyle:

    __getitem__
    __init__
    __repr__
    __setitem__
    copy
    output
__getitem__
def __getitem__(self, index)

Undocumented function.

__init__
def __init__(self, wall=None, name='wall_style')

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

__setitem__
def __setitem__(self, index, item)

Undocumented function.

copy
def copy(self, wall)

Undocumented function.

output
def output(self, file=sys.stdout)

Output style description to a file


DoCollectionManager

    from direct.distributed.DoCollectionManager import DoCollectionManager

Inheritance:

    DoCollectionManager:

Methods of DoCollectionManager:

    __init__
    _compareDistance
    _getDistanceFromLA
    _printObjects
    _returnObjects
    addDOToTables
    callbackWithDo
    callbackWithOwnerView
    countObjects
    def
    deleteDistributedObjects
    deleteObjectLocation
    doByDistance
    doFind
    doFindAll
    doFindAllMatching
    findAnyOfType
    getAllOfType
    getDo
    getDoIdList
    getDoList
    getDoTable
    getObjectsInZone
    getObjectsOfClassInZone
    getOwnerView
    getOwnerViewDoIdList
    getOwnerViewDoList
    handleObjectLocation
    handleSetLocation
    isValidLocationTuple
    printObjectCount
    removeDOFromTables
    webPrintObjectCount
__init__
def __init__(self)

Undocumented function.

_compareDistance
def _compareDistance(self, do1, do2)

Undocumented function.

_getDistanceFromLA
def _getDistanceFromLA(self, do)

Undocumented function.

_printObjects
def _printObjects(self, table)

Undocumented function.

_returnObjects
def _returnObjects(self, table)

Undocumented function.

addDOToTables
def addDOToTables(self, do, location=None, ownerView=False)

Undocumented function.

callbackWithDo
def callbackWithDo(self, doId, callback)

Undocumented function.

callbackWithOwnerView
def callbackWithOwnerView(self, doId, callback)

Undocumented function.

countObjects
def countObjects(self, classType)

Counts the number of objects of the given type in the repository (for testing purposes)

def
def defstoreObjectLocation

Undocumented function.

deleteDistributedObjects
def deleteDistributedObjects(self)

Undocumented function.

deleteObjectLocation
def deleteObjectLocation(self, object, parentId, zoneId)

Undocumented function.

doByDistance
def doByDistance(self)

Undocumented function.

doFind
def doFind(self, str)

Returns list of distributed objects with matching str in value.

doFindAll
def doFindAll(self, str)

Returns list of distributed objects with matching str in value.

doFindAllMatching
def doFindAllMatching(self, str)

Returns list of distributed objects with matching str in value.

findAnyOfType
def findAnyOfType(self, type)

Undocumented function.

getAllOfType
def getAllOfType(self, type)

Undocumented function.

getDo
def getDo(self, doId)

Undocumented function.

getDoIdList
def getDoIdList(self, parentId, zoneId=None, classType=None)

Undocumented function.

getDoList
def getDoList(self, parentId, zoneId=None, classType=None)

parentId is any distributed object id. zoneId is a uint32, defaults to None (all zones). Try zone 2 if you're not sure which zone to use (0 is a bad/null zone and 1 has had reserved use in the past as a no messages zone, while 2 has traditionally been a global, uber, misc stuff zone). dclassType is a distributed class type filter, defaults to None (no filter).
If dclassName is None then all objects in the zone are returned; otherwise the list is filtered to only include objects of that type.

getDoTable
def getDoTable(self, ownerView)

Undocumented function.

getObjectsInZone
def getObjectsInZone(self, parentId, zoneId)

returns dict of doId:distObj for a zone. returned dict is safely mutable.

getObjectsOfClassInZone
def getObjectsOfClassInZone(self, parentId, zoneId, objClass)

returns dict of doId:object for a zone, containing all objects that inherit from 'class'. returned dict is safely mutable.

getOwnerView
def getOwnerView(self, doId)

Undocumented function.

getOwnerViewDoIdList
def getOwnerViewDoIdList(self, classType)

Undocumented function.

getOwnerViewDoList
def getOwnerViewDoList(self, classType)

Undocumented function.

handleObjectLocation
def handleObjectLocation(self, di)

Undocumented function.

handleSetLocation
def handleSetLocation(self, di)

Undocumented function.

isValidLocationTuple
def isValidLocationTuple(self, location)

Undocumented function.

printObjectCount
def printObjectCount(self)

Undocumented function.

removeDOFromTables
def removeDOFromTables(self, do)

Undocumented function.

webPrintObjectCount
def webPrintObjectCount(self)

Undocumented function.


DocumentSpec

    from pandac.PandaModules import DocumentSpec
    Class : DocumentSpec
    Description : A descriptor that refers to a particular version of a document. This includes the URL of the document and its identity tag and last-modified dates.
    The DocumentSpec may also be used to request a newer document than a particular one if available, for instance to refresh a cached document.

Inheritance:

    DocumentSpec:

Methods of DocumentSpec:

    DocumentSpec (Constructor)
    clearDate
    clearTag
    compareTo
    getCacheControl
    getDate
    getRequestMode
    getTag
    getUrl
    hasDate
    hasTag
    input
    operator !=
    operator <
    operator =
    operator ==
    output
    setCacheControl
    setDate
    setRequestMode
    setTag
    setUrl
    write

Constants in DocumentSpec:

    RMAny | (RequestMode)
RMEqual | (RequestMode)
RMNewer | (RequestMode)
RMEqualOrNewer | (RequestMode)
CCAllowCache | (CacheControl)
CCRevalidate | (CacheControl)
CCNoCache | (CacheControl)
DocumentSpec
DocumentSpec::DocumentSpec(void);

Description:

clearDate
void DocumentSpec::clear_date(void);

Description: Removes the last-modified date associated with the DocumentSpec, if there is one.

clearTag
void DocumentSpec::clear_tag(void);

Description: Removes the identity tag associated with the DocumentSpec, if there is one.

compareTo
int DocumentSpec::compare_to(DocumentSpec const &other) const;

Description:

getCacheControl
DocumentSpec::CacheControl DocumentSpec::get_cache_control(void) const;

Description: Returns the request mode of this DocumentSpec. See set_cache_control().

getDate
HTTPDate const &DocumentSpec::get_date(void) const;

Description: Returns the last-modified date associated with the DocumentSpec, if there is one. It is an error to call this if has_date() returns false.

getRequestMode
DocumentSpec::RequestMode DocumentSpec::get_request_mode(void) const;

Description: Returns the request mode of this DocumentSpec. See set_request_mode().

getTag
HTTPEntityTag const &DocumentSpec::get_tag(void) const;

Description: Returns the identity tag associated with the DocumentSpec, if there is one. It is an error to call this if has_tag() returns false.
The identity tag is set by the HTTP server to uniquely refer to a particular version of a document.

getUrl
URLSpec const &DocumentSpec::get_url(void) const;

Description: Retrieves the URL of the DocumentSpec.

hasDate
bool DocumentSpec::has_date(void) const;

Description: Returns true if a last-modified date is associated with the DocumentSpec.

hasTag
bool DocumentSpec::has_tag(void) const;

Description: Returns true if an identity tag is associated with the DocumentSpec.

input
bool DocumentSpec::input(istream &in);

Description: Can be used to read in the DocumentSpec from a stream generated either by output() or write(). Returns true on success, false on failure.

operator !=
bool DocumentSpec::operator !=(DocumentSpec const &other) const;

Description:

operator <
bool DocumentSpec::operator <(DocumentSpec const &other) const;

Description:

operator =
void DocumentSpec::operator =(DocumentSpec const &copy);

Description:

operator ==
bool DocumentSpec::operator ==(DocumentSpec const &other) const;

Description:

output
void DocumentSpec::output(ostream &out) const;

Description:

setCacheControl
void DocumentSpec::set_cache_control(DocumentSpec::CacheControl cache_control);

Description: Specifies what kind of cached value is acceptable for this document. Warning: some HTTP proxies may not respect this setting and may return a cached result anyway.
CC_allow_cache: the normal HTTP behavior; the server may return a cached value if it believes it is valid.
CC_revalidate: a proxy is forced to contact the origin server and verify that is cached value is in fact still valid before it returns it.
CC_no_cache: a proxy must not return its cached value at all, but is forced to go all the way back to the origin server for the official document.
The default mode is CC_allow_cache.

setDate
void DocumentSpec::set_date(HTTPDate const &date);

Description: Changes the last-modified date associated with the DocumentSpec.

setRequestMode
void DocumentSpec::set_request_mode(DocumentSpec::RequestMode request_mode);

Description: Sets the request mode of this DocumentSpec. This is only relevant when using the DocumentSpec to generate a request (for instance, in HTTPChannel). This specifies whether the document request will ask the server for a newer version than the indicated version, or the exact version, neither, or either.
The possible values are:
RM_any: ignore date and tag (if specified), and retrieve any document that matches the URL. For a subrange request, if the document matches the version indicated exactly, retrieve the subrange only; otherwise, retrieve the entire document.
RM_equal: request only the precise version of the document that matches the particular date and/or tag exactly, if specified; fail if this version is not available.
RM_newer: request any document that is newer than the version indicated by the particular date and/or tag; fail if only that version (or older versions) are available.
RM_newer_or_equal: request any document that matches the version indicated by the particular date and/or tag, or is a newer version; fail if only older versions are available.
In any of the above, you may specify either or both of the last-modified date and the identity tag, whichever is known to the client.
The default mode is RM_any.

setTag
void DocumentSpec::set_tag(HTTPEntityTag const &tag);

Description: Changes the identity tag associated with the DocumentSpec.

setUrl
void DocumentSpec::set_url(URLSpec const &url);

Description: Changes the URL of the DocumentSpec without modifying its other properties. Normally this would be a strange thing to do, because the tag and date are usually strongly associated with the URL. To get a DocumentSpec pointing to a new URL, you would normally create a new DocumentSpec object.

write
void DocumentSpec::write(ostream &out, int indent_level = (0)) const;

Description:


DoHierarchy

    from direct.distributed.DoHierarchy import DoHierarchy
    This table has been a source of memory leaks, with DoIds getting left in the table indefinitely. DoHierarchy guards access to the table and ensures correctness.

Inheritance:

    DoHierarchy:

Methods of DoHierarchy:

    __init__
    __len__
    clear
    deleteObjectLocation
    getDoIds
    isEmpty
    storeObjectLocation
__init__
def __init__(self)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

clear
def clear(self)

Undocumented function.

deleteObjectLocation
def deleteObjectLocation(self, do, parentId, zoneId)

Undocumented function.

getDoIds
def getDoIds(self, getDo, parentId, zoneId=None, classType=None)

Moved from DoCollectionManager ============================== parentId is any distributed object id. zoneId is a uint32, defaults to None (all zones). Try zone 2 if you're not sure which zone to use (0 is a bad/null zone and 1 has had reserved use in the past as a no messages zone, while 2 has traditionally been a global, uber, misc stuff zone). dclassType is a distributed class type filter, defaults to None (no filter).
If dclassName is None then all objects in the zone are returned; otherwise the list is filtered to only include objects of that type.

isEmpty
def isEmpty(self)

Undocumented function.

storeObjectLocation
def storeObjectLocation(self, do, parentId, zoneId)

Undocumented function.


DoInterestManager

    from direct.distributed.DoInterestManager import DoInterestManager
    Top level Interest Manager

Inheritance:

    DoInterestManager:

Methods of DoInterestManager:

    __init__
    __verbose
    _considerRemoveInterest
    _getAddInterestEvent
    _getAnonymousEvent
    _getInterestState
    _getNextContextId
    _getNextHandle
    _getRemoveInterestEvent
    _sendAddInterest
    _sendRemoveInterest
    addAutoInterest
    addInterest
    alterInterest
    cleanupWaitAllInterestsComplete
    closeAutoInterests
    getAllInterestsCompleteEvent
    handleInterestDoneMessage
    isValidInterestHandle
    noNewInterests
    openAutoInterests
    queueAllInterestsCompleteEvent
    removeAutoInterest
    removeInterest
    resetInterestStateForConnectionLoss
    setAllInterestsCompleteCallback
    setNoNewInterests
    updateInterestDescription
__init__
def __init__(self)

Undocumented function.

__verbose
def __verbose(self)

Undocumented function.

_considerRemoveInterest
def _considerRemoveInterest(self, handle)

Consider whether we should cull the interest set.

_getAddInterestEvent
def _getAddInterestEvent(self)

Undocumented function.

_getAnonymousEvent
def _getAnonymousEvent(self, desc)

Undocumented function.

_getInterestState
def _getInterestState(self, handle)

Undocumented function.

_getNextContextId
def _getNextContextId(self)

Undocumented function.

_getNextHandle
def _getNextHandle(self)

Undocumented function.

_getRemoveInterestEvent
def _getRemoveInterestEvent(self)

Undocumented function.

_sendAddInterest
def _sendAddInterest(self, handle, contextId, parentId, zoneIdList, description, action=None)

Part of the new otp-server code.
handle is a client-side created number that refers to a set of interests. The same handle number doesn't necessarily have any relationship to the same handle on another client.

_sendRemoveInterest
def _sendRemoveInterest(self, handle, contextId)

handle is a client-side created number that refers to a set of interests. The same handle number doesn't necessarily have any relationship to the same handle on another client.

addAutoInterest
def addAutoInterest(self, parentId, zoneIdList, description)

Look into a (set of) zone(s).

addInterest
def addInterest(self, parentId, zoneIdList, description, event=None)

Look into a (set of) zone(s).

alterInterest
def alterInterest(self, handle, parentId, zoneIdList, description=None, event=None)

Removes old interests and adds new interests.
Note that when an interest is changed, only the most recent change's event will be triggered. Previous events are abandoned. If this is a problem, consider opening multiple interests.

cleanupWaitAllInterestsComplete
def cleanupWaitAllInterestsComplete(self)

Undocumented function.

closeAutoInterests
def closeAutoInterests(self, obj)

Undocumented function.

getAllInterestsCompleteEvent
def getAllInterestsCompleteEvent(self)

Undocumented function.

handleInterestDoneMessage
def handleInterestDoneMessage(self, di)

This handles the interest done messages and may dispatch an event

isValidInterestHandle
def isValidInterestHandle(self, handle)

Undocumented function.

noNewInterests
def noNewInterests(self)

Undocumented function.

openAutoInterests
def openAutoInterests(self, obj)

Undocumented function.

queueAllInterestsCompleteEvent
def queueAllInterestsCompleteEvent(self, frames=5)

Undocumented function.

removeAutoInterest
def removeAutoInterest(self, handle)

Stop looking in a (set of) zone(s)

removeInterest
def removeInterest(self, handle, event=None)

Stop looking in a (set of) zone(s)

resetInterestStateForConnectionLoss
def resetInterestStateForConnectionLoss(self)

Undocumented function.

setAllInterestsCompleteCallback
def setAllInterestsCompleteCallback(self, callback)

Undocumented function.

setNoNewInterests
def setNoNewInterests(self, flag)

Undocumented function.

updateInterestDescription
def updateInterestDescription(self, handle, desc)

Undocumented function.


DownloadDb

    from pandac.PandaModules import DownloadDb
    Class : DownloadDb
    Description : A listing of files within multifiles for management of client-side synchronization with a server-provided set of files.
    This class manages one copy of the database for the client, representing the files on the client system, and another copy for the server, representing the files the server has available.

Inheritance:

    DownloadDb:

Methods of DownloadDb:

    DownloadDb (Constructor)
    addClientMultifile
    addVersion
    clientMultifileComplete
    clientMultifileDecompressed
    clientMultifileExists
    clientMultifileExtracted
    createNewServerDb
    deleteClientMultifile
    expandClientMultifile
    getClientMultifileHash
    getClientMultifileName
    getClientMultifilePhase
    getClientMultifileSize
    getClientNumMultifiles
    getHash
    getNumVersions
    getServerFileName
    getServerMultifileHash
    getServerMultifileName
    getServerMultifilePhase
    getServerMultifileSize
    getServerNumFiles
    getServerNumMultifiles
    getVersion
    hasVersion
    insertNewVersion
    output
    readDb
    serverAddFile
    serverAddMultifile
    setClientMultifileComplete
    setClientMultifileDecompressed
    setClientMultifileDeltaSize
    setClientMultifileExtracted
    setClientMultifileHash
    setClientMultifileIncomplete
    setClientMultifileSize
    setNumVersions
    setServerMultifileHash
    setServerMultifileSize
    write
    writeClientDb
    writeDb
    writeServerDb
    writeVersionMap

Constants in DownloadDb:

    StatusIncomplete | (Status)
StatusComplete | (Status)
StatusDecompressed | (Status)
StatusExtracted | (Status)
DownloadDb
DownloadDb::DownloadDb(void);

Description: Create a download db with these client and server dbs
Description: Primarily used for testing.

addClientMultifile
void DownloadDb::add_client_multifile(string server_mfname);

Operations on multifiles
Description:

addVersion
void DownloadDb::add_version(Filename const &name, HashVal const &hash, int version);

Description: Appends a new version of the file onto the end of the list, or changes the hash associated with a version previously added.
Note: version numbers start at 1

clientMultifileComplete
bool DownloadDb::client_multifile_complete(string mfname) const;

Queries from the Launcher
Description: A multifile is complete when it is completely downloaded. Note: it may already be decompressed or extracted and it is still complete

clientMultifileDecompressed
bool DownloadDb::client_multifile_decompressed(string mfname) const;

Description:

clientMultifileExists
bool DownloadDb::client_multifile_exists(string mfname) const;

Queries from the Launcher
Description:

clientMultifileExtracted
bool DownloadDb::client_multifile_extracted(string mfname) const;

Description:

createNewServerDb
void DownloadDb::create_new_server_db(void);

Server side operations to create multifile records
Description: Used on the server side makefiles to create a new clean server db

deleteClientMultifile
void DownloadDb::delete_client_multifile(string mfname);

Operations on multifiles
Description:

expandClientMultifile
void DownloadDb::expand_client_multifile(string mfname);

Description:

getClientMultifileHash
HashVal DownloadDb::get_client_multifile_hash(string mfname) const;

Ask what version (told with the hash) this multifile is
Description: Return the hash value of the file we are working on

getClientMultifileName
string DownloadDb::get_client_multifile_name(int index) const;

Description:

getClientMultifilePhase
float DownloadDb::get_client_multifile_phase(string mfname) const;

Description:

getClientMultifileSize
int DownloadDb::get_client_multifile_size(string mfname) const;

Description:

getClientNumMultifiles
int DownloadDb::get_client_num_multifiles(void) const;

Description:

getHash
HashVal const &DownloadDb::get_hash(Filename const &name, int version) const;

Description: Returns the MD5 hash associated with the indicated version of the indicated file.

getNumVersions
int DownloadDb::get_num_versions(Filename const &name) const;

Description: Returns the number of versions stored for the indicated file.

getServerFileName
string DownloadDb::get_server_file_name(string mfname, int index) const;

Description:

getServerMultifileHash
HashVal DownloadDb::get_server_multifile_hash(string mfname) const;

Description: Return the hash value of the server file

getServerMultifileName
string DownloadDb::get_server_multifile_name(int index) const;

Description:

getServerMultifilePhase
float DownloadDb::get_server_multifile_phase(string mfname) const;

Description:

getServerMultifileSize
int DownloadDb::get_server_multifile_size(string mfname) const;

Description:

getServerNumFiles
int DownloadDb::get_server_num_files(string mfname) const;

Description:

getServerNumMultifiles
int DownloadDb::get_server_num_multifiles(void) const;

Description:

getVersion
int DownloadDb::get_version(Filename const &name, HashVal const &hash) const;

Description: Returns the version number of this particular file, determined by looking up the hash generated from the file. Returns -1 if the version number cannot be determined.

hasVersion
bool DownloadDb::has_version(Filename const &name) const;

Description: Returns true if the indicated file has version information, false otherwise. Some files recorded in the database may not bother to track versions.

insertNewVersion
void DownloadDb::insert_new_version(Filename const &name, HashVal const &hash);

Description: Inserts a new version 1 copy of the file, sliding all the other versions up by one.

output
void DownloadDb::output(ostream &out) const;

Description:

readDb
DownloadDb::Db DownloadDb::read_db(Filename &file, bool want_server_info);

Description:

serverAddFile
void DownloadDb::server_add_file(string mfname, string fname);

Description:

serverAddMultifile
void DownloadDb::server_add_multifile(string mfname, float phase, int size, int status);

Server side operations to create multifile records
Description:

setClientMultifileComplete
void DownloadDb::set_client_multifile_complete(string mfname);

Description:

setClientMultifileDecompressed
void DownloadDb::set_client_multifile_decompressed(string mfname);

Description:

setClientMultifileDeltaSize
int DownloadDb::set_client_multifile_delta_size(string mfname, int size);

Description:

setClientMultifileExtracted
void DownloadDb::set_client_multifile_extracted(string mfname);

Description:

setClientMultifileHash
void DownloadDb::set_client_multifile_hash(string mfname, HashVal val);

Ask what version (told with the hash) this multifile is
Description: Set the hash value of file we are working on

setClientMultifileIncomplete
void DownloadDb::set_client_multifile_incomplete(string mfname);

Description:

setClientMultifileSize
void DownloadDb::set_client_multifile_size(string mfname, int size);

Description:

setNumVersions
void DownloadDb::set_num_versions(Filename const &name, int num_versions);

Description: Reduces the number of versions of a particular file stored in the ddb by throwing away all versions higher than the indicated index.

setServerMultifileHash
void DownloadDb::set_server_multifile_hash(string mfname, HashVal val);

Description: Set the hash value of file we are working on

setServerMultifileSize
void DownloadDb::set_server_multifile_size(string mfname, int size);

Description:

write
void DownloadDb::write(ostream &out) const;

Description:

writeClientDb
bool DownloadDb::write_client_db(Filename &file);

Write a database file
Description:

writeDb
bool DownloadDb::write_db(Filename &file, DownloadDb::Db db, bool want_server_info);

Description:

writeServerDb
bool DownloadDb::write_server_db(Filename &file);

Write a database file
Description:

writeVersionMap
void DownloadDb::write_version_map(ostream &out) const;

Description:


DrawableRegion

    from pandac.PandaModules import DrawableRegion
    Class : DrawableRegion
    Description : This is a base class for GraphicsWindow (actually, GraphicsOutput) and DisplayRegion, both of which are conceptually rectangular regions into which drawing commands may be issued. Sometimes you want to deal with a single display region, and sometimes you want to deal with the whole window at once, particularly for issuing clear commands and capturing screenshots.

Inheritance:

    DrawableRegion:

Methods of DrawableRegion:

    disableClears
    getClearActive
    getClearColor
    getClearColorActive
    getClearDepth
    getClearDepthActive
    getClearStencil
    getClearStencilActive
    getClearValue
    getPixelFactor
    getPixelZoom
    getRenderbufferType
    isAnyClearActive
    setClearActive
    setClearColor
    setClearColorActive
    setClearDepth
    setClearDepthActive
    setClearStencil
    setClearStencilActive
    setClearValue
    setPixelZoom
    supportsPixelZoom

Constants in DrawableRegion:

    RTPStencil | (RenderTexturePlane)
RTPDepthStencil | (RenderTexturePlane)
RTPDepth | (RenderTexturePlane)
RTPColor | (RenderTexturePlane)
RTPAuxRgba0 | (RenderTexturePlane)
RTPAuxRgba1 | (RenderTexturePlane)
RTPAuxRgba2 | (RenderTexturePlane)
RTPAuxRgba3 | (RenderTexturePlane)
RTPAuxHrgba0 | (RenderTexturePlane)
RTPAuxHrgba1 | (RenderTexturePlane)
RTPAuxHrgba2 | (RenderTexturePlane)
RTPAuxHrgba3 | (RenderTexturePlane)
RTPAuxFloat0 | (RenderTexturePlane)
RTPAuxFloat1 | (RenderTexturePlane)
RTPAuxFloat2 | (RenderTexturePlane)
RTPAuxFloat3 | (RenderTexturePlane)
RTPCOUNT | (RenderTexturePlane)
disableClears
void DrawableRegion::disable_clears(void);

Description: Disables both the color and depth clear. See set_clear_color_active and set_clear_depth_active.

getClearActive
bool DrawableRegion::get_clear_active(int n) const;

Description: Gets the clear-active flag for any bitplane.

getClearColor
LVecBase4f const &DrawableRegion::get_clear_color(void) const;

Description: Returns the current clear color value. This is the value that will be used to clear the color buffer every frame, but only if get_clear_color_active() returns true. If get_clear_color_active() returns false, this is meaningless.

getClearColorActive
bool DrawableRegion::get_clear_color_active(void) const;

Description: Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. See set_clear_color_active().

getClearDepth
float DrawableRegion::get_clear_depth(void) const;

Description: Returns the current clear depth value. This is the value that will be used to clear the depth buffer every frame, but only if get_clear_depth_active() returns true. If get_clear_depth_active() returns false, this is meaningless.

getClearDepthActive
bool DrawableRegion::get_clear_depth_active(void) const;

Description: Returns the current setting of the flag that indicates whether the depth buffer should be cleared every frame. See set_clear_depth_active().

getClearStencil
unsigned int DrawableRegion::get_clear_stencil(void) const;

Description: Returns the current clear stencil value. This is the value that will be used to clear the stencil buffer every frame, but only if get_clear_stencil_active() returns true. If get_clear_stencil_active() returns false, this is meaningless.

getClearStencilActive
bool DrawableRegion::get_clear_stencil_active(void) const;

Description: Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. See set_clear_stencil_active().

getClearValue
LVecBase4f const &DrawableRegion::get_clear_value(int n) const;

Description: Returns the clear value for any bitplane.

getPixelFactor
float DrawableRegion::get_pixel_factor(void) const;

Description: Returns the amount by which the height and width of the region will be scaled internally, based on the zoom factor set by set_pixel_zoom(). This will return 1.0 if the pixel_zoom was not set or if it is not being respected (for instance, because the underlying renderer doesn't support it--see supports_pixel_zoom).

getPixelZoom
float DrawableRegion::get_pixel_zoom(void) const;

Description: Returns the value set by set_pixel_zoom(), regardless of whether it is being respected or not. Also see get_pixel_factor().

getRenderbufferType
static int DrawableRegion::get_renderbuffer_type(int plane);

Description: Returns the RenderBuffer::Type that corresponds to a RenderTexturePlane.

isAnyClearActive
bool DrawableRegion::is_any_clear_active(void) const;

Description: Returns true if any of the clear types (so far there are just color or depth) have been set active, or false if none of them are active and there is no need to clear.

setClearActive
void DrawableRegion::set_clear_active(int n, bool clear_aux_active);

Description: Sets the clear-active flag for any bitplane.

setClearColor
void DrawableRegion::set_clear_color(LVecBase4f const &color);

Description: Sets the clear color to the indicated value. This is the value that will be used to clear the color buffer every frame, but only if get_clear_color_active() returns true. If get_clear_color_active() returns false, this is meaningless.

setClearColorActive
void DrawableRegion::set_clear_color_active(bool clear_color_active);

Description: Toggles the flag that indicates whether the color buffer should be cleared every frame. If this is true, the color buffer will be cleared to the color indicated by set_clear_color(); otherwise, it will be left alone.

setClearDepth
void DrawableRegion::set_clear_depth(float depth);

Description: Sets the clear depth to the indicated value. This is the value that will be used to clear the depth buffer every frame, but only if get_clear_depth_active() returns true. If get_clear_depth_active() returns false, this is meaningless.

setClearDepthActive
void DrawableRegion::set_clear_depth_active(bool clear_depth_active);

Description: Toggles the flag that indicates whether the depth buffer should be cleared every frame. If this is true, the depth buffer will be cleared to the depth value indicated by set_clear_depth(); otherwise, it will be left alone.

setClearStencil
void DrawableRegion::set_clear_stencil(unsigned int stencil);

Description: Sets the clear stencil to the indicated value. This is the value that will be used to clear the stencil buffer every frame, but only if get_clear_color_active() returns true. If get_clear_stencil_active() returns false, this is meaningless.

setClearStencilActive
void DrawableRegion::set_clear_stencil_active(bool clear_stencil_active);

Description: Toggles the flag that indicates whether the stencil buffer should be cleared every frame. If this is true, the stencil buffer will be cleared to the value indicated by set_clear_stencil(); otherwise, it will be left alone.

setClearValue
void DrawableRegion::set_clear_value(int n, LVecBase4f const &color);

Description: Sets the clear value for any bitplane.

setPixelZoom
void DrawableRegion::set_pixel_zoom(float pixel_zoom);

Description: Sets the amount by which the pixels of the region are scaled internally when filling the image interally. Setting this number larger makes the pixels blockier, but may make the rendering faster, particularly for software renderers. Setting this number to 2.0 reduces the number of pixels that have to be filled by the renderer by a factor of 2.0. It doesn't make sense to set this lower than 1.0.
It is possible to set this on either individual DisplayRegions or on overall GraphicsWindows, but you will get better performance for setting it on the window rather than its individual DisplayRegions. Also, you may not set it on a DisplayRegion that doesn't have both clear_color() and clear_depth() enabled.
This property is only supported on renderers for which it is particularly useful--currently, this is the tinydisplay software renderer. Other kinds of renderers allow you to set this property, but ignore it.

supportsPixelZoom
virtual bool DrawableRegion::supports_pixel_zoom(void) const;

Description: Returns true if a call to set_pixel_zoom() will be respected, false if it will be ignored. If this returns false, then get_pixel_factor() will always return 1.0, regardless of what value you specify for set_pixel_zoom().
This may return false if the underlying renderer doesn't support pixel zooming, or if you have called this on a DisplayRegion that doesn't have both set_clear_color() and set_clear_depth() enabled.


DrawMaskAttrib

    from pandac.PandaModules import DrawMaskAttrib
    Class : DrawMaskAttrib
    Description : This attrib can be used to control the visibility of certain Geoms from certain cameras. It is similar in principle to the PandaNode::set_draw_mask() interface, except it does not cause an early prune in the cull traversal; thus, it can be used to show a node even though its parent has been hidden (if the parent was hidden using the same interface).
    It is mainly useful for unusual circumstances in which the visibility of a node is not easy to determine from examining the static hierarchy of the graph.

Inheritance:

    DrawMaskAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of DrawMaskAttrib:

    getBitsToChange
    getClassType
    getNewMask
    make
    makeHide
    makeShow

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getBitsToChange
BitMask< unsigned int, 32 > DrawMaskAttrib::get_bits_to_change(void) const;

Description: Returns the set of bits that will be allowed to be changed by this DrawMaskAttrib.

getClassType
static TypeHandle DrawMaskAttrib::get_class_type(void);

Undocumented function.

getNewMask
BitMask< unsigned int, 32 > DrawMaskAttrib::get_new_mask(void) const;

Description: Returns the new DrawMask that will be set after the attrib has been applied.

make
static ConstPointerTo< RenderAttrib > DrawMaskAttrib::make(BitMask< unsigned int, 32 > new_mask, BitMask< unsigned int, 32 > bits_to_change);

Description: Constructs a new DrawMaskAttrib that changes the bits_to_change bits in the current DrawMask to the values of the corresponding bits in new_mask. Only those bits in common with bits_to_change are affected.

makeHide
static ConstPointerTo< RenderAttrib > DrawMaskAttrib::make_hide(BitMask< unsigned int, 32 > draw_mask = ((all_on())));

Description: Constructs a new DrawMaskAttrib that removes the indicated draw bits from the visibility mask. That is, it makes any nodes invisible to cameras that have any bits in common with draw_mask. This is similar to (but not quite identical to) NodePath.hide(draw_mask).

makeShow
static ConstPointerTo< RenderAttrib > DrawMaskAttrib::make_show(BitMask< unsigned int, 32 > draw_mask = ((all_on())));

Description: Constructs a new DrawMaskAttrib that adds the indicated draw bits to the visibility mask. That is, it makes any nodes visible to cameras that have any bits in common with draw_mask. This is similar to (but not quite identical to) NodePath.show(draw_mask).

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


DriveInterface

    from pandac.PandaModules import DriveInterface
    Class : DriveInterface
    Description : This is a TFormer, similar to Trackball, that moves around a transform matrix in response to mouse input. The basic motion is on a horizontal plane, as if driving a vehicle.

Inheritance:

    DriveInterface: MouseInterfaceNode
    MouseInterfaceNode: DataNode
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of DriveInterface:

    DriveInterface (Constructor)
    forceDgraph
    getClassType
    getForceMouse
    getForwardSpeed
    getH
    getHorizontalDeadZone
    getHorizontalRampDownTime
    getHorizontalRampUpTime
    getHpr
    getIgnoreMouse
    getMat
    getP
    getPos
    getR
    getReverseSpeed
    getRotateSpeed
    getRotSpeed
    getSpeed
    getStopThisFrame
    getVerticalDeadZone
    getVerticalRampDownTime
    getVerticalRampUpTime
    getX
    getY
    getZ
    reset
    setForceMouse
    setForceRoll
    setForwardSpeed
    setH
    setHorizontalDeadZone
    setHorizontalRampDownTime
    setHorizontalRampUpTime
    setHpr
    setIgnoreMouse
    setMat
    setP
    setPos
    setR
    setReverseSpeed
    setRotateSpeed
    setStopThisFrame
    setVerticalDeadZone
    setVerticalRampDownTime
    setVerticalRampUpTime
    setX
    setY
    setZ

Methods of MouseInterfaceNode:

    clearAllButtons
    clearButton
    getClassType
    requireButton

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
DriveInterface
DriveInterface::DriveInterface(string const &name = (""));

Description:

forceDgraph
void DriveInterface::force_dgraph(void);

Description: This is a special kludge for DriveInterface to allow us to avoid the one-frame latency after a collision. It forces an immediate partial data flow for all data graph nodes below this node, causing all data nodes that depend on this matrix to be updated immediately.

getClassType
static TypeHandle DriveInterface::get_class_type(void);

Undocumented function.

getForceMouse
bool DriveInterface::get_force_mouse(void) const;

Description: Returns the current setting of the force_mouse flag. See set_force_mouse().

getForwardSpeed
float DriveInterface::get_forward_speed(void) const;

Description: Returns the speed of full forward motion, when the mouse is at the very top of the window. This is in units (e.g. feet) per second.

getH
float DriveInterface::get_h(void) const;

Undocumented function.

getHorizontalDeadZone
float DriveInterface::get_horizontal_dead_zone(void) const;

Description: Returns the size of the vertical bar in the center of the screen that represents the "dead zone" of horizontal motion: the region in which the mouse does not report horizontal motion. This is in a fraction of the window width, so 0.5 will set a dead zone as large as half the screen.

getHorizontalRampDownTime
float DriveInterface::get_horizontal_ramp_down_time(void) const;

Description: Returns the amount of time, in seconds, it takes between the time a left or right arrow key is released and the time it registers no motion.

getHorizontalRampUpTime
float DriveInterface::get_horizontal_ramp_up_time(void) const;

Description: Returns the amount of time, in seconds, it takes between the time a left or right arrow key is pressed and the time it registers full rotation.

getHpr
LVecBase3f const &DriveInterface::get_hpr(void) const;

**** Rotation ****
Description: Returns the driver's orientation.

getIgnoreMouse
bool DriveInterface::get_ignore_mouse(void) const;

Description: Returns the current setting of the ignore_mouse flag. See set_ignore_mouse().

getMat
LMatrix4f const &DriveInterface::get_mat(void);

Description: Returns the current transform.

getP
float DriveInterface::get_p(void) const;

Undocumented function.

getPos
LPoint3f const &DriveInterface::get_pos(void) const;

**** Translation ****
Description: Returns the driver's position.

getR
float DriveInterface::get_r(void) const;

Undocumented function.

getReverseSpeed
float DriveInterface::get_reverse_speed(void) const;

Description: Returns the speed of full reverse motion, when the mouse is at the very bottom of the window. This is in units (e.g. feet) per second.

getRotateSpeed
float DriveInterface::get_rotate_speed(void) const;

Description: Returns the maximum rate at which the user can rotate left or right, when the mouse is at the very edge of the window. This is in degrees per second.

getRotSpeed
float DriveInterface::get_rot_speed(void) const;

Description: Returns the rot_speed of the previous update in units/sec

getSpeed
float DriveInterface::get_speed(void) const;

Description: Returns the speed of the previous update in units/sec

getStopThisFrame
bool DriveInterface::get_stop_this_frame(void) const;

Description: Returns the current setting of the stop_this_frame flag. See set_stop_this_frame().

getVerticalDeadZone
float DriveInterface::get_vertical_dead_zone(void) const;

Description: Returns the size of the horizontal bar in the center of the screen that represents the "dead zone" of vertical motion: the region in which the mouse does not report vertical motion. This is in a fraction of the window height, so 0.5 will set a dead zone as large as half the screen.

getVerticalRampDownTime
float DriveInterface::get_vertical_ramp_down_time(void) const;

Description: Returns the amount of time, in seconds, it takes between the time an up or down arrow key is released and the time it registers no motion.

getVerticalRampUpTime
float DriveInterface::get_vertical_ramp_up_time(void) const;

Description: Returns the amount of time, in seconds, it takes between the time an up or down arrow key is pressed and the time it registers full forward or backward motion.

getX
float DriveInterface::get_x(void) const;

Undocumented function.

getY
float DriveInterface::get_y(void) const;

Undocumented function.

getZ
float DriveInterface::get_z(void) const;

Undocumented function.

reset
void DriveInterface::reset(void);

Description: Reinitializes the driver to the origin and resets any knowledge about buttons being held down.

setForceMouse
void DriveInterface::set_force_mouse(bool force_mouse);

Description: Changes the state of the force_mouse flag. If this flag is true, the mouse button need not be held down in order to drive the avatar around.

setForceRoll
void DriveInterface::set_force_roll(float force_roll);

Description: This function is no longer used and does nothing. It will be removed soon.

setForwardSpeed
void DriveInterface::set_forward_speed(float speed);

Description: Sets the speed of full forward motion, when the mouse is at the very top of the window. This is in units (e.g. feet) per second.

setH
void DriveInterface::set_h(float h);

Undocumented function.

setHorizontalDeadZone
void DriveInterface::set_horizontal_dead_zone(float zone);

Description: Sets the size of the vertical bar in the center of the screen that represents the "dead zone" of horizontal motion: the region in which the mouse does not report horizontal motion. This is in a fraction of the window width, so 0.5 will set a dead zone as large as half the screen.

setHorizontalRampDownTime
void DriveInterface::set_horizontal_ramp_down_time(float ramp_down_time);

Description: Sets the amount of time, in seconds, it takes between the time a left or right arrow key is released and the time it registers no motion.

setHorizontalRampUpTime
void DriveInterface::set_horizontal_ramp_up_time(float ramp_up_time);

Description: Sets the amount of time, in seconds, it takes between the time a left or right arrow key is pressed and the time it registers full rotation.

setHpr
void DriveInterface::set_hpr(LVecBase3f const &hpr);

Description: Directly sets the driver's orientation.

setIgnoreMouse
void DriveInterface::set_ignore_mouse(bool ignore_mouse);

Description: Changes the state of the ignore_mouse flag. If this flag is true, the DriveInterface will ignore mouse down button events (but still recognize mouse up button events); the user will not be able to start the DriveInterface going again if it is stopped, but if the user is currently holding down a mouse button it will not stop immediately until the user eventually releases the button.

setMat
void DriveInterface::set_mat(LMatrix4f const &mat);

Description: Stores the indicated transform in the DriveInterface.

setP
void DriveInterface::set_p(float p);

Undocumented function.

setPos
void DriveInterface::set_pos(LVecBase3f const &vec);

Description: Directly sets the driver's position.

setR
void DriveInterface::set_r(float r);

Undocumented function.

setReverseSpeed
void DriveInterface::set_reverse_speed(float speed);

Description: Sets the speed of full reverse motion, when the mouse is at the very bottom of the window. This is in units (e.g. feet) per second.

setRotateSpeed
void DriveInterface::set_rotate_speed(float speed);

Description: Sets the maximum rate at which the user can rotate left or right, when the mouse is at the very edge of the window. This is in degrees per second.

setStopThisFrame
void DriveInterface::set_stop_this_frame(bool stop_this_frame);

Description: If stop_this_frame is true, the next time the frame is computed no motion will be allowed, and then the flag is reset to false. This can be used to prevent too much movement when we know a long time has artificially elapsed, for instance when we take a screenshot, without munging the clock for everything else.

setVerticalDeadZone
void DriveInterface::set_vertical_dead_zone(float zone);

Description: Sets the size of the horizontal bar in the center of the screen that represents the "dead zone" of vertical motion: the region in which the mouse does not report vertical motion. This is in a fraction of the window height, so 0.5 will set a dead zone as large as half the screen.

setVerticalRampDownTime
void DriveInterface::set_vertical_ramp_down_time(float ramp_down_time);

Description: Sets the amount of time, in seconds, it takes between the time an up or down arrow key is released and the time it registers no motion.

setVerticalRampUpTime
void DriveInterface::set_vertical_ramp_up_time(float ramp_up_time);

Description: Sets the amount of time, in seconds, it takes between the time an up or down arrow key is pressed and the time it registers full forward or backward motion.

setX
void DriveInterface::set_x(float x);

Undocumented function.

setY
void DriveInterface::set_y(float y);

Undocumented function.

setZ
void DriveInterface::set_z(float z);

Undocumented function.

clearAllButtons
void MouseInterfaceNode::clear_all_buttons(void);

Description: Removes all requirements on buttons set by an earlier call to require_button().

clearButton
void MouseInterfaceNode::clear_button(ButtonHandle const &button);

Description: Removes any requirement on the indicated button set by an earlier call to require_button().

getClassType
static TypeHandle MouseInterfaceNode::get_class_type(void);

Undocumented function.

requireButton
void MouseInterfaceNode::require_button(ButtonHandle const &button, bool is_down);

Description: Indicates that the indicated button must be in the required state (either up or down) in order for this particular MouseInterfaceNode to do anything. For instance, this may be called to make a Trackball object respect mouse input only when the control key is held down.

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


DSearchPath

    from pandac.PandaModules import DSearchPath
    Class : DSearchPath
    Description : This class stores a list of directories that can be searched, in order, to locate a particular file. It is normally constructed by passing it a traditional searchpath-style string, e.g. a list of directory names delimited by spaces or colons, but it can also be built up explicitly.

Inheritance:

    DSearchPath:

Methods of DSearchPath:

    DSearchPath (Constructor)
    appendDirectory
    appendPath
    clear
    findAllFiles
    findFile
    getDirectory
    getNumDirectories
    isEmpty
    operator =
    output
    prependDirectory
    prependPath
    searchPath
    write
DSearchPath
DSearchPath::DSearchPath(void);

Undocumented function.

appendDirectory
void DSearchPath::append_directory(Filename const &directory);

Undocumented function.

appendPath
void DSearchPath::append_path(string const &path, string const &separator = ((string())));

Undocumented function.

clear
void DSearchPath::clear(void);

Undocumented function.

findAllFiles
int DSearchPath::find_all_files(Filename const &filename, DSearchPath::Results &results) const;

Undocumented function.

findFile
Filename DSearchPath::find_file(Filename const &filename) const;

Undocumented function.

getDirectory
Filename const &DSearchPath::get_directory(int n) const;

Undocumented function.

getNumDirectories
int DSearchPath::get_num_directories(void) const;

Undocumented function.

isEmpty
bool DSearchPath::is_empty(void) const;

Undocumented function.

operator =
void DSearchPath::operator =(DSearchPath const &copy);

Undocumented function.

output
void DSearchPath::output(ostream &out, string const &separator = ((string()))) const;

Undocumented function.

prependDirectory
void DSearchPath::prepend_directory(Filename const &directory);

Undocumented function.

prependPath
void DSearchPath::prepend_path(DSearchPath const &path);

Undocumented function.

searchPath
static Filename DSearchPath::search_path(Filename const &filename, string const &path, string const &separator = ((string())));

Description: A quick-and-easy way to search a searchpath for a file when you don't feel like building or keeping around a DSearchPath object. This simply constructs a temporary DSearchPath based on the indicated path string, and searches that.

write
void DSearchPath::write(ostream &out, int indent_level = (0)) const;

Undocumented function.


DummyClusterClient

    from direct.cluster.ClusterClient import DummyClusterClient
    Dummy class to handle command strings when not in cluster mode

Inheritance:

    DummyClusterClient:

Methods of DummyClusterClient:

    __call__
    __init__
__call__
def __call__(self, commandString, fLocally=1, serverList=None)

Undocumented function.

__init__
def __init__(self)

Undocumented function.


DynamicTextFont

    from pandac.PandaModules import DynamicTextFont
    Class : DynamicTextFont
    Description : A DynamicTextFont is a special TextFont object that rasterizes its glyphs from a standard font file (e.g. a TTF file) on the fly. It requires the FreeType 2.0 library (or any higher, backward-compatible version).

Inheritance:

    DynamicTextFont: TextFont FreetypeFont
    TextFont: TypedReferenceCount Namable
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    FreetypeFont: Namable

Methods of DynamicTextFont:

    DynamicTextFont (Constructor)
    clear
    garbageCollect
    getAnisotropicDegree
    getClassType
    getFontPixelSize
    getLineHeight
    getMagfilter
    getMinfilter
    getName
    getNativeAntialias
    getNumPages
    getPage
    getPageXSize
    getPageYSize
    getPixelsPerUnit
    getPointSize
    getPolyMargin
    getRenderMode
    getScaleFactor
    getSpaceAdvance
    getTextureMargin
    getWindingOrder
    setAnisotropicDegree
    setMagfilter
    setMinfilter
    setNativeAntialias
    setPageSize
    setPixelsPerUnit
    setPointSize
    setPolyMargin
    setRenderMode
    setScaleFactor
    setTextureMargin
    setWindingOrder
    write

Methods of TextFont:

    getClassType
    getLineHeight
    getSpaceAdvance
    isValid
    setLineHeight
    setSpaceAdvance
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of FreetypeFont:

    getFontPixelSize
    getLineHeight
    getNativeAntialias
    getPixelSize
    getPixelsPerUnit
    getPointSize
    getPointsPerInch
    getPointsPerUnit
    getScaleFactor
    getSpaceAdvance
    setNativeAntialias
    setPixelSize
    setPixelsPerUnit
    setPointSize
    setScaleFactor

Constants in TextFont:

    RMTexture | (RenderMode)
RMWireframe | (RenderMode)
RMPolygon | (RenderMode)
RMExtruded | (RenderMode)
RMSolid | (RenderMode)
RMInvalid | (RenderMode)
WODefault | (WindingOrder)
WOLeft | (WindingOrder)
WORight | (WindingOrder)
WOInvalid | (WindingOrder)
DynamicTextFont
DynamicTextFont::DynamicTextFont(Filename const &font_filename, int face_index = (0));

Description: The constructor expects the name of some font file that FreeType can read, along with face_index, indicating which font within the file to load (usually 0).
Description: This constructor accepts a table of data representing the font file, loaded from some source other than a filename on disk.

clear
void DynamicTextFont::clear(void);

Description: Drops all the glyphs out of the cache and frees any association with any previously-generated pages.
Calling this frequently can result in wasted texture memory, as any previously rendered text will still keep a pointer to the old, previously-generated pages. As long as the previously rendered text remains around, the old pages will also remain around.

garbageCollect
int DynamicTextFont::garbage_collect(void);

Description: Removes all of the glyphs from the font that are no longer being used by any Geoms. Returns the number of glyphs removed.

getAnisotropicDegree
int DynamicTextFont::get_anisotropic_degree(void) const;

Description: Returns the current anisotropic degree for textures created for this font. See set_anisotropic_degree().

getClassType
static TypeHandle DynamicTextFont::get_class_type(void);

Undocumented function.

getFontPixelSize
int DynamicTextFont::get_font_pixel_size(void) const;

Description: This is used to report whether the requested pixel size is being only approximated by a fixed-pixel-size font. This returns 0 in the normal case, in which a scalable font is used, or the fixed-pixel-size font has exactly the requested pixel size.
If this returns non-zero, it is the pixel size of the font that we are using to approximate our desired size.

getLineHeight
float DynamicTextFont::get_line_height(void) const;

Description: Returns the number of units high each line of text is.

getMagfilter
Texture::FilterType DynamicTextFont::get_magfilter(void) const;

Description: Returns the filter type used when enlarging the textures created for this font.

getMinfilter
Texture::FilterType DynamicTextFont::get_minfilter(void) const;

Description: Returns the filter type used when minimizing the textures created for this font.

getName
string const &DynamicTextFont::get_name(void) const;

Description: Disambiguates the get_name() method between that inherited from TextFont and that inherited from FreetypeFont.

getNativeAntialias
bool DynamicTextFont::get_native_antialias(void) const;

Description: Returns whether Freetype's built-in antialias mode is enabled. See set_native_antialias().

getNumPages
int DynamicTextFont::get_num_pages(void) const;

Description: Returns the number of pages associated with the font. Initially, the font has zero pages; when the first piece of text is rendered with the font, it will add additional pages as needed. Each page is a Texture object that contains the images for each of the glyphs currently in use somewhere.

getPage
DynamicTextPage *DynamicTextFont::get_page(int n) const;

Description: Returns the nth page associated with the font. Initially, the font has zero pages; when the first piece of text is rendered with the font, it will add additional pages as needed. Each page is a Texture object that contains the images for each of the glyphs currently in use somewhere.

getPageXSize
int DynamicTextFont::get_page_x_size(void) const;

Description: Returns the x size of the textures that are created for the DynamicTextFont. See set_page_size().

getPageYSize
int DynamicTextFont::get_page_y_size(void) const;

Description: Returns the y size of the textures that are created for the DynamicTextFont. See set_page_size().

getPixelsPerUnit
float DynamicTextFont::get_pixels_per_unit(void) const;

Description: Returns the resolution of the texture map. See set_pixels_per_unit().

getPointSize
float DynamicTextFont::get_point_size(void) const;

Description: Returns the point size of the font.

getPolyMargin
float DynamicTextFont::get_poly_margin(void) const;

Description: Returns the number of pixels of padding that is included around each glyph in the generated polygons. See set_poly_margin().

getRenderMode
TextFont::RenderMode DynamicTextFont::get_render_mode(void) const;

Description: Returns the way the glyphs on this particular font are generated. See set_render_mode().

getScaleFactor
float DynamicTextFont::get_scale_factor(void) const;

Description: Returns the antialiasing scale factor. See set_scale_factor().

getSpaceAdvance
float DynamicTextFont::get_space_advance(void) const;

Description: Returns the number of units wide a space is.

getTextureMargin
int DynamicTextFont::get_texture_margin(void) const;

Description: Returns the number of pixels of padding that is added around the border of each glyph in the texture map. See set_texture_margin().

getWindingOrder
TextFont::WindingOrder DynamicTextFont::get_winding_order(void) const;

Description: Returns the winding order set via set_winding_order().

setAnisotropicDegree
void DynamicTextFont::set_anisotropic_degree(int anisotropic_degree);

Description: Enables or disables anisotropic filtering on the textures created for this font. The default value is usually 1, or off. See
Texture::set_anisotropic_degree().

setMagfilter
void DynamicTextFont::set_magfilter(Texture::FilterType filter);

Description: Sets the filter type used when enlarging the textures created for this font.

setMinfilter
void DynamicTextFont::set_minfilter(Texture::FilterType filter);

Description: Sets the filter type used when minimizing the textures created for this font.

setNativeAntialias
void DynamicTextFont::set_native_antialias(bool native_antialias);

Description: Sets whether the Freetype library's built-in antialias mode is enabled. There are two unrelated ways to achieve antialiasing: with Freetype's native antialias mode, and with the use of a scale_factor greater than one. By default, both modes are enabled.
At low resolutions, some fonts may do better with one mode or the other. In general, Freetype's native antialiasing will produce less blurry results, but may introduce more artifacts.

setPageSize
void DynamicTextFont::set_page_size(int x_size, int y_size);

Description: Sets the x, y size of the textures that are created for the DynamicTextFont.

setPixelsPerUnit
bool DynamicTextFont::set_pixels_per_unit(float pixels_per_unit);

Description: Set the resolution of the texture map, and hence the clarity of the resulting font. This sets the number of pixels in the texture map that are used for each onscreen unit.
Setting this number larger results in an easier to read font, but at the cost of more texture memory.
This should only be called before any characters have been requested out of the font, or immediately after calling clear().

setPointSize
bool DynamicTextFont::set_point_size(float point_size);

Description: Sets the point size of the font. This controls the apparent size of the font onscreen. By convention, a 10 point font is about 1 screen unit high.
This should only be called before any characters have been requested out of the font, or immediately after calling clear().

setPolyMargin
void DynamicTextFont::set_poly_margin(float poly_margin);

Description: Sets the number of pixels of padding that is included around each glyph in the generated polygons. This helps prevent the edges of the glyphs from being cut off at small minifications. It is not related to the amount of extra pixels reserved in the texture map (but it should be set somewhat smaller than this number, which is controlled by set_texture_margin(), to prevent bleed-in from neighboring letters in the texture).

setRenderMode
void DynamicTextFont::set_render_mode(TextFont::RenderMode render_mode);

Description: Specifies the way the glyphs on this particular font are generated. The default is RM_texture, which is the only mode supported for bitmap fonts. Other modes are possible for most modern fonts.

setScaleFactor
bool DynamicTextFont::set_scale_factor(float scale_factor);

Description: Sets the factor by which the font is rendered larger by the FreeType library before being filtered down to its actual size in the texture as specified by set_pixels_per_unit(). This may be set to a number larger than 1.0 to improve the font's antialiasing (since FreeType doesn't really do a swell job of antialiasing by itself). There is some performance implication for setting this different than 1.0, but it is probably small.
This should only be called before any characters have been requested out of the font, or immediately after calling clear().

setTextureMargin
void DynamicTextFont::set_texture_margin(int texture_margin);

Description: Sets the number of pixels of padding that is added around the border of each glyph before adding it to the texture map. This reduces the bleed in from neighboring glyphs in the texture map.

setWindingOrder
void DynamicTextFont::set_winding_order(TextFont::WindingOrder winding_order);

Description: Specifies an explicitly winding order on this particular font. This is only necessary if the render_mode is RM_polygon or RM_solid, and only if FreeType appears to guess wrong on this font. Normally, you should leave this at WO_default.

write
virtual void DynamicTextFont::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TextFont::get_class_type(void);

Undocumented function.

getLineHeight
float TextFont::get_line_height(void) const;

Description: Returns the number of units high each line of text is.

getSpaceAdvance
float TextFont::get_space_advance(void) const;

Description: Returns the number of units wide a space is.

isValid
bool TextFont::is_valid(void) const;

Description: Returns true if the font is valid and ready to use, false otherwise.

setLineHeight
void TextFont::set_line_height(float line_height);

Description: Changes the number of units high each line of text is.

setSpaceAdvance
void TextFont::set_space_advance(float space_advance);

Description: Changes the number of units wide a space is.

write
virtual void TextFont::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getFontPixelSize
int FreetypeFont::get_font_pixel_size(void) const;

Description: This is used to report whether the requested pixel size is being only approximated by a fixed-pixel-size font. This returns 0 in the normal case, in which a scalable font is used, or the fixed-pixel-size font has exactly the requested pixel size.
If this returns non-zero, it is the pixel size of the font that we are using to approximate our desired size.

getLineHeight
float FreetypeFont::get_line_height(void) const;

Description: Returns the number of units high each line of text is.

getNativeAntialias
bool FreetypeFont::get_native_antialias(void) const;

Description: Returns whether Freetype's built-in antialias mode is enabled. See set_native_antialias().

getPixelSize
float FreetypeFont::get_pixel_size(void) const;

Description: Returns the size of the font in pixels, as it appears in the texture.

getPixelsPerUnit
float FreetypeFont::get_pixels_per_unit(void) const;

Description: Returns the resolution of the texture map. See set_pixels_per_unit().

getPointSize
float FreetypeFont::get_point_size(void) const;

Description: Returns the point size of the font.

getPointsPerInch
static float FreetypeFont::get_points_per_inch(void);

Description: Returns the number of points in one inch. This is a universal typographic convention.

getPointsPerUnit
static float FreetypeFont::get_points_per_unit(void);

Description: Returns the point size of the font that is one Panda unit high. This is an arbitrary Panda convention for text, and is set to 10.0.

getScaleFactor
float FreetypeFont::get_scale_factor(void) const;

Description: Returns the antialiasing scale factor. See set_scale_factor().

getSpaceAdvance
float FreetypeFont::get_space_advance(void) const;

Description: Returns the number of units wide a space is.

setNativeAntialias
void FreetypeFont::set_native_antialias(bool native_antialias);

Description: Sets whether the Freetype library's built-in antialias mode is enabled. There are two unrelated ways to achieve antialiasing: with Freetype's native antialias mode, and with the use of a scale_factor greater than one. By default, both modes are enabled.
At low resolutions, some fonts may do better with one mode or the other. In general, Freetype's native antialiasing will produce less blurry results, but may introduce more artifacts.

setPixelSize
bool FreetypeFont::set_pixel_size(float pixel_size);

Description: Computes the appropriate pixels_per_unit value to set the size of the font in the texture to the indicated number of pixels. This is just another way to specify pixels_per_unit().

setPixelsPerUnit
bool FreetypeFont::set_pixels_per_unit(float pixels_per_unit);

Description: Set the resolution of the texture map, and hence the clarity of the resulting font. This sets the number of pixels in the texture map that are used for each onscreen unit.
Setting this number larger results in an easier to read font, but at the cost of more texture memory.
This should only be called before any characters have been requested out of the font, or immediately after calling clear().

setPointSize
bool FreetypeFont::set_point_size(float point_size);

Description: Sets the point size of the font. This controls the apparent size of the font onscreen. By convention, a 10 point font is about 1 screen unit high.
This should only be called before any characters have been requested out of the font, or immediately after calling clear().

setScaleFactor
bool FreetypeFont::set_scale_factor(float scale_factor);

Description: Sets the factor by which the font is rendered larger by the FreeType library before being filtered down to its actual size in the texture as specified by set_pixels_per_unit(). This may be set to a number larger than 1.0 to improve the font's antialiasing (since FreeType doesn't really do a swell job of antialiasing by itself). There is some performance implication for setting this different than 1.0.
This should only be called before any characters have been requested out of the font, or immediately after calling clear().


DynamicTextPage

    from pandac.PandaModules import DynamicTextPage
    Class : DynamicTextPage
    Description : A single "page" of a DynamicTextFont. This is a single texture that holds a number of glyphs for rendering. The font starts out with one page, and will add more as it needs them.

Inheritance:

    DynamicTextPage: Texture
    Texture: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of DynamicTextPage:

    getClassType
    isEmpty

Methods of Texture:

    Texture (Constructor)
    clear
    clearAlphaFilename
    clearAlphaFullpath
    clearAuxData
    clearFilename
    clearFullpath
    clearRamImage
    clearRamMipmapImage
    clearRamMipmapImages
    estimateTextureMemory
    generateAlphaScaleMap
    generateNormalizationCubeMap
    generateRamMipmapImages
    getAlphaFilename
    getAlphaFullpath
    getAnisotropicDegree
    getAuxData
    getBorderColor
    getClassType
    getComponentType
    getComponentWidth
    getCompression
    getExpectedMipmapXSize
    getExpectedMipmapYSize
    getExpectedMipmapZSize
    getExpectedNumMipmapLevels
    getExpectedRamImageSize
    getExpectedRamMipmapImageSize
    getExpectedRamMipmapPageSize
    getExpectedRamPageSize
    getFilename
    getFormat
    getFullpath
    getImageModified
    getKeepRamImage
    getLoadedFromImage
    getLoadedFromTxo
    getMagfilter
    getMatchFramebufferFormat
    getMinfilter
    getNumComponents
    getNumRamMipmapImages
    getPadXSize
    getPadYSize
    getPadZSize
    getPropertiesModified
    getQualityLevel
    getRamImage
    getRamImageCompression
    getRamImageSize
    getRamMipmapImage
    getRamMipmapImageSize
    getRamMipmapPageSize
    getRamPageSize
    getRenderToTexture
    getTexturesPower2
    getTextureType
    getWrapU
    getWrapV
    getWrapW
    getXSize
    getYSize
    getZSize
    hasAllRamMipmapImages
    hasAlphaFilename
    hasAlphaFullpath
    hasFilename
    hasFullpath
    hasRamImage
    hasRamMipmapImage
    haveTexturesPower2
    isMipmap
    isPrepared
    load
    loadRelated
    makeCopy
    makeRamImage
    makeRamMipmapImage
    mightHaveRamImage
    modifyRamImage
    modifyRamMipmapImage
    prepare
    prepareNow
    read
    readTxo
    release
    releaseAll
    reload
    setAlphaFilename
    setAlphaFullpath
    setAnisotropicDegree
    setAuxData
    setBorderColor
    setComponentType
    setCompression
    setFilename
    setFormat
    setFullpath
    setKeepRamImage
    setLoadedFromImage
    setLoadedFromTxo
    setMagfilter
    setMatchFramebufferFormat
    setMinfilter
    setPadSize
    setQualityLevel
    setRamImage
    setRamMipmapImage
    setRenderToTexture
    setSizePadded
    setTexturesPower2
    setup1dTexture
    setup2dTexture
    setup3dTexture
    setupCubeMap
    setupTexture
    setWrapU
    setWrapV
    setWrapW
    setXSize
    setYSize
    setZSize
    store
    usesMipmaps
    write
    writeTxo

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in Texture:

    TT1dTexture | (TextureType)
TT2dTexture | (TextureType)
TT3dTexture | (TextureType)
TTCubeMap | (TextureType)
TUnsignedByte | (ComponentType)
TUnsignedShort | (ComponentType)
TFloat | (ComponentType)
FDepthStencil | (Format)
FDepthComponent | (Format)
FColorIndex | (Format)
FRed | (Format)
FGreen | (Format)
FBlue | (Format)
FAlpha | (Format)
FRgb | (Format)
FRgb5 | (Format)
FRgb8 | (Format)
FRgb12 | (Format)
FRgb332 | (Format)
FRgba | (Format)
FRgbm | (Format)
FRgba4 | (Format)
FRgba5 | (Format)
FRgba8 | (Format)
FRgba12 | (Format)
FLuminance | (Format)
FLuminanceAlpha | (Format)
FLuminanceAlphamask | (Format)
FRgba16 | (Format)
FRgba32 | (Format)
FTNearest | (FilterType)
FTLinear | (FilterType)
FTNearestMipmapNearest | (FilterType)
FTLinearMipmapNearest | (FilterType)
FTNearestMipmapLinear | (FilterType)
FTLinearMipmapLinear | (FilterType)
FTShadow | (FilterType)
FTDefault | (FilterType)
FTInvalid | (FilterType)
WMClamp | (WrapMode)
WMRepeat | (WrapMode)
WMMirror | (WrapMode)
WMMirrorOnce | (WrapMode)
WMBorderColor | (WrapMode)
WMInvalid | (WrapMode)
CMDefault | (CompressionMode)
CMOff | (CompressionMode)
CMOn | (CompressionMode)
CMFxt1 | (CompressionMode)
CMDxt1 | (CompressionMode)
CMDxt2 | (CompressionMode)
CMDxt3 | (CompressionMode)
CMDxt4 | (CompressionMode)
CMDxt5 | (CompressionMode)
QLDefault | (QualityLevel)
QLFastest | (QualityLevel)
QLNormal | (QualityLevel)
QLBest | (QualityLevel)
getClassType
static TypeHandle DynamicTextPage::get_class_type(void);

Undocumented function.

isEmpty
bool DynamicTextPage::is_empty(void) const;

Description: Returns true if the page has no glyphs, false otherwise.

Texture
Texture::Texture(string const &name = ((string())));

Description: Constructs an empty texture. The default is to set up the texture as an empty 2-d texture; follow up with one of the variants of setup_texture() if this is not what you want.
Description: Use Texture::make_copy() to make a duplicate copy of an existing Texture.

clear
virtual void Texture::clear(void);

Description: Reinitializes the texture to its default, empty state.

clearAlphaFilename
void Texture::clear_alpha_filename(void);

Description: Removes the alpha filename, if it was previously set. See set_alpha_filename().

clearAlphaFullpath
void Texture::clear_alpha_fullpath(void);

Description: Removes the alpha fullpath, if it was previously set. See set_alpha_fullpath().

clearAuxData
void Texture::clear_aux_data(string const &key);

Description: Removes a record previously recorded via set_aux_data().

clearFilename
void Texture::clear_filename(void);

These are published, but in general, you shouldn't be mucking with these values; they are set automatically when a texture is loaded.
Description: Removes the alpha filename, if it was previously set. See set_filename().

clearFullpath
void Texture::clear_fullpath(void);

Description: Removes the alpha fullpath, if it was previously set. See set_fullpath().

clearRamImage
void Texture::clear_ram_image(void);

Description: Discards the current system-RAM image.

clearRamMipmapImage
void Texture::clear_ram_mipmap_image(int n);

Description: Discards the current system-RAM image for the nth mipmap level.

clearRamMipmapImages
void Texture::clear_ram_mipmap_images(void);

Description: Discards the current system-RAM image for all mipmap levels, except level 0 (the base image).

estimateTextureMemory
unsigned int Texture::estimate_texture_memory(void) const;

Description: Estimates the amount of texture memory that will be consumed by loading this texture. This returns a value that is not specific to any particular graphics card or driver; it tries to make a reasonable assumption about how a driver will load the texture. It does not account for texture compression or anything fancy. This is mainly useful for debugging and reporting purposes.
Returns a value in bytes.

generateAlphaScaleMap
void Texture::generate_alpha_scale_map(void);

Description: Generates a special 256x1 1-d texture that can be used to apply an arbitrary alpha scale to objects by judicious use of texture matrix. The texture is a gradient, with an alpha of 0 on the left (U = 0), and 255 on the right (U = 1).

generateNormalizationCubeMap
void Texture::generate_normalization_cube_map(int size);

Description: Generates a special cube map image in the texture that can be used to apply bump mapping effects: for each texel in the cube map that is indexed by the 3-d texture coordinates (x, y, z), the resulting value is the normalized vector (x, y, z) (compressed from
-1..1 into 0..1).

generateRamMipmapImages
void Texture::generate_ram_mipmap_images(void);

Description: Automatically fills in the n mipmap levels of the Texture, based on the texture's source image. This requires the texture's ram image to be available in system memory.
This call is not normally necessary, since the mipmap levels will be generated automatically if needed. But there may be certain cases in which you would like to call this explicitly.

getAlphaFilename
Filename const &Texture::get_alpha_filename(void) const;

Description: Returns the alpha_filename that has been set. If this is set, it represents the name of the alpha component, which is stored in a separate file. See also get_filename(), and get_alpha_fullpath().

getAlphaFullpath
Filename const &Texture::get_alpha_fullpath(void) const;

Description: Returns the alpha_fullpath that has been set. This is the full path to the alpha part of the image file as it was found along the texture search path.

getAnisotropicDegree
int Texture::get_anisotropic_degree(void) const;

Description: Returns the degree of anisotropic filtering that should be applied to the texture. Normally, this is 1, to indicate that anisotropic filtering should be disabled. If this is a number higher than 1, anisotropic filtering should be enabled (if the rendering backend supports it).

getAuxData
TypedReferenceCount *Texture::get_aux_data(string const &key) const;

Description: Returns a record previously recorded via set_aux_data(). Returns NULL if there was no record associated with the indicated key.

getBorderColor
LVecBase4f Texture::get_border_color(void) const;

Description: Returns the solid color of the texture's border. Some OpenGL implementations use a border for tiling textures; in Panda, it is only used for specifying the clamp color.

getClassType
static TypeHandle Texture::get_class_type(void);

Undocumented function.

getComponentType
Texture::ComponentType Texture::get_component_type(void) const;

Description: Returns the numeric interpretation of each component of the texture.

getComponentWidth
int Texture::get_component_width(void) const;

Description: Returns the number of bytes stored for each color component of a texel. Typically this is 1, but it may be 2 for 16-bit texels.

getCompression
Texture::CompressionMode Texture::get_compression(void) const;

Description: Returns the compression mode requested for this particular texture, or CM_off if the texture is not to be compressed.
If a value other than CM_off is returned, this is not a guarantee that the texture is actually successfully compressed on the GSG. It may be that the GSG does not support the requested compression mode, in which case the texture may actually be stored uncompressed in texture memory.

getExpectedMipmapXSize
int Texture::get_expected_mipmap_x_size(int n) const;

Description: Returns the x_size that the nth mipmap level should have, based on the texture's size.

getExpectedMipmapYSize
int Texture::get_expected_mipmap_y_size(int n) const;

Description: Returns the y_size that the nth mipmap level should have, based on the texture's size.

getExpectedMipmapZSize
int Texture::get_expected_mipmap_z_size(int n) const;

Description: Returns the z_size that the nth mipmap level should have, based on the texture's size.

getExpectedNumMipmapLevels
int Texture::get_expected_num_mipmap_levels(void) const;

Description: Returns the number of mipmap levels that should be defined for this texture, given the texture's size.
Note that this returns a number appropriate for mipmapping, even if the texture does not currently have mipmapping enabled.

getExpectedRamImageSize
unsigned int Texture::get_expected_ram_image_size(void) const;

Description: Returns the number of bytes that *ought* to be used by the in-memory image, based on the texture parameters.

getExpectedRamMipmapImageSize
unsigned int Texture::get_expected_ram_mipmap_image_size(int n) const;

Description: Returns the number of bytes that *ought* to be used by the in-memory image for mipmap level n, based on the texture parameters.

getExpectedRamMipmapPageSize
unsigned int Texture::get_expected_ram_mipmap_page_size(int n) const;

Description: Returns the number of bytes that should be used per each Z page of the 3-d texture, for mipmap level n. For a 2-d or 1-d texture, this is the same as get_expected_ram_mipmap_image_size(n).

getExpectedRamPageSize
unsigned int Texture::get_expected_ram_page_size(void) const;

Description: Returns the number of bytes that should be used per each Z page of the 3-d texture. For a 2-d or 1-d texture, this is the same as get_expected_ram_image_size().

getFilename
Filename const &Texture::get_filename(void) const;

Description: Returns the filename that has been set. This is the name of the file as it was requested. Also see get_fullpath().

getFormat
Texture::Format Texture::get_format(void) const;

Description: Returns the format of the texture, which represents both the semantic meaning of the texels and, to some extent, their storage information.

getFullpath
Filename const &Texture::get_fullpath(void) const;

Description: Returns the fullpath that has been set. This is the full path to the file as it was found along the texture search path.

getImageModified
UpdateSeq Texture::get_image_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the texture image data (including mipmap levels) are modified.

getKeepRamImage
virtual bool Texture::get_keep_ram_image(void) const;

Description: Returns the flag that indicates whether this Texture is eligible to have its main RAM copy of the texture memory dumped when the texture is prepared for rendering. See set_keep_ram_image().

getLoadedFromImage
bool Texture::get_loaded_from_image(void) const;

Description: Returns the flag that indicates the texture has been loaded from a disk file or PNMImage. See set_loaded_from_image().

getLoadedFromTxo
bool Texture::get_loaded_from_txo(void) const;

Description: Returns the flag that indicates the texture has been loaded from a txo file.

getMagfilter
Texture::FilterType Texture::get_magfilter(void) const;

Description: Returns the filter mode of the texture for magnification. The mipmap constants are invalid here.

getMatchFramebufferFormat
bool Texture::get_match_framebuffer_format(void) const;

Description: Returns true if the special flag was set that indicates to the GSG that the Texture's format should be chosen to exactly match the framebuffer's format, presumably because the application intends to copy image data from the framebuffer into the Texture (or vice-versa).

getMinfilter
Texture::FilterType Texture::get_minfilter(void) const;

Description: Returns the filter mode of the texture for minification. If this is one of the mipmap constants, then the texture requires mipmaps.

getNumComponents
int Texture::get_num_components(void) const;

Description: Returns the number of color components for each texel of the texture image. This is 3 for an rgb texture or 4 for an rgba texture; it may also be 1 or 2 for a grayscale texture.

getNumRamMipmapImages
int Texture::get_num_ram_mipmap_images(void) const;

Description: Returns the maximum number of mipmap level images available in system memory. The actual number may be less than this; use has_ram_mipmap_image() to verify each level.

getPadXSize
int Texture::get_pad_x_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPadYSize
int Texture::get_pad_y_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPadZSize
int Texture::get_pad_z_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPropertiesModified
UpdateSeq Texture::get_properties_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the texture properties (unrelated to the image) are modified.

getQualityLevel
Texture::QualityLevel Texture::get_quality_level(void) const;

Description: Returns the current quality_level hint. See set_quality_level().

getRamImage
ConstPointerToArray< unsigned char > Texture::get_ram_image(void);

Description: Returns the system-RAM image data associated with the texture. If the texture does not currently have an associated RAM image, and the texture was generated by loading an image from a disk file (the most common case), this forces the reload of the same texture. This can happen if keep_texture_ram is configured to false, and we have previously prepared this texture with a GSG.
Note that it is not correct to call has_ram_image() first to test whether this function will fail. A false return value from has_ram_image() indicates only that get_ram_image() may need to reload the texture from disk, which it will do automatically. However, you can call might_have_ram_image(), which will return true if the ram image exists, or there is a reasonable reason to believe it can be loaded.
On the other hand, it is possible that the texture cannot be found on disk or is otherwise unavailable. If that happens, this function will return NULL. There is no way to predict with 100% accuracy whether get_ram_image() will return NULL without calling it first; might_have_ram_image() is the closest.

getRamImageCompression
Texture::CompressionMode Texture::get_ram_image_compression(void) const;

Description: Returns the compression mode in which the ram image is already stored pre-compressed. If this is other than CM_off, you cannot rely on the contents of the ram image to be anything predicatable (it will not be an array of x by y pixels, and it probably won't have the same length as get_expected_ram_image_size()).

getRamImageSize
unsigned int Texture::get_ram_image_size(void) const;

Description: Returns the number of bytes used by the in-memory image, or 0 if there is no in-memory image.

getRamMipmapImage
ConstPointerToArray< unsigned char > Texture::get_ram_mipmap_image(int n);

Description: Returns the system-RAM image data associated with the nth mipmap level, if present. Returns NULL if the nth mipmap level is not present.

getRamMipmapImageSize
unsigned int Texture::get_ram_mipmap_image_size(int n) const;

Description: Returns the number of bytes used by the in-memory image for mipmap level n, or 0 if there is no in-memory image for this mipmap level.

getRamMipmapPageSize
unsigned int Texture::get_ram_mipmap_page_size(int n) const;

Description: Returns the number of bytes used by the in-memory image per page for mipmap level n, or 0 if there is no in-memory image for this mipmap level.
For a non-compressed texture, this is the same as get_expected_ram_mipmap_page_size(). For a compressed texture, this may be a smaller value. (We do assume that all pages will be the same size on a compressed texture).

getRamPageSize
unsigned int Texture::get_ram_page_size(void) const;

Description: Returns the number of bytes used by the in-memory image per page, or 0 if there is no in-memory image.
For a non-compressed texture, this is the same as get_expected_ram_page_size(). For a compressed texture, this may be a smaller value. (We do assume that all pages will be the same size on a compressed texture).

getRenderToTexture
bool Texture::get_render_to_texture(void) const;

Description:

getTexturesPower2
static AutoTextureScale Texture::get_textures_power_2(void);

Description: This flag returns ATS_none, ATS_up, or ATS_down and controls the scaling of textures. It is initialized from the config variable of the same name, but it can be subsequently adjusted.

getTextureType
Texture::TextureType Texture::get_texture_type(void) const;

Description: Returns the overall interpretation of the texture.

getWrapU
Texture::WrapMode Texture::get_wrap_u(void) const;

Description: Returns the wrap mode of the texture in the U direction.

getWrapV
Texture::WrapMode Texture::get_wrap_v(void) const;

Description: Returns the wrap mode of the texture in the V direction.

getWrapW
Texture::WrapMode Texture::get_wrap_w(void) const;

Description: Returns the wrap mode of the texture in the W direction. This is the depth direction of 3-d textures.

getXSize
int Texture::get_x_size(void) const;

Description: Returns the width of the texture image in texels.

getYSize
int Texture::get_y_size(void) const;

Description: Returns the height of the texture image in texels. For a 1-d texture, this will be 1.

getZSize
int Texture::get_z_size(void) const;

Description: Returns the depth of the texture image in texels. For a 1-d texture or 2-d texture, this will be 1. For a cube map texture, this will be 6.

hasAllRamMipmapImages
bool Texture::has_all_ram_mipmap_images(void) const;

Description: Returns true if all expected mipmap levels have been defined and exist in the system RAM, or false if even one mipmap level is missing.

hasAlphaFilename
bool Texture::has_alpha_filename(void) const;

Description: Returns true if the alpha_filename has been set and is available. See set_alpha_filename().

hasAlphaFullpath
bool Texture::has_alpha_fullpath(void) const;

Description: Returns true if the alpha_fullpath has been set and is available. See set_alpha_fullpath().

hasFilename
bool Texture::has_filename(void) const;

Description: Returns true if the filename has been set and is available. See set_filename().

hasFullpath
bool Texture::has_fullpath(void) const;

Description: Returns true if the fullpath has been set and is available. See set_fullpath().

hasRamImage
virtual bool Texture::has_ram_image(void) const;

Description: Returns true if the Texture has its image contents available in main RAM, false if it exists only in texture memory or in the prepared GSG context.
Note that this has nothing to do with whether get_ram_image() will fail or not. Even if has_ram_image() returns false, get_ram_image() may still return a valid RAM image, because get_ram_image() will automatically load the texture from disk if necessary. The only thing has_ram_image() tells you is whether the texture is available right now without hitting the disk first.
Note also that if an application uses only one GSG, it may appear that has_ram_image() returns true if the texture has not yet been loaded by the GSG, but this correlation is not true in general and should not be depended on. Specifically, if an application ever uses multiple GSG's in its lifetime (for instance, by opening more than one window, or by closing its window and opening another one later), then has_ram_image() may well return false on textures that have never been loaded on the current GSG.

hasRamMipmapImage
bool Texture::has_ram_mipmap_image(int n) const;

Description: Returns true if the Texture has the nth mipmap level available in system memory, false otherwise. If the texture's minfilter mode requires mipmapping (see uses_mipmaps()), and all the texture's mipmap levels are not available when the texture is rendered, they will be generated automatically.

haveTexturesPower2
static bool Texture::have_textures_power_2(void);

Description: If true, then get_textures_power_2 has been set using set_textures_power_2. If false, then get_textures_power_2 simply returns the config variable of the same name.

isMipmap
static bool Texture::is_mipmap(Texture::FilterType type);

Description: Returns true if the indicated filter type requires the use of mipmaps, or false if it does not.

isPrepared
bool Texture::is_prepared(PreparedGraphicsObjects *prepared_objects) const;

Description: Returns true if the texture has already been prepared or enqueued for preparation on the indicated GSG, false otherwise.

load
bool Texture::load(PNMImage const &pnmimage);

Description: Replaces the texture with the indicated image.
Description: Stores the indicated image in the given page and mipmap level. See read().

loadRelated
Texture *Texture::load_related(InternalName const *suffix) const;

Description: Loads a texture whose filename is derived by concatenating a suffix to the filename of this texture. May return NULL, for example, if this texture doesn't have a filename.

makeCopy
virtual PointerTo< Texture > Texture::make_copy(void);

Description: Returns a new copy of the same Texture. This copy, if applied to geometry, will be copied into texture as a separate texture from the original, so it will be duplicated in texture memory (and may be independently modified if desired).
If the Texture is a VideoTexture, the resulting duplicate may be animated independently of the original.

makeRamImage
PointerToArray< unsigned char > Texture::make_ram_image(void);

Description: Discards the current system-RAM image for the texture, if any, and allocates a new buffer of the appropriate size. Returns the new buffer.
This does *not* affect keep_ram_image.

makeRamMipmapImage
PointerToArray< unsigned char > Texture::make_ram_mipmap_image(int n);

Description: Discards the current system-RAM image for the nth mipmap level, if any, and allocates a new buffer of the appropriate size. Returns the new buffer.
This does *not* affect keep_ram_image.

mightHaveRamImage
bool Texture::might_have_ram_image(void) const;

Description: Returns true if the texture's image contents are currently available in main RAM, or there is reason to believe it can be loaded on demand. That is, this function returns a "best guess" as to whether get_ram_image() will succeed without actually calling it first.

modifyRamImage
PointerToArray< unsigned char > Texture::modify_ram_image(void);

Description: Returns a modifiable pointer to the system-RAM image. This assumes the RAM image should be uncompressed. If the RAM image has been dumped, or is stored compressed, creates a new one.
This does *not* affect keep_ram_image.

modifyRamMipmapImage
PointerToArray< unsigned char > Texture::modify_ram_mipmap_image(int n);

Description: Returns a modifiable pointer to the system-RAM image for the nth mipmap level. This assumes the RAM image is uncompressed; if this is not the case, raises an assertion.
This does *not* affect keep_ram_image.

prepare
void Texture::prepare(PreparedGraphicsObjects *prepared_objects);

Description: Indicates that the texture should be enqueued to be prepared in the indicated prepared_objects at the beginning of the next frame. This will ensure the texture is already loaded into texture memory if it is expected to be rendered soon.
Use this function instead of prepare_now() to preload textures from a user interface standpoint.

prepareNow
TextureContext *Texture::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg);

Description: Creates a context for the texture on the particular GSG, if it does not already exist. Returns the new (or old) TextureContext. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new textures. If this is not necessarily the case, you should use prepare() instead.
Normally, this is not called directly except by the GraphicsStateGuardian; a texture does not need to be explicitly prepared by the user before it may be rendered.

read
bool Texture::read(Filename const &fullpath);

Description: Reads the named filename into the texture.
Description: Combine a 3-component image with a grayscale image to get a 4-component image.
See the description of the full-parameter read() method for the meaning of the primary_file_num_channels and alpha_file_channel parameters.
Description: Reads a single file into a single page or mipmap level, or automatically reads a series of files into a series of pages and/or mipmap levels.
See the description of the full-parameter read() method for the meaning of the various parameters.
Description: Reads the texture from the indicated filename. If primary_file_num_channels is not 0, it specifies the number of components to downgrade the image to if it is greater than this number.
If the filename has the extension .txo, this implicitly reads a texture object instead of a filename (which replaces all of the texture properties). In this case, all the rest of the parameters are ignored, and the filename should not contain any hash marks; just the one named file will be read, since a single .txo file can contain all pages and mipmaps necessary to define a texture.
If alpha_fullpath is not empty, it specifies the name of a file from which to retrieve the alpha. In this case, alpha_file_channel represents the numeric channel of this image file to use as the resulting texture's alpha channel; usually, this is 0 to indicate the grayscale combination of r, g, b; or it may be a one-based channel number, e.g. 1 for the red channel, 2 for the green channel, and so on.
If read pages is false, then z indicates the page number into which this image will be assigned. Normally this is 0 for the first (or only) page of the texture. 3-D textures have one page for each level of depth, and cube map textures always have six pages.
If read_pages is true, multiple images will be read at once, one for each page of a cube map or a 3-D texture. In this case, the filename should contain a sequence of one or more hash marks ("#") which will be filled in with the z value of each page, zero-based. In this case, the z parameter indicates the maximum z value that will be loaded, or 0 to load all filenames that exist.
If read_mipmaps is false, then n indicates the mipmap level to which this image will be assigned. Normally this is 0 for the base texture image, but it is possible to load custom mipmap levels into the later images. After the base texture image is loaded (thus defining the size of the texture), you can call get_expected_num_mipmap_levels() to determine the maximum sensible value for n.
If read_mipmaps is true, multiple images will be read as above, but this time the images represent the different mipmap levels of the texture image. In this case, the n parameter indicates the maximum n value that will be loaded, or 0 to load all filenames that exist (up to the expected number of mipmap levels).
If both read_pages and read_mipmaps is true, then both sequences will be read; the filename should contain two sequences of hash marks, separated by some character such as a hyphen, underscore, or dot. The first hash mark sequence will be filled in with the mipmap level, while the second hash mark sequence will be the page index.
This method implicitly sets keep_ram_image to false.

readTxo
bool Texture::read_txo(istream &in, string const &filename = ("stream"));

Description: Reads the texture from a Panda texture object. This defines the complete Texture specification, including the image data as well as all texture properties.
The filename is just for reference.

release
bool Texture::release(PreparedGraphicsObjects *prepared_objects);

Description: Frees the texture context only on the indicated object, if it exists there. Returns true if it was released, false if it had not been prepared.

releaseAll
int Texture::release_all(void);

Description: Frees the context allocated on all objects for which the texture has been declared. Returns the number of contexts which have been freed.

reload
bool Texture::reload(void);

Description: Re-reads the Texture from its disk file. Useful when you know the image on disk has recently changed, and you want to update the Texture image.
Returns true on success, false on failure (in which case, the Texture may or may not still be valid).

setAlphaFilename
void Texture::set_alpha_filename(Filename const &alpha_filename);

Description: Sets the name of the file that contains the image's alpha channel contents. Normally, this is set automatically when the image is loaded, for instance via Texture::read().
The Texture's get_filename() function returns the name of the image file that was loaded into the buffer. In the case where a texture specified two separate files to load, a 1- or 3-channel color image and a 1-channel alpha image, this Filename is update to contain the name of the image file that was loaded into the buffer's alpha channel.

setAlphaFullpath
void Texture::set_alpha_fullpath(Filename const &alpha_fullpath);

Description: Sets the full pathname to the file that contains the image's alpha channel contents, as found along the search path. Normally, this is set automatically when the image is loaded, for instance via
Texture::read().

setAnisotropicDegree
void Texture::set_anisotropic_degree(int anisotropic_degree);

Description: Specifies the level of anisotropic filtering to apply to the texture. Normally, this is 1, to indicate anisotropic filtering is disabled. This may be set to a number higher than one to enable anisotropic filtering, if the rendering backend supports this.

setAuxData
void Texture::set_aux_data(string const &key, TypedReferenceCount *aux_data);

Description: Records an arbitrary object in the Texture, associated with a specified key. The object may later be retrieved by calling get_aux_data() with the same key.
These data objects are not recorded to a bam or txo file.

setBorderColor
void Texture::set_border_color(LVecBase4f const &color);

Description: Specifies the solid color of the texture's border. Some OpenGL implementations use a border for tiling textures; in Panda, it is only used for specifying the clamp color.

setComponentType
void Texture::set_component_type(Texture::ComponentType component_type);

Description: Changes the data value for the texture components. This implicitly sets component_width as well.

setCompression
void Texture::set_compression(Texture::CompressionMode compression);

Description: Requests that this particular Texture be compressed when it is loaded into texture memory.
This refers to the internal compression of the texture image within texture memory; it is not related to jpeg or png compression, which are disk file compression formats. The actual disk file that generated this texture may be stored in a compressed or uncompressed format supported by Panda; it will be decompressed on load, and then recompressed by the graphics API if this parameter is not CM_off.
If the GSG does not support this texture compression mode, the texture will silently be loaded uncompressed.

setFilename
void Texture::set_filename(Filename const &filename);

These are published, but in general, you shouldn't be mucking with these values; they are set automatically when a texture is loaded.
Description: Sets the name of the file that contains the image's contents. Normally, this is set automatically when the image is loaded, for instance via
Texture::read().
The Texture's get_name() function used to return the filename, but now returns just the basename (without the extension), which is a more useful name for identifying an image in show code.

setFormat
void Texture::set_format(Texture::Format format);

Description: Changes the format value for the texture components. This implicitly sets num_components as well.

setFullpath
void Texture::set_fullpath(Filename const &fullpath);

Description: Sets the full pathname to the file that contains the image's contents, as found along the search path. Normally, this is set automatically when the image is loaded, for instance via Texture::read().

setKeepRamImage
void Texture::set_keep_ram_image(bool keep_ram_image);

Description: Sets the flag that indicates whether this Texture is eligible to have its main RAM copy of the texture memory dumped when the texture is prepared for rendering.
This will be true for most textures, which can reload their images if needed by rereading the input file. However, textures that were generated dynamically and cannot be easily reloaded will want to set this flag to true, so that the texture will always keep its image copy around.

setLoadedFromImage
void Texture::set_loaded_from_image(void);

Description: Sets the flag that indicates the texture has been loaded from a disk file or PNMImage. You should also ensure the filename has been set correctly. When this flag is true, the texture may be automatically reloaded when its ram image needs to be replaced.

setLoadedFromTxo
void Texture::set_loaded_from_txo(void);

Description: Sets the flag that indicates the texture has been loaded from a txo file. You probably shouldn't be setting this directly; it is set automatically when a Texture is loaded.

setMagfilter
void Texture::set_magfilter(Texture::FilterType filter);

Description:

setMatchFramebufferFormat
void Texture::set_match_framebuffer_format(bool flag);

Description: Sets the special flag that, if true, indicates to the GSG that the Texture's format should be chosen to exactly match the framebuffer's format, presumably because the application intends to copy image data from the framebuffer into the Texture (or vice-versa).
This sets only the graphics card's idea of the texture format; it is not related to the system-memory format.

setMinfilter
void Texture::set_minfilter(Texture::FilterType filter);

Description:

setPadSize
void Texture::set_pad_size(int x = (0), int y = (0), int z = (0));

Description: Sets the size of the pad region.
Sometimes, when a video card demands power-of-two textures, it is necessary to create a big texture and then only use a portion of it. The pad region indicates which portion of the texture is not really in use. All operations use the texture as a whole, including the pad region, unless they explicitly state that they use only the non-pad region.
Changing the texture's size clears the pad region.

setQualityLevel
void Texture::set_quality_level(Texture::QualityLevel quality_level);

Description: Sets a hint to the renderer about the desired performance / quality tradeoff for this particular texture. This is most useful for the tinydisplay software renderer; for normal, hardware-accelerated renderers, this may have little or no effect.

setRamImage
void Texture::set_ram_image(PointerToArray< unsigned char > image, Texture::CompressionMode compression = (CM_off), unsigned int page_size = (0));

Description: Replaces the current system-RAM image with the new data. If compression is not CM_off, it indicates that the new data is already pre-compressed in the indicated format.
This does *not* affect keep_ram_image.

setRamMipmapImage
void Texture::set_ram_mipmap_image(int n, PointerToArray< unsigned char > image, unsigned int page_size = (0));

Description: Replaces the current system-RAM image for the indicated mipmap level with the new data. If compression is not CM_off, it indicates that the new data is already pre-compressed in the indicated format.
This does *not* affect keep_ram_image.

setRenderToTexture
void Texture::set_render_to_texture(bool render_to_texture);

Description:

setSizePadded
void Texture::set_size_padded(int x = (1), int y = (1), int z = (1));

Description: Changes the size of the texture, padding if necessary, and setting the pad region as well.

setTexturesPower2
static void Texture::set_textures_power_2(AutoTextureScale scale);

Description: Set this flag to ATS_none, ATS_up, or ATS_down to control the scaling of textures.

setup1dTexture
void Texture::setup_1d_texture(void);

Description: Sets the texture as an empty 1-d texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 1-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setup2dTexture
void Texture::setup_2d_texture(void);

Description: Sets the texture as an empty 2-d texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 2-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setup3dTexture
void Texture::setup_3d_texture(int z_size = (1));

Description: Sets the texture as an empty 3-d texture with no dimensions (though if you know the depth ahead of time, it saves a bit of reallocation later). Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 3-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setupCubeMap
void Texture::setup_cube_map(void);

Description: Sets the texture as an empty cube map texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty cube map texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.
Note that a cube map should always consist of six square images, so x_size and y_size will be the same, and z_size is always 6.

setupTexture
void Texture::setup_texture(Texture::TextureType texture_type, int x_size, int y_size, int z_size, Texture::ComponentType component_type, Texture::Format format);

Description: Sets the texture to the indicated type and dimensions, presumably in preparation for calling read() or load(), or set_ram_image() or modify_ram_image().

setWrapU
void Texture::set_wrap_u(Texture::WrapMode wrap);

Description:

setWrapV
void Texture::set_wrap_v(Texture::WrapMode wrap);

Description:

setWrapW
void Texture::set_wrap_w(Texture::WrapMode wrap);

Description: The W wrap direction is only used for 3-d textures.

setXSize
void Texture::set_x_size(int x_size);

Description: Changes the x size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

setYSize
void Texture::set_y_size(int y_size);

Description: Changes the y size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

setZSize
void Texture::set_z_size(int z_size);

Description: Changes the z size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

store
bool Texture::store(PNMImage &pnmimage) const;

Description: Saves the texture to the indicated PNMImage, but does not write it to disk.
Description: Saves the indicated page and mipmap level of the texture to the PNMImage.

usesMipmaps
bool Texture::uses_mipmaps(void) const;

Description: Returns true if the minfilter settings on this texture indicate the use of mipmapping, false otherwise.

write
bool Texture::write(Filename const &fullpath);

Description: Writes the texture to the named filename.
Description: Writes a single page or mipmap level to a single file, or automatically writes a series of pages and/or mipmap levels to a numbered series of files.
If the filename ends in the extension .txo, this implicitly writes a Panda texture object (.txo) instead of an image file. In this case, the remaining parameters are ignored, and only one file is written, which will contain all of the pages and resident mipmap levels in the texture.
If write_pages is false, then z indicates the page number to write. 3-D textures have one page number for each level of depth; cube maps have six pages number 0 through 5. Other kinds of textures have only one page, numbered 0.
If write_pages is true, then all pages of the texture will be written. In this case z is ignored, and the filename should contain a sequence of hash marks ("#") which will be filled in with the page index number.
If write_mipmaps is false, then n indicates the mipmap level number to write. Normally, this is 0, for the base texture image. Normally, the mipmap levels of a texture are not available in RAM (they are generated automatically by the graphics card). However, if you have the mipmap levels available, for instance because you called generate_ram_mipmap_images() to generate them internally, or you called GraphicsEngine::extract_texture_data() to retrieve them from the graphics card, then you may write out each mipmap level with this parameter.
If write_mipmaps is true, then all mipmap levels of the texture will be written. In this case n is ignored, and the filename should contain a sequence of hash marks ("#") which will be filled in with the mipmap level number.
If both write_pages and write_mipmaps is true, then all pages and all mipmap levels will be written. In this case, the filename should contain two different sequences of hash marks, separated by a character such as a hyphen, underscore, or dot. The first hash mark sequence will be filled in with the mipmap level, while the second hash mark sequence will be the page index.
Description: Not to be confused with write(Filename), this method simply describes the texture properties.

writeTxo
bool Texture::write_txo(ostream &out, string const &filename = ("stream")) const;

Description: Writes the texture to a Panda texture object. This defines the complete Texture specification, including the image data as well as all texture properties.
The filename is just for reference.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EaseInBlendType

    from pandac.PandaModules import EaseInBlendType

Inheritance:

    EaseInBlendType: LerpBlendType
    LerpBlendType: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EaseInBlendType:

    EaseInBlendType (Constructor)
    getClassType

Methods of LerpBlendType:

    getClassType
    operator ()

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
EaseInBlendType
EaseInBlendType::EaseInBlendType(void);

Undocumented function.

getClassType
static TypeHandle EaseInBlendType::get_class_type(void);

now for typehandle stuff

getClassType
static TypeHandle LerpBlendType::get_class_type(void);

now for typehandle stuff

operator ()
virtual float LerpBlendType::operator ()(float ) = 0;

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EaseInOutBlendType

    from pandac.PandaModules import EaseInOutBlendType

Inheritance:

    EaseInOutBlendType: LerpBlendType
    LerpBlendType: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EaseInOutBlendType:

    EaseInOutBlendType (Constructor)
    getClassType

Methods of LerpBlendType:

    getClassType
    operator ()

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
EaseInOutBlendType
EaseInOutBlendType::EaseInOutBlendType(void);

Undocumented function.

getClassType
static TypeHandle EaseInOutBlendType::get_class_type(void);

now for typehandle stuff

getClassType
static TypeHandle LerpBlendType::get_class_type(void);

now for typehandle stuff

operator ()
virtual float LerpBlendType::operator ()(float ) = 0;

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EaseOutBlendType

    from pandac.PandaModules import EaseOutBlendType

Inheritance:

    EaseOutBlendType: LerpBlendType
    LerpBlendType: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EaseOutBlendType:

    EaseOutBlendType (Constructor)
    getClassType

Methods of LerpBlendType:

    getClassType
    operator ()

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
EaseOutBlendType
EaseOutBlendType::EaseOutBlendType(void);

Undocumented function.

getClassType
static TypeHandle EaseOutBlendType::get_class_type(void);

now for typehandle stuff

getClassType
static TypeHandle LerpBlendType::get_class_type(void);

now for typehandle stuff

operator ()
virtual float LerpBlendType::operator ()(float ) = 0;

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EggAnimData

    from pandac.PandaModules import EggAnimData

Inheritance:

    EggAnimData: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggAnimData:

    addData
    clearData
    clearFps
    getClassType
    getFps
    getSize
    hasFps
    operator =
    quantize
    setFps

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
addData
void EggAnimData::add_data(double value);

Description: Adds a single element to the table.

clearData
void EggAnimData::clear_data(void);

Description: Removes all data and empties the table.

clearFps
void EggAnimData::clear_fps(void);

Description:

getClassType
static TypeHandle EggAnimData::get_class_type(void);

Undocumented function.

getFps
double EggAnimData::get_fps(void) const;

Description: This is only valid if has_fps() returns true.

getSize
int EggAnimData::get_size(void) const;

Description: Returns the number of elements in the table.

hasFps
bool EggAnimData::has_fps(void) const;

Description:

operator =
EggAnimData &EggAnimData::operator =(EggAnimData const &copy);

Description:

quantize
void EggAnimData::quantize(double quantum);

Description: Rounds each element of the table to the nearest multiple of quantum.

setFps
void EggAnimData::set_fps(double type);

Description:

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggAttributes

    from pandac.PandaModules import EggAttributes
    Class : EggAttributes
    Description : The set of attributes that may be applied to vertices as well as polygons, such as surface normal and color.
    This class cannot inherit from EggObject, because it causes problems at the EggPolygon level with multiple appearances of the EggObject base class. And making EggObject a virtual base class is just no fun.

Inheritance:

    EggAttributes:

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write
EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggBin

    from pandac.PandaModules import EggBin
    Class : EggBin
    Description : A type of group node that holds related subnodes. This is a special kind of node that will never be read in from an egg file, but can only exist in the egg scene graph if it is created via the use of an EggBinMaker.

Inheritance:

    EggBin: EggGroup
    EggGroup: EggGroupNode EggRenderMode EggTransform
    EggGroupNode: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggRenderMode:
    EggTransform:

Methods of EggBin:

    EggBin (Constructor)
    getBinNumber
    getClassType
    setBinNumber

Methods of EggGroup:

    EggGroup (Constructor)
    addObjectType
    clearBillboardCenter
    clearBlendColor
    clearCollideMask
    clearCollisionName
    clearFromCollideMask
    clearIndexedFlag
    clearIntoCollideMask
    clearLod
    clearObjectTypes
    clearTag
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    getBillboardCenter
    getBillboardType
    getBlendColor
    getBlendMode
    getBlendOperandA
    getBlendOperandB
    getClassType
    getCollideFlags
    getCollideMask
    getCollisionName
    getCsType
    getDartType
    getDcsType
    getDecalFlag
    getDirectFlag
    getFromCollideMask
    getGroupType
    getIndexedFlag
    getIntoCollideMask
    getLod
    getModelFlag
    getNofogFlag
    getNumObjectTypes
    getObjectType
    getPolylightFlag
    getPortalFlag
    getSwitchFlag
    getSwitchFps
    getTag
    getTexlistFlag
    getVertexMembership
    hasBillboardCenter
    hasBlendColor
    hasCollideMask
    hasCollisionName
    hasDcsType
    hasFromCollideMask
    hasIndexedFlag
    hasIntoCollideMask
    hasLod
    hasObjectType
    hasTag
    isInstanceType
    isJoint
    operator =
    refVertex
    removeObjectType
    setBillboardCenter
    setBillboardType
    setBlendColor
    setBlendMode
    setBlendOperandA
    setBlendOperandB
    setCollideFlags
    setCollideMask
    setCollisionName
    setCsType
    setDartType
    setDcsType
    setDecalFlag
    setDirectFlag
    setFromCollideMask
    setGroupType
    setIndexedFlag
    setIntoCollideMask
    setLod
    setModelFlag
    setNofogFlag
    setPolylightFlag
    setPortalFlag
    setSwitchFlag
    setSwitchFps
    setTag
    setTexlistFlag
    setVertexMembership
    stealVrefs
    stringBillboardType
    stringBlendMode
    stringBlendOperand
    stringCollideFlags
    stringCsType
    stringDartType
    stringDcsType
    stringGroupType
    testVrefIntegrity
    unrefAllVertices
    unrefVertex
    write
    writeBillboardFlags
    writeCollideFlags
    writeDecalFlags
    writeModelFlags
    writeObjectTypes
    writeRenderMode
    writeSwitchFlags
    writeTags

Methods of EggGroupNode:

    EggGroupNode (Constructor)
    addChild
    applyFirstAttribute
    applyLastAttribute
    clear
    clearConnectedShading
    empty
    findChild
    forceFilenames
    getClassType
    getConnectedShading
    getFirstChild
    getNextChild
    hasAbsolutePathnames
    isRight
    meshTriangles
    operator =
    postApplyFlatAttribute
    recomputePolygonNormals
    recomputeTangentBinormal
    recomputeTangentBinormalAuto
    recomputeVertexNormals
    removeChild
    removeInvalidPrimitives
    removeUnusedVertices
    renameNodes
    resolveFilenames
    reverseVertexOrdering
    size
    stealChildren
    stripNormals
    triangulatePolygons
    unifyAttributes

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Methods of EggTransform:

    EggTransform (Constructor)
    addMatrix3
    addMatrix4
    addRotate2d
    addRotate3d
    addRotx
    addRoty
    addRotz
    addScale2d
    addScale3d
    addTranslate2d
    addTranslate3d
    addUniformScale
    clearTransform
    getComponentMat3
    getComponentMat4
    getComponentNumber
    getComponentType
    getComponentVec2
    getComponentVec3
    getNumComponents
    getTransform2d
    getTransform3d
    hasTransform
    hasTransform2d
    hasTransform3d
    operator =
    setTransform2d
    setTransform3d
    transformIsIdentity
    write

Constants in EggGroup:

    GTInvalid | (GroupType)
GTGroup | (GroupType)
GTInstance | (GroupType)
GTJoint | (GroupType)
DTNone | (DartType)
DTSync | (DartType)
DTNosync | (DartType)
DTDefault | (DartType)
DCUnspecified | (DCSType)
DCNone | (DCSType)
DCLocal | (DCSType)
DCNet | (DCSType)
DCDefault | (DCSType)
BTNone | (BillboardType)
BTAxis | (BillboardType)
BTPointCameraRelative | (BillboardType)
BTPointWorldRelative | (BillboardType)
CSTNone | (CollisionSolidType)
CSTPlane | (CollisionSolidType)
CSTPolygon | (CollisionSolidType)
CSTPolyset | (CollisionSolidType)
CSTSphere | (CollisionSolidType)
CSTTube | (CollisionSolidType)
CSTInvSphere | (CollisionSolidType)
CSTFloorMesh | (CollisionSolidType)
CFNone | (CollideFlags)
CFDescend | (CollideFlags)
CFEvent | (CollideFlags)
CFKeep | (CollideFlags)
CFSolid | (CollideFlags)
CFCenter | (CollideFlags)
CFTurnstile | (CollideFlags)
CFLevel | (CollideFlags)
CFIntangible | (CollideFlags)
BMUnspecified | (BlendMode)
BMNone | (BlendMode)
BMAdd | (BlendMode)
BMSubtract | (BlendMode)
BMInvSubtract | (BlendMode)
BMMin | (BlendMode)
BMMax | (BlendMode)
BOUnspecified | (BlendOperand)
BOZero | (BlendOperand)
BOOne | (BlendOperand)
BOIncomingColor | (BlendOperand)
BOOneMinusIncomingColor | (BlendOperand)
BOFbufferColor | (BlendOperand)
BOOneMinusFbufferColor | (BlendOperand)
BOIncomingAlpha | (BlendOperand)
BOOneMinusIncomingAlpha | (BlendOperand)
BOFbufferAlpha | (BlendOperand)
BOOneMinusFbufferAlpha | (BlendOperand)
BOConstantColor | (BlendOperand)
BOOneMinusConstantColor | (BlendOperand)
BOConstantAlpha | (BlendOperand)
BOOneMinusConstantAlpha | (BlendOperand)
BOIncomingColorSaturate | (BlendOperand)
BOColorScale | (BlendOperand)
BOOneMinusColorScale | (BlendOperand)
BOAlphaScale | (BlendOperand)
BOOneMinusAlphaScale | (BlendOperand)

Constants in EggGroupNode:

    TPolygon | (TriangulateFlags)
TConvex | (TriangulateFlags)
TComposite | (TriangulateFlags)
TRecurse | (TriangulateFlags)
TFlatShaded | (TriangulateFlags)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)

Constants in EggTransform:

    CTInvalid | (ComponentType)
CTTranslate2d | (ComponentType)
CTTranslate3d | (ComponentType)
CTRotate2d | (ComponentType)
CTRotx | (ComponentType)
CTRoty | (ComponentType)
CTRotz | (ComponentType)
CTRotate3d | (ComponentType)
CTScale2d | (ComponentType)
CTScale3d | (ComponentType)
CTUniformScale | (ComponentType)
CTMatrix3 | (ComponentType)
CTMatrix4 | (ComponentType)
EggBin
EggBin::EggBin(string const &name = (""));

Description:

getBinNumber
int EggBin::get_bin_number(void) const;

Description:

getClassType
static TypeHandle EggBin::get_class_type(void);

Undocumented function.

setBinNumber
void EggBin::set_bin_number(int bin_number);

Description:

EggGroup
EggGroup::EggGroup(string const &name = (""));

Description:

addObjectType
void EggGroup::add_object_type(string const &object_type);

Description:

clearBillboardCenter
void EggGroup::clear_billboard_center(void);

Description:

clearBlendColor
void EggGroup::clear_blend_color(void);

Description: Removes the blend color specification.

clearCollideMask
void EggGroup::clear_collide_mask(void);

Description:

clearCollisionName
void EggGroup::clear_collision_name(void);

Description:

clearFromCollideMask
void EggGroup::clear_from_collide_mask(void);

Description:

clearIndexedFlag
void EggGroup::clear_indexed_flag(void);

Description:

clearIntoCollideMask
void EggGroup::clear_into_collide_mask(void);

Description:

clearLod
void EggGroup::clear_lod(void);

Description:

clearObjectTypes
void EggGroup::clear_object_types(void);

Description:

clearTag
void EggGroup::clear_tag(string const &key);

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

determineAlphaMode
virtual EggRenderMode *EggGroup::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this group that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggGroup::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this group that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggGroup::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggGroup::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this group that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggGroup::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this group that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggGroup::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this group that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggGroup::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggGroup::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this group that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBillboardCenter
LPoint3d const &EggGroup::get_billboard_center(void) const;

Description:

getBillboardType
EggGroup::BillboardType EggGroup::get_billboard_type(void) const;

Description:

getBlendColor
LVecBase4f const &EggGroup::get_blend_color(void) const;

Description: Returns the blend color if one has been specified, or (0, 0, 0, 0) if one has not.

getBlendMode
EggGroup::BlendMode EggGroup::get_blend_mode(void) const;

Description:

getBlendOperandA
EggGroup::BlendOperand EggGroup::get_blend_operand_a(void) const;

Description:

getBlendOperandB
EggGroup::BlendOperand EggGroup::get_blend_operand_b(void) const;

Description:

getClassType
static TypeHandle EggGroup::get_class_type(void);

Undocumented function.

getCollideFlags
EggGroup::CollideFlags EggGroup::get_collide_flags(void) const;

Description:

getCollideMask
BitMask< unsigned int, 32 > EggGroup::get_collide_mask(void) const;

Description:

getCollisionName
string const &EggGroup::get_collision_name(void) const;

Description:

getCsType
EggGroup::CollisionSolidType EggGroup::get_cs_type(void) const;

Description:

getDartType
EggGroup::DartType EggGroup::get_dart_type(void) const;

Description:

getDcsType
EggGroup::DCSType EggGroup::get_dcs_type(void) const;

Description:

getDecalFlag
bool EggGroup::get_decal_flag(void) const;

Description:

getDirectFlag
bool EggGroup::get_direct_flag(void) const;

Description:

getFromCollideMask
BitMask< unsigned int, 32 > EggGroup::get_from_collide_mask(void) const;

Description:

getGroupType
EggGroup::GroupType EggGroup::get_group_type(void) const;

Description:

getIndexedFlag
bool EggGroup::get_indexed_flag(void) const;

Description:

getIntoCollideMask
BitMask< unsigned int, 32 > EggGroup::get_into_collide_mask(void) const;

Description:

getLod
EggSwitchCondition const &EggGroup::get_lod(void) const;

Description:

getModelFlag
bool EggGroup::get_model_flag(void) const;

Description:

getNofogFlag
bool EggGroup::get_nofog_flag(void) const;

Description:

getNumObjectTypes
int EggGroup::get_num_object_types(void) const;

Description:

getObjectType
string EggGroup::get_object_type(int index) const;

Description:

getPolylightFlag
bool EggGroup::get_polylight_flag(void) const;

Description:

getPortalFlag
bool EggGroup::get_portal_flag(void) const;

Description:

getSwitchFlag
bool EggGroup::get_switch_flag(void) const;

Description:

getSwitchFps
double EggGroup::get_switch_fps(void) const;

Description:

getTag
string EggGroup::get_tag(string const &key) const;

Description: 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.

getTexlistFlag
bool EggGroup::get_texlist_flag(void) const;

Description:

getVertexMembership
double EggGroup::get_vertex_membership(EggVertex const *vert) const;

Description: Returns the amount of membership of the indicated vertex in this group. If the vertex is not reffed by the group, returns 0.

hasBillboardCenter
bool EggGroup::has_billboard_center(void) const;

Description:

hasBlendColor
bool EggGroup::has_blend_color(void) const;

Description: Returns true if the blend color has been specified, false otherwise.

hasCollideMask
bool EggGroup::has_collide_mask(void) const;

Description:

hasCollisionName
bool EggGroup::has_collision_name(void) const;

Description:

hasDcsType
bool EggGroup::has_dcs_type(void) const;

Description: Returns true if the specified DCS type is not DC_none and not DC_unspecified.

hasFromCollideMask
bool EggGroup::has_from_collide_mask(void) const;

Description:

hasIndexedFlag
bool EggGroup::has_indexed_flag(void) const;

Description:

hasIntoCollideMask
bool EggGroup::has_into_collide_mask(void) const;

Description:

hasLod
bool EggGroup::has_lod(void) const;

Description:

hasObjectType
bool EggGroup::has_object_type(string const &object_type) const;

Description: Returns true if the indicated object type has been added to the group, or false otherwise.

hasTag
bool EggGroup::has_tag(string const &key) const;

Description: 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.

isInstanceType
bool EggGroup::is_instance_type(void) const;

Description: Returns true if this group is an instance type node; i.e. it begins the root of a local coordinate space. This is not related to instancing (multiple copies of a node in a scene graph).
This also includes the case of the node including a billboard flag without an explicit center, which implicitly makes the node behave like an instance.

isJoint
virtual bool EggGroup::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

operator =
EggGroup &EggGroup::operator =(EggGroup const &copy);

Description:

refVertex
void EggGroup::ref_vertex(EggVertex *vert, double membership = (1));

Description: Adds the vertex to the set of those referenced by the group, at the indicated membership level. If the vertex is already being referenced, increases the membership amount by the indicated amount.

removeObjectType
bool EggGroup::remove_object_type(string const &object_type);

Description: Removes the first instance of the indicated object type from the group if it is present. Returns true if the object type was found and removed, false otherwise.

setBillboardCenter
void EggGroup::set_billboard_center(LPoint3d const &billboard_center);

Description: Sets the point around which the billboard will rotate, if this node contains a billboard specification.
If a billboard type is given but no billboard_center is specified, then the group node is treated as an <Instance>, and the billboard rotates around the origin. If, however, a billboard_center is specified, then the group node is *not* treated as an <Instance>, and the billboard rotates around the specified point.
The point is in the same coordinate system as the vertices of this node: usually global, but possibly local if there is an <Instance> somewhere above. Specifically, this is the coordinate system defined by get_vertex_frame().

setBillboardType
void EggGroup::set_billboard_type(EggGroup::BillboardType type);

Description:

setBlendColor
void EggGroup::set_blend_color(LVecBase4f const &blend_color);

Description:

setBlendMode
void EggGroup::set_blend_mode(EggGroup::BlendMode blend_mode);

Description:

setBlendOperandA
void EggGroup::set_blend_operand_a(EggGroup::BlendOperand blend_operand_a);

Description:

setBlendOperandB
void EggGroup::set_blend_operand_b(EggGroup::BlendOperand blend_operand_b);

Description:

setCollideFlags
void EggGroup::set_collide_flags(int flags);

Description:

setCollideMask
void EggGroup::set_collide_mask(BitMask< unsigned int, 32 > mask);

Description:

setCollisionName
void EggGroup::set_collision_name(string const &collision_name);

Description:

setCsType
void EggGroup::set_cs_type(EggGroup::CollisionSolidType type);

Description:

setDartType
void EggGroup::set_dart_type(EggGroup::DartType type);

Description:

setDcsType
void EggGroup::set_dcs_type(EggGroup::DCSType type);

Description:

setDecalFlag
void EggGroup::set_decal_flag(bool flag);

Description:

setDirectFlag
void EggGroup::set_direct_flag(bool flag);

Description:

setFromCollideMask
void EggGroup::set_from_collide_mask(BitMask< unsigned int, 32 > mask);

Description:

setGroupType
void EggGroup::set_group_type(EggGroup::GroupType type);

Description:

setIndexedFlag
void EggGroup::set_indexed_flag(bool flag);

Description: If this flag is true, geometry at this node and below will be generated as indexed geometry.

setIntoCollideMask
void EggGroup::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description:

setLod
void EggGroup::set_lod(EggSwitchCondition const &lod);

Description:

setModelFlag
void EggGroup::set_model_flag(bool flag);

Description:

setNofogFlag
void EggGroup::set_nofog_flag(bool flag);

Description:

setPolylightFlag
void EggGroup::set_polylight_flag(bool flag);

Description:

setPortalFlag
void EggGroup::set_portal_flag(bool flag);

Description:

setSwitchFlag
void EggGroup::set_switch_flag(bool flag);

Description:

setSwitchFps
void EggGroup::set_switch_fps(double fps);

Description:

setTag
void EggGroup::set_tag(string const &key, string const &value);

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again. This value will be copied to the PandaNode that is created for this particular EggGroup if the egg file is loaded as a scene.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTexlistFlag
void EggGroup::set_texlist_flag(bool flag);

Description:

setVertexMembership
void EggGroup::set_vertex_membership(EggVertex *vert, double membership);

Description: Explicitly sets the net membership of the indicated vertex in this group to the given value.

stealVrefs
void EggGroup::steal_vrefs(EggGroup *other);

Description: Moves all of the vertex references from the indicated other group into this one. If a given vertex was previously shared by both groups, the relative memberships will be summed.

stringBillboardType
static EggGroup::BillboardType EggGroup::string_billboard_type(string const &strval);

Description: Returns the BillboardType value associated with the given string representation, or BT_none if the string does not match any known BillboardType value.

stringBlendMode
static EggGroup::BlendMode EggGroup::string_blend_mode(string const &strval);

Description: Returns the BlendMode value associated with the given string representation, or BM_none if the string does not match any known BlendMode.

stringBlendOperand
static EggGroup::BlendOperand EggGroup::string_blend_operand(string const &strval);

Description: Returns the BlendOperand value associated with the given string representation, or BO_none if the string does not match any known BlendOperand.

stringCollideFlags
static EggGroup::CollideFlags EggGroup::string_collide_flags(string const &strval);

Description: Returns the CollideFlags value associated with the given string representation, or CF_none if the string does not match any known CollideFlags value. This only recognizes a single keyword; it does not attempt to parse a string of keywords.

stringCsType
static EggGroup::CollisionSolidType EggGroup::string_cs_type(string const &strval);

Description: Returns the CollisionSolidType value associated with the given string representation, or CST_none if the string does not match any known CollisionSolidType value.

stringDartType
static EggGroup::DartType EggGroup::string_dart_type(string const &strval);

Description: Returns the DartType value associated with the given string representation, or DT_none if the string does not match any known DartType value.

stringDcsType
static EggGroup::DCSType EggGroup::string_dcs_type(string const &strval);

Description: Returns the DCSType value associated with the given string representation, or DC_unspecified if the string does not match any known DCSType value.

stringGroupType
static EggGroup::GroupType EggGroup::string_group_type(string const &strval);

NDEBUG
Description: Returns the GroupType value associated with the given string representation, or GT_invalid if the string does not match any known GroupType value.

testVrefIntegrity
void EggGroup::test_vref_integrity(void) const;

Description: Verifies that each vertex in the group exists and that it knows it is referenced by the group.

unrefAllVertices
void EggGroup::unref_all_vertices(void);

Description: Removes all vertices from the reference list.

unrefVertex
void EggGroup::unref_vertex(EggVertex *vert);

Description: Removes the vertex from the set of those referenced by the group. Does nothing if the vertex is not already reffed.

write
virtual void EggGroup::write(ostream &out, int indent_level) const;

Description: Writes the group and all of its children to the indicated output stream in Egg format.

writeBillboardFlags
void EggGroup::write_billboard_flags(ostream &out, int indent_level) const;

Description: Writes just the <Billboard> entry and related fields to the indicated ostream.

writeCollideFlags
void EggGroup::write_collide_flags(ostream &out, int indent_level) const;

Description: Writes just the <Collide> entry and related fields to the indicated ostream.

writeDecalFlags
void EggGroup::write_decal_flags(ostream &out, int indent_level) const;

Description: Writes the flags related to decaling, if any.

writeModelFlags
void EggGroup::write_model_flags(ostream &out, int indent_level) const;

Description: Writes the <Model> flag and related flags to the indicated ostream.

writeObjectTypes
void EggGroup::write_object_types(ostream &out, int indent_level) const;

Description: Writes just the <ObjectTypes> entries, if any, to the indicated ostream.

writeRenderMode
void EggGroup::write_render_mode(ostream &out, int indent_level) const;

Description: Writes the flags inherited from EggRenderMode and similar flags that control obscure render effects.

writeSwitchFlags
void EggGroup::write_switch_flags(ostream &out, int indent_level) const;

Description: Writes the <Switch> flag and related flags to the indicated ostream.

writeTags
void EggGroup::write_tags(ostream &out, int indent_level) const;

Description: Writes just the <Tag> entries, if any, to the indicated ostream.

EggGroupNode
EggGroupNode::EggGroupNode(string const &name = (""));

Description:

addChild
EggNode *EggGroupNode::add_child(EggNode *node);

Description: Adds the indicated child to the group and returns it. If the child node is already a child of some other node, removes it first.

applyFirstAttribute
void EggGroupNode::apply_first_attribute(bool recurse);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

applyLastAttribute
void EggGroupNode::apply_last_attribute(bool recurse);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

clear
void EggGroupNode::clear(void);

Description:

clearConnectedShading
void EggGroupNode::clear_connected_shading(void);

Description: Resets the connected_shading information on all primitives at this node and below, so that it may be accurately rederived by the next call to get_connected_shading().
It may be a good idea to call remove_unused_vertices() as well, to establish the correct connectivity between common vertices.

empty
bool EggGroupNode::empty(void) const;

Description:

findChild
EggNode *EggGroupNode::find_child(string const &name) const;

Description: Returns the child of this node whose name is the indicated string, or NULL if there is no child of this node by that name. Does not search recursively.

forceFilenames
void EggGroupNode::force_filenames(Filename const &directory);

Description: Similar to resolve_filenames, but each non-absolute filename encountered is arbitrarily taken to be in the indicated directory, whether or not the so-named filename exists.

getClassType
static TypeHandle EggGroupNode::get_class_type(void);

Undocumented function.

getConnectedShading
void EggGroupNode::get_connected_shading(void);

Description: Queries the connected_shading information on all primitives at this node and below, to ensure that it has been completely filled in before we start mucking around with vertices.

getFirstChild
EggNode *EggGroupNode::get_first_child(void);

This is an alternate way to traverse the list of children. It is mainly provided for scripting code, which can't use the iterators defined above (they don't export through interrogate very well). These are, of course, non-thread-safe.
Description: Returns the first child in the group's list of children, or NULL if the list of children is empty. Can be used with get_next_child() to return the complete list of children without using the iterator class; however, this is non-thread-safe, and so is not recommended except for languages other than C++ which cannot use the iterators.

getNextChild
EggNode *EggGroupNode::get_next_child(void);

This is an alternate way to traverse the list of children. It is mainly provided for scripting code, which can't use the iterators defined above (they don't export through interrogate very well). These are, of course, non-thread-safe.
Description: Returns the next child in the group's list of children since the last call to get_first_child() or get_next_child(), or NULL if the last child has been returned. Can be used with get_first_child() to return the complete list of children without using the iterator class; however, this is non-thread-safe, and so is not recommended except for languages other than C++ which cannot use the iterators.
It is an error to call this without previously calling get_first_child().

hasAbsolutePathnames
bool EggGroupNode::has_absolute_pathnames(void) const;

Description: Returns true if any nodes at this level and below include a reference to a file via an absolute pathname, or false if all references are relative.

isRight
static bool EggGroupNode::is_right(LVector2d const &v1, LVector2d const &v2);

Description: Returns true if the 2-d v1 is to the right of v2.

meshTriangles
void EggGroupNode::mesh_triangles(int flags);

Description: Combine triangles together into triangle strips, at this group and below.

operator =
EggGroupNode &EggGroupNode::operator =(EggGroupNode const &copy);

Description:

postApplyFlatAttribute
void EggGroupNode::post_apply_flat_attribute(bool recurse);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

recomputePolygonNormals
void EggGroupNode::recompute_polygon_normals(CoordinateSystem cs = (CS_default));

Description: Recomputes all the polygon normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. Normals are removed from the vertices and defined only on polygons, giving the geometry a faceted appearance.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normals removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

recomputeTangentBinormal
bool EggGroupNode::recompute_tangent_binormal(GlobPattern const &uv_name);

Description: This function recomputes the tangent and binormal for the named texture coordinate set for all vertices at this level and below. Use the empty string for the default texture coordinate set.
It is necessary for each vertex to already have a normal (or at least a polygon normal), as well as a texture coordinate in the named texture coordinate set, before calling this function. You might precede this with recompute_vertex_normals() to ensure that the normals exist.
Like recompute_vertex_normals(), this function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the new tangents and binormals computed. Thus, it is a good idea to call remove_unused_vertices() after calling this.
Description: This function recomputes the tangent and binormal for the named texture coordinate sets. Returns true if anything was done.

recomputeTangentBinormalAuto
bool EggGroupNode::recompute_tangent_binormal_auto(void);

Description: This function recomputes the tangent and binormal for any texture coordinate set that affects a normal map. Returns true if anything was done.

recomputeVertexNormals
void EggGroupNode::recompute_vertex_normals(double threshold, CoordinateSystem cs = (CS_default));

Description: Recomputes all the vertex normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. A shared edge between two polygons (even in different groups) is considered smooth if the angle between the two edges is less than threshold degrees.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the correct normals. Thus, it is a good idea to call remove_unused_vertices() after calling this.

removeChild
PointerTo< EggNode > EggGroupNode::remove_child(EggNode *node);

Description: Removes the indicated child node from the group and returns it. If the child was not already in the group, does nothing and returns NULL.

removeInvalidPrimitives
int EggGroupNode::remove_invalid_primitives(bool recurse);

Description: Removes primitives at this level and below which appear to be degenerate; e.g. polygons with fewer than 3 vertices, etc. Returns the number of primitives removed.

removeUnusedVertices
int EggGroupNode::remove_unused_vertices(bool recurse);

Description: Removes all vertices from VertexPools within this group or below that are not referenced by at least one primitive. Also collapses together equivalent vertices, and renumbers all vertices after the operation so their indices are consecutive, beginning at zero. Returns the total number of vertices removed.
Note that this operates on the VertexPools within this group level, without respect to primitives that reference these vertices (unlike other functions like strip_normals()). It is therefore most useful to call this on the EggData root, rather than on a subgroup within the hierarchy, since a VertexPool may appear anywhere in the hierarchy.

renameNodes
int EggGroupNode::rename_nodes(vector< string > strip_prefix, bool recurse);

Description: Rename by stripping out the prefix

resolveFilenames
void EggGroupNode::resolve_filenames(DSearchPath const &searchpath);

Description: Walks the tree and attempts to resolve any filenames encountered. This looks up filenames in the search path, etc. It does not automatically search the egg_path for missing files.

reverseVertexOrdering
void EggGroupNode::reverse_vertex_ordering(void);

Description: Reverses the vertex ordering of all polygons defined at this node and below. Does not change the surface normals, if any.

size
unsigned int EggGroupNode::size(void) const;

Description:

stealChildren
void EggGroupNode::steal_children(EggGroupNode &other);

Description: Moves all the children from the other node to this one. This is especially useful because the group node copy assignment operator does not copy children.

stripNormals
void EggGroupNode::strip_normals(void);

Description: Removes all normals from primitives, and the vertices they reference, at this node and below.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normal removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

triangulatePolygons
int EggGroupNode::triangulate_polygons(int flags);

Description: Replace all higher-order polygons at this point in the scene graph and below with triangles. Returns the total number of new triangles produced, less degenerate polygons removed.
If flags contains T_polygon and T_convex, both concave and convex polygons will be subdivided into triangles; with only T_polygon, only concave polygons will be subdivided, and convex polygons will be largely unchanged.

unifyAttributes
void EggGroupNode::unify_attributes(bool use_connected_shading, bool allow_per_primitive, bool recurse);

Description: Applies per-vertex normal and color to all vertices, if they are in fact per-vertex (and different for each vertex), or moves them to the primitive if they are all the same.
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
If use_connected_shading is true, each polygon is considered in conjunction with all connected polygons; otherwise, each polygon is considered individually.
If allow_per_primitive is false, S_per_face or S_overall will treated like S_per_vertex: normals and colors will always be assigned to the vertices. In this case, there will never be per-primitive colors or normals after this call returns. On the other hand, if allow_per_primitive is true, then S_per_face means that normals and colors should be assigned to the primitives, and removed from the vertices, as described above.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggTransform
EggTransform::EggTransform(void);

Description:

addMatrix3
void EggTransform::add_matrix3(LMatrix3d const &mat);

Description: Appends an arbitrary 3x3 matrix to the current transform.

addMatrix4
void EggTransform::add_matrix4(LMatrix4d const &mat);

Description: Appends an arbitrary 4x4 matrix to the current transform.

addRotate2d
void EggTransform::add_rotate2d(double angle);

Description: Appends a 2-d rotation to the current transform. The rotation angle is specified in degrees counterclockwise about the origin.

addRotate3d
void EggTransform::add_rotate3d(double angle, LVector3d const &axis);

Description: Appends a 3-d rotation about an arbitrary axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.
Description: Appends an arbitrary 3-d rotation to the current transform, expressed as a quaternion. This is converted to axis-angle notation for the egg file.

addRotx
void EggTransform::add_rotx(double angle);

Description: Appends a rotation about the X axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.

addRoty
void EggTransform::add_roty(double angle);

Description: Appends a rotation about the Y axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.

addRotz
void EggTransform::add_rotz(double angle);

Description: Appends a rotation about the Z axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.

addScale2d
void EggTransform::add_scale2d(LVecBase2d const &scale);

Description: Appends a possibly non-uniform scale to the current transform.

addScale3d
void EggTransform::add_scale3d(LVecBase3d const &scale);

Description: Appends a possibly non-uniform scale to the current transform.

addTranslate2d
void EggTransform::add_translate2d(LVector2d const &translate);

Description: Appends a 2-d translation operation to the current transform.

addTranslate3d
void EggTransform::add_translate3d(LVector3d const &translate);

Description: Appends a 3-d translation operation to the current transform.

addUniformScale
void EggTransform::add_uniform_scale(double scale);

Description: Appends a uniform scale to the current transform.

clearTransform
void EggTransform::clear_transform(void);

Description: Resets the transform to empty, identity.

getComponentMat3
LMatrix3d const &EggTransform::get_component_mat3(int n) const;

Description: Returns the 3x3 matrix associated with the nth component. It is an error to call this if the component type is not CT_matrix3.

getComponentMat4
LMatrix4d const &EggTransform::get_component_mat4(int n) const;

Description: Returns the 4x4 matrix associated with the nth component. It is an error to call this if the component type is not CT_matrix4.

getComponentNumber
double EggTransform::get_component_number(int n) const;

Description: Returns the solitary number associated with the nth component. In the case of a rotation, this is the angle in degrees to rotate; in the case of uniform scale, this is the amount of the scale. Other types do not use this property.

getComponentType
EggTransform::ComponentType EggTransform::get_component_type(int n) const;

Description: Returns the type of the nth component.

getComponentVec2
LVecBase2d const &EggTransform::get_component_vec2(int n) const;

Description: Returns the 2-component vector associated with the nth component. This may be the translate vector, rotate axis, or non-uniform scale. It is an error to call this if the component type does not use a 2-d vector property.

getComponentVec3
LVecBase3d const &EggTransform::get_component_vec3(int n) const;

Description: Returns the 3-component vector associated with the nth component. This may be the translate vector, rotate axis, or non-uniform scale. It is an error to call this if the component type does not use a 3-d vector property.

getNumComponents
int EggTransform::get_num_components(void) const;

Description: Returns the number of components that make up the transform.

getTransform2d
LMatrix3d EggTransform::get_transform2d(void) const;

Description: Returns the overall transform as a 3x3 matrix. It is an error to call this if has_transform3d() is true.

getTransform3d
LMatrix4d const &EggTransform::get_transform3d(void) const;

Description: Returns the overall transform as a 4x4 matrix. It is valid to call this even if has_transform2d() is true; in this case, the 3x3 transform will be expanded to a 4x4 matrix.

hasTransform
bool EggTransform::has_transform(void) const;

Description: Returns true if the transform is nonempty, false if it is empty (no transform components have been added). This is true for either a 2-d or a 3-d transform.

hasTransform2d
bool EggTransform::has_transform2d(void) const;

Description: Returns true if the transform is specified as a 2-d transform, e.g. with a 3x3 matrix, or false if it is specified as a 3-d transform (with a 4x4 matrix), or not specified at all.
Normally, EggTextures have a 2-d matrix (but occasionally they use a 3-d matrix), and EggGroups always have a 3-d matrix.

hasTransform3d
bool EggTransform::has_transform3d(void) const;

Description: Returns true if the transform is specified as a 3-d transform, e.g. with a 4x4 matrix, or false if it is specified as a 2-d transform (with a 2x2 matrix), or not specified at all.
Normally, EggTextures have a 3-d matrix (but occasionally they use a 3-d matrix), and EggGroups always have a 3-d matrix.

operator =
EggTransform &EggTransform::operator =(EggTransform const &copy);

Description:

setTransform2d
void EggTransform::set_transform2d(LMatrix3d const &mat);

Description: Sets the overall transform as a 3x3 matrix. This completely replaces whatever componentwise transform may have been defined.

setTransform3d
void EggTransform::set_transform3d(LMatrix4d const &mat);

Description: Sets the overall transform as a 4x4 matrix. This completely replaces whatever componentwise transform may have been defined.

transformIsIdentity
bool EggTransform::transform_is_identity(void) const;

Description: Returns true if the described transform is identity, false otherwise.

write
void EggTransform::write(ostream &out, int indent_level) const;

Description: Writes the transform to the indicated stream in Egg format.


EggBinMaker

    from pandac.PandaModules import EggBinMaker
    Class : EggBinMaker
    Description : This is a handy class for collecting related nodes together. It is an abstract class; to use it you must subclass off of it. See the somewhat lengthy comment above.

Inheritance:

    EggBinMaker: EggObject
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EggBinMaker:

    collapseGroup
    getBinName
    getBinNumber
    getClassType
    makeBin
    makeBins
    prepareNode
    sortsLess

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
collapseGroup
virtual bool EggBinMaker::collapse_group(EggGroup const *group, int bin_number);

Description: May be overridden in derived classes to specify whether a particular group node, apparently redundant, may be safely collapsed out.

getBinName
virtual string EggBinMaker::get_bin_name(int bin_number, EggNode const *child);

Description: May be overridden in derived classes to define a name for each new bin, based on its bin number, and a sample child.

getBinNumber
virtual int EggBinMaker::get_bin_number(EggNode const *node) = 0;

Undocumented function.

getClassType
static TypeHandle EggBinMaker::get_class_type(void);

Undocumented function.

makeBin
virtual PointerTo< EggBin > EggBinMaker::make_bin(int bin_number, EggNode const *child, EggGroup *collapse_from);

Description: May be overridden in derived classes to construct a new EggBin object (or some derived class, if needed), and preload some initial data into as required.
child is an arbitrary child of the bin, and collapse_from is the group the bin is being collapsed with, if any (implying collapse_group() returned true), or NULL if not.

makeBins
int EggBinMaker::make_bins(EggGroupNode *root_group);

Description: The main entry point to EggBinMaker. Walks the egg scene graph beginning at the indicated root node, and moves all binnable nodes into EggBin objects. Returns the number of EggBins created.

prepareNode
virtual void EggBinMaker::prepare_node(EggNode *node);

Description: May be overridden in derived classes to perform some setup work as each node is encountered. This will be called once for each node in the egg hierarchy.

sortsLess
virtual bool EggBinMaker::sorts_less(int bin_number, EggNode const *a, EggNode const *b);

Description: May be overridden in derived classes to create additional bins within a particular bin number, based on some arbitrary property of nodes. This function establishes an arbitrary but fixed ordering between nodes; if two nodes do not sort to the same position, different bins are created for each one (with the same bin number on each bin).

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EggComment

    from pandac.PandaModules import EggComment
    Class : EggComment
    Description : A comment that appears in an egg file within a <Comment> entry.

Inheritance:

    EggComment: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggComment:

    EggComment (Constructor)
    getClassType
    getComment
    operator =
    setComment

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
EggComment
EggComment::EggComment(string const &node_name, string const &comment);

Description:

getClassType
static TypeHandle EggComment::get_class_type(void);

Undocumented function.

getComment
string EggComment::get_comment(void) const;

Description:

operator =
EggComment &EggComment::operator =(string const &comment);

You can use the string operators to directly set and manipulate the comment.
Description:

setComment
void EggComment::set_comment(string const &comment);

Or, you can set and get it explicitly.
Description:

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggCompositePrimitive

    from pandac.PandaModules import EggCompositePrimitive
    Class : EggCompositePrimitive
    Description : The base class for primitives such as triangle strips and triangle fans, which include several component triangles, each of which might have its own color and/or normal.

Inheritance:

    EggCompositePrimitive: EggPrimitive
    EggPrimitive: EggNode EggAttributes EggRenderMode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggAttributes:
    EggRenderMode:

Methods of EggCompositePrimitive:

    getClassType
    getComponent
    getNumComponents
    operator =
    setComponent
    triangulateInPlace
    triangulateInto

Methods of EggPrimitive:

    addTexture
    addVertex
    applyFirstAttribute
    applyLastAttribute
    cleanup
    clear
    clearConnectedShading
    clearMaterial
    clearTexture
    copyAttributes
    copyVertices
    determineAlphaMode
    determineBin
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineVisibilityMode
    getBfaceFlag
    getClassType
    getConnectedShading
    getMaterial
    getNumTextures
    getNumVertices
    getPool
    getShading
    getSortName
    getTexture
    getVertex
    hasMaterial
    hasNormals
    hasPrimitives
    hasTexture
    hasVertexColor
    hasVertexNormal
    jointHasPrimitives
    operator =
    postApplyFlatAttribute
    removeDoubledVerts
    removeNonuniqueVerts
    removeVertex
    reverseVertexOrdering
    setBfaceFlag
    setMaterial
    setTexture
    setVertex
    testVrefIntegrity
    unifyAttributes
    write

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Constants in EggPrimitive:

    SUnknown | (Shading)
SOverall | (Shading)
SPerFace | (Shading)
SPerVertex | (Shading)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)
getClassType
static TypeHandle EggCompositePrimitive::get_class_type(void);

Undocumented function.

getComponent
EggAttributes const *EggCompositePrimitive::get_component(int i) const;

Description: Returns the attributes for the nth component triangle.

getNumComponents
int EggCompositePrimitive::get_num_components(void) const;

Description: Returns the number of individual component triangles within the composite. Each one of these might have a different set of attributes.

operator =
EggCompositePrimitive &EggCompositePrimitive::operator =(EggCompositePrimitive const &copy);

Description:

setComponent
void EggCompositePrimitive::set_component(int i, EggAttributes const *attrib);

Description: Changes the attributes for the nth component triangle.

triangulateInPlace
PointerTo< EggCompositePrimitive > EggCompositePrimitive::triangulate_in_place(void);

Description: Subdivides the composite primitive into triangles and adds those triangles to the parent group node in place of the original primitive. Returns a pointer to the original primitive, which is likely about to be destructed.
If convex_also is true, both concave and convex polygons will be subdivided into triangles; otherwise, only concave polygons will be subdivided, and convex polygons will be copied unchanged into the container.

triangulateInto
bool EggCompositePrimitive::triangulate_into(EggGroupNode *container) const;

Description: Subdivides the composite primitive into triangles and adds those triangles to the indicated container. Does not remove the primitive from its existing parent or modify it in any way.
Returns true if the triangulation is successful, or false if there was some error (in which case the container may contain some partial triangulation).

addTexture
void EggPrimitive::add_texture(EggTexture *texture);

Description: Applies the indicated texture to the primitive.
Note that, in the case of multiple textures being applied to a single primitive, the order in which the textures are applied does not affect the rendering order; use EggTexture::set_sort() to specify that.

addVertex
EggVertex *EggPrimitive::add_vertex(EggVertex *vertex);

Description: Adds the indicated vertex to the end of the primitive's list of vertices, and returns it.

applyFirstAttribute
virtual void EggPrimitive::apply_first_attribute(void);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

applyLastAttribute
virtual void EggPrimitive::apply_last_attribute(void);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

cleanup
virtual bool EggPrimitive::cleanup(void);

Description: Cleans up modeling errors in whatever context this makes sense. For instance, for a polygon, this calls remove_doubled_verts(true). For a point, it calls remove_nonunique_verts(). Returns true if the primitive is valid, or false if it is degenerate.

clear
void EggPrimitive::clear(void);

Description: Removes all of the vertices from the primitive.

clearConnectedShading
void EggPrimitive::clear_connected_shading(void);

Description: Resets the connected_shading member in this primitive, so that get_connected_shading() will recompute a new value.

clearMaterial
void EggPrimitive::clear_material(void);

Description: Removes any material from the primitive.

clearTexture
void EggPrimitive::clear_texture(void);

Description: Removes any texturing from the primitive.

copyAttributes
void EggPrimitive::copy_attributes(EggAttributes const &other);

Description: Copies the rendering attributes from the indicated primitive.

copyVertices
void EggPrimitive::copy_vertices(EggPrimitive const &other);

Description: Replaces the current primitive's list of vertices with a copy of the list of vertices on the other primitive.

determineAlphaMode
virtual EggRenderMode *EggPrimitive::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggPrimitive::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthTestMode
virtual EggRenderMode *EggPrimitive::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggPrimitive::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggPrimitive::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineVisibilityMode
virtual EggRenderMode *EggPrimitive::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBfaceFlag
bool EggPrimitive::get_bface_flag(void) const;

Description: Retrieves the backfacing flag of the polygon. See set_bface_flag().

getClassType
static TypeHandle EggPrimitive::get_class_type(void);

Undocumented function.

getConnectedShading
EggPrimitive::Shading EggPrimitive::get_connected_shading(void) const;

Description: Determines what sort of shading properties this primitive's connected neighbors have.
To get the most accurate results, you should first call clear_connected_shading() on all connected primitives (or on all primitives in the egg file). It might also be a good idea to call remove_unused_vertices() to ensure proper connectivity.
You may find it easiest to call these other methods on the EggData root node (they are defined on EggGroupNode).

getMaterial
EggMaterial *EggPrimitive::get_material(void) const;

Description: Returns a pointer to the applied material, or NULL if there is no material applied.

getNumTextures
int EggPrimitive::get_num_textures(void) const;

Description: Returns the number of textures applied to the primitive.

getNumVertices
int EggPrimitive::get_num_vertices(void) const;

These are shorthands if you don't want to use the iterators.
Description:

getPool
EggVertexPool *EggPrimitive::get_pool(void) const;

Description: Returns the vertex pool associated with the vertices of the primitive, or NULL if the primitive has no vertices.

getShading
virtual EggPrimitive::Shading EggPrimitive::get_shading(void) const;

Description: Returns the shading properties apparent on this particular primitive. This returns S_per_vertex if the vertices have colors or normals (and they are not all the same values), or for a simple primitive, S_overall otherwise. A composite primitive may also return S_per_face if the individual component primitives have colors or normals that are not all the same values.
To get the most accurate results, you should call clear_shading() on all connected primitives (or on all primitives in the egg file), followed by get_shading() on each primitive. You may find it easiest to call these methods on the EggData root node (they are defined on EggGroupNode).

getSortName
string EggPrimitive::get_sort_name(void) const;

Description: Returns the name of the primitive for the purposes of sorting primitives into different groups, if there is one.
Presently, this is defined as the primitive name itself, unless it begins with a digit.

getTexture
EggTexture *EggPrimitive::get_texture(void) const;

Description: Returns the first texture on the primitive, if any, or NULL if there are no textures on the primitive.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns the nth texture that has been applied to the primitive.

getVertex
EggVertex *EggPrimitive::get_vertex(int index) const;

Description: Returns a particular index based on its index number.

hasMaterial
bool EggPrimitive::has_material(void) const;

Description: Returns true if the primitive is materiald (and get_material() will return a real pointer), false otherwise (and get_material() will return NULL).

hasNormals
virtual bool EggPrimitive::has_normals(void) const;

Description: Returns true if any of the primitives (e.g. polygons) defined within this group or below have either face or vertex normals defined, false otherwise.

hasPrimitives
virtual bool EggPrimitive::has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, false otherwise.

hasTexture
bool EggPrimitive::has_texture(void) const;

Description: Returns true if the primitive has any textures specified, false otherwise.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns true if the primitive has the particular indicated texture, false otherwise.

hasVertexColor
bool EggPrimitive::has_vertex_color(void) const;

Description: Returns true if any vertex on the primitive has a specific color set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

hasVertexNormal
bool EggPrimitive::has_vertex_normal(void) const;

Description: Returns true if any vertex on the primitive has a specific normal set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

jointHasPrimitives
virtual bool EggPrimitive::joint_has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, but the search does not include nested joints.

operator =
EggPrimitive &EggPrimitive::operator =(EggPrimitive const &copy);

Description:

postApplyFlatAttribute
virtual void EggPrimitive::post_apply_flat_attribute(void);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

removeDoubledVerts
void EggPrimitive::remove_doubled_verts(bool closed);

Description: Certain kinds of primitives, particularly polygons, don't like to have the same vertex repeated consecutively. Unfortunately, some modeling programs (like MultiGen) make this an easy mistake to make.
It's handy to have a function to remove these redundant vertices. If closed is true, it also checks that the first and last vertices are not the same.
This function identifies repeated vertices by position only; it does not consider any other properties, such as color or UV, significant in differentiating vertices.

removeNonuniqueVerts
void EggPrimitive::remove_nonunique_verts(void);

Description: Removes any multiple appearances of the same vertex from the primitive. This primarily makes sense for a point primitive, which is really a collection of points and which doesn't make sense to include the same point twice, in any order.

removeVertex
EggVertex *EggPrimitive::remove_vertex(EggVertex *vertex);

Description: Removes the indicated vertex from the primitive and returns it. If the vertex was not already in the primitive, does nothing and returns NULL.

reverseVertexOrdering
virtual void EggPrimitive::reverse_vertex_ordering(void);

Description: Reverses the ordering of the vertices in this primitive, if appropriate, in order to change the direction the polygon appears to be facing. Does not adjust the surface normal, if any.

setBfaceFlag
void EggPrimitive::set_bface_flag(bool flag);

Description: Sets the backfacing flag of the polygon. If this is true, the polygon will be rendered so that both faces are visible; if it is false, only the front face of the polygon will be visible.

setMaterial
void EggPrimitive::set_material(EggMaterial *material);

Description: Applies the indicated material to the primitive.

setTexture
void EggPrimitive::set_texture(EggTexture *texture);

Description: Replaces the current list of textures with the indicated texture.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.q

setVertex
void EggPrimitive::set_vertex(int index, EggVertex *vertex);

These are shorthands if you don't want to use the iterators.
Description: Replaces a particular vertex based on its index number in the list of vertices. This is just a convenience function for people who don't want to mess with the iterators.

testVrefIntegrity
void EggPrimitive::test_vref_integrity(void) const;

Description: Verifies that each vertex in the primitive exists and that it knows it is referenced by the primitive.

unifyAttributes
virtual void EggPrimitive::unify_attributes(EggPrimitive::Shading shading);

Description: If the shading property is S_per_vertex, ensures that all vertices have a normal and a color, and the overall primitive does not.
If the shading property is S_per_face, and this is a composite primitive, ensures that all components have a normal and a color, and the vertices and overall primitive do not. (If this is a simple primitive, S_per_face works the same as S_overall, below).
If the shading property is S_overall, ensures that no vertices or components have a normal or a color, and the overall primitive does (if any exists at all).
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
This may create redundant vertices in the vertex pool.

write
virtual void EggPrimitive::write(ostream &out, int indent_level) const = 0;

Undocumented function.

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggCurve

    from pandac.PandaModules import EggCurve
    Class : EggCurve
    Description : A parametric curve of some kind. See EggNurbsCurve.

Inheritance:

    EggCurve: EggPrimitive
    EggPrimitive: EggNode EggAttributes EggRenderMode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggAttributes:
    EggRenderMode:

Methods of EggCurve:

    getClassType
    getCurveType
    getSubdiv
    operator =
    setCurveType
    setSubdiv
    stringCurveType

Methods of EggPrimitive:

    addTexture
    addVertex
    applyFirstAttribute
    applyLastAttribute
    cleanup
    clear
    clearConnectedShading
    clearMaterial
    clearTexture
    copyAttributes
    copyVertices
    determineAlphaMode
    determineBin
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineVisibilityMode
    getBfaceFlag
    getClassType
    getConnectedShading
    getMaterial
    getNumTextures
    getNumVertices
    getPool
    getShading
    getSortName
    getTexture
    getVertex
    hasMaterial
    hasNormals
    hasPrimitives
    hasTexture
    hasVertexColor
    hasVertexNormal
    jointHasPrimitives
    operator =
    postApplyFlatAttribute
    removeDoubledVerts
    removeNonuniqueVerts
    removeVertex
    reverseVertexOrdering
    setBfaceFlag
    setMaterial
    setTexture
    setVertex
    testVrefIntegrity
    unifyAttributes
    write

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Constants in EggCurve:

    CTNone | (CurveType)
CTXyz | (CurveType)
CTHpr | (CurveType)
CTT | (CurveType)

Constants in EggPrimitive:

    SUnknown | (Shading)
SOverall | (Shading)
SPerFace | (Shading)
SPerVertex | (Shading)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)
getClassType
static TypeHandle EggCurve::get_class_type(void);

Undocumented function.

getCurveType
EggCurve::CurveType EggCurve::get_curve_type(void) const;

Description: Returns the indicated type of the curve.

getSubdiv
int EggCurve::get_subdiv(void) const;

Description: Returns the requested number of subdivisions, or 0 if no particular subdivisions have been requested.

operator =
EggCurve &EggCurve::operator =(EggCurve const &copy);

Description:

setCurveType
void EggCurve::set_curve_type(EggCurve::CurveType type);

Description: Sets the type of the curve. This is primarily used as a hint to any code that may need to deal with this curve.

setSubdiv
void EggCurve::set_subdiv(int subdiv);

Description: Sets the number of subdivisions that will be requested across the curve. (This doesn't necessary guarantee that this number of subdivisions will be made; it's just a hint to any curve renderer or quick tesselator.) Set the number to 0 to disable the hint.

stringCurveType
static EggCurve::CurveType EggCurve::string_curve_type(string const &string);

Description: Returns the CurveType value associated with the given string representation, or CT_invalid if the string does not match any known CurveType value.

addTexture
void EggPrimitive::add_texture(EggTexture *texture);

Description: Applies the indicated texture to the primitive.
Note that, in the case of multiple textures being applied to a single primitive, the order in which the textures are applied does not affect the rendering order; use EggTexture::set_sort() to specify that.

addVertex
EggVertex *EggPrimitive::add_vertex(EggVertex *vertex);

Description: Adds the indicated vertex to the end of the primitive's list of vertices, and returns it.

applyFirstAttribute
virtual void EggPrimitive::apply_first_attribute(void);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

applyLastAttribute
virtual void EggPrimitive::apply_last_attribute(void);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

cleanup
virtual bool EggPrimitive::cleanup(void);

Description: Cleans up modeling errors in whatever context this makes sense. For instance, for a polygon, this calls remove_doubled_verts(true). For a point, it calls remove_nonunique_verts(). Returns true if the primitive is valid, or false if it is degenerate.

clear
void EggPrimitive::clear(void);

Description: Removes all of the vertices from the primitive.

clearConnectedShading
void EggPrimitive::clear_connected_shading(void);

Description: Resets the connected_shading member in this primitive, so that get_connected_shading() will recompute a new value.

clearMaterial
void EggPrimitive::clear_material(void);

Description: Removes any material from the primitive.

clearTexture
void EggPrimitive::clear_texture(void);

Description: Removes any texturing from the primitive.

copyAttributes
void EggPrimitive::copy_attributes(EggAttributes const &other);

Description: Copies the rendering attributes from the indicated primitive.

copyVertices
void EggPrimitive::copy_vertices(EggPrimitive const &other);

Description: Replaces the current primitive's list of vertices with a copy of the list of vertices on the other primitive.

determineAlphaMode
virtual EggRenderMode *EggPrimitive::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggPrimitive::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthTestMode
virtual EggRenderMode *EggPrimitive::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggPrimitive::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggPrimitive::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineVisibilityMode
virtual EggRenderMode *EggPrimitive::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBfaceFlag
bool EggPrimitive::get_bface_flag(void) const;

Description: Retrieves the backfacing flag of the polygon. See set_bface_flag().

getClassType
static TypeHandle EggPrimitive::get_class_type(void);

Undocumented function.

getConnectedShading
EggPrimitive::Shading EggPrimitive::get_connected_shading(void) const;

Description: Determines what sort of shading properties this primitive's connected neighbors have.
To get the most accurate results, you should first call clear_connected_shading() on all connected primitives (or on all primitives in the egg file). It might also be a good idea to call remove_unused_vertices() to ensure proper connectivity.
You may find it easiest to call these other methods on the EggData root node (they are defined on EggGroupNode).

getMaterial
EggMaterial *EggPrimitive::get_material(void) const;

Description: Returns a pointer to the applied material, or NULL if there is no material applied.

getNumTextures
int EggPrimitive::get_num_textures(void) const;

Description: Returns the number of textures applied to the primitive.

getNumVertices
int EggPrimitive::get_num_vertices(void) const;

These are shorthands if you don't want to use the iterators.
Description:

getPool
EggVertexPool *EggPrimitive::get_pool(void) const;

Description: Returns the vertex pool associated with the vertices of the primitive, or NULL if the primitive has no vertices.

getShading
virtual EggPrimitive::Shading EggPrimitive::get_shading(void) const;

Description: Returns the shading properties apparent on this particular primitive. This returns S_per_vertex if the vertices have colors or normals (and they are not all the same values), or for a simple primitive, S_overall otherwise. A composite primitive may also return S_per_face if the individual component primitives have colors or normals that are not all the same values.
To get the most accurate results, you should call clear_shading() on all connected primitives (or on all primitives in the egg file), followed by get_shading() on each primitive. You may find it easiest to call these methods on the EggData root node (they are defined on EggGroupNode).

getSortName
string EggPrimitive::get_sort_name(void) const;

Description: Returns the name of the primitive for the purposes of sorting primitives into different groups, if there is one.
Presently, this is defined as the primitive name itself, unless it begins with a digit.

getTexture
EggTexture *EggPrimitive::get_texture(void) const;

Description: Returns the first texture on the primitive, if any, or NULL if there are no textures on the primitive.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns the nth texture that has been applied to the primitive.

getVertex
EggVertex *EggPrimitive::get_vertex(int index) const;

Description: Returns a particular index based on its index number.

hasMaterial
bool EggPrimitive::has_material(void) const;

Description: Returns true if the primitive is materiald (and get_material() will return a real pointer), false otherwise (and get_material() will return NULL).

hasNormals
virtual bool EggPrimitive::has_normals(void) const;

Description: Returns true if any of the primitives (e.g. polygons) defined within this group or below have either face or vertex normals defined, false otherwise.

hasPrimitives
virtual bool EggPrimitive::has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, false otherwise.

hasTexture
bool EggPrimitive::has_texture(void) const;

Description: Returns true if the primitive has any textures specified, false otherwise.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns true if the primitive has the particular indicated texture, false otherwise.

hasVertexColor
bool EggPrimitive::has_vertex_color(void) const;

Description: Returns true if any vertex on the primitive has a specific color set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

hasVertexNormal
bool EggPrimitive::has_vertex_normal(void) const;

Description: Returns true if any vertex on the primitive has a specific normal set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

jointHasPrimitives
virtual bool EggPrimitive::joint_has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, but the search does not include nested joints.

operator =
EggPrimitive &EggPrimitive::operator =(EggPrimitive const &copy);

Description:

postApplyFlatAttribute
virtual void EggPrimitive::post_apply_flat_attribute(void);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

removeDoubledVerts
void EggPrimitive::remove_doubled_verts(bool closed);

Description: Certain kinds of primitives, particularly polygons, don't like to have the same vertex repeated consecutively. Unfortunately, some modeling programs (like MultiGen) make this an easy mistake to make.
It's handy to have a function to remove these redundant vertices. If closed is true, it also checks that the first and last vertices are not the same.
This function identifies repeated vertices by position only; it does not consider any other properties, such as color or UV, significant in differentiating vertices.

removeNonuniqueVerts
void EggPrimitive::remove_nonunique_verts(void);

Description: Removes any multiple appearances of the same vertex from the primitive. This primarily makes sense for a point primitive, which is really a collection of points and which doesn't make sense to include the same point twice, in any order.

removeVertex
EggVertex *EggPrimitive::remove_vertex(EggVertex *vertex);

Description: Removes the indicated vertex from the primitive and returns it. If the vertex was not already in the primitive, does nothing and returns NULL.

reverseVertexOrdering
virtual void EggPrimitive::reverse_vertex_ordering(void);

Description: Reverses the ordering of the vertices in this primitive, if appropriate, in order to change the direction the polygon appears to be facing. Does not adjust the surface normal, if any.

setBfaceFlag
void EggPrimitive::set_bface_flag(bool flag);

Description: Sets the backfacing flag of the polygon. If this is true, the polygon will be rendered so that both faces are visible; if it is false, only the front face of the polygon will be visible.

setMaterial
void EggPrimitive::set_material(EggMaterial *material);

Description: Applies the indicated material to the primitive.

setTexture
void EggPrimitive::set_texture(EggTexture *texture);

Description: Replaces the current list of textures with the indicated texture.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.q

setVertex
void EggPrimitive::set_vertex(int index, EggVertex *vertex);

These are shorthands if you don't want to use the iterators.
Description: Replaces a particular vertex based on its index number in the list of vertices. This is just a convenience function for people who don't want to mess with the iterators.

testVrefIntegrity
void EggPrimitive::test_vref_integrity(void) const;

Description: Verifies that each vertex in the primitive exists and that it knows it is referenced by the primitive.

unifyAttributes
virtual void EggPrimitive::unify_attributes(EggPrimitive::Shading shading);

Description: If the shading property is S_per_vertex, ensures that all vertices have a normal and a color, and the overall primitive does not.
If the shading property is S_per_face, and this is a composite primitive, ensures that all components have a normal and a color, and the vertices and overall primitive do not. (If this is a simple primitive, S_per_face works the same as S_overall, below).
If the shading property is S_overall, ensures that no vertices or components have a normal or a color, and the overall primitive does (if any exists at all).
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
This may create redundant vertices in the vertex pool.

write
virtual void EggPrimitive::write(ostream &out, int indent_level) const = 0;

Undocumented function.

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggData

    from pandac.PandaModules import EggData
    Class : EggData
    Description : This is the primary interface into all the egg data, and the root of the egg file structure. An EggData structure corresponds exactly with an egg file on the disk.
    The EggData class inherits from EggGroupNode its collection of children, which are accessed by using the EggData itself as an STL container with begin() and end() calls. The children of the EggData class are the toplevel nodes in the egg file.

Inheritance:

    EggData: EggGroupNode
    EggGroupNode: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggData:

    EggData (Constructor)
    collapseEquivalentMaterials
    collapseEquivalentTextures
    getAutoResolveExternals
    getClassType
    getCoordinateSystem
    getEggFilename
    loadExternals
    merge
    operator =
    originalHadAbsolutePathnames
    read
    recomputePolygonNormals
    recomputeVertexNormals
    resolveEggFilename
    setAutoResolveExternals
    setCoordinateSystem
    setEggFilename
    stripNormals
    writeEgg

Methods of EggGroupNode:

    EggGroupNode (Constructor)
    addChild
    applyFirstAttribute
    applyLastAttribute
    clear
    clearConnectedShading
    empty
    findChild
    forceFilenames
    getClassType
    getConnectedShading
    getFirstChild
    getNextChild
    hasAbsolutePathnames
    isRight
    meshTriangles
    operator =
    postApplyFlatAttribute
    recomputePolygonNormals
    recomputeTangentBinormal
    recomputeTangentBinormalAuto
    recomputeVertexNormals
    removeChild
    removeInvalidPrimitives
    removeUnusedVertices
    renameNodes
    resolveFilenames
    reverseVertexOrdering
    size
    stealChildren
    stripNormals
    triangulatePolygons
    unifyAttributes

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in EggGroupNode:

    TPolygon | (TriangulateFlags)
TConvex | (TriangulateFlags)
TComposite | (TriangulateFlags)
TRecurse | (TriangulateFlags)
TFlatShaded | (TriangulateFlags)
EggData
EggData::EggData(void);

Description:

collapseEquivalentMaterials
int EggData::collapse_equivalent_materials(void);

Description: Removes duplicate references to the same material with the same properties. Considers two material references with identical properties, but different mref names, to be equivalent, and collapses them, choosing one mref name to keep arbitrarily. Returns the number of materials removed.

collapseEquivalentTextures
int EggData::collapse_equivalent_textures(void);

Description: Removes duplicate references to the same texture image with the same properties. Considers two texture references with identical properties, but different tref names, to be equivalent, and collapses them, choosing one tref name to keep arbitrarily. Returns the number of textures removed.

getAutoResolveExternals
bool EggData::get_auto_resolve_externals(void) const;

Description: Indicates whether the EggData object will automatically resolve any external references when read() is called. The default is false.

getClassType
static TypeHandle EggData::get_class_type(void);

Undocumented function.

getCoordinateSystem
CoordinateSystem EggData::get_coordinate_system(void) const;

Description: Returns the coordinate system in which the egg file is defined.

getEggFilename
Filename const &EggData::get_egg_filename(void) const;

Description: Returns the directory in which the egg file is considered to reside.

loadExternals
bool EggData::load_externals(DSearchPath const &searchpath = ((())));

Description: Loads up all the egg files referenced by <File> entries within the egg structure, and inserts their contents in place of the <File> entries. Searches for files in the searchpath, if not found directly, and writes error messages to the indicated output stream. Returns true if all externals were loaded successfully, false otherwise.

merge
void EggData::merge(EggData &other);

Description: Appends the other egg structure to the end of this one. The other egg structure is invalidated.

operator =
EggData &EggData::operator =(EggData const &copy);

Description:

originalHadAbsolutePathnames
bool EggData::original_had_absolute_pathnames(void) const;

Description: Returns true if the data processed in the last call to read() contained absolute pathnames, or false if those pathnames were all relative.
This method is necessary because if auto_resolve_externals() is in effect, it may modify the pathnames to be absolute whether or not they were as loaded from disk. This method can be used to query the state of the original egg file from disk.

read
bool EggData::read(Filename filename, string display_name = ((string())));

Description: Opens the indicated filename and reads the egg data contents from it. Returns true if the file was successfully opened and read, false if there were some errors, in which case the data may be partially read.
error is the output stream to which to write error messages.
Description: Parses the egg syntax contained in the indicated input stream. Returns true if the stream was a completely valid egg file, false if there were some errors, in which case the data may be partially read.
Before you call this routine, you should probably call set_egg_filename() to set the name of the egg file we're processing, if at all possible. If there is no such filename, you may set it to the empty string.

recomputePolygonNormals
void EggData::recompute_polygon_normals(void);

Description: Recomputes all the polygon normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. Normals are removed from the vertices and defined only on polygons, giving the geometry a faceted appearance.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normals removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

recomputeVertexNormals
void EggData::recompute_vertex_normals(double threshold);

Description: Recomputes all the vertex normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. A shared edge between two polygons (even in different groups) is considered smooth if the angle between the two edges is less than threshold degrees.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the correct normals. Thus, it is a good idea to call remove_unused_vertices() after calling this.

resolveEggFilename
static bool EggData::resolve_egg_filename(Filename &egg_filename, DSearchPath const &searchpath = ((())));

Description: Looks for the indicated filename, first along the indicated searchpath, and then along the egg_path and finally along the model_path. If found, updates the filename to the full path and returns true; otherwise, returns false.

setAutoResolveExternals
void EggData::set_auto_resolve_externals(bool resolve);

Description: Indicates whether the EggData object will automatically resolve any external references when read() is called. The default is false.

setCoordinateSystem
void EggData::set_coordinate_system(CoordinateSystem coordsys);

Description: Changes the coordinate system of the EggData. If the coordinate system was previously different, this may result in a conversion of the data.

setEggFilename
void EggData::set_egg_filename(Filename const &egg_filenamea);

Description: Sets the filename--especially the directory part--in which the egg file is considered to reside. This is also implicitly set by read().

stripNormals
void EggData::strip_normals(void);

Description: Removes all normals from primitives, and the vertices they reference, at this node and below.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normal removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

writeEgg
bool EggData::write_egg(Filename filename);

Description: The main interface for writing complete egg files.

EggGroupNode
EggGroupNode::EggGroupNode(string const &name = (""));

Description:

addChild
EggNode *EggGroupNode::add_child(EggNode *node);

Description: Adds the indicated child to the group and returns it. If the child node is already a child of some other node, removes it first.

applyFirstAttribute
void EggGroupNode::apply_first_attribute(bool recurse);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

applyLastAttribute
void EggGroupNode::apply_last_attribute(bool recurse);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

clear
void EggGroupNode::clear(void);

Description:

clearConnectedShading
void EggGroupNode::clear_connected_shading(void);

Description: Resets the connected_shading information on all primitives at this node and below, so that it may be accurately rederived by the next call to get_connected_shading().
It may be a good idea to call remove_unused_vertices() as well, to establish the correct connectivity between common vertices.

empty
bool EggGroupNode::empty(void) const;

Description:

findChild
EggNode *EggGroupNode::find_child(string const &name) const;

Description: Returns the child of this node whose name is the indicated string, or NULL if there is no child of this node by that name. Does not search recursively.

forceFilenames
void EggGroupNode::force_filenames(Filename const &directory);

Description: Similar to resolve_filenames, but each non-absolute filename encountered is arbitrarily taken to be in the indicated directory, whether or not the so-named filename exists.

getClassType
static TypeHandle EggGroupNode::get_class_type(void);

Undocumented function.

getConnectedShading
void EggGroupNode::get_connected_shading(void);

Description: Queries the connected_shading information on all primitives at this node and below, to ensure that it has been completely filled in before we start mucking around with vertices.

getFirstChild
EggNode *EggGroupNode::get_first_child(void);

This is an alternate way to traverse the list of children. It is mainly provided for scripting code, which can't use the iterators defined above (they don't export through interrogate very well). These are, of course, non-thread-safe.
Description: Returns the first child in the group's list of children, or NULL if the list of children is empty. Can be used with get_next_child() to return the complete list of children without using the iterator class; however, this is non-thread-safe, and so is not recommended except for languages other than C++ which cannot use the iterators.

getNextChild
EggNode *EggGroupNode::get_next_child(void);

This is an alternate way to traverse the list of children. It is mainly provided for scripting code, which can't use the iterators defined above (they don't export through interrogate very well). These are, of course, non-thread-safe.
Description: Returns the next child in the group's list of children since the last call to get_first_child() or get_next_child(), or NULL if the last child has been returned. Can be used with get_first_child() to return the complete list of children without using the iterator class; however, this is non-thread-safe, and so is not recommended except for languages other than C++ which cannot use the iterators.
It is an error to call this without previously calling get_first_child().

hasAbsolutePathnames
bool EggGroupNode::has_absolute_pathnames(void) const;

Description: Returns true if any nodes at this level and below include a reference to a file via an absolute pathname, or false if all references are relative.

isRight
static bool EggGroupNode::is_right(LVector2d const &v1, LVector2d const &v2);

Description: Returns true if the 2-d v1 is to the right of v2.

meshTriangles
void EggGroupNode::mesh_triangles(int flags);

Description: Combine triangles together into triangle strips, at this group and below.

operator =
EggGroupNode &EggGroupNode::operator =(EggGroupNode const &copy);

Description:

postApplyFlatAttribute
void EggGroupNode::post_apply_flat_attribute(bool recurse);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

recomputePolygonNormals
void EggGroupNode::recompute_polygon_normals(CoordinateSystem cs = (CS_default));

Description: Recomputes all the polygon normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. Normals are removed from the vertices and defined only on polygons, giving the geometry a faceted appearance.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normals removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

recomputeTangentBinormal
bool EggGroupNode::recompute_tangent_binormal(GlobPattern const &uv_name);

Description: This function recomputes the tangent and binormal for the named texture coordinate set for all vertices at this level and below. Use the empty string for the default texture coordinate set.
It is necessary for each vertex to already have a normal (or at least a polygon normal), as well as a texture coordinate in the named texture coordinate set, before calling this function. You might precede this with recompute_vertex_normals() to ensure that the normals exist.
Like recompute_vertex_normals(), this function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the new tangents and binormals computed. Thus, it is a good idea to call remove_unused_vertices() after calling this.
Description: This function recomputes the tangent and binormal for the named texture coordinate sets. Returns true if anything was done.

recomputeTangentBinormalAuto
bool EggGroupNode::recompute_tangent_binormal_auto(void);

Description: This function recomputes the tangent and binormal for any texture coordinate set that affects a normal map. Returns true if anything was done.

recomputeVertexNormals
void EggGroupNode::recompute_vertex_normals(double threshold, CoordinateSystem cs = (CS_default));

Description: Recomputes all the vertex normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. A shared edge between two polygons (even in different groups) is considered smooth if the angle between the two edges is less than threshold degrees.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the correct normals. Thus, it is a good idea to call remove_unused_vertices() after calling this.

removeChild
PointerTo< EggNode > EggGroupNode::remove_child(EggNode *node);

Description: Removes the indicated child node from the group and returns it. If the child was not already in the group, does nothing and returns NULL.

removeInvalidPrimitives
int EggGroupNode::remove_invalid_primitives(bool recurse);

Description: Removes primitives at this level and below which appear to be degenerate; e.g. polygons with fewer than 3 vertices, etc. Returns the number of primitives removed.

removeUnusedVertices
int EggGroupNode::remove_unused_vertices(bool recurse);

Description: Removes all vertices from VertexPools within this group or below that are not referenced by at least one primitive. Also collapses together equivalent vertices, and renumbers all vertices after the operation so their indices are consecutive, beginning at zero. Returns the total number of vertices removed.
Note that this operates on the VertexPools within this group level, without respect to primitives that reference these vertices (unlike other functions like strip_normals()). It is therefore most useful to call this on the EggData root, rather than on a subgroup within the hierarchy, since a VertexPool may appear anywhere in the hierarchy.

renameNodes
int EggGroupNode::rename_nodes(vector< string > strip_prefix, bool recurse);

Description: Rename by stripping out the prefix

resolveFilenames
void EggGroupNode::resolve_filenames(DSearchPath const &searchpath);

Description: Walks the tree and attempts to resolve any filenames encountered. This looks up filenames in the search path, etc. It does not automatically search the egg_path for missing files.

reverseVertexOrdering
void EggGroupNode::reverse_vertex_ordering(void);

Description: Reverses the vertex ordering of all polygons defined at this node and below. Does not change the surface normals, if any.

size
unsigned int EggGroupNode::size(void) const;

Description:

stealChildren
void EggGroupNode::steal_children(EggGroupNode &other);

Description: Moves all the children from the other node to this one. This is especially useful because the group node copy assignment operator does not copy children.

stripNormals
void EggGroupNode::strip_normals(void);

Description: Removes all normals from primitives, and the vertices they reference, at this node and below.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normal removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

triangulatePolygons
int EggGroupNode::triangulate_polygons(int flags);

Description: Replace all higher-order polygons at this point in the scene graph and below with triangles. Returns the total number of new triangles produced, less degenerate polygons removed.
If flags contains T_polygon and T_convex, both concave and convex polygons will be subdivided into triangles; with only T_polygon, only concave polygons will be subdivided, and convex polygons will be largely unchanged.

unifyAttributes
void EggGroupNode::unify_attributes(bool use_connected_shading, bool allow_per_primitive, bool recurse);

Description: Applies per-vertex normal and color to all vertices, if they are in fact per-vertex (and different for each vertex), or moves them to the primitive if they are all the same.
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
If use_connected_shading is true, each polygon is considered in conjunction with all connected polygons; otherwise, each polygon is considered individually.
If allow_per_primitive is false, S_per_face or S_overall will treated like S_per_vertex: normals and colors will always be assigned to the vertices. In this case, there will never be per-primitive colors or normals after this call returns. On the other hand, if allow_per_primitive is true, then S_per_face means that normals and colors should be assigned to the primitives, and removed from the vertices, as described above.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggExternalReference

    from pandac.PandaModules import EggExternalReference
    Class : EggExternalReference
    Description : Defines a reference to another egg file which should be inserted at this point.

Inheritance:

    EggExternalReference: EggFilenameNode
    EggFilenameNode: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggExternalReference:

    EggExternalReference (Constructor)
    getClassType
    operator =

Methods of EggFilenameNode:

    getClassType
    getDefaultExtension
    getFilename
    getFullpath
    operator =
    setFilename
    setFullpath

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
EggExternalReference
EggExternalReference::EggExternalReference(string const &node_name, string const &filename);

Description:

getClassType
static TypeHandle EggExternalReference::get_class_type(void);

Undocumented function.

operator =
EggExternalReference &EggExternalReference::operator =(EggExternalReference const &copy);

Description:

getClassType
static TypeHandle EggFilenameNode::get_class_type(void);

Undocumented function.

getDefaultExtension
virtual string EggFilenameNode::get_default_extension(void) const;

Description: Returns the default extension for this filename type.

getFilename
Filename const &EggFilenameNode::get_filename(void) const;

Description: Returns a nonmodifiable reference to the filename.

getFullpath
Filename const &EggFilenameNode::get_fullpath(void) const;

Description: Returns the full pathname to the file, if it is known; otherwise, returns the same thing as get_filename().
This function simply returns whatever was set by the last call to set_fullpath(). This string is not written to the egg file; its main purpose is to record the full path to a filename (for instance, a texture filename) if it is known, for egg structures that are generated in-memory and then immediately converted to a scene graph.

operator =
EggFilenameNode &EggFilenameNode::operator =(EggFilenameNode const &copy);

Description:

setFilename
void EggFilenameNode::set_filename(Filename const &filename);

Description:

setFullpath
void EggFilenameNode::set_fullpath(Filename const &fullpath);

Description: Records the full pathname to the file, for the benefit of get_fullpath().

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggFilenameNode

    from pandac.PandaModules import EggFilenameNode
    Class : EggFilenameNode
    Description : This is an egg node that contains a filename. It references a physical file relative to the directory the egg file was loaded in. It is a base class for EggTexture and EggExternalReference.

Inheritance:

    EggFilenameNode: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggFilenameNode:

    getClassType
    getDefaultExtension
    getFilename
    getFullpath
    operator =
    setFilename
    setFullpath

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
getClassType
static TypeHandle EggFilenameNode::get_class_type(void);

Undocumented function.

getDefaultExtension
virtual string EggFilenameNode::get_default_extension(void) const;

Description: Returns the default extension for this filename type.

getFilename
Filename const &EggFilenameNode::get_filename(void) const;

Description: Returns a nonmodifiable reference to the filename.

getFullpath
Filename const &EggFilenameNode::get_fullpath(void) const;

Description: Returns the full pathname to the file, if it is known; otherwise, returns the same thing as get_filename().
This function simply returns whatever was set by the last call to set_fullpath(). This string is not written to the egg file; its main purpose is to record the full path to a filename (for instance, a texture filename) if it is known, for egg structures that are generated in-memory and then immediately converted to a scene graph.

operator =
EggFilenameNode &EggFilenameNode::operator =(EggFilenameNode const &copy);

Description:

setFilename
void EggFilenameNode::set_filename(Filename const &filename);

Description:

setFullpath
void EggFilenameNode::set_fullpath(Filename const &fullpath);

Description: Records the full pathname to the file, for the benefit of get_fullpath().

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggGroup

    from pandac.PandaModules import EggGroup
    Class : EggGroup
    Description : The main glue of the egg hierarchy, this corresponds to the <Group>, <Instance>, and <Joint> type nodes.

Inheritance:

    EggGroup: EggGroupNode EggRenderMode EggTransform
    EggGroupNode: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggRenderMode:
    EggTransform:

Methods of EggGroup:

    EggGroup (Constructor)
    addObjectType
    clearBillboardCenter
    clearBlendColor
    clearCollideMask
    clearCollisionName
    clearFromCollideMask
    clearIndexedFlag
    clearIntoCollideMask
    clearLod
    clearObjectTypes
    clearTag
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    getBillboardCenter
    getBillboardType
    getBlendColor
    getBlendMode
    getBlendOperandA
    getBlendOperandB
    getClassType
    getCollideFlags
    getCollideMask
    getCollisionName
    getCsType
    getDartType
    getDcsType
    getDecalFlag
    getDirectFlag
    getFromCollideMask
    getGroupType
    getIndexedFlag
    getIntoCollideMask
    getLod
    getModelFlag
    getNofogFlag
    getNumObjectTypes
    getObjectType
    getPolylightFlag
    getPortalFlag
    getSwitchFlag
    getSwitchFps
    getTag
    getTexlistFlag
    getVertexMembership
    hasBillboardCenter
    hasBlendColor
    hasCollideMask
    hasCollisionName
    hasDcsType
    hasFromCollideMask
    hasIndexedFlag
    hasIntoCollideMask
    hasLod
    hasObjectType
    hasTag
    isInstanceType
    isJoint
    operator =
    refVertex
    removeObjectType
    setBillboardCenter
    setBillboardType
    setBlendColor
    setBlendMode
    setBlendOperandA
    setBlendOperandB
    setCollideFlags
    setCollideMask
    setCollisionName
    setCsType
    setDartType
    setDcsType
    setDecalFlag
    setDirectFlag
    setFromCollideMask
    setGroupType
    setIndexedFlag
    setIntoCollideMask
    setLod
    setModelFlag
    setNofogFlag
    setPolylightFlag
    setPortalFlag
    setSwitchFlag
    setSwitchFps
    setTag
    setTexlistFlag
    setVertexMembership
    stealVrefs
    stringBillboardType
    stringBlendMode
    stringBlendOperand
    stringCollideFlags
    stringCsType
    stringDartType
    stringDcsType
    stringGroupType
    testVrefIntegrity
    unrefAllVertices
    unrefVertex
    write
    writeBillboardFlags
    writeCollideFlags
    writeDecalFlags
    writeModelFlags
    writeObjectTypes
    writeRenderMode
    writeSwitchFlags
    writeTags

Methods of EggGroupNode:

    EggGroupNode (Constructor)
    addChild
    applyFirstAttribute
    applyLastAttribute
    clear
    clearConnectedShading
    empty
    findChild
    forceFilenames
    getClassType
    getConnectedShading
    getFirstChild
    getNextChild
    hasAbsolutePathnames
    isRight
    meshTriangles
    operator =
    postApplyFlatAttribute
    recomputePolygonNormals
    recomputeTangentBinormal
    recomputeTangentBinormalAuto
    recomputeVertexNormals
    removeChild
    removeInvalidPrimitives
    removeUnusedVertices
    renameNodes
    resolveFilenames
    reverseVertexOrdering
    size
    stealChildren
    stripNormals
    triangulatePolygons
    unifyAttributes

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Methods of EggTransform:

    EggTransform (Constructor)
    addMatrix3
    addMatrix4
    addRotate2d
    addRotate3d
    addRotx
    addRoty
    addRotz
    addScale2d
    addScale3d
    addTranslate2d
    addTranslate3d
    addUniformScale
    clearTransform
    getComponentMat3
    getComponentMat4
    getComponentNumber
    getComponentType
    getComponentVec2
    getComponentVec3
    getNumComponents
    getTransform2d
    getTransform3d
    hasTransform
    hasTransform2d
    hasTransform3d
    operator =
    setTransform2d
    setTransform3d
    transformIsIdentity
    write

Constants in EggGroup:

    GTInvalid | (GroupType)
GTGroup | (GroupType)
GTInstance | (GroupType)
GTJoint | (GroupType)
DTNone | (DartType)
DTSync | (DartType)
DTNosync | (DartType)
DTDefault | (DartType)
DCUnspecified | (DCSType)
DCNone | (DCSType)
DCLocal | (DCSType)
DCNet | (DCSType)
DCDefault | (DCSType)
BTNone | (BillboardType)
BTAxis | (BillboardType)
BTPointCameraRelative | (BillboardType)
BTPointWorldRelative | (BillboardType)
CSTNone | (CollisionSolidType)
CSTPlane | (CollisionSolidType)
CSTPolygon | (CollisionSolidType)
CSTPolyset | (CollisionSolidType)
CSTSphere | (CollisionSolidType)
CSTTube | (CollisionSolidType)
CSTInvSphere | (CollisionSolidType)
CSTFloorMesh | (CollisionSolidType)
CFNone | (CollideFlags)
CFDescend | (CollideFlags)
CFEvent | (CollideFlags)
CFKeep | (CollideFlags)
CFSolid | (CollideFlags)
CFCenter | (CollideFlags)
CFTurnstile | (CollideFlags)
CFLevel | (CollideFlags)
CFIntangible | (CollideFlags)
BMUnspecified | (BlendMode)
BMNone | (BlendMode)
BMAdd | (BlendMode)
BMSubtract | (BlendMode)
BMInvSubtract | (BlendMode)
BMMin | (BlendMode)
BMMax | (BlendMode)
BOUnspecified | (BlendOperand)
BOZero | (BlendOperand)
BOOne | (BlendOperand)
BOIncomingColor | (BlendOperand)
BOOneMinusIncomingColor | (BlendOperand)
BOFbufferColor | (BlendOperand)
BOOneMinusFbufferColor | (BlendOperand)
BOIncomingAlpha | (BlendOperand)
BOOneMinusIncomingAlpha | (BlendOperand)
BOFbufferAlpha | (BlendOperand)
BOOneMinusFbufferAlpha | (BlendOperand)
BOConstantColor | (BlendOperand)
BOOneMinusConstantColor | (BlendOperand)
BOConstantAlpha | (BlendOperand)
BOOneMinusConstantAlpha | (BlendOperand)
BOIncomingColorSaturate | (BlendOperand)
BOColorScale | (BlendOperand)
BOOneMinusColorScale | (BlendOperand)
BOAlphaScale | (BlendOperand)
BOOneMinusAlphaScale | (BlendOperand)

Constants in EggGroupNode:

    TPolygon | (TriangulateFlags)
TConvex | (TriangulateFlags)
TComposite | (TriangulateFlags)
TRecurse | (TriangulateFlags)
TFlatShaded | (TriangulateFlags)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)

Constants in EggTransform:

    CTInvalid | (ComponentType)
CTTranslate2d | (ComponentType)
CTTranslate3d | (ComponentType)
CTRotate2d | (ComponentType)
CTRotx | (ComponentType)
CTRoty | (ComponentType)
CTRotz | (ComponentType)
CTRotate3d | (ComponentType)
CTScale2d | (ComponentType)
CTScale3d | (ComponentType)
CTUniformScale | (ComponentType)
CTMatrix3 | (ComponentType)
CTMatrix4 | (ComponentType)
EggGroup
EggGroup::EggGroup(string const &name = (""));

Description:

addObjectType
void EggGroup::add_object_type(string const &object_type);

Description:

clearBillboardCenter
void EggGroup::clear_billboard_center(void);

Description:

clearBlendColor
void EggGroup::clear_blend_color(void);

Description: Removes the blend color specification.

clearCollideMask
void EggGroup::clear_collide_mask(void);

Description:

clearCollisionName
void EggGroup::clear_collision_name(void);

Description:

clearFromCollideMask
void EggGroup::clear_from_collide_mask(void);

Description:

clearIndexedFlag
void EggGroup::clear_indexed_flag(void);

Description:

clearIntoCollideMask
void EggGroup::clear_into_collide_mask(void);

Description:

clearLod
void EggGroup::clear_lod(void);

Description:

clearObjectTypes
void EggGroup::clear_object_types(void);

Description:

clearTag
void EggGroup::clear_tag(string const &key);

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

determineAlphaMode
virtual EggRenderMode *EggGroup::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this group that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggGroup::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this group that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggGroup::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggGroup::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this group that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggGroup::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this group that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggGroup::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this group that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggGroup::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggGroup::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this group that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBillboardCenter
LPoint3d const &EggGroup::get_billboard_center(void) const;

Description:

getBillboardType
EggGroup::BillboardType EggGroup::get_billboard_type(void) const;

Description:

getBlendColor
LVecBase4f const &EggGroup::get_blend_color(void) const;

Description: Returns the blend color if one has been specified, or (0, 0, 0, 0) if one has not.

getBlendMode
EggGroup::BlendMode EggGroup::get_blend_mode(void) const;

Description:

getBlendOperandA
EggGroup::BlendOperand EggGroup::get_blend_operand_a(void) const;

Description:

getBlendOperandB
EggGroup::BlendOperand EggGroup::get_blend_operand_b(void) const;

Description:

getClassType
static TypeHandle EggGroup::get_class_type(void);

Undocumented function.

getCollideFlags
EggGroup::CollideFlags EggGroup::get_collide_flags(void) const;

Description:

getCollideMask
BitMask< unsigned int, 32 > EggGroup::get_collide_mask(void) const;

Description:

getCollisionName
string const &EggGroup::get_collision_name(void) const;

Description:

getCsType
EggGroup::CollisionSolidType EggGroup::get_cs_type(void) const;

Description:

getDartType
EggGroup::DartType EggGroup::get_dart_type(void) const;

Description:

getDcsType
EggGroup::DCSType EggGroup::get_dcs_type(void) const;

Description:

getDecalFlag
bool EggGroup::get_decal_flag(void) const;

Description:

getDirectFlag
bool EggGroup::get_direct_flag(void) const;

Description:

getFromCollideMask
BitMask< unsigned int, 32 > EggGroup::get_from_collide_mask(void) const;

Description:

getGroupType
EggGroup::GroupType EggGroup::get_group_type(void) const;

Description:

getIndexedFlag
bool EggGroup::get_indexed_flag(void) const;

Description:

getIntoCollideMask
BitMask< unsigned int, 32 > EggGroup::get_into_collide_mask(void) const;

Description:

getLod
EggSwitchCondition const &EggGroup::get_lod(void) const;

Description:

getModelFlag
bool EggGroup::get_model_flag(void) const;

Description:

getNofogFlag
bool EggGroup::get_nofog_flag(void) const;

Description:

getNumObjectTypes
int EggGroup::get_num_object_types(void) const;

Description:

getObjectType
string EggGroup::get_object_type(int index) const;

Description:

getPolylightFlag
bool EggGroup::get_polylight_flag(void) const;

Description:

getPortalFlag
bool EggGroup::get_portal_flag(void) const;

Description:

getSwitchFlag
bool EggGroup::get_switch_flag(void) const;

Description:

getSwitchFps
double EggGroup::get_switch_fps(void) const;

Description:

getTag
string EggGroup::get_tag(string const &key) const;

Description: 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.

getTexlistFlag
bool EggGroup::get_texlist_flag(void) const;

Description:

getVertexMembership
double EggGroup::get_vertex_membership(EggVertex const *vert) const;

Description: Returns the amount of membership of the indicated vertex in this group. If the vertex is not reffed by the group, returns 0.

hasBillboardCenter
bool EggGroup::has_billboard_center(void) const;

Description:

hasBlendColor
bool EggGroup::has_blend_color(void) const;

Description: Returns true if the blend color has been specified, false otherwise.

hasCollideMask
bool EggGroup::has_collide_mask(void) const;

Description:

hasCollisionName
bool EggGroup::has_collision_name(void) const;

Description:

hasDcsType
bool EggGroup::has_dcs_type(void) const;

Description: Returns true if the specified DCS type is not DC_none and not DC_unspecified.

hasFromCollideMask
bool EggGroup::has_from_collide_mask(void) const;

Description:

hasIndexedFlag
bool EggGroup::has_indexed_flag(void) const;

Description:

hasIntoCollideMask
bool EggGroup::has_into_collide_mask(void) const;

Description:

hasLod
bool EggGroup::has_lod(void) const;

Description:

hasObjectType
bool EggGroup::has_object_type(string const &object_type) const;

Description: Returns true if the indicated object type has been added to the group, or false otherwise.

hasTag
bool EggGroup::has_tag(string const &key) const;

Description: 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.

isInstanceType
bool EggGroup::is_instance_type(void) const;

Description: Returns true if this group is an instance type node; i.e. it begins the root of a local coordinate space. This is not related to instancing (multiple copies of a node in a scene graph).
This also includes the case of the node including a billboard flag without an explicit center, which implicitly makes the node behave like an instance.

isJoint
virtual bool EggGroup::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

operator =
EggGroup &EggGroup::operator =(EggGroup const &copy);

Description:

refVertex
void EggGroup::ref_vertex(EggVertex *vert, double membership = (1));

Description: Adds the vertex to the set of those referenced by the group, at the indicated membership level. If the vertex is already being referenced, increases the membership amount by the indicated amount.

removeObjectType
bool EggGroup::remove_object_type(string const &object_type);

Description: Removes the first instance of the indicated object type from the group if it is present. Returns true if the object type was found and removed, false otherwise.

setBillboardCenter
void EggGroup::set_billboard_center(LPoint3d const &billboard_center);

Description: Sets the point around which the billboard will rotate, if this node contains a billboard specification.
If a billboard type is given but no billboard_center is specified, then the group node is treated as an <Instance>, and the billboard rotates around the origin. If, however, a billboard_center is specified, then the group node is *not* treated as an <Instance>, and the billboard rotates around the specified point.
The point is in the same coordinate system as the vertices of this node: usually global, but possibly local if there is an <Instance> somewhere above. Specifically, this is the coordinate system defined by get_vertex_frame().

setBillboardType
void EggGroup::set_billboard_type(EggGroup::BillboardType type);

Description:

setBlendColor
void EggGroup::set_blend_color(LVecBase4f const &blend_color);

Description:

setBlendMode
void EggGroup::set_blend_mode(EggGroup::BlendMode blend_mode);

Description:

setBlendOperandA
void EggGroup::set_blend_operand_a(EggGroup::BlendOperand blend_operand_a);

Description:

setBlendOperandB
void EggGroup::set_blend_operand_b(EggGroup::BlendOperand blend_operand_b);

Description:

setCollideFlags
void EggGroup::set_collide_flags(int flags);

Description:

setCollideMask
void EggGroup::set_collide_mask(BitMask< unsigned int, 32 > mask);

Description:

setCollisionName
void EggGroup::set_collision_name(string const &collision_name);

Description:

setCsType
void EggGroup::set_cs_type(EggGroup::CollisionSolidType type);

Description:

setDartType
void EggGroup::set_dart_type(EggGroup::DartType type);

Description:

setDcsType
void EggGroup::set_dcs_type(EggGroup::DCSType type);

Description:

setDecalFlag
void EggGroup::set_decal_flag(bool flag);

Description:

setDirectFlag
void EggGroup::set_direct_flag(bool flag);

Description:

setFromCollideMask
void EggGroup::set_from_collide_mask(BitMask< unsigned int, 32 > mask);

Description:

setGroupType
void EggGroup::set_group_type(EggGroup::GroupType type);

Description:

setIndexedFlag
void EggGroup::set_indexed_flag(bool flag);

Description: If this flag is true, geometry at this node and below will be generated as indexed geometry.

setIntoCollideMask
void EggGroup::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description:

setLod
void EggGroup::set_lod(EggSwitchCondition const &lod);

Description:

setModelFlag
void EggGroup::set_model_flag(bool flag);

Description:

setNofogFlag
void EggGroup::set_nofog_flag(bool flag);

Description:

setPolylightFlag
void EggGroup::set_polylight_flag(bool flag);

Description:

setPortalFlag
void EggGroup::set_portal_flag(bool flag);

Description:

setSwitchFlag
void EggGroup::set_switch_flag(bool flag);

Description:

setSwitchFps
void EggGroup::set_switch_fps(double fps);

Description:

setTag
void EggGroup::set_tag(string const &key, string const &value);

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again. This value will be copied to the PandaNode that is created for this particular EggGroup if the egg file is loaded as a scene.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTexlistFlag
void EggGroup::set_texlist_flag(bool flag);

Description:

setVertexMembership
void EggGroup::set_vertex_membership(EggVertex *vert, double membership);

Description: Explicitly sets the net membership of the indicated vertex in this group to the given value.

stealVrefs
void EggGroup::steal_vrefs(EggGroup *other);

Description: Moves all of the vertex references from the indicated other group into this one. If a given vertex was previously shared by both groups, the relative memberships will be summed.

stringBillboardType
static EggGroup::BillboardType EggGroup::string_billboard_type(string const &strval);

Description: Returns the BillboardType value associated with the given string representation, or BT_none if the string does not match any known BillboardType value.

stringBlendMode
static EggGroup::BlendMode EggGroup::string_blend_mode(string const &strval);

Description: Returns the BlendMode value associated with the given string representation, or BM_none if the string does not match any known BlendMode.

stringBlendOperand
static EggGroup::BlendOperand EggGroup::string_blend_operand(string const &strval);

Description: Returns the BlendOperand value associated with the given string representation, or BO_none if the string does not match any known BlendOperand.

stringCollideFlags
static EggGroup::CollideFlags EggGroup::string_collide_flags(string const &strval);

Description: Returns the CollideFlags value associated with the given string representation, or CF_none if the string does not match any known CollideFlags value. This only recognizes a single keyword; it does not attempt to parse a string of keywords.

stringCsType
static EggGroup::CollisionSolidType EggGroup::string_cs_type(string const &strval);

Description: Returns the CollisionSolidType value associated with the given string representation, or CST_none if the string does not match any known CollisionSolidType value.

stringDartType
static EggGroup::DartType EggGroup::string_dart_type(string const &strval);

Description: Returns the DartType value associated with the given string representation, or DT_none if the string does not match any known DartType value.

stringDcsType
static EggGroup::DCSType EggGroup::string_dcs_type(string const &strval);

Description: Returns the DCSType value associated with the given string representation, or DC_unspecified if the string does not match any known DCSType value.

stringGroupType
static EggGroup::GroupType EggGroup::string_group_type(string const &strval);

NDEBUG
Description: Returns the GroupType value associated with the given string representation, or GT_invalid if the string does not match any known GroupType value.

testVrefIntegrity
void EggGroup::test_vref_integrity(void) const;

Description: Verifies that each vertex in the group exists and that it knows it is referenced by the group.

unrefAllVertices
void EggGroup::unref_all_vertices(void);

Description: Removes all vertices from the reference list.

unrefVertex
void EggGroup::unref_vertex(EggVertex *vert);

Description: Removes the vertex from the set of those referenced by the group. Does nothing if the vertex is not already reffed.

write
virtual void EggGroup::write(ostream &out, int indent_level) const;

Description: Writes the group and all of its children to the indicated output stream in Egg format.

writeBillboardFlags
void EggGroup::write_billboard_flags(ostream &out, int indent_level) const;

Description: Writes just the <Billboard> entry and related fields to the indicated ostream.

writeCollideFlags
void EggGroup::write_collide_flags(ostream &out, int indent_level) const;

Description: Writes just the <Collide> entry and related fields to the indicated ostream.

writeDecalFlags
void EggGroup::write_decal_flags(ostream &out, int indent_level) const;

Description: Writes the flags related to decaling, if any.

writeModelFlags
void EggGroup::write_model_flags(ostream &out, int indent_level) const;

Description: Writes the <Model> flag and related flags to the indicated ostream.

writeObjectTypes
void EggGroup::write_object_types(ostream &out, int indent_level) const;

Description: Writes just the <ObjectTypes> entries, if any, to the indicated ostream.

writeRenderMode
void EggGroup::write_render_mode(ostream &out, int indent_level) const;

Description: Writes the flags inherited from EggRenderMode and similar flags that control obscure render effects.

writeSwitchFlags
void EggGroup::write_switch_flags(ostream &out, int indent_level) const;

Description: Writes the <Switch> flag and related flags to the indicated ostream.

writeTags
void EggGroup::write_tags(ostream &out, int indent_level) const;

Description: Writes just the <Tag> entries, if any, to the indicated ostream.

EggGroupNode
EggGroupNode::EggGroupNode(string const &name = (""));

Description:

addChild
EggNode *EggGroupNode::add_child(EggNode *node);

Description: Adds the indicated child to the group and returns it. If the child node is already a child of some other node, removes it first.

applyFirstAttribute
void EggGroupNode::apply_first_attribute(bool recurse);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

applyLastAttribute
void EggGroupNode::apply_last_attribute(bool recurse);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

clear
void EggGroupNode::clear(void);

Description:

clearConnectedShading
void EggGroupNode::clear_connected_shading(void);

Description: Resets the connected_shading information on all primitives at this node and below, so that it may be accurately rederived by the next call to get_connected_shading().
It may be a good idea to call remove_unused_vertices() as well, to establish the correct connectivity between common vertices.

empty
bool EggGroupNode::empty(void) const;

Description:

findChild
EggNode *EggGroupNode::find_child(string const &name) const;

Description: Returns the child of this node whose name is the indicated string, or NULL if there is no child of this node by that name. Does not search recursively.

forceFilenames
void EggGroupNode::force_filenames(Filename const &directory);

Description: Similar to resolve_filenames, but each non-absolute filename encountered is arbitrarily taken to be in the indicated directory, whether or not the so-named filename exists.

getClassType
static TypeHandle EggGroupNode::get_class_type(void);

Undocumented function.

getConnectedShading
void EggGroupNode::get_connected_shading(void);

Description: Queries the connected_shading information on all primitives at this node and below, to ensure that it has been completely filled in before we start mucking around with vertices.

getFirstChild
EggNode *EggGroupNode::get_first_child(void);

This is an alternate way to traverse the list of children. It is mainly provided for scripting code, which can't use the iterators defined above (they don't export through interrogate very well). These are, of course, non-thread-safe.
Description: Returns the first child in the group's list of children, or NULL if the list of children is empty. Can be used with get_next_child() to return the complete list of children without using the iterator class; however, this is non-thread-safe, and so is not recommended except for languages other than C++ which cannot use the iterators.

getNextChild
EggNode *EggGroupNode::get_next_child(void);

This is an alternate way to traverse the list of children. It is mainly provided for scripting code, which can't use the iterators defined above (they don't export through interrogate very well). These are, of course, non-thread-safe.
Description: Returns the next child in the group's list of children since the last call to get_first_child() or get_next_child(), or NULL if the last child has been returned. Can be used with get_first_child() to return the complete list of children without using the iterator class; however, this is non-thread-safe, and so is not recommended except for languages other than C++ which cannot use the iterators.
It is an error to call this without previously calling get_first_child().

hasAbsolutePathnames
bool EggGroupNode::has_absolute_pathnames(void) const;

Description: Returns true if any nodes at this level and below include a reference to a file via an absolute pathname, or false if all references are relative.

isRight
static bool EggGroupNode::is_right(LVector2d const &v1, LVector2d const &v2);

Description: Returns true if the 2-d v1 is to the right of v2.

meshTriangles
void EggGroupNode::mesh_triangles(int flags);

Description: Combine triangles together into triangle strips, at this group and below.

operator =
EggGroupNode &EggGroupNode::operator =(EggGroupNode const &copy);

Description:

postApplyFlatAttribute
void EggGroupNode::post_apply_flat_attribute(bool recurse);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

recomputePolygonNormals
void EggGroupNode::recompute_polygon_normals(CoordinateSystem cs = (CS_default));

Description: Recomputes all the polygon normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. Normals are removed from the vertices and defined only on polygons, giving the geometry a faceted appearance.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normals removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

recomputeTangentBinormal
bool EggGroupNode::recompute_tangent_binormal(GlobPattern const &uv_name);

Description: This function recomputes the tangent and binormal for the named texture coordinate set for all vertices at this level and below. Use the empty string for the default texture coordinate set.
It is necessary for each vertex to already have a normal (or at least a polygon normal), as well as a texture coordinate in the named texture coordinate set, before calling this function. You might precede this with recompute_vertex_normals() to ensure that the normals exist.
Like recompute_vertex_normals(), this function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the new tangents and binormals computed. Thus, it is a good idea to call remove_unused_vertices() after calling this.
Description: This function recomputes the tangent and binormal for the named texture coordinate sets. Returns true if anything was done.

recomputeTangentBinormalAuto
bool EggGroupNode::recompute_tangent_binormal_auto(void);

Description: This function recomputes the tangent and binormal for any texture coordinate set that affects a normal map. Returns true if anything was done.

recomputeVertexNormals
void EggGroupNode::recompute_vertex_normals(double threshold, CoordinateSystem cs = (CS_default));

Description: Recomputes all the vertex normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. A shared edge between two polygons (even in different groups) is considered smooth if the angle between the two edges is less than threshold degrees.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the correct normals. Thus, it is a good idea to call remove_unused_vertices() after calling this.

removeChild
PointerTo< EggNode > EggGroupNode::remove_child(EggNode *node);

Description: Removes the indicated child node from the group and returns it. If the child was not already in the group, does nothing and returns NULL.

removeInvalidPrimitives
int EggGroupNode::remove_invalid_primitives(bool recurse);

Description: Removes primitives at this level and below which appear to be degenerate; e.g. polygons with fewer than 3 vertices, etc. Returns the number of primitives removed.

removeUnusedVertices
int EggGroupNode::remove_unused_vertices(bool recurse);

Description: Removes all vertices from VertexPools within this group or below that are not referenced by at least one primitive. Also collapses together equivalent vertices, and renumbers all vertices after the operation so their indices are consecutive, beginning at zero. Returns the total number of vertices removed.
Note that this operates on the VertexPools within this group level, without respect to primitives that reference these vertices (unlike other functions like strip_normals()). It is therefore most useful to call this on the EggData root, rather than on a subgroup within the hierarchy, since a VertexPool may appear anywhere in the hierarchy.

renameNodes
int EggGroupNode::rename_nodes(vector< string > strip_prefix, bool recurse);

Description: Rename by stripping out the prefix

resolveFilenames
void EggGroupNode::resolve_filenames(DSearchPath const &searchpath);

Description: Walks the tree and attempts to resolve any filenames encountered. This looks up filenames in the search path, etc. It does not automatically search the egg_path for missing files.

reverseVertexOrdering
void EggGroupNode::reverse_vertex_ordering(void);

Description: Reverses the vertex ordering of all polygons defined at this node and below. Does not change the surface normals, if any.

size
unsigned int EggGroupNode::size(void) const;

Description:

stealChildren
void EggGroupNode::steal_children(EggGroupNode &other);

Description: Moves all the children from the other node to this one. This is especially useful because the group node copy assignment operator does not copy children.

stripNormals
void EggGroupNode::strip_normals(void);

Description: Removes all normals from primitives, and the vertices they reference, at this node and below.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normal removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

triangulatePolygons
int EggGroupNode::triangulate_polygons(int flags);

Description: Replace all higher-order polygons at this point in the scene graph and below with triangles. Returns the total number of new triangles produced, less degenerate polygons removed.
If flags contains T_polygon and T_convex, both concave and convex polygons will be subdivided into triangles; with only T_polygon, only concave polygons will be subdivided, and convex polygons will be largely unchanged.

unifyAttributes
void EggGroupNode::unify_attributes(bool use_connected_shading, bool allow_per_primitive, bool recurse);

Description: Applies per-vertex normal and color to all vertices, if they are in fact per-vertex (and different for each vertex), or moves them to the primitive if they are all the same.
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
If use_connected_shading is true, each polygon is considered in conjunction with all connected polygons; otherwise, each polygon is considered individually.
If allow_per_primitive is false, S_per_face or S_overall will treated like S_per_vertex: normals and colors will always be assigned to the vertices. In this case, there will never be per-primitive colors or normals after this call returns. On the other hand, if allow_per_primitive is true, then S_per_face means that normals and colors should be assigned to the primitives, and removed from the vertices, as described above.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggTransform
EggTransform::EggTransform(void);

Description:

addMatrix3
void EggTransform::add_matrix3(LMatrix3d const &mat);

Description: Appends an arbitrary 3x3 matrix to the current transform.

addMatrix4
void EggTransform::add_matrix4(LMatrix4d const &mat);

Description: Appends an arbitrary 4x4 matrix to the current transform.

addRotate2d
void EggTransform::add_rotate2d(double angle);

Description: Appends a 2-d rotation to the current transform. The rotation angle is specified in degrees counterclockwise about the origin.

addRotate3d
void EggTransform::add_rotate3d(double angle, LVector3d const &axis);

Description: Appends a 3-d rotation about an arbitrary axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.
Description: Appends an arbitrary 3-d rotation to the current transform, expressed as a quaternion. This is converted to axis-angle notation for the egg file.

addRotx
void EggTransform::add_rotx(double angle);

Description: Appends a rotation about the X axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.

addRoty
void EggTransform::add_roty(double angle);

Description: Appends a rotation about the Y axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.

addRotz
void EggTransform::add_rotz(double angle);

Description: Appends a rotation about the Z axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.

addScale2d
void EggTransform::add_scale2d(LVecBase2d const &scale);

Description: Appends a possibly non-uniform scale to the current transform.

addScale3d
void EggTransform::add_scale3d(LVecBase3d const &scale);

Description: Appends a possibly non-uniform scale to the current transform.

addTranslate2d
void EggTransform::add_translate2d(LVector2d const &translate);

Description: Appends a 2-d translation operation to the current transform.

addTranslate3d
void EggTransform::add_translate3d(LVector3d const &translate);

Description: Appends a 3-d translation operation to the current transform.

addUniformScale
void EggTransform::add_uniform_scale(double scale);

Description: Appends a uniform scale to the current transform.

clearTransform
void EggTransform::clear_transform(void);

Description: Resets the transform to empty, identity.

getComponentMat3
LMatrix3d const &EggTransform::get_component_mat3(int n) const;

Description: Returns the 3x3 matrix associated with the nth component. It is an error to call this if the component type is not CT_matrix3.

getComponentMat4
LMatrix4d const &EggTransform::get_component_mat4(int n) const;

Description: Returns the 4x4 matrix associated with the nth component. It is an error to call this if the component type is not CT_matrix4.

getComponentNumber
double EggTransform::get_component_number(int n) const;

Description: Returns the solitary number associated with the nth component. In the case of a rotation, this is the angle in degrees to rotate; in the case of uniform scale, this is the amount of the scale. Other types do not use this property.

getComponentType
EggTransform::ComponentType EggTransform::get_component_type(int n) const;

Description: Returns the type of the nth component.

getComponentVec2
LVecBase2d const &EggTransform::get_component_vec2(int n) const;

Description: Returns the 2-component vector associated with the nth component. This may be the translate vector, rotate axis, or non-uniform scale. It is an error to call this if the component type does not use a 2-d vector property.

getComponentVec3
LVecBase3d const &EggTransform::get_component_vec3(int n) const;

Description: Returns the 3-component vector associated with the nth component. This may be the translate vector, rotate axis, or non-uniform scale. It is an error to call this if the component type does not use a 3-d vector property.

getNumComponents
int EggTransform::get_num_components(void) const;

Description: Returns the number of components that make up the transform.

getTransform2d
LMatrix3d EggTransform::get_transform2d(void) const;

Description: Returns the overall transform as a 3x3 matrix. It is an error to call this if has_transform3d() is true.

getTransform3d
LMatrix4d const &EggTransform::get_transform3d(void) const;

Description: Returns the overall transform as a 4x4 matrix. It is valid to call this even if has_transform2d() is true; in this case, the 3x3 transform will be expanded to a 4x4 matrix.

hasTransform
bool EggTransform::has_transform(void) const;

Description: Returns true if the transform is nonempty, false if it is empty (no transform components have been added). This is true for either a 2-d or a 3-d transform.

hasTransform2d
bool EggTransform::has_transform2d(void) const;

Description: Returns true if the transform is specified as a 2-d transform, e.g. with a 3x3 matrix, or false if it is specified as a 3-d transform (with a 4x4 matrix), or not specified at all.
Normally, EggTextures have a 2-d matrix (but occasionally they use a 3-d matrix), and EggGroups always have a 3-d matrix.

hasTransform3d
bool EggTransform::has_transform3d(void) const;

Description: Returns true if the transform is specified as a 3-d transform, e.g. with a 4x4 matrix, or false if it is specified as a 2-d transform (with a 2x2 matrix), or not specified at all.
Normally, EggTextures have a 3-d matrix (but occasionally they use a 3-d matrix), and EggGroups always have a 3-d matrix.

operator =
EggTransform &EggTransform::operator =(EggTransform const &copy);

Description:

setTransform2d
void EggTransform::set_transform2d(LMatrix3d const &mat);

Description: Sets the overall transform as a 3x3 matrix. This completely replaces whatever componentwise transform may have been defined.

setTransform3d
void EggTransform::set_transform3d(LMatrix4d const &mat);

Description: Sets the overall transform as a 4x4 matrix. This completely replaces whatever componentwise transform may have been defined.

transformIsIdentity
bool EggTransform::transform_is_identity(void) const;

Description: Returns true if the described transform is identity, false otherwise.

write
void EggTransform::write(ostream &out, int indent_level) const;

Description: Writes the transform to the indicated stream in Egg format.


EggGroupNode

    from pandac.PandaModules import EggGroupNode
    Class : EggGroupNode
    Description : A base class for nodes in the hierarchy that are not leaf nodes. (See also EggGroup, which is specifically the "<Group>" node in egg.)
    An EggGroupNode is an STL-style container of pointers to EggNodes, like a vector. Functions push_back()/pop_back() and insert()/erase() are provided to manipulate the list. The list may also be operated on (read-only) via iterators and begin()/end().

Inheritance:

    EggGroupNode: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggGroupNode:

    EggGroupNode (Constructor)
    addChild
    applyFirstAttribute
    applyLastAttribute
    clear
    clearConnectedShading
    empty
    findChild
    forceFilenames
    getClassType
    getConnectedShading
    getFirstChild
    getNextChild
    hasAbsolutePathnames
    isRight
    meshTriangles
    operator =
    postApplyFlatAttribute
    recomputePolygonNormals
    recomputeTangentBinormal
    recomputeTangentBinormalAuto
    recomputeVertexNormals
    removeChild
    removeInvalidPrimitives
    removeUnusedVertices
    renameNodes
    resolveFilenames
    reverseVertexOrdering
    size
    stealChildren
    stripNormals
    triangulatePolygons
    unifyAttributes

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in EggGroupNode:

    TPolygon | (TriangulateFlags)
TConvex | (TriangulateFlags)
TComposite | (TriangulateFlags)
TRecurse | (TriangulateFlags)
TFlatShaded | (TriangulateFlags)
EggGroupNode
EggGroupNode::EggGroupNode(string const &name = (""));

Description:

addChild
EggNode *EggGroupNode::add_child(EggNode *node);

Description: Adds the indicated child to the group and returns it. If the child node is already a child of some other node, removes it first.

applyFirstAttribute
void EggGroupNode::apply_first_attribute(bool recurse);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

applyLastAttribute
void EggGroupNode::apply_last_attribute(bool recurse);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

clear
void EggGroupNode::clear(void);

Description:

clearConnectedShading
void EggGroupNode::clear_connected_shading(void);

Description: Resets the connected_shading information on all primitives at this node and below, so that it may be accurately rederived by the next call to get_connected_shading().
It may be a good idea to call remove_unused_vertices() as well, to establish the correct connectivity between common vertices.

empty
bool EggGroupNode::empty(void) const;

Description:

findChild
EggNode *EggGroupNode::find_child(string const &name) const;

Description: Returns the child of this node whose name is the indicated string, or NULL if there is no child of this node by that name. Does not search recursively.

forceFilenames
void EggGroupNode::force_filenames(Filename const &directory);

Description: Similar to resolve_filenames, but each non-absolute filename encountered is arbitrarily taken to be in the indicated directory, whether or not the so-named filename exists.

getClassType
static TypeHandle EggGroupNode::get_class_type(void);

Undocumented function.

getConnectedShading
void EggGroupNode::get_connected_shading(void);

Description: Queries the connected_shading information on all primitives at this node and below, to ensure that it has been completely filled in before we start mucking around with vertices.

getFirstChild
EggNode *EggGroupNode::get_first_child(void);

This is an alternate way to traverse the list of children. It is mainly provided for scripting code, which can't use the iterators defined above (they don't export through interrogate very well). These are, of course, non-thread-safe.
Description: Returns the first child in the group's list of children, or NULL if the list of children is empty. Can be used with get_next_child() to return the complete list of children without using the iterator class; however, this is non-thread-safe, and so is not recommended except for languages other than C++ which cannot use the iterators.

getNextChild
EggNode *EggGroupNode::get_next_child(void);

This is an alternate way to traverse the list of children. It is mainly provided for scripting code, which can't use the iterators defined above (they don't export through interrogate very well). These are, of course, non-thread-safe.
Description: Returns the next child in the group's list of children since the last call to get_first_child() or get_next_child(), or NULL if the last child has been returned. Can be used with get_first_child() to return the complete list of children without using the iterator class; however, this is non-thread-safe, and so is not recommended except for languages other than C++ which cannot use the iterators.
It is an error to call this without previously calling get_first_child().

hasAbsolutePathnames
bool EggGroupNode::has_absolute_pathnames(void) const;

Description: Returns true if any nodes at this level and below include a reference to a file via an absolute pathname, or false if all references are relative.

isRight
static bool EggGroupNode::is_right(LVector2d const &v1, LVector2d const &v2);

Description: Returns true if the 2-d v1 is to the right of v2.

meshTriangles
void EggGroupNode::mesh_triangles(int flags);

Description: Combine triangles together into triangle strips, at this group and below.

operator =
EggGroupNode &EggGroupNode::operator =(EggGroupNode const &copy);

Description:

postApplyFlatAttribute
void EggGroupNode::post_apply_flat_attribute(bool recurse);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

recomputePolygonNormals
void EggGroupNode::recompute_polygon_normals(CoordinateSystem cs = (CS_default));

Description: Recomputes all the polygon normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. Normals are removed from the vertices and defined only on polygons, giving the geometry a faceted appearance.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normals removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

recomputeTangentBinormal
bool EggGroupNode::recompute_tangent_binormal(GlobPattern const &uv_name);

Description: This function recomputes the tangent and binormal for the named texture coordinate set for all vertices at this level and below. Use the empty string for the default texture coordinate set.
It is necessary for each vertex to already have a normal (or at least a polygon normal), as well as a texture coordinate in the named texture coordinate set, before calling this function. You might precede this with recompute_vertex_normals() to ensure that the normals exist.
Like recompute_vertex_normals(), this function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the new tangents and binormals computed. Thus, it is a good idea to call remove_unused_vertices() after calling this.
Description: This function recomputes the tangent and binormal for the named texture coordinate sets. Returns true if anything was done.

recomputeTangentBinormalAuto
bool EggGroupNode::recompute_tangent_binormal_auto(void);

Description: This function recomputes the tangent and binormal for any texture coordinate set that affects a normal map. Returns true if anything was done.

recomputeVertexNormals
void EggGroupNode::recompute_vertex_normals(double threshold, CoordinateSystem cs = (CS_default));

Description: Recomputes all the vertex normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. A shared edge between two polygons (even in different groups) is considered smooth if the angle between the two edges is less than threshold degrees.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the correct normals. Thus, it is a good idea to call remove_unused_vertices() after calling this.

removeChild
PointerTo< EggNode > EggGroupNode::remove_child(EggNode *node);

Description: Removes the indicated child node from the group and returns it. If the child was not already in the group, does nothing and returns NULL.

removeInvalidPrimitives
int EggGroupNode::remove_invalid_primitives(bool recurse);

Description: Removes primitives at this level and below which appear to be degenerate; e.g. polygons with fewer than 3 vertices, etc. Returns the number of primitives removed.

removeUnusedVertices
int EggGroupNode::remove_unused_vertices(bool recurse);

Description: Removes all vertices from VertexPools within this group or below that are not referenced by at least one primitive. Also collapses together equivalent vertices, and renumbers all vertices after the operation so their indices are consecutive, beginning at zero. Returns the total number of vertices removed.
Note that this operates on the VertexPools within this group level, without respect to primitives that reference these vertices (unlike other functions like strip_normals()). It is therefore most useful to call this on the EggData root, rather than on a subgroup within the hierarchy, since a VertexPool may appear anywhere in the hierarchy.

renameNodes
int EggGroupNode::rename_nodes(vector< string > strip_prefix, bool recurse);

Description: Rename by stripping out the prefix

resolveFilenames
void EggGroupNode::resolve_filenames(DSearchPath const &searchpath);

Description: Walks the tree and attempts to resolve any filenames encountered. This looks up filenames in the search path, etc. It does not automatically search the egg_path for missing files.

reverseVertexOrdering
void EggGroupNode::reverse_vertex_ordering(void);

Description: Reverses the vertex ordering of all polygons defined at this node and below. Does not change the surface normals, if any.

size
unsigned int EggGroupNode::size(void) const;

Description:

stealChildren
void EggGroupNode::steal_children(EggGroupNode &other);

Description: Moves all the children from the other node to this one. This is especially useful because the group node copy assignment operator does not copy children.

stripNormals
void EggGroupNode::strip_normals(void);

Description: Removes all normals from primitives, and the vertices they reference, at this node and below.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normal removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

triangulatePolygons
int EggGroupNode::triangulate_polygons(int flags);

Description: Replace all higher-order polygons at this point in the scene graph and below with triangles. Returns the total number of new triangles produced, less degenerate polygons removed.
If flags contains T_polygon and T_convex, both concave and convex polygons will be subdivided into triangles; with only T_polygon, only concave polygons will be subdivided, and convex polygons will be largely unchanged.

unifyAttributes
void EggGroupNode::unify_attributes(bool use_connected_shading, bool allow_per_primitive, bool recurse);

Description: Applies per-vertex normal and color to all vertices, if they are in fact per-vertex (and different for each vertex), or moves them to the primitive if they are all the same.
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
If use_connected_shading is true, each polygon is considered in conjunction with all connected polygons; otherwise, each polygon is considered individually.
If allow_per_primitive is false, S_per_face or S_overall will treated like S_per_vertex: normals and colors will always be assigned to the vertices. In this case, there will never be per-primitive colors or normals after this call returns. On the other hand, if allow_per_primitive is true, then S_per_face means that normals and colors should be assigned to the primitives, and removed from the vertices, as described above.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggGroupUniquifier

    from pandac.PandaModules import EggGroupUniquifier
    Class : EggGroupUniquifier
    Description : This is a specialization of EggNameUniquifier to generate unique names for EggGroup nodes. It's not called automatically; you must invoke it yourself if you want it.

Inheritance:

    EggGroupUniquifier: EggNameUniquifier
    EggNameUniquifier: EggObject
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EggGroupUniquifier:

    EggGroupUniquifier (Constructor)
    getClassType

Methods of EggNameUniquifier:

    addName
    clear
    filterName
    generateName
    getCategory
    getClassType
    getNode
    hasName
    uniquify

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
EggGroupUniquifier
EggGroupUniquifier::EggGroupUniquifier(bool filter_names = (1));

Description: If filter_names is true, then the group names will be coerced into a fairly safe, standard convention that uses no characters other than a-z, A-Z, 0-9, and underscore. If filter_names is false, the group names will be left unchanged.

getClassType
static TypeHandle EggGroupUniquifier::get_class_type(void);

Undocumented function.

addName
bool EggNameUniquifier::add_name(string const &category, string const &name, EggNode *node = ((void *)(0)));

Description: Adds the name to the indicated category. This name will not be used for any other egg node within this category. Returns true if the name was added, or false if it was already in use for the category.

clear
void EggNameUniquifier::clear(void);

Description: Empties the table of used named and prepares the Uniquifier for a new tree.

filterName
virtual string EggNameUniquifier::filter_name(EggNode *node);

Description: Returns the name of the given node, or at least the name it should be. This provides a hook to adjust the name before attempting to uniquify it, if desired, for instance to remove invalid characters.

generateName
virtual string EggNameUniquifier::generate_name(EggNode *node, string const &category, int index);

Description: Generates a new name for the given node when its existing name clashes with some other node. This function will be called repeatedly, if necessary, until it returns a name that actually is unique.
The category is the string returned by get_category(), and index is a uniquely-generated number that may be useful for synthesizing the name.

getCategory
virtual string EggNameUniquifier::get_category(EggNode *node) = 0;

Undocumented function.

getClassType
static TypeHandle EggNameUniquifier::get_class_type(void);

Undocumented function.

getNode
EggNode *EggNameUniquifier::get_node(string const &category, string const &name) const;

Description: Returns the node associated with the given category and name, or NULL if the name has not been used.

hasName
bool EggNameUniquifier::has_name(string const &category, string const &name) const;

Description: Returns true if the name has been used for the indicated category already, false otherwise.

uniquify
void EggNameUniquifier::uniquify(EggNode *node);

Description: Begins the traversal from the indicated node.

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EggLine

    from pandac.PandaModules import EggLine
    Class : EggLine
    Description : A line segment, or a series of connected line segments, defined by a <Line> entry.

Inheritance:

    EggLine: EggCompositePrimitive
    EggCompositePrimitive: EggPrimitive
    EggPrimitive: EggNode EggAttributes EggRenderMode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggAttributes:
    EggRenderMode:

Methods of EggLine:

    EggLine (Constructor)
    clearThick
    getClassType
    getThick
    hasThick
    operator =
    setThick

Methods of EggCompositePrimitive:

    getClassType
    getComponent
    getNumComponents
    operator =
    setComponent
    triangulateInPlace
    triangulateInto

Methods of EggPrimitive:

    addTexture
    addVertex
    applyFirstAttribute
    applyLastAttribute
    cleanup
    clear
    clearConnectedShading
    clearMaterial
    clearTexture
    copyAttributes
    copyVertices
    determineAlphaMode
    determineBin
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineVisibilityMode
    getBfaceFlag
    getClassType
    getConnectedShading
    getMaterial
    getNumTextures
    getNumVertices
    getPool
    getShading
    getSortName
    getTexture
    getVertex
    hasMaterial
    hasNormals
    hasPrimitives
    hasTexture
    hasVertexColor
    hasVertexNormal
    jointHasPrimitives
    operator =
    postApplyFlatAttribute
    removeDoubledVerts
    removeNonuniqueVerts
    removeVertex
    reverseVertexOrdering
    setBfaceFlag
    setMaterial
    setTexture
    setVertex
    testVrefIntegrity
    unifyAttributes
    write

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Constants in EggPrimitive:

    SUnknown | (Shading)
SOverall | (Shading)
SPerFace | (Shading)
SPerVertex | (Shading)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)
EggLine
EggLine::EggLine(string const &name = (""));

Description:

clearThick
void EggLine::clear_thick(void);

Description:

getClassType
static TypeHandle EggLine::get_class_type(void);

Undocumented function.

getThick
double EggLine::get_thick(void) const;

Description: Returns the thickness set on this particular line. If there is no thickness set, returns 1.0.

hasThick
bool EggLine::has_thick(void) const;

Description:

operator =
EggLine &EggLine::operator =(EggLine const &copy);

Description:

setThick
void EggLine::set_thick(double thick);

Description:

getClassType
static TypeHandle EggCompositePrimitive::get_class_type(void);

Undocumented function.

getComponent
EggAttributes const *EggCompositePrimitive::get_component(int i) const;

Description: Returns the attributes for the nth component triangle.

getNumComponents
int EggCompositePrimitive::get_num_components(void) const;

Description: Returns the number of individual component triangles within the composite. Each one of these might have a different set of attributes.

operator =
EggCompositePrimitive &EggCompositePrimitive::operator =(EggCompositePrimitive const &copy);

Description:

setComponent
void EggCompositePrimitive::set_component(int i, EggAttributes const *attrib);

Description: Changes the attributes for the nth component triangle.

triangulateInPlace
PointerTo< EggCompositePrimitive > EggCompositePrimitive::triangulate_in_place(void);

Description: Subdivides the composite primitive into triangles and adds those triangles to the parent group node in place of the original primitive. Returns a pointer to the original primitive, which is likely about to be destructed.
If convex_also is true, both concave and convex polygons will be subdivided into triangles; otherwise, only concave polygons will be subdivided, and convex polygons will be copied unchanged into the container.

triangulateInto
bool EggCompositePrimitive::triangulate_into(EggGroupNode *container) const;

Description: Subdivides the composite primitive into triangles and adds those triangles to the indicated container. Does not remove the primitive from its existing parent or modify it in any way.
Returns true if the triangulation is successful, or false if there was some error (in which case the container may contain some partial triangulation).

addTexture
void EggPrimitive::add_texture(EggTexture *texture);

Description: Applies the indicated texture to the primitive.
Note that, in the case of multiple textures being applied to a single primitive, the order in which the textures are applied does not affect the rendering order; use EggTexture::set_sort() to specify that.

addVertex
EggVertex *EggPrimitive::add_vertex(EggVertex *vertex);

Description: Adds the indicated vertex to the end of the primitive's list of vertices, and returns it.

applyFirstAttribute
virtual void EggPrimitive::apply_first_attribute(void);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

applyLastAttribute
virtual void EggPrimitive::apply_last_attribute(void);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

cleanup
virtual bool EggPrimitive::cleanup(void);

Description: Cleans up modeling errors in whatever context this makes sense. For instance, for a polygon, this calls remove_doubled_verts(true). For a point, it calls remove_nonunique_verts(). Returns true if the primitive is valid, or false if it is degenerate.

clear
void EggPrimitive::clear(void);

Description: Removes all of the vertices from the primitive.

clearConnectedShading
void EggPrimitive::clear_connected_shading(void);

Description: Resets the connected_shading member in this primitive, so that get_connected_shading() will recompute a new value.

clearMaterial
void EggPrimitive::clear_material(void);

Description: Removes any material from the primitive.

clearTexture
void EggPrimitive::clear_texture(void);

Description: Removes any texturing from the primitive.

copyAttributes
void EggPrimitive::copy_attributes(EggAttributes const &other);

Description: Copies the rendering attributes from the indicated primitive.

copyVertices
void EggPrimitive::copy_vertices(EggPrimitive const &other);

Description: Replaces the current primitive's list of vertices with a copy of the list of vertices on the other primitive.

determineAlphaMode
virtual EggRenderMode *EggPrimitive::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggPrimitive::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthTestMode
virtual EggRenderMode *EggPrimitive::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggPrimitive::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggPrimitive::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineVisibilityMode
virtual EggRenderMode *EggPrimitive::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBfaceFlag
bool EggPrimitive::get_bface_flag(void) const;

Description: Retrieves the backfacing flag of the polygon. See set_bface_flag().

getClassType
static TypeHandle EggPrimitive::get_class_type(void);

Undocumented function.

getConnectedShading
EggPrimitive::Shading EggPrimitive::get_connected_shading(void) const;

Description: Determines what sort of shading properties this primitive's connected neighbors have.
To get the most accurate results, you should first call clear_connected_shading() on all connected primitives (or on all primitives in the egg file). It might also be a good idea to call remove_unused_vertices() to ensure proper connectivity.
You may find it easiest to call these other methods on the EggData root node (they are defined on EggGroupNode).

getMaterial
EggMaterial *EggPrimitive::get_material(void) const;

Description: Returns a pointer to the applied material, or NULL if there is no material applied.

getNumTextures
int EggPrimitive::get_num_textures(void) const;

Description: Returns the number of textures applied to the primitive.

getNumVertices
int EggPrimitive::get_num_vertices(void) const;

These are shorthands if you don't want to use the iterators.
Description:

getPool
EggVertexPool *EggPrimitive::get_pool(void) const;

Description: Returns the vertex pool associated with the vertices of the primitive, or NULL if the primitive has no vertices.

getShading
virtual EggPrimitive::Shading EggPrimitive::get_shading(void) const;

Description: Returns the shading properties apparent on this particular primitive. This returns S_per_vertex if the vertices have colors or normals (and they are not all the same values), or for a simple primitive, S_overall otherwise. A composite primitive may also return S_per_face if the individual component primitives have colors or normals that are not all the same values.
To get the most accurate results, you should call clear_shading() on all connected primitives (or on all primitives in the egg file), followed by get_shading() on each primitive. You may find it easiest to call these methods on the EggData root node (they are defined on EggGroupNode).

getSortName
string EggPrimitive::get_sort_name(void) const;

Description: Returns the name of the primitive for the purposes of sorting primitives into different groups, if there is one.
Presently, this is defined as the primitive name itself, unless it begins with a digit.

getTexture
EggTexture *EggPrimitive::get_texture(void) const;

Description: Returns the first texture on the primitive, if any, or NULL if there are no textures on the primitive.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns the nth texture that has been applied to the primitive.

getVertex
EggVertex *EggPrimitive::get_vertex(int index) const;

Description: Returns a particular index based on its index number.

hasMaterial
bool EggPrimitive::has_material(void) const;

Description: Returns true if the primitive is materiald (and get_material() will return a real pointer), false otherwise (and get_material() will return NULL).

hasNormals
virtual bool EggPrimitive::has_normals(void) const;

Description: Returns true if any of the primitives (e.g. polygons) defined within this group or below have either face or vertex normals defined, false otherwise.

hasPrimitives
virtual bool EggPrimitive::has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, false otherwise.

hasTexture
bool EggPrimitive::has_texture(void) const;

Description: Returns true if the primitive has any textures specified, false otherwise.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns true if the primitive has the particular indicated texture, false otherwise.

hasVertexColor
bool EggPrimitive::has_vertex_color(void) const;

Description: Returns true if any vertex on the primitive has a specific color set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

hasVertexNormal
bool EggPrimitive::has_vertex_normal(void) const;

Description: Returns true if any vertex on the primitive has a specific normal set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

jointHasPrimitives
virtual bool EggPrimitive::joint_has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, but the search does not include nested joints.

operator =
EggPrimitive &EggPrimitive::operator =(EggPrimitive const &copy);

Description:

postApplyFlatAttribute
virtual void EggPrimitive::post_apply_flat_attribute(void);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

removeDoubledVerts
void EggPrimitive::remove_doubled_verts(bool closed);

Description: Certain kinds of primitives, particularly polygons, don't like to have the same vertex repeated consecutively. Unfortunately, some modeling programs (like MultiGen) make this an easy mistake to make.
It's handy to have a function to remove these redundant vertices. If closed is true, it also checks that the first and last vertices are not the same.
This function identifies repeated vertices by position only; it does not consider any other properties, such as color or UV, significant in differentiating vertices.

removeNonuniqueVerts
void EggPrimitive::remove_nonunique_verts(void);

Description: Removes any multiple appearances of the same vertex from the primitive. This primarily makes sense for a point primitive, which is really a collection of points and which doesn't make sense to include the same point twice, in any order.

removeVertex
EggVertex *EggPrimitive::remove_vertex(EggVertex *vertex);

Description: Removes the indicated vertex from the primitive and returns it. If the vertex was not already in the primitive, does nothing and returns NULL.

reverseVertexOrdering
virtual void EggPrimitive::reverse_vertex_ordering(void);

Description: Reverses the ordering of the vertices in this primitive, if appropriate, in order to change the direction the polygon appears to be facing. Does not adjust the surface normal, if any.

setBfaceFlag
void EggPrimitive::set_bface_flag(bool flag);

Description: Sets the backfacing flag of the polygon. If this is true, the polygon will be rendered so that both faces are visible; if it is false, only the front face of the polygon will be visible.

setMaterial
void EggPrimitive::set_material(EggMaterial *material);

Description: Applies the indicated material to the primitive.

setTexture
void EggPrimitive::set_texture(EggTexture *texture);

Description: Replaces the current list of textures with the indicated texture.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.q

setVertex
void EggPrimitive::set_vertex(int index, EggVertex *vertex);

These are shorthands if you don't want to use the iterators.
Description: Replaces a particular vertex based on its index number in the list of vertices. This is just a convenience function for people who don't want to mess with the iterators.

testVrefIntegrity
void EggPrimitive::test_vref_integrity(void) const;

Description: Verifies that each vertex in the primitive exists and that it knows it is referenced by the primitive.

unifyAttributes
virtual void EggPrimitive::unify_attributes(EggPrimitive::Shading shading);

Description: If the shading property is S_per_vertex, ensures that all vertices have a normal and a color, and the overall primitive does not.
If the shading property is S_per_face, and this is a composite primitive, ensures that all components have a normal and a color, and the vertices and overall primitive do not. (If this is a simple primitive, S_per_face works the same as S_overall, below).
If the shading property is S_overall, ensures that no vertices or components have a normal or a color, and the overall primitive does (if any exists at all).
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
This may create redundant vertices in the vertex pool.

write
virtual void EggPrimitive::write(ostream &out, int indent_level) const = 0;

Undocumented function.

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggMaterial

    from pandac.PandaModules import EggMaterial
    Class : EggMaterial
    Description :

Inheritance:

    EggMaterial: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggMaterial:

    EggMaterial (Constructor)
    clearAmb
    clearDiff
    clearEmit
    clearLocal
    clearShininess
    clearSpec
    getAmb
    getClassType
    getDiff
    getEmit
    getLocal
    getShininess
    getSpec
    hasAmb
    hasDiff
    hasEmit
    hasLocal
    hasShininess
    hasSpec
    isEquivalentTo
    setAmb
    setDiff
    setEmit
    setLocal
    setShininess
    setSpec
    sortsLessThan

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in EggMaterial:

    EAttributes | (Equivalence)
EMrefName | (Equivalence)
EggMaterial
EggMaterial::EggMaterial(string const &mref_name);

Description:

clearAmb
void EggMaterial::clear_amb(void);

Description:

clearDiff
void EggMaterial::clear_diff(void);

Description:

clearEmit
void EggMaterial::clear_emit(void);

Description:

clearLocal
void EggMaterial::clear_local(void);

Description:

clearShininess
void EggMaterial::clear_shininess(void);

Description:

clearSpec
void EggMaterial::clear_spec(void);

Description:

getAmb
LVecBase4f EggMaterial::get_amb(void) const;

Description: It is legal to call this even if has_amb() returns false. If so, it simply returns the default amb color.

getClassType
static TypeHandle EggMaterial::get_class_type(void);

Undocumented function.

getDiff
LVecBase4f EggMaterial::get_diff(void) const;

Description: It is legal to call this even if has_diff() returns false. If so, it simply returns the default diff color.

getEmit
LVecBase4f EggMaterial::get_emit(void) const;

Description: It is legal to call this even if has_emit() returns false. If so, it simply returns the default emit color.

getLocal
bool EggMaterial::get_local(void) const;

Description:

getShininess
double EggMaterial::get_shininess(void) const;

Description:

getSpec
LVecBase4f EggMaterial::get_spec(void) const;

Description: It is legal to call this even if has_spec() returns false. If so, it simply returns the default spec color.

hasAmb
bool EggMaterial::has_amb(void) const;

Description:

hasDiff
bool EggMaterial::has_diff(void) const;

Description:

hasEmit
bool EggMaterial::has_emit(void) const;

Description:

hasLocal
bool EggMaterial::has_local(void) const;

Description:

hasShininess
bool EggMaterial::has_shininess(void) const;

Description:

hasSpec
bool EggMaterial::has_spec(void) const;

Description:

isEquivalentTo
bool EggMaterial::is_equivalent_to(EggMaterial const &other, int eq) const;

Description: Returns true if the two materials are equivalent in all relevant properties (according to eq), false otherwise.
The Equivalence parameter, eq, should be set to the bitwise OR of the following properties, according to what you consider relevant:
EggMaterial::E_attributes: All material attributes (diff, spec, etc.) except MRef name.
EggMaterial::E_mref_name: The MRef name.

setAmb
void EggMaterial::set_amb(LVecBase4f const &amb);

Description:

setDiff
void EggMaterial::set_diff(LVecBase4f const &diff);

Description:

setEmit
void EggMaterial::set_emit(LVecBase4f const &emit);

Description:

setLocal
void EggMaterial::set_local(bool local);

Description:

setShininess
void EggMaterial::set_shininess(double shininess);

Description:

setSpec
void EggMaterial::set_spec(LVecBase4f const &spec);

Description:

sortsLessThan
bool EggMaterial::sorts_less_than(EggMaterial const &other, int eq) const;

Description: An ordering operator to compare two materials for sorting order. This imposes an arbitrary ordering useful to identify unique materials, according to the indicated Equivalence factor. See is_equivalent_to().

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggMaterialCollection

    from pandac.PandaModules import EggMaterialCollection
    Class : EggMaterialCollection
    Description : This is a collection of materials by MRef name. It can extract the materials from an egg file and sort them all together; it can also manage the creation of unique materials and the assignment of unique MRef names.

Inheritance:

    EggMaterialCollection:

Methods of EggMaterialCollection:

    EggMaterialCollection (Constructor)
    addMaterial
    clear
    collapseEquivalentMaterials
    createUniqueMaterial
    extractMaterials
    findMref
    findUsedMaterials
    operator =
    removeMaterial
    removeUnusedMaterials
    replaceMaterials
    sortByMref
    uniquifyMrefs
EggMaterialCollection
EggMaterialCollection::EggMaterialCollection(void);

Description:

addMaterial
bool EggMaterialCollection::add_material(EggMaterial *material);

Description: Explicitly adds a new material to the collection. Returns true if the material was added, false if it was already there or if there was some error.

clear
void EggMaterialCollection::clear(void);

Description: Removes all materials from the collection.

collapseEquivalentMaterials
int EggMaterialCollection::collapse_equivalent_materials(int eq, EggGroupNode *node);

Description: Walks through the collection and collapses together any separate materials that are equivalent according to the indicated equivalence factor, eq (see EggMaterial::is_equivalent_to()). The return value is the number of materials removed.
This flavor of collapse_equivalent_materials() automatically adjusts all the primitives in the egg hierarchy to refer to the new material pointers.
This flavor of collapse_equivalent_materials() does not adjust any primitives in the egg hierarchy; instead, it fills up the 'removed' map with an entry for each removed material, mapping it back to the equivalent retained material. It's up to the user to then call replace_materials() with this map, if desired, to apply these changes to the egg hierarchy.

createUniqueMaterial
EggMaterial *EggMaterialCollection::create_unique_material(EggMaterial const &copy, int eq);

create_unique_material() creates a new material if there is not already one equivalent (according to eq, see EggMaterial::is_equivalent_to()) to the indicated material, or returns the existing one if there is.
Description: Creates a new material if there is not already one equivalent (according to eq, see EggMaterial::is_equivalent_to()) to the indicated material, or returns the existing one if there is.

extractMaterials
int EggMaterialCollection::extract_materials(EggGroupNode *node);

Description: Walks the egg hierarchy beginning at the indicated node, and removes any EggMaterials encountered in the hierarchy, adding them to the collection. Returns the number of EggMaterials encountered.

findMref
EggMaterial *EggMaterialCollection::find_mref(string const &mref_name) const;

Find a material with a particular MRef name.
Description: Returns the material with the indicated MRef name, or NULL if no material matches.

findUsedMaterials
int EggMaterialCollection::find_used_materials(EggNode *node);

Description: Walks the egg hierarchy beginning at the indicated node, looking for materials that are referenced by primitives but are not already members of the collection, adding them to the collection.
If this is called following extract_materials(), it can be used to pick up any additional material references that appeared in the egg hierarchy (but whose EggMaterial node was not actually part of the hierarchy).
If this is called in lieu of extract_materials(), it will fill up the collection with all of the referenced materials (and only the referenced materials), without destructively removing the EggMaterials from the hierarchy.
This also has the side effect of incrementing the internal usage count for a material in the collection each time a material reference is encountered. This side effect is taken advantage of by remove_unused_materials().

operator =
EggMaterialCollection &EggMaterialCollection::operator =(EggMaterialCollection const &copy);

Description:

removeMaterial
bool EggMaterialCollection::remove_material(EggMaterial *material);

Description: Explicitly removes a material from the collection. Returns true if the material was removed, false if it wasn't there or if there was some error.

removeUnusedMaterials
void EggMaterialCollection::remove_unused_materials(EggNode *node);

Description: Removes any materials from the collection that aren't referenced by any primitives in the indicated egg hierarchy. This also, incidentally, adds materials to the collection that had been referenced by primitives but had not previously appeared in the collection.

replaceMaterials
static void EggMaterialCollection::replace_materials(EggGroupNode *node, map< PointerTo< EggMaterial >, PointerTo< EggMaterial > > const &replace);

Description: Walks the egg hierarchy, changing out any reference to a material appearing on the left side of the map with its corresponding material on the right side. This is most often done following a call to collapse_equivalent_materials(). It does not directly affect the Collection.

sortByMref
void EggMaterialCollection::sort_by_mref(void);

Description: Sorts all the materials into alphabetical order by MRef name. Subsequent operations using begin()/end() will traverse in this sorted order.

uniquifyMrefs
void EggMaterialCollection::uniquify_mrefs(void);

Description: Guarantees that each material in the collection has a unique MRef name. This is essential before writing an egg file.


EggNamedObject

    from pandac.PandaModules import EggNamedObject
    Class : EggNamedObject
    Description : This is a fairly low-level base class--any egg object that has a name.

Inheritance:

    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggNameUniquifier

    from pandac.PandaModules import EggNameUniquifier
    Class : EggNameUniquifier
    Description : This is a handy class for guaranteeing unique node names in an egg hierarchy. It is an abstract class; to use it you must subclass off of it. See the comment above.

Inheritance:

    EggNameUniquifier: EggObject
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EggNameUniquifier:

    addName
    clear
    filterName
    generateName
    getCategory
    getClassType
    getNode
    hasName
    uniquify

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
addName
bool EggNameUniquifier::add_name(string const &category, string const &name, EggNode *node = ((void *)(0)));

Description: Adds the name to the indicated category. This name will not be used for any other egg node within this category. Returns true if the name was added, or false if it was already in use for the category.

clear
void EggNameUniquifier::clear(void);

Description: Empties the table of used named and prepares the Uniquifier for a new tree.

filterName
virtual string EggNameUniquifier::filter_name(EggNode *node);

Description: Returns the name of the given node, or at least the name it should be. This provides a hook to adjust the name before attempting to uniquify it, if desired, for instance to remove invalid characters.

generateName
virtual string EggNameUniquifier::generate_name(EggNode *node, string const &category, int index);

Description: Generates a new name for the given node when its existing name clashes with some other node. This function will be called repeatedly, if necessary, until it returns a name that actually is unique.
The category is the string returned by get_category(), and index is a uniquely-generated number that may be useful for synthesizing the name.

getCategory
virtual string EggNameUniquifier::get_category(EggNode *node) = 0;

Undocumented function.

getClassType
static TypeHandle EggNameUniquifier::get_class_type(void);

Undocumented function.

getNode
EggNode *EggNameUniquifier::get_node(string const &category, string const &name) const;

Description: Returns the node associated with the given category and name, or NULL if the name has not been used.

hasName
bool EggNameUniquifier::has_name(string const &category, string const &name) const;

Description: Returns true if the name has been used for the indicated category already, false otherwise.

uniquify
void EggNameUniquifier::uniquify(EggNode *node);

Description: Begins the traversal from the indicated node.

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EggNode

    from pandac.PandaModules import EggNode
    Class : EggNode
    Description : A base class for things that may be directly added into the egg hierarchy. This includes groups, joints, polygons, vertex pools, etc., but does not include things like vertices.

Inheritance:

    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggNurbsCurve

    from pandac.PandaModules import EggNurbsCurve
    Class : EggNurbsCurve
    Description : A parametric NURBS curve.

Inheritance:

    EggNurbsCurve: EggCurve
    EggCurve: EggPrimitive
    EggPrimitive: EggNode EggAttributes EggRenderMode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggAttributes:
    EggRenderMode:

Methods of EggNurbsCurve:

    EggNurbsCurve (Constructor)
    getClassType
    getDegree
    getKnot
    getNumCvs
    getNumKnots
    getOrder
    isClosed
    isValid
    operator =
    setKnot
    setNumKnots
    setOrder
    setup

Methods of EggCurve:

    getClassType
    getCurveType
    getSubdiv
    operator =
    setCurveType
    setSubdiv
    stringCurveType

Methods of EggPrimitive:

    addTexture
    addVertex
    applyFirstAttribute
    applyLastAttribute
    cleanup
    clear
    clearConnectedShading
    clearMaterial
    clearTexture
    copyAttributes
    copyVertices
    determineAlphaMode
    determineBin
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineVisibilityMode
    getBfaceFlag
    getClassType
    getConnectedShading
    getMaterial
    getNumTextures
    getNumVertices
    getPool
    getShading
    getSortName
    getTexture
    getVertex
    hasMaterial
    hasNormals
    hasPrimitives
    hasTexture
    hasVertexColor
    hasVertexNormal
    jointHasPrimitives
    operator =
    postApplyFlatAttribute
    removeDoubledVerts
    removeNonuniqueVerts
    removeVertex
    reverseVertexOrdering
    setBfaceFlag
    setMaterial
    setTexture
    setVertex
    testVrefIntegrity
    unifyAttributes
    write

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Constants in EggCurve:

    CTNone | (CurveType)
CTXyz | (CurveType)
CTHpr | (CurveType)
CTT | (CurveType)

Constants in EggPrimitive:

    SUnknown | (Shading)
SOverall | (Shading)
SPerFace | (Shading)
SPerVertex | (Shading)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)
EggNurbsCurve
EggNurbsCurve::EggNurbsCurve(string const &name = (""));

Description:

getClassType
static TypeHandle EggNurbsCurve::get_class_type(void);

Undocumented function.

getDegree
int EggNurbsCurve::get_degree(void) const;

Description: Returns the degree of the curve. For a typical NURBS, the degree is 3.

getKnot
double EggNurbsCurve::get_knot(int k) const;

Description: Returns the nth knot value defined.

getNumCvs
int EggNurbsCurve::get_num_cvs(void) const;

Description: Returns the total number of control vertices that
*should* be defined for the curve. This is
determined by the number of knots and the order, in each direction; it does not necessarily reflect the number of vertices that have actually been added to the curve. (However, if the number of vertices in the curve are wrong, the curve is invalid.)

getNumKnots
int EggNurbsCurve::get_num_knots(void) const;

Description: Returns the number of knots.

getOrder
int EggNurbsCurve::get_order(void) const;

Description: Returns the order of the curve. The order is the degree of the NURBS equation plus 1; for a typical NURBS, the order is 4. With this implementation of NURBS, the order must be in the range [1, 4].

isClosed
bool EggNurbsCurve::is_closed(void) const;

Description: Returns true if the curve appears to be closed. Since the Egg syntax does not provide a means for explicit indication of closure, this has to be guessed at by examining the curve itself.

isValid
bool EggNurbsCurve::is_valid(void) const;

Description: Returns true if the NURBS parameters are all internally consistent (e.g. it has the right number of vertices to match its number of knots and order in each dimension), or false otherwise.

operator =
EggNurbsCurve &EggNurbsCurve::operator =(EggNurbsCurve const &copy);

Description:

setKnot
void EggNurbsCurve::set_knot(int k, double value);

Description: Resets the value of the indicated knot as indicated. k must be in the range 0 <= k < get_num_knots(), and the value must be in the range get_knot(k - 1) <= value <= get_knot(k + 1).

setNumKnots
void EggNurbsCurve::set_num_knots(int num);

Description: Directly changes the number of knots. This will either add zero-valued knots onto the end, or truncate knot values from the end, depending on whether the list is being increased or decreased. If possible, it is preferable to use the setup() method instead of directly setting the number of knots, as this may result in an invalid curve.

setOrder
void EggNurbsCurve::set_order(int order);

Description: Directly changes the order to the indicated value (which must be an integer in the range 1 <= order <= 4). If possible, it is preferable to use the setup() method instead of this method, since changing the order directly may result in an invalid curve.

setup
void EggNurbsCurve::setup(int order, int num_knots);

Description: Prepares a new curve definition with the indicated order and number of knots. This also implies a particular number of vertices as well (the number of knots minus the order), but it is up to the user to add the correct number of vertices to the curve by repeatedly calling push_back().

getClassType
static TypeHandle EggCurve::get_class_type(void);

Undocumented function.

getCurveType
EggCurve::CurveType EggCurve::get_curve_type(void) const;

Description: Returns the indicated type of the curve.

getSubdiv
int EggCurve::get_subdiv(void) const;

Description: Returns the requested number of subdivisions, or 0 if no particular subdivisions have been requested.

operator =
EggCurve &EggCurve::operator =(EggCurve const &copy);

Description:

setCurveType
void EggCurve::set_curve_type(EggCurve::CurveType type);

Description: Sets the type of the curve. This is primarily used as a hint to any code that may need to deal with this curve.

setSubdiv
void EggCurve::set_subdiv(int subdiv);

Description: Sets the number of subdivisions that will be requested across the curve. (This doesn't necessary guarantee that this number of subdivisions will be made; it's just a hint to any curve renderer or quick tesselator.) Set the number to 0 to disable the hint.

stringCurveType
static EggCurve::CurveType EggCurve::string_curve_type(string const &string);

Description: Returns the CurveType value associated with the given string representation, or CT_invalid if the string does not match any known CurveType value.

addTexture
void EggPrimitive::add_texture(EggTexture *texture);

Description: Applies the indicated texture to the primitive.
Note that, in the case of multiple textures being applied to a single primitive, the order in which the textures are applied does not affect the rendering order; use EggTexture::set_sort() to specify that.

addVertex
EggVertex *EggPrimitive::add_vertex(EggVertex *vertex);

Description: Adds the indicated vertex to the end of the primitive's list of vertices, and returns it.

applyFirstAttribute
virtual void EggPrimitive::apply_first_attribute(void);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

applyLastAttribute
virtual void EggPrimitive::apply_last_attribute(void);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

cleanup
virtual bool EggPrimitive::cleanup(void);

Description: Cleans up modeling errors in whatever context this makes sense. For instance, for a polygon, this calls remove_doubled_verts(true). For a point, it calls remove_nonunique_verts(). Returns true if the primitive is valid, or false if it is degenerate.

clear
void EggPrimitive::clear(void);

Description: Removes all of the vertices from the primitive.

clearConnectedShading
void EggPrimitive::clear_connected_shading(void);

Description: Resets the connected_shading member in this primitive, so that get_connected_shading() will recompute a new value.

clearMaterial
void EggPrimitive::clear_material(void);

Description: Removes any material from the primitive.

clearTexture
void EggPrimitive::clear_texture(void);

Description: Removes any texturing from the primitive.

copyAttributes
void EggPrimitive::copy_attributes(EggAttributes const &other);

Description: Copies the rendering attributes from the indicated primitive.

copyVertices
void EggPrimitive::copy_vertices(EggPrimitive const &other);

Description: Replaces the current primitive's list of vertices with a copy of the list of vertices on the other primitive.

determineAlphaMode
virtual EggRenderMode *EggPrimitive::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggPrimitive::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthTestMode
virtual EggRenderMode *EggPrimitive::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggPrimitive::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggPrimitive::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineVisibilityMode
virtual EggRenderMode *EggPrimitive::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBfaceFlag
bool EggPrimitive::get_bface_flag(void) const;

Description: Retrieves the backfacing flag of the polygon. See set_bface_flag().

getClassType
static TypeHandle EggPrimitive::get_class_type(void);

Undocumented function.

getConnectedShading
EggPrimitive::Shading EggPrimitive::get_connected_shading(void) const;

Description: Determines what sort of shading properties this primitive's connected neighbors have.
To get the most accurate results, you should first call clear_connected_shading() on all connected primitives (or on all primitives in the egg file). It might also be a good idea to call remove_unused_vertices() to ensure proper connectivity.
You may find it easiest to call these other methods on the EggData root node (they are defined on EggGroupNode).

getMaterial
EggMaterial *EggPrimitive::get_material(void) const;

Description: Returns a pointer to the applied material, or NULL if there is no material applied.

getNumTextures
int EggPrimitive::get_num_textures(void) const;

Description: Returns the number of textures applied to the primitive.

getNumVertices
int EggPrimitive::get_num_vertices(void) const;

These are shorthands if you don't want to use the iterators.
Description:

getPool
EggVertexPool *EggPrimitive::get_pool(void) const;

Description: Returns the vertex pool associated with the vertices of the primitive, or NULL if the primitive has no vertices.

getShading
virtual EggPrimitive::Shading EggPrimitive::get_shading(void) const;

Description: Returns the shading properties apparent on this particular primitive. This returns S_per_vertex if the vertices have colors or normals (and they are not all the same values), or for a simple primitive, S_overall otherwise. A composite primitive may also return S_per_face if the individual component primitives have colors or normals that are not all the same values.
To get the most accurate results, you should call clear_shading() on all connected primitives (or on all primitives in the egg file), followed by get_shading() on each primitive. You may find it easiest to call these methods on the EggData root node (they are defined on EggGroupNode).

getSortName
string EggPrimitive::get_sort_name(void) const;

Description: Returns the name of the primitive for the purposes of sorting primitives into different groups, if there is one.
Presently, this is defined as the primitive name itself, unless it begins with a digit.

getTexture
EggTexture *EggPrimitive::get_texture(void) const;

Description: Returns the first texture on the primitive, if any, or NULL if there are no textures on the primitive.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns the nth texture that has been applied to the primitive.

getVertex
EggVertex *EggPrimitive::get_vertex(int index) const;

Description: Returns a particular index based on its index number.

hasMaterial
bool EggPrimitive::has_material(void) const;

Description: Returns true if the primitive is materiald (and get_material() will return a real pointer), false otherwise (and get_material() will return NULL).

hasNormals
virtual bool EggPrimitive::has_normals(void) const;

Description: Returns true if any of the primitives (e.g. polygons) defined within this group or below have either face or vertex normals defined, false otherwise.

hasPrimitives
virtual bool EggPrimitive::has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, false otherwise.

hasTexture
bool EggPrimitive::has_texture(void) const;

Description: Returns true if the primitive has any textures specified, false otherwise.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns true if the primitive has the particular indicated texture, false otherwise.

hasVertexColor
bool EggPrimitive::has_vertex_color(void) const;

Description: Returns true if any vertex on the primitive has a specific color set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

hasVertexNormal
bool EggPrimitive::has_vertex_normal(void) const;

Description: Returns true if any vertex on the primitive has a specific normal set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

jointHasPrimitives
virtual bool EggPrimitive::joint_has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, but the search does not include nested joints.

operator =
EggPrimitive &EggPrimitive::operator =(EggPrimitive const &copy);

Description:

postApplyFlatAttribute
virtual void EggPrimitive::post_apply_flat_attribute(void);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

removeDoubledVerts
void EggPrimitive::remove_doubled_verts(bool closed);

Description: Certain kinds of primitives, particularly polygons, don't like to have the same vertex repeated consecutively. Unfortunately, some modeling programs (like MultiGen) make this an easy mistake to make.
It's handy to have a function to remove these redundant vertices. If closed is true, it also checks that the first and last vertices are not the same.
This function identifies repeated vertices by position only; it does not consider any other properties, such as color or UV, significant in differentiating vertices.

removeNonuniqueVerts
void EggPrimitive::remove_nonunique_verts(void);

Description: Removes any multiple appearances of the same vertex from the primitive. This primarily makes sense for a point primitive, which is really a collection of points and which doesn't make sense to include the same point twice, in any order.

removeVertex
EggVertex *EggPrimitive::remove_vertex(EggVertex *vertex);

Description: Removes the indicated vertex from the primitive and returns it. If the vertex was not already in the primitive, does nothing and returns NULL.

reverseVertexOrdering
virtual void EggPrimitive::reverse_vertex_ordering(void);

Description: Reverses the ordering of the vertices in this primitive, if appropriate, in order to change the direction the polygon appears to be facing. Does not adjust the surface normal, if any.

setBfaceFlag
void EggPrimitive::set_bface_flag(bool flag);

Description: Sets the backfacing flag of the polygon. If this is true, the polygon will be rendered so that both faces are visible; if it is false, only the front face of the polygon will be visible.

setMaterial
void EggPrimitive::set_material(EggMaterial *material);

Description: Applies the indicated material to the primitive.

setTexture
void EggPrimitive::set_texture(EggTexture *texture);

Description: Replaces the current list of textures with the indicated texture.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.q

setVertex
void EggPrimitive::set_vertex(int index, EggVertex *vertex);

These are shorthands if you don't want to use the iterators.
Description: Replaces a particular vertex based on its index number in the list of vertices. This is just a convenience function for people who don't want to mess with the iterators.

testVrefIntegrity
void EggPrimitive::test_vref_integrity(void) const;

Description: Verifies that each vertex in the primitive exists and that it knows it is referenced by the primitive.

unifyAttributes
virtual void EggPrimitive::unify_attributes(EggPrimitive::Shading shading);

Description: If the shading property is S_per_vertex, ensures that all vertices have a normal and a color, and the overall primitive does not.
If the shading property is S_per_face, and this is a composite primitive, ensures that all components have a normal and a color, and the vertices and overall primitive do not. (If this is a simple primitive, S_per_face works the same as S_overall, below).
If the shading property is S_overall, ensures that no vertices or components have a normal or a color, and the overall primitive does (if any exists at all).
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
This may create redundant vertices in the vertex pool.

write
virtual void EggPrimitive::write(ostream &out, int indent_level) const = 0;

Undocumented function.

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggNurbsSurface

    from pandac.PandaModules import EggNurbsSurface
    Class : EggNurbsSurface
    Description : A parametric NURBS surface.

Inheritance:

    EggNurbsSurface: EggSurface
    EggSurface: EggPrimitive
    EggPrimitive: EggNode EggAttributes EggRenderMode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggAttributes:
    EggRenderMode:

Methods of EggNurbsSurface:

    EggNurbsSurface (Constructor)
    getClassType
    getCv
    getNumCvs
    getNumUCvs
    getNumUKnots
    getNumVCvs
    getNumVKnots
    getUDegree
    getUIndex
    getUKnot
    getUOrder
    getVDegree
    getVertexIndex
    getVIndex
    getVKnot
    getVOrder
    isClosedU
    isClosedV
    isValid
    operator =
    setCv
    setNumUKnots
    setNumVKnots
    setUKnot
    setUOrder
    setup
    setVKnot
    setVOrder

Methods of EggSurface:

    getClassType
    getUSubdiv
    getVSubdiv
    operator =
    setUSubdiv
    setVSubdiv

Methods of EggPrimitive:

    addTexture
    addVertex
    applyFirstAttribute
    applyLastAttribute
    cleanup
    clear
    clearConnectedShading
    clearMaterial
    clearTexture
    copyAttributes
    copyVertices
    determineAlphaMode
    determineBin
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineVisibilityMode
    getBfaceFlag
    getClassType
    getConnectedShading
    getMaterial
    getNumTextures
    getNumVertices
    getPool
    getShading
    getSortName
    getTexture
    getVertex
    hasMaterial
    hasNormals
    hasPrimitives
    hasTexture
    hasVertexColor
    hasVertexNormal
    jointHasPrimitives
    operator =
    postApplyFlatAttribute
    removeDoubledVerts
    removeNonuniqueVerts
    removeVertex
    reverseVertexOrdering
    setBfaceFlag
    setMaterial
    setTexture
    setVertex
    testVrefIntegrity
    unifyAttributes
    write

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Constants in EggPrimitive:

    SUnknown | (Shading)
SOverall | (Shading)
SPerFace | (Shading)
SPerVertex | (Shading)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)
EggNurbsSurface
EggNurbsSurface::EggNurbsSurface(string const &name = (""));

Description:

getClassType
static TypeHandle EggNurbsSurface::get_class_type(void);

Undocumented function.

getCv
EggVertex *EggNurbsSurface::get_cv(int ui, int vi) const;

Description: Returns the control vertex at the indicate U, V position.

getNumCvs
int EggNurbsSurface::get_num_cvs(void) const;

Description: Returns the total number of control vertices that
*should* be defined for the surface. This is
determined by the number of knots and the order, in each direction; it does not necessarily reflect the number of vertices that have actually been added to the surface. (However, if the number of vertices in the surface are wrong, the surface is invalid.)

getNumUCvs
int EggNurbsSurface::get_num_u_cvs(void) const;

Description: Returns the number of control vertices that should be present in the U direction. This is determined by the number of knots and the order; it does not necessarily reflect the number of vertices that have actually been added to the surface. (However, if the number of vertices in the surface are wrong, the surface is invalid.)

getNumUKnots
int EggNurbsSurface::get_num_u_knots(void) const;

Description: Returns the number of knots in the U direction.

getNumVCvs
int EggNurbsSurface::get_num_v_cvs(void) const;

Description: Returns the number of control vertices that should be present in the V direction. This is determined by the number of knots and the order; it does not necessarily reflect the number of vertices that have actually been added to the surface. (However, if the number of vertices in the surface are wrong, the surface is invalid.)

getNumVKnots
int EggNurbsSurface::get_num_v_knots(void) const;

Description: Returns the number of knots in the V direction.

getUDegree
int EggNurbsSurface::get_u_degree(void) const;

Description: Returns the degree of the surface in the U direction. For a typical NURBS, the degree is 3.

getUIndex
int EggNurbsSurface::get_u_index(int vertex_index) const;

Description: Returns the U index number of the given vertex within the EggPrimitive's linear list of vertices. An EggNurbsSurface maps a linear list of vertices to its 2-d mesh; this returns the U index number that corresponds to the nth vertex in the list.

getUKnot
double EggNurbsSurface::get_u_knot(int k) const;

Description: Returns the nth knot value defined in the U direction.

getUOrder
int EggNurbsSurface::get_u_order(void) const;

Description: Returns the order of the surface in the U direction. The order is the degree of the NURBS equation plus 1; for a typical NURBS, the order is 4. With this implementation of NURBS, the order must be in the range [1, 4].

getVDegree
int EggNurbsSurface::get_v_degree(void) const;

Description: Returns the degree of the surface in the V direction. for a typical NURBS, the degree is 3.

getVertexIndex
int EggNurbsSurface::get_vertex_index(int ui, int vi) const;

Description: Returns the index number within the EggPrimitive's list of the control vertex at position ui, vi.

getVIndex
int EggNurbsSurface::get_v_index(int vertex_index) const;

Description: Returns the V index number of the given vertex within the EggPrimitive's linear list of vertices. An EggNurbsSurface maps a linear list of vertices to its 2-d mesh; this returns the V index number that corresponds to the nth vertex in the list.

getVKnot
double EggNurbsSurface::get_v_knot(int k) const;

Description: Returns the nth knot value defined in the V direction.

getVOrder
int EggNurbsSurface::get_v_order(void) const;

Description: Returns the order of the surface in the V direction. The order is the degree of the NURBS equation plus 1; for a typical NURBS, the order is 4. With this implementation of NURBS, the order must be in the range [1, 4].

isClosedU
bool EggNurbsSurface::is_closed_u(void) const;

Description: Returns true if the surface appears to be closed in the U direction. Since the Egg syntax does not provide a means for explicit indication of closure, this has to be guessed at by examining the surface itself.

isClosedV
bool EggNurbsSurface::is_closed_v(void) const;

Description: Returns true if the surface appears to be closed in the V direction. Since the Egg syntax does not provide a means for explicit indication of closure, this has to be guessed at by examining the surface itself.

isValid
bool EggNurbsSurface::is_valid(void) const;

Description: Returns true if the NURBS parameters are all internally consistent (e.g. it has the right number of vertices to match its number of knots and order in each dimension), or false otherwise.

operator =
EggNurbsSurface &EggNurbsSurface::operator =(EggNurbsSurface const &copy);

Description:

setCv
void EggNurbsSurface::set_cv(int ui, int vi, EggVertex *vertex);

Description: Redefines the control vertex associated with a particular u, v coordinate pair. This is just a shorthand to access the EggPrimitive's normal vertex assignment for a 2-d control vertex.

setNumUKnots
void EggNurbsSurface::set_num_u_knots(int num);

Description: Directly changes the number of knots in the U direction. This will either add zero-valued knots onto the end, or truncate knot values from the end, depending on whether the list is being increased or decreased. If possible, it is preferable to use the setup() method instead of directly setting the number of knots, as this may result in an invalid surface.

setNumVKnots
void EggNurbsSurface::set_num_v_knots(int num);

Description: Directly changes the number of knots in the V direction. This will either add zero-valued knots onto the end, or truncate knot values from the end, depending on whether the list is being increased or decreased. If possible, it is preferable to use the setup() method instead of directly setting the number of knots, as this may result in an invalid surface.

setUKnot
void EggNurbsSurface::set_u_knot(int k, double value);

Description: Resets the value of the indicated knot as indicated. k must be in the range 0 <= k < get_num_u_knots(), and the value must be in the range get_u_knot(k - 1) <= value <= get_u_knot(k + 1).

setUOrder
void EggNurbsSurface::set_u_order(int u_order);

Description: Directly changes the order in the U direction to the indicated value (which must be an integer in the range 1 <= u_order <= 4). If possible, it is preferable to use the setup() method instead of this method, since changing the order directly may result in an invalid surface.

setup
void EggNurbsSurface::setup(int u_order, int v_order, int num_u_knots, int num_v_knots);

Description: Prepares a new surface definition with the indicated order and number of knots in each dimension. This also implies a particular number of vertices in each dimension as well (the number of knots minus the order), but it is up to the user to add the correct number of vertices to the surface by repeatedly calling push_back().

setVKnot
void EggNurbsSurface::set_v_knot(int k, double value);

Description: Resets the value of the indicated knot as indicated. k must be in the range 0 <= k < get_num_v_knots(), and the value must be in the range get_v_knot(k - 1) <= value <= get_v_knot(k + 1).

setVOrder
void EggNurbsSurface::set_v_order(int v_order);

Description: Directly changes the order in the V direction to the indicated value (which must be an integer in the range 1 <= v_order <= 4). If possible, it is preferable to use the setup() method instead of this method, since changing the order directly may result in an invalid surface.

getClassType
static TypeHandle EggSurface::get_class_type(void);

Undocumented function.

getUSubdiv
int EggSurface::get_u_subdiv(void) const;

Description: Returns the requested number of subdivisions in the U direction, or 0 if no particular subdivisions have been requested.

getVSubdiv
int EggSurface::get_v_subdiv(void) const;

Description: Returns the requested number of subdivisions in the U direction, or 0 if no particular subdivisions have been requested.

operator =
EggSurface &EggSurface::operator =(EggSurface const &copy);

Description:

setUSubdiv
void EggSurface::set_u_subdiv(int subdiv);

Description: Sets the number of subdivisions in the U direction that will be requested across the surface. (This doesn't necessary guarantee that this number of subdivisions will be made; it's just a hint to any surface renderer or quick tesselator.) Set the number to 0 to disable the hint.

setVSubdiv
void EggSurface::set_v_subdiv(int subdiv);

Description: Sets the number of subdivisions in the U direction that will be requested across the surface. (This doesn't necessary guarantee that this number of subdivisions will be made; it's just a hint to any surface renderer or quick tesselator.) Set the number to 0 to disable the hint.

addTexture
void EggPrimitive::add_texture(EggTexture *texture);

Description: Applies the indicated texture to the primitive.
Note that, in the case of multiple textures being applied to a single primitive, the order in which the textures are applied does not affect the rendering order; use EggTexture::set_sort() to specify that.

addVertex
EggVertex *EggPrimitive::add_vertex(EggVertex *vertex);

Description: Adds the indicated vertex to the end of the primitive's list of vertices, and returns it.

applyFirstAttribute
virtual void EggPrimitive::apply_first_attribute(void);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

applyLastAttribute
virtual void EggPrimitive::apply_last_attribute(void);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

cleanup
virtual bool EggPrimitive::cleanup(void);

Description: Cleans up modeling errors in whatever context this makes sense. For instance, for a polygon, this calls remove_doubled_verts(true). For a point, it calls remove_nonunique_verts(). Returns true if the primitive is valid, or false if it is degenerate.

clear
void EggPrimitive::clear(void);

Description: Removes all of the vertices from the primitive.

clearConnectedShading
void EggPrimitive::clear_connected_shading(void);

Description: Resets the connected_shading member in this primitive, so that get_connected_shading() will recompute a new value.

clearMaterial
void EggPrimitive::clear_material(void);

Description: Removes any material from the primitive.

clearTexture
void EggPrimitive::clear_texture(void);

Description: Removes any texturing from the primitive.

copyAttributes
void EggPrimitive::copy_attributes(EggAttributes const &other);

Description: Copies the rendering attributes from the indicated primitive.

copyVertices
void EggPrimitive::copy_vertices(EggPrimitive const &other);

Description: Replaces the current primitive's list of vertices with a copy of the list of vertices on the other primitive.

determineAlphaMode
virtual EggRenderMode *EggPrimitive::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggPrimitive::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthTestMode
virtual EggRenderMode *EggPrimitive::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggPrimitive::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggPrimitive::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineVisibilityMode
virtual EggRenderMode *EggPrimitive::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBfaceFlag
bool EggPrimitive::get_bface_flag(void) const;

Description: Retrieves the backfacing flag of the polygon. See set_bface_flag().

getClassType
static TypeHandle EggPrimitive::get_class_type(void);

Undocumented function.

getConnectedShading
EggPrimitive::Shading EggPrimitive::get_connected_shading(void) const;

Description: Determines what sort of shading properties this primitive's connected neighbors have.
To get the most accurate results, you should first call clear_connected_shading() on all connected primitives (or on all primitives in the egg file). It might also be a good idea to call remove_unused_vertices() to ensure proper connectivity.
You may find it easiest to call these other methods on the EggData root node (they are defined on EggGroupNode).

getMaterial
EggMaterial *EggPrimitive::get_material(void) const;

Description: Returns a pointer to the applied material, or NULL if there is no material applied.

getNumTextures
int EggPrimitive::get_num_textures(void) const;

Description: Returns the number of textures applied to the primitive.

getNumVertices
int EggPrimitive::get_num_vertices(void) const;

These are shorthands if you don't want to use the iterators.
Description:

getPool
EggVertexPool *EggPrimitive::get_pool(void) const;

Description: Returns the vertex pool associated with the vertices of the primitive, or NULL if the primitive has no vertices.

getShading
virtual EggPrimitive::Shading EggPrimitive::get_shading(void) const;

Description: Returns the shading properties apparent on this particular primitive. This returns S_per_vertex if the vertices have colors or normals (and they are not all the same values), or for a simple primitive, S_overall otherwise. A composite primitive may also return S_per_face if the individual component primitives have colors or normals that are not all the same values.
To get the most accurate results, you should call clear_shading() on all connected primitives (or on all primitives in the egg file), followed by get_shading() on each primitive. You may find it easiest to call these methods on the EggData root node (they are defined on EggGroupNode).

getSortName
string EggPrimitive::get_sort_name(void) const;

Description: Returns the name of the primitive for the purposes of sorting primitives into different groups, if there is one.
Presently, this is defined as the primitive name itself, unless it begins with a digit.

getTexture
EggTexture *EggPrimitive::get_texture(void) const;

Description: Returns the first texture on the primitive, if any, or NULL if there are no textures on the primitive.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns the nth texture that has been applied to the primitive.

getVertex
EggVertex *EggPrimitive::get_vertex(int index) const;

Description: Returns a particular index based on its index number.

hasMaterial
bool EggPrimitive::has_material(void) const;

Description: Returns true if the primitive is materiald (and get_material() will return a real pointer), false otherwise (and get_material() will return NULL).

hasNormals
virtual bool EggPrimitive::has_normals(void) const;

Description: Returns true if any of the primitives (e.g. polygons) defined within this group or below have either face or vertex normals defined, false otherwise.

hasPrimitives
virtual bool EggPrimitive::has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, false otherwise.

hasTexture
bool EggPrimitive::has_texture(void) const;

Description: Returns true if the primitive has any textures specified, false otherwise.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns true if the primitive has the particular indicated texture, false otherwise.

hasVertexColor
bool EggPrimitive::has_vertex_color(void) const;

Description: Returns true if any vertex on the primitive has a specific color set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

hasVertexNormal
bool EggPrimitive::has_vertex_normal(void) const;

Description: Returns true if any vertex on the primitive has a specific normal set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

jointHasPrimitives
virtual bool EggPrimitive::joint_has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, but the search does not include nested joints.

operator =
EggPrimitive &EggPrimitive::operator =(EggPrimitive const &copy);

Description:

postApplyFlatAttribute
virtual void EggPrimitive::post_apply_flat_attribute(void);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

removeDoubledVerts
void EggPrimitive::remove_doubled_verts(bool closed);

Description: Certain kinds of primitives, particularly polygons, don't like to have the same vertex repeated consecutively. Unfortunately, some modeling programs (like MultiGen) make this an easy mistake to make.
It's handy to have a function to remove these redundant vertices. If closed is true, it also checks that the first and last vertices are not the same.
This function identifies repeated vertices by position only; it does not consider any other properties, such as color or UV, significant in differentiating vertices.

removeNonuniqueVerts
void EggPrimitive::remove_nonunique_verts(void);

Description: Removes any multiple appearances of the same vertex from the primitive. This primarily makes sense for a point primitive, which is really a collection of points and which doesn't make sense to include the same point twice, in any order.

removeVertex
EggVertex *EggPrimitive::remove_vertex(EggVertex *vertex);

Description: Removes the indicated vertex from the primitive and returns it. If the vertex was not already in the primitive, does nothing and returns NULL.

reverseVertexOrdering
virtual void EggPrimitive::reverse_vertex_ordering(void);

Description: Reverses the ordering of the vertices in this primitive, if appropriate, in order to change the direction the polygon appears to be facing. Does not adjust the surface normal, if any.

setBfaceFlag
void EggPrimitive::set_bface_flag(bool flag);

Description: Sets the backfacing flag of the polygon. If this is true, the polygon will be rendered so that both faces are visible; if it is false, only the front face of the polygon will be visible.

setMaterial
void EggPrimitive::set_material(EggMaterial *material);

Description: Applies the indicated material to the primitive.

setTexture
void EggPrimitive::set_texture(EggTexture *texture);

Description: Replaces the current list of textures with the indicated texture.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.q

setVertex
void EggPrimitive::set_vertex(int index, EggVertex *vertex);

These are shorthands if you don't want to use the iterators.
Description: Replaces a particular vertex based on its index number in the list of vertices. This is just a convenience function for people who don't want to mess with the iterators.

testVrefIntegrity
void EggPrimitive::test_vref_integrity(void) const;

Description: Verifies that each vertex in the primitive exists and that it knows it is referenced by the primitive.

unifyAttributes
virtual void EggPrimitive::unify_attributes(EggPrimitive::Shading shading);

Description: If the shading property is S_per_vertex, ensures that all vertices have a normal and a color, and the overall primitive does not.
If the shading property is S_per_face, and this is a composite primitive, ensures that all components have a normal and a color, and the vertices and overall primitive do not. (If this is a simple primitive, S_per_face works the same as S_overall, below).
If the shading property is S_overall, ensures that no vertices or components have a normal or a color, and the overall primitive does (if any exists at all).
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
This may create redundant vertices in the vertex pool.

write
virtual void EggPrimitive::write(ostream &out, int indent_level) const = 0;

Undocumented function.

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggObject

    from pandac.PandaModules import EggObject
    Class : EggObject
    Description : The highest-level base class in the egg directory. (Almost) all things egg inherit from this.

Inheritance:

    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EggPoint

    from pandac.PandaModules import EggPoint
    Class : EggPoint
    Description : A single point, or a collection of points as defined by a single <PointLight> entry.

Inheritance:

    EggPoint: EggPrimitive
    EggPrimitive: EggNode EggAttributes EggRenderMode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggAttributes:
    EggRenderMode:

Methods of EggPoint:

    EggPoint (Constructor)
    clearPerspective
    clearThick
    getClassType
    getPerspective
    getThick
    hasPerspective
    hasThick
    operator =
    setPerspective
    setThick

Methods of EggPrimitive:

    addTexture
    addVertex
    applyFirstAttribute
    applyLastAttribute
    cleanup
    clear
    clearConnectedShading
    clearMaterial
    clearTexture
    copyAttributes
    copyVertices
    determineAlphaMode
    determineBin
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineVisibilityMode
    getBfaceFlag
    getClassType
    getConnectedShading
    getMaterial
    getNumTextures
    getNumVertices
    getPool
    getShading
    getSortName
    getTexture
    getVertex
    hasMaterial
    hasNormals
    hasPrimitives
    hasTexture
    hasVertexColor
    hasVertexNormal
    jointHasPrimitives
    operator =
    postApplyFlatAttribute
    removeDoubledVerts
    removeNonuniqueVerts
    removeVertex
    reverseVertexOrdering
    setBfaceFlag
    setMaterial
    setTexture
    setVertex
    testVrefIntegrity
    unifyAttributes
    write

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Constants in EggPrimitive:

    SUnknown | (Shading)
SOverall | (Shading)
SPerFace | (Shading)
SPerVertex | (Shading)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)
EggPoint
EggPoint::EggPoint(string const &name = (""));

Description:

clearPerspective
void EggPoint::clear_perspective(void);

Description:

clearThick
void EggPoint::clear_thick(void);

Description:

getClassType
static TypeHandle EggPoint::get_class_type(void);

Undocumented function.

getPerspective
bool EggPoint::get_perspective(void) const;

Description: Returns the perspective flag set on this particular point. If there is no perspective flag set, returns false.

getThick
double EggPoint::get_thick(void) const;

Description: Returns the thickness set on this particular point. If there is no thickness set, returns 1.0.

hasPerspective
bool EggPoint::has_perspective(void) const;

Description:

hasThick
bool EggPoint::has_thick(void) const;

Description:

operator =
EggPoint &EggPoint::operator =(EggPoint const &copy);

Description:

setPerspective
void EggPoint::set_perspective(bool perspective);

Description:

setThick
void EggPoint::set_thick(double thick);

Description:

addTexture
void EggPrimitive::add_texture(EggTexture *texture);

Description: Applies the indicated texture to the primitive.
Note that, in the case of multiple textures being applied to a single primitive, the order in which the textures are applied does not affect the rendering order; use EggTexture::set_sort() to specify that.

addVertex
EggVertex *EggPrimitive::add_vertex(EggVertex *vertex);

Description: Adds the indicated vertex to the end of the primitive's list of vertices, and returns it.

applyFirstAttribute
virtual void EggPrimitive::apply_first_attribute(void);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

applyLastAttribute
virtual void EggPrimitive::apply_last_attribute(void);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

cleanup
virtual bool EggPrimitive::cleanup(void);

Description: Cleans up modeling errors in whatever context this makes sense. For instance, for a polygon, this calls remove_doubled_verts(true). For a point, it calls remove_nonunique_verts(). Returns true if the primitive is valid, or false if it is degenerate.

clear
void EggPrimitive::clear(void);

Description: Removes all of the vertices from the primitive.

clearConnectedShading
void EggPrimitive::clear_connected_shading(void);

Description: Resets the connected_shading member in this primitive, so that get_connected_shading() will recompute a new value.

clearMaterial
void EggPrimitive::clear_material(void);

Description: Removes any material from the primitive.

clearTexture
void EggPrimitive::clear_texture(void);

Description: Removes any texturing from the primitive.

copyAttributes
void EggPrimitive::copy_attributes(EggAttributes const &other);

Description: Copies the rendering attributes from the indicated primitive.

copyVertices
void EggPrimitive::copy_vertices(EggPrimitive const &other);

Description: Replaces the current primitive's list of vertices with a copy of the list of vertices on the other primitive.

determineAlphaMode
virtual EggRenderMode *EggPrimitive::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggPrimitive::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthTestMode
virtual EggRenderMode *EggPrimitive::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggPrimitive::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggPrimitive::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineVisibilityMode
virtual EggRenderMode *EggPrimitive::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBfaceFlag
bool EggPrimitive::get_bface_flag(void) const;

Description: Retrieves the backfacing flag of the polygon. See set_bface_flag().

getClassType
static TypeHandle EggPrimitive::get_class_type(void);

Undocumented function.

getConnectedShading
EggPrimitive::Shading EggPrimitive::get_connected_shading(void) const;

Description: Determines what sort of shading properties this primitive's connected neighbors have.
To get the most accurate results, you should first call clear_connected_shading() on all connected primitives (or on all primitives in the egg file). It might also be a good idea to call remove_unused_vertices() to ensure proper connectivity.
You may find it easiest to call these other methods on the EggData root node (they are defined on EggGroupNode).

getMaterial
EggMaterial *EggPrimitive::get_material(void) const;

Description: Returns a pointer to the applied material, or NULL if there is no material applied.

getNumTextures
int EggPrimitive::get_num_textures(void) const;

Description: Returns the number of textures applied to the primitive.

getNumVertices
int EggPrimitive::get_num_vertices(void) const;

These are shorthands if you don't want to use the iterators.
Description:

getPool
EggVertexPool *EggPrimitive::get_pool(void) const;

Description: Returns the vertex pool associated with the vertices of the primitive, or NULL if the primitive has no vertices.

getShading
virtual EggPrimitive::Shading EggPrimitive::get_shading(void) const;

Description: Returns the shading properties apparent on this particular primitive. This returns S_per_vertex if the vertices have colors or normals (and they are not all the same values), or for a simple primitive, S_overall otherwise. A composite primitive may also return S_per_face if the individual component primitives have colors or normals that are not all the same values.
To get the most accurate results, you should call clear_shading() on all connected primitives (or on all primitives in the egg file), followed by get_shading() on each primitive. You may find it easiest to call these methods on the EggData root node (they are defined on EggGroupNode).

getSortName
string EggPrimitive::get_sort_name(void) const;

Description: Returns the name of the primitive for the purposes of sorting primitives into different groups, if there is one.
Presently, this is defined as the primitive name itself, unless it begins with a digit.

getTexture
EggTexture *EggPrimitive::get_texture(void) const;

Description: Returns the first texture on the primitive, if any, or NULL if there are no textures on the primitive.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns the nth texture that has been applied to the primitive.

getVertex
EggVertex *EggPrimitive::get_vertex(int index) const;

Description: Returns a particular index based on its index number.

hasMaterial
bool EggPrimitive::has_material(void) const;

Description: Returns true if the primitive is materiald (and get_material() will return a real pointer), false otherwise (and get_material() will return NULL).

hasNormals
virtual bool EggPrimitive::has_normals(void) const;

Description: Returns true if any of the primitives (e.g. polygons) defined within this group or below have either face or vertex normals defined, false otherwise.

hasPrimitives
virtual bool EggPrimitive::has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, false otherwise.

hasTexture
bool EggPrimitive::has_texture(void) const;

Description: Returns true if the primitive has any textures specified, false otherwise.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns true if the primitive has the particular indicated texture, false otherwise.

hasVertexColor
bool EggPrimitive::has_vertex_color(void) const;

Description: Returns true if any vertex on the primitive has a specific color set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

hasVertexNormal
bool EggPrimitive::has_vertex_normal(void) const;

Description: Returns true if any vertex on the primitive has a specific normal set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

jointHasPrimitives
virtual bool EggPrimitive::joint_has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, but the search does not include nested joints.

operator =
EggPrimitive &EggPrimitive::operator =(EggPrimitive const &copy);

Description:

postApplyFlatAttribute
virtual void EggPrimitive::post_apply_flat_attribute(void);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

removeDoubledVerts
void EggPrimitive::remove_doubled_verts(bool closed);

Description: Certain kinds of primitives, particularly polygons, don't like to have the same vertex repeated consecutively. Unfortunately, some modeling programs (like MultiGen) make this an easy mistake to make.
It's handy to have a function to remove these redundant vertices. If closed is true, it also checks that the first and last vertices are not the same.
This function identifies repeated vertices by position only; it does not consider any other properties, such as color or UV, significant in differentiating vertices.

removeNonuniqueVerts
void EggPrimitive::remove_nonunique_verts(void);

Description: Removes any multiple appearances of the same vertex from the primitive. This primarily makes sense for a point primitive, which is really a collection of points and which doesn't make sense to include the same point twice, in any order.

removeVertex
EggVertex *EggPrimitive::remove_vertex(EggVertex *vertex);

Description: Removes the indicated vertex from the primitive and returns it. If the vertex was not already in the primitive, does nothing and returns NULL.

reverseVertexOrdering
virtual void EggPrimitive::reverse_vertex_ordering(void);

Description: Reverses the ordering of the vertices in this primitive, if appropriate, in order to change the direction the polygon appears to be facing. Does not adjust the surface normal, if any.

setBfaceFlag
void EggPrimitive::set_bface_flag(bool flag);

Description: Sets the backfacing flag of the polygon. If this is true, the polygon will be rendered so that both faces are visible; if it is false, only the front face of the polygon will be visible.

setMaterial
void EggPrimitive::set_material(EggMaterial *material);

Description: Applies the indicated material to the primitive.

setTexture
void EggPrimitive::set_texture(EggTexture *texture);

Description: Replaces the current list of textures with the indicated texture.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.q

setVertex
void EggPrimitive::set_vertex(int index, EggVertex *vertex);

These are shorthands if you don't want to use the iterators.
Description: Replaces a particular vertex based on its index number in the list of vertices. This is just a convenience function for people who don't want to mess with the iterators.

testVrefIntegrity
void EggPrimitive::test_vref_integrity(void) const;

Description: Verifies that each vertex in the primitive exists and that it knows it is referenced by the primitive.

unifyAttributes
virtual void EggPrimitive::unify_attributes(EggPrimitive::Shading shading);

Description: If the shading property is S_per_vertex, ensures that all vertices have a normal and a color, and the overall primitive does not.
If the shading property is S_per_face, and this is a composite primitive, ensures that all components have a normal and a color, and the vertices and overall primitive do not. (If this is a simple primitive, S_per_face works the same as S_overall, below).
If the shading property is S_overall, ensures that no vertices or components have a normal or a color, and the overall primitive does (if any exists at all).
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
This may create redundant vertices in the vertex pool.

write
virtual void EggPrimitive::write(ostream &out, int indent_level) const = 0;

Undocumented function.

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggPolygon

    from pandac.PandaModules import EggPolygon
    Class : EggPolygon
    Description : A single polygon.

Inheritance:

    EggPolygon: EggPrimitive
    EggPrimitive: EggNode EggAttributes EggRenderMode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggAttributes:
    EggRenderMode:

Methods of EggPolygon:

    EggPolygon (Constructor)
    calculateNormal
    getClassType
    isPlanar
    operator =
    recomputePolygonNormal
    triangulateInPlace
    triangulateInto

Methods of EggPrimitive:

    addTexture
    addVertex
    applyFirstAttribute
    applyLastAttribute
    cleanup
    clear
    clearConnectedShading
    clearMaterial
    clearTexture
    copyAttributes
    copyVertices
    determineAlphaMode
    determineBin
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineVisibilityMode
    getBfaceFlag
    getClassType
    getConnectedShading
    getMaterial
    getNumTextures
    getNumVertices
    getPool
    getShading
    getSortName
    getTexture
    getVertex
    hasMaterial
    hasNormals
    hasPrimitives
    hasTexture
    hasVertexColor
    hasVertexNormal
    jointHasPrimitives
    operator =
    postApplyFlatAttribute
    removeDoubledVerts
    removeNonuniqueVerts
    removeVertex
    reverseVertexOrdering
    setBfaceFlag
    setMaterial
    setTexture
    setVertex
    testVrefIntegrity
    unifyAttributes
    write

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Constants in EggPrimitive:

    SUnknown | (Shading)
SOverall | (Shading)
SPerFace | (Shading)
SPerVertex | (Shading)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)
EggPolygon
EggPolygon::EggPolygon(string const &name = (""));

Description:

calculateNormal
bool EggPolygon::calculate_normal(LVector3d &result, CoordinateSystem cs = (CS_default)) const;

Description: Calculates the true polygon normal--the vector pointing out of the front of the polygon--based on the vertices. This does not return or change the polygon's normal as set via set_normal().
The return value is true if the normal is computed correctly, or false if the polygon is degenerate and does not have at least three noncollinear vertices.

getClassType
static TypeHandle EggPolygon::get_class_type(void);

Undocumented function.

isPlanar
bool EggPolygon::is_planar(void) const;

Description: Returns true if all of the polygon's vertices lie within the same plane, false otherwise.

operator =
EggPolygon &EggPolygon::operator =(EggPolygon const &copy);

Description:

recomputePolygonNormal
bool EggPolygon::recompute_polygon_normal(CoordinateSystem cs = (CS_default));

Description: Recalculates the normal according to the order of the vertices, and sets it. Returns true if the normal is computed correctly, or false if the polygon is degenerate and does not have a normal.

triangulateInPlace
PointerTo< EggPolygon > EggPolygon::triangulate_in_place(bool convex_also);

Description: Subdivides the polygon into triangles and adds those triangles to the parent group node in place of the original polygon. Returns a pointer to the original polygon, which is likely about to be destructed.
If convex_also is true, both concave and convex polygons will be subdivided into triangles; otherwise, only concave polygons will be subdivided, and convex polygons will be copied unchanged into the container.

triangulateInto
bool EggPolygon::triangulate_into(EggGroupNode *container, bool convex_also) const;

Description: Subdivides the polygon into triangles and adds each one to the indicated container. If the polygon is already a triangle, adds an exact copy of the polygon to the container. Does not remove the polygon from its existing parent or modify it in any way.
Returns true if the triangulation is successful, or false if there was some error (in which case the container may contain some partial triangulation).
If convex_also is true, both concave and convex polygons will be subdivided into triangles; otherwise, only concave polygons will be subdivided, and convex polygons will be copied unchanged into the container.

addTexture
void EggPrimitive::add_texture(EggTexture *texture);

Description: Applies the indicated texture to the primitive.
Note that, in the case of multiple textures being applied to a single primitive, the order in which the textures are applied does not affect the rendering order; use EggTexture::set_sort() to specify that.

addVertex
EggVertex *EggPrimitive::add_vertex(EggVertex *vertex);

Description: Adds the indicated vertex to the end of the primitive's list of vertices, and returns it.

applyFirstAttribute
virtual void EggPrimitive::apply_first_attribute(void);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

applyLastAttribute
virtual void EggPrimitive::apply_last_attribute(void);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

cleanup
virtual bool EggPrimitive::cleanup(void);

Description: Cleans up modeling errors in whatever context this makes sense. For instance, for a polygon, this calls remove_doubled_verts(true). For a point, it calls remove_nonunique_verts(). Returns true if the primitive is valid, or false if it is degenerate.

clear
void EggPrimitive::clear(void);

Description: Removes all of the vertices from the primitive.

clearConnectedShading
void EggPrimitive::clear_connected_shading(void);

Description: Resets the connected_shading member in this primitive, so that get_connected_shading() will recompute a new value.

clearMaterial
void EggPrimitive::clear_material(void);

Description: Removes any material from the primitive.

clearTexture
void EggPrimitive::clear_texture(void);

Description: Removes any texturing from the primitive.

copyAttributes
void EggPrimitive::copy_attributes(EggAttributes const &other);

Description: Copies the rendering attributes from the indicated primitive.

copyVertices
void EggPrimitive::copy_vertices(EggPrimitive const &other);

Description: Replaces the current primitive's list of vertices with a copy of the list of vertices on the other primitive.

determineAlphaMode
virtual EggRenderMode *EggPrimitive::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggPrimitive::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthTestMode
virtual EggRenderMode *EggPrimitive::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggPrimitive::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggPrimitive::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineVisibilityMode
virtual EggRenderMode *EggPrimitive::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBfaceFlag
bool EggPrimitive::get_bface_flag(void) const;

Description: Retrieves the backfacing flag of the polygon. See set_bface_flag().

getClassType
static TypeHandle EggPrimitive::get_class_type(void);

Undocumented function.

getConnectedShading
EggPrimitive::Shading EggPrimitive::get_connected_shading(void) const;

Description: Determines what sort of shading properties this primitive's connected neighbors have.
To get the most accurate results, you should first call clear_connected_shading() on all connected primitives (or on all primitives in the egg file). It might also be a good idea to call remove_unused_vertices() to ensure proper connectivity.
You may find it easiest to call these other methods on the EggData root node (they are defined on EggGroupNode).

getMaterial
EggMaterial *EggPrimitive::get_material(void) const;

Description: Returns a pointer to the applied material, or NULL if there is no material applied.

getNumTextures
int EggPrimitive::get_num_textures(void) const;

Description: Returns the number of textures applied to the primitive.

getNumVertices
int EggPrimitive::get_num_vertices(void) const;

These are shorthands if you don't want to use the iterators.
Description:

getPool
EggVertexPool *EggPrimitive::get_pool(void) const;

Description: Returns the vertex pool associated with the vertices of the primitive, or NULL if the primitive has no vertices.

getShading
virtual EggPrimitive::Shading EggPrimitive::get_shading(void) const;

Description: Returns the shading properties apparent on this particular primitive. This returns S_per_vertex if the vertices have colors or normals (and they are not all the same values), or for a simple primitive, S_overall otherwise. A composite primitive may also return S_per_face if the individual component primitives have colors or normals that are not all the same values.
To get the most accurate results, you should call clear_shading() on all connected primitives (or on all primitives in the egg file), followed by get_shading() on each primitive. You may find it easiest to call these methods on the EggData root node (they are defined on EggGroupNode).

getSortName
string EggPrimitive::get_sort_name(void) const;

Description: Returns the name of the primitive for the purposes of sorting primitives into different groups, if there is one.
Presently, this is defined as the primitive name itself, unless it begins with a digit.

getTexture
EggTexture *EggPrimitive::get_texture(void) const;

Description: Returns the first texture on the primitive, if any, or NULL if there are no textures on the primitive.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns the nth texture that has been applied to the primitive.

getVertex
EggVertex *EggPrimitive::get_vertex(int index) const;

Description: Returns a particular index based on its index number.

hasMaterial
bool EggPrimitive::has_material(void) const;

Description: Returns true if the primitive is materiald (and get_material() will return a real pointer), false otherwise (and get_material() will return NULL).

hasNormals
virtual bool EggPrimitive::has_normals(void) const;

Description: Returns true if any of the primitives (e.g. polygons) defined within this group or below have either face or vertex normals defined, false otherwise.

hasPrimitives
virtual bool EggPrimitive::has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, false otherwise.

hasTexture
bool EggPrimitive::has_texture(void) const;

Description: Returns true if the primitive has any textures specified, false otherwise.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns true if the primitive has the particular indicated texture, false otherwise.

hasVertexColor
bool EggPrimitive::has_vertex_color(void) const;

Description: Returns true if any vertex on the primitive has a specific color set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

hasVertexNormal
bool EggPrimitive::has_vertex_normal(void) const;

Description: Returns true if any vertex on the primitive has a specific normal set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

jointHasPrimitives
virtual bool EggPrimitive::joint_has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, but the search does not include nested joints.

operator =
EggPrimitive &EggPrimitive::operator =(EggPrimitive const &copy);

Description:

postApplyFlatAttribute
virtual void EggPrimitive::post_apply_flat_attribute(void);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

removeDoubledVerts
void EggPrimitive::remove_doubled_verts(bool closed);

Description: Certain kinds of primitives, particularly polygons, don't like to have the same vertex repeated consecutively. Unfortunately, some modeling programs (like MultiGen) make this an easy mistake to make.
It's handy to have a function to remove these redundant vertices. If closed is true, it also checks that the first and last vertices are not the same.
This function identifies repeated vertices by position only; it does not consider any other properties, such as color or UV, significant in differentiating vertices.

removeNonuniqueVerts
void EggPrimitive::remove_nonunique_verts(void);

Description: Removes any multiple appearances of the same vertex from the primitive. This primarily makes sense for a point primitive, which is really a collection of points and which doesn't make sense to include the same point twice, in any order.

removeVertex
EggVertex *EggPrimitive::remove_vertex(EggVertex *vertex);

Description: Removes the indicated vertex from the primitive and returns it. If the vertex was not already in the primitive, does nothing and returns NULL.

reverseVertexOrdering
virtual void EggPrimitive::reverse_vertex_ordering(void);

Description: Reverses the ordering of the vertices in this primitive, if appropriate, in order to change the direction the polygon appears to be facing. Does not adjust the surface normal, if any.

setBfaceFlag
void EggPrimitive::set_bface_flag(bool flag);

Description: Sets the backfacing flag of the polygon. If this is true, the polygon will be rendered so that both faces are visible; if it is false, only the front face of the polygon will be visible.

setMaterial
void EggPrimitive::set_material(EggMaterial *material);

Description: Applies the indicated material to the primitive.

setTexture
void EggPrimitive::set_texture(EggTexture *texture);

Description: Replaces the current list of textures with the indicated texture.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.q

setVertex
void EggPrimitive::set_vertex(int index, EggVertex *vertex);

These are shorthands if you don't want to use the iterators.
Description: Replaces a particular vertex based on its index number in the list of vertices. This is just a convenience function for people who don't want to mess with the iterators.

testVrefIntegrity
void EggPrimitive::test_vref_integrity(void) const;

Description: Verifies that each vertex in the primitive exists and that it knows it is referenced by the primitive.

unifyAttributes
virtual void EggPrimitive::unify_attributes(EggPrimitive::Shading shading);

Description: If the shading property is S_per_vertex, ensures that all vertices have a normal and a color, and the overall primitive does not.
If the shading property is S_per_face, and this is a composite primitive, ensures that all components have a normal and a color, and the vertices and overall primitive do not. (If this is a simple primitive, S_per_face works the same as S_overall, below).
If the shading property is S_overall, ensures that no vertices or components have a normal or a color, and the overall primitive does (if any exists at all).
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
This may create redundant vertices in the vertex pool.

write
virtual void EggPrimitive::write(ostream &out, int indent_level) const = 0;

Undocumented function.

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggPolysetMaker

    from pandac.PandaModules import EggPolysetMaker
    Class : EggPolysetMaker
    Description : A specialization on EggBinMaker for making polysets that share the same basic rendering characteristic. This really just defines the example functions described in the leading comment to EggBinMaker.
    It makes some common assumptions about how polysets should be grouped; if these are not sufficient, you can always rederive your own further specialization of this class.

Inheritance:

    EggPolysetMaker: EggBinMaker
    EggBinMaker: EggObject
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EggPolysetMaker:

    EggPolysetMaker (Constructor)
    getClassType
    setProperties

Methods of EggBinMaker:

    collapseGroup
    getBinName
    getBinNumber
    getClassType
    makeBin
    makeBins
    prepareNode
    sortsLess

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in EggPolysetMaker:

    BNNone | (BinNumber)
BNPolyset | (BinNumber)
PHasTexture | (Properties)
PTexture | (Properties)
PHasMaterial | (Properties)
PMaterial | (Properties)
PHasPolyColor | (Properties)
PPolyColor | (Properties)
PHasPolyNormal | (Properties)
PHasVertexNormal | (Properties)
PHasVertexColor | (Properties)
PBface | (Properties)
EggPolysetMaker
EggPolysetMaker::EggPolysetMaker(void);

Description:

getClassType
static TypeHandle EggPolysetMaker::get_class_type(void);

Undocumented function.

setProperties
void EggPolysetMaker::set_properties(int properties);

Description: Sets the set of properties that determines which polygons are allowed to be grouped together into a single polyset. This is the bitwise 'or' of all the properties that matter. If this is 0, all polygons (within a given group) will be lumped into a common polyset regardless of their properties.

collapseGroup
virtual bool EggBinMaker::collapse_group(EggGroup const *group, int bin_number);

Description: May be overridden in derived classes to specify whether a particular group node, apparently redundant, may be safely collapsed out.

getBinName
virtual string EggBinMaker::get_bin_name(int bin_number, EggNode const *child);

Description: May be overridden in derived classes to define a name for each new bin, based on its bin number, and a sample child.

getBinNumber
virtual int EggBinMaker::get_bin_number(EggNode const *node) = 0;

Undocumented function.

getClassType
static TypeHandle EggBinMaker::get_class_type(void);

Undocumented function.

makeBin
virtual PointerTo< EggBin > EggBinMaker::make_bin(int bin_number, EggNode const *child, EggGroup *collapse_from);

Description: May be overridden in derived classes to construct a new EggBin object (or some derived class, if needed), and preload some initial data into as required.
child is an arbitrary child of the bin, and collapse_from is the group the bin is being collapsed with, if any (implying collapse_group() returned true), or NULL if not.

makeBins
int EggBinMaker::make_bins(EggGroupNode *root_group);

Description: The main entry point to EggBinMaker. Walks the egg scene graph beginning at the indicated root node, and moves all binnable nodes into EggBin objects. Returns the number of EggBins created.

prepareNode
virtual void EggBinMaker::prepare_node(EggNode *node);

Description: May be overridden in derived classes to perform some setup work as each node is encountered. This will be called once for each node in the egg hierarchy.

sortsLess
virtual bool EggBinMaker::sorts_less(int bin_number, EggNode const *a, EggNode const *b);

Description: May be overridden in derived classes to create additional bins within a particular bin number, based on some arbitrary property of nodes. This function establishes an arbitrary but fixed ordering between nodes; if two nodes do not sort to the same position, different bins are created for each one (with the same bin number on each bin).

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EggPoolUniquifier

    from pandac.PandaModules import EggPoolUniquifier
    Class : EggPoolUniquifier
    Description : This is a specialization of EggNameUniquifier to generate unique names for textures, materials, and vertex pools prior to writing out an egg file. It's automatically called by EggData prior to writing out an egg file.

Inheritance:

    EggPoolUniquifier: EggNameUniquifier
    EggNameUniquifier: EggObject
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EggPoolUniquifier:

    EggPoolUniquifier (Constructor)
    getClassType

Methods of EggNameUniquifier:

    addName
    clear
    filterName
    generateName
    getCategory
    getClassType
    getNode
    hasName
    uniquify

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
EggPoolUniquifier
EggPoolUniquifier::EggPoolUniquifier(void);

Description:

getClassType
static TypeHandle EggPoolUniquifier::get_class_type(void);

Undocumented function.

addName
bool EggNameUniquifier::add_name(string const &category, string const &name, EggNode *node = ((void *)(0)));

Description: Adds the name to the indicated category. This name will not be used for any other egg node within this category. Returns true if the name was added, or false if it was already in use for the category.

clear
void EggNameUniquifier::clear(void);

Description: Empties the table of used named and prepares the Uniquifier for a new tree.

filterName
virtual string EggNameUniquifier::filter_name(EggNode *node);

Description: Returns the name of the given node, or at least the name it should be. This provides a hook to adjust the name before attempting to uniquify it, if desired, for instance to remove invalid characters.

generateName
virtual string EggNameUniquifier::generate_name(EggNode *node, string const &category, int index);

Description: Generates a new name for the given node when its existing name clashes with some other node. This function will be called repeatedly, if necessary, until it returns a name that actually is unique.
The category is the string returned by get_category(), and index is a uniquely-generated number that may be useful for synthesizing the name.

getCategory
virtual string EggNameUniquifier::get_category(EggNode *node) = 0;

Undocumented function.

getClassType
static TypeHandle EggNameUniquifier::get_class_type(void);

Undocumented function.

getNode
EggNode *EggNameUniquifier::get_node(string const &category, string const &name) const;

Description: Returns the node associated with the given category and name, or NULL if the name has not been used.

hasName
bool EggNameUniquifier::has_name(string const &category, string const &name) const;

Description: Returns true if the name has been used for the indicated category already, false otherwise.

uniquify
void EggNameUniquifier::uniquify(EggNode *node);

Description: Begins the traversal from the indicated node.

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EggPrimitive

    from pandac.PandaModules import EggPrimitive
    Class : EggPrimitive
    Description : A base class for any of a number of kinds of geometry primitives: polygons, point lights, nurbs patches, parametrics curves, etc. Things with a set of vertices and some rendering properties like color.
    An EggPrimitive is an STL-style container of pointers to EggVertex's. In fact, it IS a vector, and can be manipulated in all the ways that vectors can. However, it is necessary that all vertices belong to the same vertex pool.

Inheritance:

    EggPrimitive: EggNode EggAttributes EggRenderMode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggAttributes:
    EggRenderMode:

Methods of EggPrimitive:

    addTexture
    addVertex
    applyFirstAttribute
    applyLastAttribute
    cleanup
    clear
    clearConnectedShading
    clearMaterial
    clearTexture
    copyAttributes
    copyVertices
    determineAlphaMode
    determineBin
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineVisibilityMode
    getBfaceFlag
    getClassType
    getConnectedShading
    getMaterial
    getNumTextures
    getNumVertices
    getPool
    getShading
    getSortName
    getTexture
    getVertex
    hasMaterial
    hasNormals
    hasPrimitives
    hasTexture
    hasVertexColor
    hasVertexNormal
    jointHasPrimitives
    operator =
    postApplyFlatAttribute
    removeDoubledVerts
    removeNonuniqueVerts
    removeVertex
    reverseVertexOrdering
    setBfaceFlag
    setMaterial
    setTexture
    setVertex
    testVrefIntegrity
    unifyAttributes
    write

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Constants in EggPrimitive:

    SUnknown | (Shading)
SOverall | (Shading)
SPerFace | (Shading)
SPerVertex | (Shading)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)
addTexture
void EggPrimitive::add_texture(EggTexture *texture);

Description: Applies the indicated texture to the primitive.
Note that, in the case of multiple textures being applied to a single primitive, the order in which the textures are applied does not affect the rendering order; use EggTexture::set_sort() to specify that.

addVertex
EggVertex *EggPrimitive::add_vertex(EggVertex *vertex);

Description: Adds the indicated vertex to the end of the primitive's list of vertices, and returns it.

applyFirstAttribute
virtual void EggPrimitive::apply_first_attribute(void);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

applyLastAttribute
virtual void EggPrimitive::apply_last_attribute(void);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

cleanup
virtual bool EggPrimitive::cleanup(void);

Description: Cleans up modeling errors in whatever context this makes sense. For instance, for a polygon, this calls remove_doubled_verts(true). For a point, it calls remove_nonunique_verts(). Returns true if the primitive is valid, or false if it is degenerate.

clear
void EggPrimitive::clear(void);

Description: Removes all of the vertices from the primitive.

clearConnectedShading
void EggPrimitive::clear_connected_shading(void);

Description: Resets the connected_shading member in this primitive, so that get_connected_shading() will recompute a new value.

clearMaterial
void EggPrimitive::clear_material(void);

Description: Removes any material from the primitive.

clearTexture
void EggPrimitive::clear_texture(void);

Description: Removes any texturing from the primitive.

copyAttributes
void EggPrimitive::copy_attributes(EggAttributes const &other);

Description: Copies the rendering attributes from the indicated primitive.

copyVertices
void EggPrimitive::copy_vertices(EggPrimitive const &other);

Description: Replaces the current primitive's list of vertices with a copy of the list of vertices on the other primitive.

determineAlphaMode
virtual EggRenderMode *EggPrimitive::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggPrimitive::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthTestMode
virtual EggRenderMode *EggPrimitive::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggPrimitive::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggPrimitive::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineVisibilityMode
virtual EggRenderMode *EggPrimitive::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBfaceFlag
bool EggPrimitive::get_bface_flag(void) const;

Description: Retrieves the backfacing flag of the polygon. See set_bface_flag().

getClassType
static TypeHandle EggPrimitive::get_class_type(void);

Undocumented function.

getConnectedShading
EggPrimitive::Shading EggPrimitive::get_connected_shading(void) const;

Description: Determines what sort of shading properties this primitive's connected neighbors have.
To get the most accurate results, you should first call clear_connected_shading() on all connected primitives (or on all primitives in the egg file). It might also be a good idea to call remove_unused_vertices() to ensure proper connectivity.
You may find it easiest to call these other methods on the EggData root node (they are defined on EggGroupNode).

getMaterial
EggMaterial *EggPrimitive::get_material(void) const;

Description: Returns a pointer to the applied material, or NULL if there is no material applied.

getNumTextures
int EggPrimitive::get_num_textures(void) const;

Description: Returns the number of textures applied to the primitive.

getNumVertices
int EggPrimitive::get_num_vertices(void) const;

These are shorthands if you don't want to use the iterators.
Description:

getPool
EggVertexPool *EggPrimitive::get_pool(void) const;

Description: Returns the vertex pool associated with the vertices of the primitive, or NULL if the primitive has no vertices.

getShading
virtual EggPrimitive::Shading EggPrimitive::get_shading(void) const;

Description: Returns the shading properties apparent on this particular primitive. This returns S_per_vertex if the vertices have colors or normals (and they are not all the same values), or for a simple primitive, S_overall otherwise. A composite primitive may also return S_per_face if the individual component primitives have colors or normals that are not all the same values.
To get the most accurate results, you should call clear_shading() on all connected primitives (or on all primitives in the egg file), followed by get_shading() on each primitive. You may find it easiest to call these methods on the EggData root node (they are defined on EggGroupNode).

getSortName
string EggPrimitive::get_sort_name(void) const;

Description: Returns the name of the primitive for the purposes of sorting primitives into different groups, if there is one.
Presently, this is defined as the primitive name itself, unless it begins with a digit.

getTexture
EggTexture *EggPrimitive::get_texture(void) const;

Description: Returns the first texture on the primitive, if any, or NULL if there are no textures on the primitive.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns the nth texture that has been applied to the primitive.

getVertex
EggVertex *EggPrimitive::get_vertex(int index) const;

Description: Returns a particular index based on its index number.

hasMaterial
bool EggPrimitive::has_material(void) const;

Description: Returns true if the primitive is materiald (and get_material() will return a real pointer), false otherwise (and get_material() will return NULL).

hasNormals
virtual bool EggPrimitive::has_normals(void) const;

Description: Returns true if any of the primitives (e.g. polygons) defined within this group or below have either face or vertex normals defined, false otherwise.

hasPrimitives
virtual bool EggPrimitive::has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, false otherwise.

hasTexture
bool EggPrimitive::has_texture(void) const;

Description: Returns true if the primitive has any textures specified, false otherwise.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns true if the primitive has the particular indicated texture, false otherwise.

hasVertexColor
bool EggPrimitive::has_vertex_color(void) const;

Description: Returns true if any vertex on the primitive has a specific color set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

hasVertexNormal
bool EggPrimitive::has_vertex_normal(void) const;

Description: Returns true if any vertex on the primitive has a specific normal set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

jointHasPrimitives
virtual bool EggPrimitive::joint_has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, but the search does not include nested joints.

operator =
EggPrimitive &EggPrimitive::operator =(EggPrimitive const &copy);

Description:

postApplyFlatAttribute
virtual void EggPrimitive::post_apply_flat_attribute(void);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

removeDoubledVerts
void EggPrimitive::remove_doubled_verts(bool closed);

Description: Certain kinds of primitives, particularly polygons, don't like to have the same vertex repeated consecutively. Unfortunately, some modeling programs (like MultiGen) make this an easy mistake to make.
It's handy to have a function to remove these redundant vertices. If closed is true, it also checks that the first and last vertices are not the same.
This function identifies repeated vertices by position only; it does not consider any other properties, such as color or UV, significant in differentiating vertices.

removeNonuniqueVerts
void EggPrimitive::remove_nonunique_verts(void);

Description: Removes any multiple appearances of the same vertex from the primitive. This primarily makes sense for a point primitive, which is really a collection of points and which doesn't make sense to include the same point twice, in any order.

removeVertex
EggVertex *EggPrimitive::remove_vertex(EggVertex *vertex);

Description: Removes the indicated vertex from the primitive and returns it. If the vertex was not already in the primitive, does nothing and returns NULL.

reverseVertexOrdering
virtual void EggPrimitive::reverse_vertex_ordering(void);

Description: Reverses the ordering of the vertices in this primitive, if appropriate, in order to change the direction the polygon appears to be facing. Does not adjust the surface normal, if any.

setBfaceFlag
void EggPrimitive::set_bface_flag(bool flag);

Description: Sets the backfacing flag of the polygon. If this is true, the polygon will be rendered so that both faces are visible; if it is false, only the front face of the polygon will be visible.

setMaterial
void EggPrimitive::set_material(EggMaterial *material);

Description: Applies the indicated material to the primitive.

setTexture
void EggPrimitive::set_texture(EggTexture *texture);

Description: Replaces the current list of textures with the indicated texture.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.q

setVertex
void EggPrimitive::set_vertex(int index, EggVertex *vertex);

These are shorthands if you don't want to use the iterators.
Description: Replaces a particular vertex based on its index number in the list of vertices. This is just a convenience function for people who don't want to mess with the iterators.

testVrefIntegrity
void EggPrimitive::test_vref_integrity(void) const;

Description: Verifies that each vertex in the primitive exists and that it knows it is referenced by the primitive.

unifyAttributes
virtual void EggPrimitive::unify_attributes(EggPrimitive::Shading shading);

Description: If the shading property is S_per_vertex, ensures that all vertices have a normal and a color, and the overall primitive does not.
If the shading property is S_per_face, and this is a composite primitive, ensures that all components have a normal and a color, and the vertices and overall primitive do not. (If this is a simple primitive, S_per_face works the same as S_overall, below).
If the shading property is S_overall, ensures that no vertices or components have a normal or a color, and the overall primitive does (if any exists at all).
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
This may create redundant vertices in the vertex pool.

write
virtual void EggPrimitive::write(ostream &out, int indent_level) const = 0;

Undocumented function.

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggRenderMode

    from pandac.PandaModules import EggRenderMode
    Class : EggRenderMode
    Description : This 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. It's intended to be a base class for egg objects that can have these properties set.
    This class cannot inherit from EggObject, because it causes problems at the EggPolygon level with multiple appearances of the EggObject base class. And making EggObject a virtual base class is just no fun.

Inheritance:

    EggRenderMode:

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)
EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggSAnimData

    from pandac.PandaModules import EggSAnimData
    Class : EggSAnimData
    Description : Corresponding to an <S$Anim> entry, this stores a single column of numbers, for instance for a morph target, or as one column in an EggXfmSAnim.

Inheritance:

    EggSAnimData: EggAnimData
    EggAnimData: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggSAnimData:

    EggSAnimData (Constructor)
    getClassType
    getNumRows
    getValue
    operator =
    optimize
    setValue

Methods of EggAnimData:

    addData
    clearData
    clearFps
    getClassType
    getFps
    getSize
    hasFps
    operator =
    quantize
    setFps

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
EggSAnimData
EggSAnimData::EggSAnimData(string const &name = (""));

Description:

getClassType
static TypeHandle EggSAnimData::get_class_type(void);

Undocumented function.

getNumRows
int EggSAnimData::get_num_rows(void) const;

Description: Returns the number of rows in the table. For an SAnim table, each row has one column.

getValue
double EggSAnimData::get_value(int row) const;

Description: Returns the value at the indicated row. Row must be in the range 0 <= row < get_num_rows().

operator =
EggSAnimData &EggSAnimData::operator =(EggSAnimData const &copy);

Description:

optimize
void EggSAnimData::optimize(void);

Description: Optimizes the data by collapsing a long table of duplicate values into a single value.

setValue
void EggSAnimData::set_value(int row, double value);

Description: Changes the value at the indicated row. Row must be in the range 0 <= row < get_num_rows().

addData
void EggAnimData::add_data(double value);

Description: Adds a single element to the table.

clearData
void EggAnimData::clear_data(void);

Description: Removes all data and empties the table.

clearFps
void EggAnimData::clear_fps(void);

Description:

getClassType
static TypeHandle EggAnimData::get_class_type(void);

Undocumented function.

getFps
double EggAnimData::get_fps(void) const;

Description: This is only valid if has_fps() returns true.

getSize
int EggAnimData::get_size(void) const;

Description: Returns the number of elements in the table.

hasFps
bool EggAnimData::has_fps(void) const;

Description:

operator =
EggAnimData &EggAnimData::operator =(EggAnimData const &copy);

Description:

quantize
void EggAnimData::quantize(double quantum);

Description: Rounds each element of the table to the nearest multiple of quantum.

setFps
void EggAnimData::set_fps(double type);

Description:

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggSurface

    from pandac.PandaModules import EggSurface
    Class : EggSurface
    Description : A parametric surface of some kind. See EggNurbsSurface.

Inheritance:

    EggSurface: EggPrimitive
    EggPrimitive: EggNode EggAttributes EggRenderMode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggAttributes:
    EggRenderMode:

Methods of EggSurface:

    getClassType
    getUSubdiv
    getVSubdiv
    operator =
    setUSubdiv
    setVSubdiv

Methods of EggPrimitive:

    addTexture
    addVertex
    applyFirstAttribute
    applyLastAttribute
    cleanup
    clear
    clearConnectedShading
    clearMaterial
    clearTexture
    copyAttributes
    copyVertices
    determineAlphaMode
    determineBin
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineVisibilityMode
    getBfaceFlag
    getClassType
    getConnectedShading
    getMaterial
    getNumTextures
    getNumVertices
    getPool
    getShading
    getSortName
    getTexture
    getVertex
    hasMaterial
    hasNormals
    hasPrimitives
    hasTexture
    hasVertexColor
    hasVertexNormal
    jointHasPrimitives
    operator =
    postApplyFlatAttribute
    removeDoubledVerts
    removeNonuniqueVerts
    removeVertex
    reverseVertexOrdering
    setBfaceFlag
    setMaterial
    setTexture
    setVertex
    testVrefIntegrity
    unifyAttributes
    write

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Constants in EggPrimitive:

    SUnknown | (Shading)
SOverall | (Shading)
SPerFace | (Shading)
SPerVertex | (Shading)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)
getClassType
static TypeHandle EggSurface::get_class_type(void);

Undocumented function.

getUSubdiv
int EggSurface::get_u_subdiv(void) const;

Description: Returns the requested number of subdivisions in the U direction, or 0 if no particular subdivisions have been requested.

getVSubdiv
int EggSurface::get_v_subdiv(void) const;

Description: Returns the requested number of subdivisions in the U direction, or 0 if no particular subdivisions have been requested.

operator =
EggSurface &EggSurface::operator =(EggSurface const &copy);

Description:

setUSubdiv
void EggSurface::set_u_subdiv(int subdiv);

Description: Sets the number of subdivisions in the U direction that will be requested across the surface. (This doesn't necessary guarantee that this number of subdivisions will be made; it's just a hint to any surface renderer or quick tesselator.) Set the number to 0 to disable the hint.

setVSubdiv
void EggSurface::set_v_subdiv(int subdiv);

Description: Sets the number of subdivisions in the U direction that will be requested across the surface. (This doesn't necessary guarantee that this number of subdivisions will be made; it's just a hint to any surface renderer or quick tesselator.) Set the number to 0 to disable the hint.

addTexture
void EggPrimitive::add_texture(EggTexture *texture);

Description: Applies the indicated texture to the primitive.
Note that, in the case of multiple textures being applied to a single primitive, the order in which the textures are applied does not affect the rendering order; use EggTexture::set_sort() to specify that.

addVertex
EggVertex *EggPrimitive::add_vertex(EggVertex *vertex);

Description: Adds the indicated vertex to the end of the primitive's list of vertices, and returns it.

applyFirstAttribute
virtual void EggPrimitive::apply_first_attribute(void);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

applyLastAttribute
virtual void EggPrimitive::apply_last_attribute(void);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

cleanup
virtual bool EggPrimitive::cleanup(void);

Description: Cleans up modeling errors in whatever context this makes sense. For instance, for a polygon, this calls remove_doubled_verts(true). For a point, it calls remove_nonunique_verts(). Returns true if the primitive is valid, or false if it is degenerate.

clear
void EggPrimitive::clear(void);

Description: Removes all of the vertices from the primitive.

clearConnectedShading
void EggPrimitive::clear_connected_shading(void);

Description: Resets the connected_shading member in this primitive, so that get_connected_shading() will recompute a new value.

clearMaterial
void EggPrimitive::clear_material(void);

Description: Removes any material from the primitive.

clearTexture
void EggPrimitive::clear_texture(void);

Description: Removes any texturing from the primitive.

copyAttributes
void EggPrimitive::copy_attributes(EggAttributes const &other);

Description: Copies the rendering attributes from the indicated primitive.

copyVertices
void EggPrimitive::copy_vertices(EggPrimitive const &other);

Description: Replaces the current primitive's list of vertices with a copy of the list of vertices on the other primitive.

determineAlphaMode
virtual EggRenderMode *EggPrimitive::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggPrimitive::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthTestMode
virtual EggRenderMode *EggPrimitive::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggPrimitive::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggPrimitive::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineVisibilityMode
virtual EggRenderMode *EggPrimitive::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBfaceFlag
bool EggPrimitive::get_bface_flag(void) const;

Description: Retrieves the backfacing flag of the polygon. See set_bface_flag().

getClassType
static TypeHandle EggPrimitive::get_class_type(void);

Undocumented function.

getConnectedShading
EggPrimitive::Shading EggPrimitive::get_connected_shading(void) const;

Description: Determines what sort of shading properties this primitive's connected neighbors have.
To get the most accurate results, you should first call clear_connected_shading() on all connected primitives (or on all primitives in the egg file). It might also be a good idea to call remove_unused_vertices() to ensure proper connectivity.
You may find it easiest to call these other methods on the EggData root node (they are defined on EggGroupNode).

getMaterial
EggMaterial *EggPrimitive::get_material(void) const;

Description: Returns a pointer to the applied material, or NULL if there is no material applied.

getNumTextures
int EggPrimitive::get_num_textures(void) const;

Description: Returns the number of textures applied to the primitive.

getNumVertices
int EggPrimitive::get_num_vertices(void) const;

These are shorthands if you don't want to use the iterators.
Description:

getPool
EggVertexPool *EggPrimitive::get_pool(void) const;

Description: Returns the vertex pool associated with the vertices of the primitive, or NULL if the primitive has no vertices.

getShading
virtual EggPrimitive::Shading EggPrimitive::get_shading(void) const;

Description: Returns the shading properties apparent on this particular primitive. This returns S_per_vertex if the vertices have colors or normals (and they are not all the same values), or for a simple primitive, S_overall otherwise. A composite primitive may also return S_per_face if the individual component primitives have colors or normals that are not all the same values.
To get the most accurate results, you should call clear_shading() on all connected primitives (or on all primitives in the egg file), followed by get_shading() on each primitive. You may find it easiest to call these methods on the EggData root node (they are defined on EggGroupNode).

getSortName
string EggPrimitive::get_sort_name(void) const;

Description: Returns the name of the primitive for the purposes of sorting primitives into different groups, if there is one.
Presently, this is defined as the primitive name itself, unless it begins with a digit.

getTexture
EggTexture *EggPrimitive::get_texture(void) const;

Description: Returns the first texture on the primitive, if any, or NULL if there are no textures on the primitive.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns the nth texture that has been applied to the primitive.

getVertex
EggVertex *EggPrimitive::get_vertex(int index) const;

Description: Returns a particular index based on its index number.

hasMaterial
bool EggPrimitive::has_material(void) const;

Description: Returns true if the primitive is materiald (and get_material() will return a real pointer), false otherwise (and get_material() will return NULL).

hasNormals
virtual bool EggPrimitive::has_normals(void) const;

Description: Returns true if any of the primitives (e.g. polygons) defined within this group or below have either face or vertex normals defined, false otherwise.

hasPrimitives
virtual bool EggPrimitive::has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, false otherwise.

hasTexture
bool EggPrimitive::has_texture(void) const;

Description: Returns true if the primitive has any textures specified, false otherwise.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns true if the primitive has the particular indicated texture, false otherwise.

hasVertexColor
bool EggPrimitive::has_vertex_color(void) const;

Description: Returns true if any vertex on the primitive has a specific color set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

hasVertexNormal
bool EggPrimitive::has_vertex_normal(void) const;

Description: Returns true if any vertex on the primitive has a specific normal set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

jointHasPrimitives
virtual bool EggPrimitive::joint_has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, but the search does not include nested joints.

operator =
EggPrimitive &EggPrimitive::operator =(EggPrimitive const &copy);

Description:

postApplyFlatAttribute
virtual void EggPrimitive::post_apply_flat_attribute(void);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

removeDoubledVerts
void EggPrimitive::remove_doubled_verts(bool closed);

Description: Certain kinds of primitives, particularly polygons, don't like to have the same vertex repeated consecutively. Unfortunately, some modeling programs (like MultiGen) make this an easy mistake to make.
It's handy to have a function to remove these redundant vertices. If closed is true, it also checks that the first and last vertices are not the same.
This function identifies repeated vertices by position only; it does not consider any other properties, such as color or UV, significant in differentiating vertices.

removeNonuniqueVerts
void EggPrimitive::remove_nonunique_verts(void);

Description: Removes any multiple appearances of the same vertex from the primitive. This primarily makes sense for a point primitive, which is really a collection of points and which doesn't make sense to include the same point twice, in any order.

removeVertex
EggVertex *EggPrimitive::remove_vertex(EggVertex *vertex);

Description: Removes the indicated vertex from the primitive and returns it. If the vertex was not already in the primitive, does nothing and returns NULL.

reverseVertexOrdering
virtual void EggPrimitive::reverse_vertex_ordering(void);

Description: Reverses the ordering of the vertices in this primitive, if appropriate, in order to change the direction the polygon appears to be facing. Does not adjust the surface normal, if any.

setBfaceFlag
void EggPrimitive::set_bface_flag(bool flag);

Description: Sets the backfacing flag of the polygon. If this is true, the polygon will be rendered so that both faces are visible; if it is false, only the front face of the polygon will be visible.

setMaterial
void EggPrimitive::set_material(EggMaterial *material);

Description: Applies the indicated material to the primitive.

setTexture
void EggPrimitive::set_texture(EggTexture *texture);

Description: Replaces the current list of textures with the indicated texture.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.q

setVertex
void EggPrimitive::set_vertex(int index, EggVertex *vertex);

These are shorthands if you don't want to use the iterators.
Description: Replaces a particular vertex based on its index number in the list of vertices. This is just a convenience function for people who don't want to mess with the iterators.

testVrefIntegrity
void EggPrimitive::test_vref_integrity(void) const;

Description: Verifies that each vertex in the primitive exists and that it knows it is referenced by the primitive.

unifyAttributes
virtual void EggPrimitive::unify_attributes(EggPrimitive::Shading shading);

Description: If the shading property is S_per_vertex, ensures that all vertices have a normal and a color, and the overall primitive does not.
If the shading property is S_per_face, and this is a composite primitive, ensures that all components have a normal and a color, and the vertices and overall primitive do not. (If this is a simple primitive, S_per_face works the same as S_overall, below).
If the shading property is S_overall, ensures that no vertices or components have a normal or a color, and the overall primitive does (if any exists at all).
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
This may create redundant vertices in the vertex pool.

write
virtual void EggPrimitive::write(ostream &out, int indent_level) const = 0;

Undocumented function.

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggSwitchCondition

    from pandac.PandaModules import EggSwitchCondition
    Class : EggSwitchCondition
    Description : This corresponds to a <SwitchCondition> entry within a group. It indicates the condition at which a level-of-detail is switched in or out. This is actually an abstract base class for potentially any number of specific different kinds of switching conditions; presently, only a <Distance> type is actually supported.

Inheritance:

    EggSwitchCondition: EggObject
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EggSwitchCondition:

    getClassType
    makeCopy
    transform
    write

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle EggSwitchCondition::get_class_type(void);

Undocumented function.

makeCopy
virtual EggSwitchCondition *EggSwitchCondition::make_copy(void) const = 0;

Undocumented function.

transform
virtual void EggSwitchCondition::transform(LMatrix4d const &mat) = 0;

Undocumented function.

write
virtual void EggSwitchCondition::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EggSwitchConditionDistance

    from pandac.PandaModules import EggSwitchConditionDistance
    Class : EggSwitchConditionDistance
    Description : A SwitchCondition that switches the levels-of-detail based on distance from the camera's eyepoint.

Inheritance:

    EggSwitchConditionDistance: EggSwitchCondition
    EggSwitchCondition: EggObject
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EggSwitchConditionDistance:

    EggSwitchConditionDistance (Constructor)
    getClassType

Methods of EggSwitchCondition:

    getClassType
    makeCopy
    transform
    write

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
EggSwitchConditionDistance
EggSwitchConditionDistance::EggSwitchConditionDistance(double switch_in, double switch_out, LPoint3d const &center, double fade = (0));

Description:

getClassType
static TypeHandle EggSwitchConditionDistance::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle EggSwitchCondition::get_class_type(void);

Undocumented function.

makeCopy
virtual EggSwitchCondition *EggSwitchCondition::make_copy(void) const = 0;

Undocumented function.

transform
virtual void EggSwitchCondition::transform(LMatrix4d const &mat) = 0;

Undocumented function.

write
virtual void EggSwitchCondition::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EggTable

    from pandac.PandaModules import EggTable
    Class : EggTable
    Description : This corresponds to a <Table> or a <Bundle> entry. As such, it doesn't actually contain a table of numbers, but it may be a parent to an EggSAnimData or an EggXfmAnimData, which do. It may also be a parent to another <Table> or <Bundle>, establishing a hierarchy of tables.

Inheritance:

    EggTable: EggGroupNode
    EggGroupNode: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggTable:

    EggTable (Constructor)
    getClassType
    getTableType
    hasTransform
    operator =
    setTableType
    stringTableType

Methods of EggGroupNode:

    EggGroupNode (Constructor)
    addChild
    applyFirstAttribute
    applyLastAttribute
    clear
    clearConnectedShading
    empty
    findChild
    forceFilenames
    getClassType
    getConnectedShading
    getFirstChild
    getNextChild
    hasAbsolutePathnames
    isRight
    meshTriangles
    operator =
    postApplyFlatAttribute
    recomputePolygonNormals
    recomputeTangentBinormal
    recomputeTangentBinormalAuto
    recomputeVertexNormals
    removeChild
    removeInvalidPrimitives
    removeUnusedVertices
    renameNodes
    resolveFilenames
    reverseVertexOrdering
    size
    stealChildren
    stripNormals
    triangulatePolygons
    unifyAttributes

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in EggTable:

    TTInvalid | (TableType)
TTTable | (TableType)
TTBundle | (TableType)

Constants in EggGroupNode:

    TPolygon | (TriangulateFlags)
TConvex | (TriangulateFlags)
TComposite | (TriangulateFlags)
TRecurse | (TriangulateFlags)
TFlatShaded | (TriangulateFlags)
EggTable
EggTable::EggTable(string const &name = (""));

Description:

getClassType
static TypeHandle EggTable::get_class_type(void);

Undocumented function.

getTableType
EggTable::TableType EggTable::get_table_type(void) const;

Description:

hasTransform
bool EggTable::has_transform(void) const;

Description: Returns true if the table contains a transform description, false otherwise.

operator =
EggTable &EggTable::operator =(EggTable const &copy);

Description:

setTableType
void EggTable::set_table_type(EggTable::TableType type);

Description:

stringTableType
static EggTable::TableType EggTable::string_table_type(string const &string);

Description: Returns the TableType value associated with the given string representation, or TT_invalid if the string does not match any known TableType value.

EggGroupNode
EggGroupNode::EggGroupNode(string const &name = (""));

Description:

addChild
EggNode *EggGroupNode::add_child(EggNode *node);

Description: Adds the indicated child to the group and returns it. If the child node is already a child of some other node, removes it first.

applyFirstAttribute
void EggGroupNode::apply_first_attribute(bool recurse);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

applyLastAttribute
void EggGroupNode::apply_last_attribute(bool recurse);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

clear
void EggGroupNode::clear(void);

Description:

clearConnectedShading
void EggGroupNode::clear_connected_shading(void);

Description: Resets the connected_shading information on all primitives at this node and below, so that it may be accurately rederived by the next call to get_connected_shading().
It may be a good idea to call remove_unused_vertices() as well, to establish the correct connectivity between common vertices.

empty
bool EggGroupNode::empty(void) const;

Description:

findChild
EggNode *EggGroupNode::find_child(string const &name) const;

Description: Returns the child of this node whose name is the indicated string, or NULL if there is no child of this node by that name. Does not search recursively.

forceFilenames
void EggGroupNode::force_filenames(Filename const &directory);

Description: Similar to resolve_filenames, but each non-absolute filename encountered is arbitrarily taken to be in the indicated directory, whether or not the so-named filename exists.

getClassType
static TypeHandle EggGroupNode::get_class_type(void);

Undocumented function.

getConnectedShading
void EggGroupNode::get_connected_shading(void);

Description: Queries the connected_shading information on all primitives at this node and below, to ensure that it has been completely filled in before we start mucking around with vertices.

getFirstChild
EggNode *EggGroupNode::get_first_child(void);

This is an alternate way to traverse the list of children. It is mainly provided for scripting code, which can't use the iterators defined above (they don't export through interrogate very well). These are, of course, non-thread-safe.
Description: Returns the first child in the group's list of children, or NULL if the list of children is empty. Can be used with get_next_child() to return the complete list of children without using the iterator class; however, this is non-thread-safe, and so is not recommended except for languages other than C++ which cannot use the iterators.

getNextChild
EggNode *EggGroupNode::get_next_child(void);

This is an alternate way to traverse the list of children. It is mainly provided for scripting code, which can't use the iterators defined above (they don't export through interrogate very well). These are, of course, non-thread-safe.
Description: Returns the next child in the group's list of children since the last call to get_first_child() or get_next_child(), or NULL if the last child has been returned. Can be used with get_first_child() to return the complete list of children without using the iterator class; however, this is non-thread-safe, and so is not recommended except for languages other than C++ which cannot use the iterators.
It is an error to call this without previously calling get_first_child().

hasAbsolutePathnames
bool EggGroupNode::has_absolute_pathnames(void) const;

Description: Returns true if any nodes at this level and below include a reference to a file via an absolute pathname, or false if all references are relative.

isRight
static bool EggGroupNode::is_right(LVector2d const &v1, LVector2d const &v2);

Description: Returns true if the 2-d v1 is to the right of v2.

meshTriangles
void EggGroupNode::mesh_triangles(int flags);

Description: Combine triangles together into triangle strips, at this group and below.

operator =
EggGroupNode &EggGroupNode::operator =(EggGroupNode const &copy);

Description:

postApplyFlatAttribute
void EggGroupNode::post_apply_flat_attribute(bool recurse);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

recomputePolygonNormals
void EggGroupNode::recompute_polygon_normals(CoordinateSystem cs = (CS_default));

Description: Recomputes all the polygon normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. Normals are removed from the vertices and defined only on polygons, giving the geometry a faceted appearance.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normals removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

recomputeTangentBinormal
bool EggGroupNode::recompute_tangent_binormal(GlobPattern const &uv_name);

Description: This function recomputes the tangent and binormal for the named texture coordinate set for all vertices at this level and below. Use the empty string for the default texture coordinate set.
It is necessary for each vertex to already have a normal (or at least a polygon normal), as well as a texture coordinate in the named texture coordinate set, before calling this function. You might precede this with recompute_vertex_normals() to ensure that the normals exist.
Like recompute_vertex_normals(), this function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the new tangents and binormals computed. Thus, it is a good idea to call remove_unused_vertices() after calling this.
Description: This function recomputes the tangent and binormal for the named texture coordinate sets. Returns true if anything was done.

recomputeTangentBinormalAuto
bool EggGroupNode::recompute_tangent_binormal_auto(void);

Description: This function recomputes the tangent and binormal for any texture coordinate set that affects a normal map. Returns true if anything was done.

recomputeVertexNormals
void EggGroupNode::recompute_vertex_normals(double threshold, CoordinateSystem cs = (CS_default));

Description: Recomputes all the vertex normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. A shared edge between two polygons (even in different groups) is considered smooth if the angle between the two edges is less than threshold degrees.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the correct normals. Thus, it is a good idea to call remove_unused_vertices() after calling this.

removeChild
PointerTo< EggNode > EggGroupNode::remove_child(EggNode *node);

Description: Removes the indicated child node from the group and returns it. If the child was not already in the group, does nothing and returns NULL.

removeInvalidPrimitives
int EggGroupNode::remove_invalid_primitives(bool recurse);

Description: Removes primitives at this level and below which appear to be degenerate; e.g. polygons with fewer than 3 vertices, etc. Returns the number of primitives removed.

removeUnusedVertices
int EggGroupNode::remove_unused_vertices(bool recurse);

Description: Removes all vertices from VertexPools within this group or below that are not referenced by at least one primitive. Also collapses together equivalent vertices, and renumbers all vertices after the operation so their indices are consecutive, beginning at zero. Returns the total number of vertices removed.
Note that this operates on the VertexPools within this group level, without respect to primitives that reference these vertices (unlike other functions like strip_normals()). It is therefore most useful to call this on the EggData root, rather than on a subgroup within the hierarchy, since a VertexPool may appear anywhere in the hierarchy.

renameNodes
int EggGroupNode::rename_nodes(vector< string > strip_prefix, bool recurse);

Description: Rename by stripping out the prefix

resolveFilenames
void EggGroupNode::resolve_filenames(DSearchPath const &searchpath);

Description: Walks the tree and attempts to resolve any filenames encountered. This looks up filenames in the search path, etc. It does not automatically search the egg_path for missing files.

reverseVertexOrdering
void EggGroupNode::reverse_vertex_ordering(void);

Description: Reverses the vertex ordering of all polygons defined at this node and below. Does not change the surface normals, if any.

size
unsigned int EggGroupNode::size(void) const;

Description:

stealChildren
void EggGroupNode::steal_children(EggGroupNode &other);

Description: Moves all the children from the other node to this one. This is especially useful because the group node copy assignment operator does not copy children.

stripNormals
void EggGroupNode::strip_normals(void);

Description: Removes all normals from primitives, and the vertices they reference, at this node and below.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normal removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

triangulatePolygons
int EggGroupNode::triangulate_polygons(int flags);

Description: Replace all higher-order polygons at this point in the scene graph and below with triangles. Returns the total number of new triangles produced, less degenerate polygons removed.
If flags contains T_polygon and T_convex, both concave and convex polygons will be subdivided into triangles; with only T_polygon, only concave polygons will be subdivided, and convex polygons will be largely unchanged.

unifyAttributes
void EggGroupNode::unify_attributes(bool use_connected_shading, bool allow_per_primitive, bool recurse);

Description: Applies per-vertex normal and color to all vertices, if they are in fact per-vertex (and different for each vertex), or moves them to the primitive if they are all the same.
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
If use_connected_shading is true, each polygon is considered in conjunction with all connected polygons; otherwise, each polygon is considered individually.
If allow_per_primitive is false, S_per_face or S_overall will treated like S_per_vertex: normals and colors will always be assigned to the vertices. In this case, there will never be per-primitive colors or normals after this call returns. On the other hand, if allow_per_primitive is true, then S_per_face means that normals and colors should be assigned to the primitives, and removed from the vertices, as described above.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggTexture

    from pandac.PandaModules import EggTexture
    Class : EggTexture
    Description : Defines a texture map that may be applied to geometry.

Inheritance:

    EggTexture: EggFilenameNode EggRenderMode EggTransform
    EggFilenameNode: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggRenderMode:
    EggTransform:

Methods of EggTexture:

    EggTexture (Constructor)
    affectsPolygonAlpha
    clearAlphaFileChannel
    clearAlphaFilename
    clearAlphaScale
    clearAnisotropicDegree
    clearBorderColor
    clearColor
    clearMultitexture
    clearPriority
    clearRgbScale
    clearStageName
    clearUvName
    determineWrapU
    determineWrapV
    determineWrapW
    getAlphaFileChannel
    getAlphaFilename
    getAlphaFullpath
    getAlphaScale
    getAnisotropicDegree
    getBorderColor
    getClassType
    getColor
    getCombineMode
    getCombineOperand
    getCombineSource
    getCompressionMode
    getEnvType
    getFormat
    getMagfilter
    getMinfilter
    getMultitextureSort
    getPriority
    getQualityLevel
    getReadMipmaps
    getRgbScale
    getSavedResult
    getStageName
    getTexGen
    getTextureType
    getUvName
    getWrapMode
    getWrapU
    getWrapV
    getWrapW
    hasAlphaChannel
    hasAlphaFileChannel
    hasAlphaFilename
    hasAlphaScale
    hasAnisotropicDegree
    hasBorderColor
    hasColor
    hasPriority
    hasRgbScale
    hasStageName
    hasUvName
    isEquivalentTo
    multitextureOver
    operator =
    setAlphaFileChannel
    setAlphaFilename
    setAlphaFullpath
    setAlphaScale
    setAnisotropicDegree
    setBorderColor
    setColor
    setCombineMode
    setCombineOperand
    setCombineSource
    setCompressionMode
    setEnvType
    setFormat
    setMagfilter
    setMinfilter
    setPriority
    setQualityLevel
    setReadMipmaps
    setRgbScale
    setSavedResult
    setStageName
    setTexGen
    setTextureType
    setUvName
    setWrapMode
    setWrapU
    setWrapV
    setWrapW
    sortsLessThan
    stringCombineMode
    stringCombineOperand
    stringCombineSource
    stringCompressionMode
    stringEnvType
    stringFilterType
    stringFormat
    stringQualityLevel
    stringTexGen
    stringTextureType
    stringWrapMode
    write

Methods of EggFilenameNode:

    getClassType
    getDefaultExtension
    getFilename
    getFullpath
    operator =
    setFilename
    setFullpath

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Methods of EggTransform:

    EggTransform (Constructor)
    addMatrix3
    addMatrix4
    addRotate2d
    addRotate3d
    addRotx
    addRoty
    addRotz
    addScale2d
    addScale3d
    addTranslate2d
    addTranslate3d
    addUniformScale
    clearTransform
    getComponentMat3
    getComponentMat4
    getComponentNumber
    getComponentType
    getComponentVec2
    getComponentVec3
    getNumComponents
    getTransform2d
    getTransform3d
    hasTransform
    hasTransform2d
    hasTransform3d
    operator =
    setTransform2d
    setTransform3d
    transformIsIdentity
    write

Constants in EggTexture:

    EBasename | (Equivalence)
EExtension | (Equivalence)
EDirname | (Equivalence)
ECompleteFilename | (Equivalence)
ETransform | (Equivalence)
EAttributes | (Equivalence)
ETrefName | (Equivalence)
TTUnspecified | (TextureType)
TT1dTexture | (TextureType)
TT2dTexture | (TextureType)
TT3dTexture | (TextureType)
TTCubeMap | (TextureType)
FUnspecified | (Format)
FRgba | (Format)
FRgbm | (Format)
FRgba12 | (Format)
FRgba8 | (Format)
FRgba4 | (Format)
FRgba5 | (Format)
FRgb | (Format)
FRgb12 | (Format)
FRgb8 | (Format)
FRgb5 | (Format)
FRgb332 | (Format)
FRed | (Format)
FGreen | (Format)
FBlue | (Format)
FAlpha | (Format)
FLuminance | (Format)
FLuminanceAlpha | (Format)
FLuminanceAlphamask | (Format)
CMDefault | (CompressionMode)
CMOff | (CompressionMode)
CMOn | (CompressionMode)
CMFxt1 | (CompressionMode)
CMDxt1 | (CompressionMode)
CMDxt2 | (CompressionMode)
CMDxt3 | (CompressionMode)
CMDxt4 | (CompressionMode)
CMDxt5 | (CompressionMode)
WMUnspecified | (WrapMode)
WMClamp | (WrapMode)
WMRepeat | (WrapMode)
WMMirror | (WrapMode)
WMMirrorOnce | (WrapMode)
WMBorderColor | (WrapMode)
FTUnspecified | (FilterType)
FTNearest | (FilterType)
FTLinear | (FilterType)
FTNearestMipmapNearest | (FilterType)
FTLinearMipmapNearest | (FilterType)
FTNearestMipmapLinear | (FilterType)
FTLinearMipmapLinear | (FilterType)
ETUnspecified | (EnvType)
ETModulate | (EnvType)
ETDecal | (EnvType)
ETBlend | (EnvType)
ETReplace | (EnvType)
ETAdd | (EnvType)
ETBlendColorScale | (EnvType)
ETModulateGlow | (EnvType)
ETModulateGloss | (EnvType)
ETNormal | (EnvType)
ETNormalHeight | (EnvType)
ETGlow | (EnvType)
ETGloss | (EnvType)
ETHeight | (EnvType)
ETSelector | (EnvType)
CMUnspecified | (CombineMode)
CMReplace | (CombineMode)
CMModulate | (CombineMode)
CMAdd | (CombineMode)
CMAddSigned | (CombineMode)
CMInterpolate | (CombineMode)
CMSubtract | (CombineMode)
CMDot3Rgb | (CombineMode)
CMDot3Rgba | (CombineMode)
CCRgb | (CombineChannel)
CCAlpha | (CombineChannel)
CCNumChannels | (CombineChannel)
CINumIndices | (CombineIndex)
CSUnspecified | (CombineSource)
CSTexture | (CombineSource)
CSConstant | (CombineSource)
CSPrimaryColor | (CombineSource)
CSPrevious | (CombineSource)
CSConstantColorScale | (CombineSource)
CSLastSavedResult | (CombineSource)
COUnspecified | (CombineOperand)
COSrcColor | (CombineOperand)
COOneMinusSrcColor | (CombineOperand)
COSrcAlpha | (CombineOperand)
COOneMinusSrcAlpha | (CombineOperand)
TGUnspecified | (TexGen)
TGEyeSphereMap | (TexGen)
TGWorldCubeMap | (TexGen)
TGEyeCubeMap | (TexGen)
TGWorldNormal | (TexGen)
TGEyeNormal | (TexGen)
TGWorldPosition | (TexGen)
TGEyePosition | (TexGen)
TGPointSprite | (TexGen)
QLUnspecified | (QualityLevel)
QLDefault | (QualityLevel)
QLFastest | (QualityLevel)
QLNormal | (QualityLevel)
QLBest | (QualityLevel)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)

Constants in EggTransform:

    CTInvalid | (ComponentType)
CTTranslate2d | (ComponentType)
CTTranslate3d | (ComponentType)
CTRotate2d | (ComponentType)
CTRotx | (ComponentType)
CTRoty | (ComponentType)
CTRotz | (ComponentType)
CTRotate3d | (ComponentType)
CTScale2d | (ComponentType)
CTScale3d | (ComponentType)
CTUniformScale | (ComponentType)
CTMatrix3 | (ComponentType)
CTMatrix4 | (ComponentType)
EggTexture
EggTexture::EggTexture(string const &tref_name, string const &filename);

Description:

affectsPolygonAlpha
bool EggTexture::affects_polygon_alpha(void) const;

Description: Returns true if this texture's environment type or combine mode allows the texture to have an affect on the polygon's alpha values, false otherwise.

clearAlphaFileChannel
void EggTexture::clear_alpha_file_channel(void);

Description: Removes the specification of a particular channel to use from the alpha-file image.

clearAlphaFilename
void EggTexture::clear_alpha_filename(void);

Description:

clearAlphaScale
void EggTexture::clear_alpha_scale(void);

Description: Removes the alpha_scale from the texture and restores it to the default value of 1.

clearAnisotropicDegree
void EggTexture::clear_anisotropic_degree(void);

Description: Removes the specification of anisotropic filtering from the texture.

clearBorderColor
void EggTexture::clear_border_color(void);

Description:

clearColor
void EggTexture::clear_color(void);

Description:

clearMultitexture
void EggTexture::clear_multitexture(void);

Description: Resets the multitexture flags set by multitexture_over(). After this call, get_multitexture() will return false, and get_multitexture_sort() will return 0.

clearPriority
void EggTexture::clear_priority(void);

Description: Removes the specification of multitexture priority from the texture. The default priority value is 0.

clearRgbScale
void EggTexture::clear_rgb_scale(void);

Description: Removes the rgb_scale from the texture and restores it to the default value of 1.

clearStageName
void EggTexture::clear_stage_name(void);

Description: Removes the named TextureStage specification.

clearUvName
void EggTexture::clear_uv_name(void);

Description: Removes the restriction to a particular named set of texture coordinates and restores the texture to using the default texture coordinates.

determineWrapU
EggTexture::WrapMode EggTexture::determine_wrap_u(void) const;

Description: Determines the appropriate wrap in the U direction. This is different from get_wrap_u() in that if the U wrap is unspecified, it returns the overall wrap value.

determineWrapV
EggTexture::WrapMode EggTexture::determine_wrap_v(void) const;

Description: Determines the appropriate wrap in the V direction. This is different from get_wrap_v() in that if the V wrap is unspecified, it returns the overall wrap value.

determineWrapW
EggTexture::WrapMode EggTexture::determine_wrap_w(void) const;

Description: Determines the appropriate wrap in the W direction. This is different from get_wrap_w() in that if the W wrap is unspecified, it returns the overall wrap value.

getAlphaFileChannel
int EggTexture::get_alpha_file_channel(void) const;

Description: Returns the particular channel that has been specified for the alpha-file image, or 0 if no channel has been specified. See set_alpha_file_channel().

getAlphaFilename
Filename const &EggTexture::get_alpha_filename(void) const;

Description: Returns the separate file assigned for the alpha channel. It is an error to call this unless has_alpha_filename() returns true. See set_alpha_filename().

getAlphaFullpath
Filename const &EggTexture::get_alpha_fullpath(void) const;

Description: Returns the full pathname to the alpha file, if it is known; otherwise, returns the same thing as get_alpha_filename().
This function simply returns whatever was set by the last call to set_alpha_fullpath(). This string is not written to the egg file; its main purpose is to record the full path to the alpha filename if it is known, for egg structures that are generated in-memory and then immediately converted to a scene graph.

getAlphaScale
int EggTexture::get_alpha_scale(void) const;

Description: Returns the alpha_scale value that has been specified for the texture, or 1 if no alpha_scale value has been specified.

getAnisotropicDegree
int EggTexture::get_anisotropic_degree(void) const;

Description: Returns the anisotropic filtering degree that has been specified for this texture, or 0 if nothing has been specified.

getBorderColor
LVecBase4f const &EggTexture::get_border_color(void) const;

Description: Returns the border color if one has been specified, or (0, 0, 0, 1) otherwise.

getClassType
static TypeHandle EggTexture::get_class_type(void);

Undocumented function.

getColor
LVecBase4f const &EggTexture::get_color(void) const;

Description: Returns the blend color if one has been specified, or (0, 0, 0, 1) otherwise.

getCombineMode
EggTexture::CombineMode EggTexture::get_combine_mode(EggTexture::CombineChannel channel) const;

Description:

getCombineOperand
EggTexture::CombineOperand EggTexture::get_combine_operand(EggTexture::CombineChannel channel, int n) const;

Description:

getCombineSource
EggTexture::CombineSource EggTexture::get_combine_source(EggTexture::CombineChannel channel, int n) const;

Description:

getCompressionMode
EggTexture::CompressionMode EggTexture::get_compression_mode(void) const;

Description:

getEnvType
EggTexture::EnvType EggTexture::get_env_type(void) const;

Description:

getFormat
EggTexture::Format EggTexture::get_format(void) const;

Description:

getMagfilter
EggTexture::FilterType EggTexture::get_magfilter(void) const;

Description:

getMinfilter
EggTexture::FilterType EggTexture::get_minfilter(void) const;

Description:

getMultitextureSort
int EggTexture::get_multitexture_sort(void) const;

Description: Returns an integer that represents the depth to which this texture is layered on all other textures in the egg file. In general, if texture A is layered over texture B, then sort(A) > sort(B). If texture A is never layered over any other texture, then sort(A) == 0. More than that is difficult to guarantee.

getPriority
int EggTexture::get_priority(void) const;

Description: Returns the multitexture importance value that has been specified for the texture, or 0 if no priority value has been specified.

getQualityLevel
EggTexture::QualityLevel EggTexture::get_quality_level(void) const;

Description:

getReadMipmaps
bool EggTexture::get_read_mipmaps(void) const;

Description: Returns the current setting of the read_mipmaps flag. See set_read_mipmaps().

getRgbScale
int EggTexture::get_rgb_scale(void) const;

Description: Returns the rgb_scale value that has been specified for the texture, or 1 if no rgb_scale value has been specified.

getSavedResult
bool EggTexture::get_saved_result(void) const;

Description: Returns the current setting of the saved_result flag. See set_saved_result().

getStageName
string const &EggTexture::get_stage_name(void) const;

Description: Returns the stage name that has been specified for this texture, or the tref name if no texture stage has explicitly been specified.

getTexGen
EggTexture::TexGen EggTexture::get_tex_gen(void) const;

Description:

getTextureType
EggTexture::TextureType EggTexture::get_texture_type(void) const;

Description:

getUvName
string const &EggTexture::get_uv_name(void) const;

Description: Returns the texcoord name that has been specified for this texture, or the empty string if no texcoord name has explicitly been specified.

getWrapMode
EggTexture::WrapMode EggTexture::get_wrap_mode(void) const;

Description:

getWrapU
EggTexture::WrapMode EggTexture::get_wrap_u(void) const;

Description: Returns the amount specified for U wrap. This may be unspecified, even if there is an overall wrap value.

getWrapV
EggTexture::WrapMode EggTexture::get_wrap_v(void) const;

Description: Returns the amount specified for V wrap. This may be unspecified, even if there is an overall wrap value.

getWrapW
EggTexture::WrapMode EggTexture::get_wrap_w(void) const;

Description: Returns the amount specified for W wrap. This may be unspecified, even if there is an overall wrap value.

hasAlphaChannel
bool EggTexture::has_alpha_channel(int num_components) const;

Description: Given the number of color components (channels) in the image file as actually read from the disk, return true if this texture seems to have an alpha channel or not. This depends on the EggTexture's format as well as the number of channels.

hasAlphaFileChannel
bool EggTexture::has_alpha_file_channel(void) const;

Description: Returns true if a particular channel has been specified for the alpha-file image, false otherwise.

hasAlphaFilename
bool EggTexture::has_alpha_filename(void) const;

Description: Returns true if a separate file for the alpha component has been applied, false otherwise. See set_alpha_filename().

hasAlphaScale
bool EggTexture::has_alpha_scale(void) const;

Description: Returns true if an alpha_scale has been specified for the texture, false otherwise.

hasAnisotropicDegree
bool EggTexture::has_anisotropic_degree(void) const;

Description: Returns true if a value for the anisotropic filtering degree has been specified for this texture, false otherwise.

hasBorderColor
bool EggTexture::has_border_color(void) const;

Description: Returns true if a border color has been specified for the texture.

hasColor
bool EggTexture::has_color(void) const;

Description: Returns true if a blend color has been specified for the texture.

hasPriority
bool EggTexture::has_priority(void) const;

Description: Returns true if a priority value for multitexture importance has been specified for the texture, false otherwise.

hasRgbScale
bool EggTexture::has_rgb_scale(void) const;

Description: Returns true if an rgb_scale has been specified for the texture, false otherwise.

hasStageName
bool EggTexture::has_stage_name(void) const;

Description: Returns true if a stage name has been explicitly specified for this texture, false otherwise.

hasUvName
bool EggTexture::has_uv_name(void) const;

Description: Returns true if a texcoord name has been explicitly specified for this texture, false otherwise.

isEquivalentTo
bool EggTexture::is_equivalent_to(EggTexture const &other, int eq) const;

Description: Returns true if the two textures are equivalent in all relevant properties (according to eq), false otherwise.
The Equivalence parameter, eq, should be set to the bitwise OR of the following properties, according to what you consider relevant:
EggTexture::E_basename: The basename part of the texture filename, without the directory prefix *or* the filename extension.
EggTexture::E_extension: The extension part of the texture filename.
EggTexture::E_dirname: The directory prefix of the texture filename.
EggTexture::E_complete_filename: The union of the above three; that is, the complete filename, with directory, basename, and extension.
EggTexture::E_transform: The texture matrix.
EggTexture::E_attributes: All remaining texture attributes (mode, mipmap, etc.) except TRef name.
EggTexture::E_tref_name: The TRef name.

multitextureOver
bool EggTexture::multitexture_over(EggTexture *other);

Description: Indicates that this texture should be layered on top of the other texture. This will guarantee that this->get_multitexture_sort() > other->get_multitexture_sort(), at least until clear_multitexture() is called on either one.
The return value is true if successful, or false if there is a failure because the other texture was already layered on top of this one (or there is a three- or more-way cycle).

operator =
EggTexture &EggTexture::operator =(EggTexture const &copy);

Description:

setAlphaFileChannel
void EggTexture::set_alpha_file_channel(int alpha_file_channel);

Description: If a separate alpha-file is specified, this indicates which channel number should be extracted from this file to derive the alpha channel for the final image. The default is 0, which means the grayscale combination of r, g, b. Otherwise, this should be the 1-based channel number, for instance 1, 2, or 3 for r, g, or b, respectively, or 4 for the alpha channel of a four-component image.

setAlphaFilename
void EggTexture::set_alpha_filename(Filename const &filename);

Description: Specifies a separate file that will be loaded in with the 1- or 3-component texture and applied as the alpha channel. This is useful when loading textures from file formats that do not support alpha, for instance jpg.

setAlphaFullpath
void EggTexture::set_alpha_fullpath(Filename const &fullpath);

Description: Records the full pathname to the file, for the benefit of get_alpha_fullpath().

setAlphaScale
void EggTexture::set_alpha_scale(int alpha_scale);

Description: Sets an additional factor that will scale the alpha component after the texture has been applied. This is used only when a combine mode is in effect.
The only legal values are 1, 2, or 4.

setAnisotropicDegree
void EggTexture::set_anisotropic_degree(int anisotropic_degree);

Description: Sets the degree of anisotropic filtering for this texture. 1 is off; higher levels indicate filtering in effect.

setBorderColor
void EggTexture::set_border_color(LVecBase4f const &border_color);

Description:

setColor
void EggTexture::set_color(LVecBase4f const &color);

Description:

setCombineMode
void EggTexture::set_combine_mode(EggTexture::CombineChannel channel, EggTexture::CombineMode cm);

Description:

setCombineOperand
void EggTexture::set_combine_operand(EggTexture::CombineChannel channel, int n, EggTexture::CombineOperand co);

Description:

setCombineSource
void EggTexture::set_combine_source(EggTexture::CombineChannel channel, int n, EggTexture::CombineSource cs);

Description:

setCompressionMode
void EggTexture::set_compression_mode(EggTexture::CompressionMode mode);

Description:

setEnvType
void EggTexture::set_env_type(EggTexture::EnvType type);

Description:

setFormat
void EggTexture::set_format(EggTexture::Format format);

Description:

setMagfilter
void EggTexture::set_magfilter(EggTexture::FilterType type);

Description:

setMinfilter
void EggTexture::set_minfilter(EggTexture::FilterType type);

Description:

setPriority
void EggTexture::set_priority(int priority);

Description: Sets the importance of this texture with respect to other textures also applied on the same geometry. This is only meaningful in the presence of multitexturing.

setQualityLevel
void EggTexture::set_quality_level(EggTexture::QualityLevel quality_level);

Description:

setReadMipmaps
void EggTexture::set_read_mipmaps(bool read_mipmaps);

Description: Sets the read_mipmaps flag.
If read_mipmaps is true, the filename should contain a hash mark ('#'), which will be filled in with the mipmap level number; and the texture will be defined with a series of images, one for each mipmap level.
If the filename is of a time that already requires a hash mark, such as a cube map or a 3-d texture, then the filename should now require two hash marks, and the first one indicates the mipmap level number, while the second indicates the face number or 3-d level number.

setRgbScale
void EggTexture::set_rgb_scale(int rgb_scale);

Description: Sets an additional factor that will scale all three r, g, b components after the texture has been applied. This is used only when a combine mode is in effect.
The only legal values are 1, 2, or 4.

setSavedResult
void EggTexture::set_saved_result(bool saved_result);

Description: Sets the saved_result flag. When this is true, the output of this stage is not part of the normal pipeline--that is, it will not be supplied as the "previous" source for the next texture stage--but it will instead be supplied as the "last_saved_result" source for any future stages, until the next TextureStage with a saved_result set true is encountered.
This can be used to reuse the results of this texture stage as input to more than one stage later in the pipeline.
The last texture in the pipeline (the one with the highest sort value) should not have this flag set.

setStageName
void EggTexture::set_stage_name(string const &stage_name);

Description: Specifies the particular TextureStage this texture will be rendered on by name. If this is omitted, the texture will be rendered on the default TextureStage, unless some other stage-specific property is specificied, in which case the texture will be rendered on a TextureStage with the same name as the tref. This is in support of multitexturing.
Each different TextureStage in the world must be uniquely named.

setTexGen
void EggTexture::set_tex_gen(EggTexture::TexGen tex_gen);

Description:

setTextureType
void EggTexture::set_texture_type(EggTexture::TextureType texture_type);

Description:

setUvName
void EggTexture::set_uv_name(string const &uv_name);

Description: Specifies the named set of texture coordinates that this texture will use when it is applied to geometry. Geometry may have multiple sets of texture coordinates defined, by name.
If this is not specified for a particular texture, the default set of texture coordinates will be used.

setWrapMode
void EggTexture::set_wrap_mode(EggTexture::WrapMode mode);

Description:

setWrapU
void EggTexture::set_wrap_u(EggTexture::WrapMode mode);

Description:

setWrapV
void EggTexture::set_wrap_v(EggTexture::WrapMode mode);

Description:

setWrapW
void EggTexture::set_wrap_w(EggTexture::WrapMode mode);

Description:

sortsLessThan
bool EggTexture::sorts_less_than(EggTexture const &other, int eq) const;

Description: An ordering operator to compare two textures for sorting order. This imposes an arbitrary ordering useful to identify unique textures, according to the indicated Equivalence factor. See is_equivalent_to().

stringCombineMode
static EggTexture::CombineMode EggTexture::string_combine_mode(string const &string);

Description: Returns the CombineMode value associated with the given string representation, or CM_unspecified if the string does not match any known CombineMode value.

stringCombineOperand
static EggTexture::CombineOperand EggTexture::string_combine_operand(string const &string);

Description: Returns the CombineOperand value associated with the given string representation, or CO_unspecified if the string does not match any known CombineOperand value.

stringCombineSource
static EggTexture::CombineSource EggTexture::string_combine_source(string const &string);

Description: Returns the CombineSource value associated with the given string representation, or CS_unspecified if the string does not match any known CombineSource value.

stringCompressionMode
static EggTexture::CompressionMode EggTexture::string_compression_mode(string const &string);

Description: Returns the CompressionMode value associated with the given string representation, or CM_default if the string does not match any known CompressionMode value.

stringEnvType
static EggTexture::EnvType EggTexture::string_env_type(string const &string);

Description: Returns the EnvType value associated with the given string representation, or ET_unspecified if the string does not match any known EnvType value.

stringFilterType
static EggTexture::FilterType EggTexture::string_filter_type(string const &string);

Description: Returns the FilterType value associated with the given string representation, or FT_unspecified if the string does not match any known FilterType value.

stringFormat
static EggTexture::Format EggTexture::string_format(string const &string);

Description: Returns the Format value associated with the given string representation, or F_unspecified if the string does not match any known Format value.

stringQualityLevel
static EggTexture::QualityLevel EggTexture::string_quality_level(string const &string);

Description: Returns the TexGen value associated with the given string representation, or ET_unspecified if the string does not match any known TexGen value.

stringTexGen
static EggTexture::TexGen EggTexture::string_tex_gen(string const &string);

Description: Returns the TexGen value associated with the given string representation, or ET_unspecified if the string does not match any known TexGen value.

stringTextureType
static EggTexture::TextureType EggTexture::string_texture_type(string const &string);

Description: Returns the Texture_ype value associated with the given string representation, or TT_unspecified if the string does not match any known TextureType value.

stringWrapMode
static EggTexture::WrapMode EggTexture::string_wrap_mode(string const &string);

Description: Returns the WrapMode value associated with the given string representation, or WM_unspecified if the string does not match any known WrapMode value.

write
virtual void EggTexture::write(ostream &out, int indent_level) const;

Description: Writes the texture definition to the indicated output stream in Egg format.

getClassType
static TypeHandle EggFilenameNode::get_class_type(void);

Undocumented function.

getDefaultExtension
virtual string EggFilenameNode::get_default_extension(void) const;

Description: Returns the default extension for this filename type.

getFilename
Filename const &EggFilenameNode::get_filename(void) const;

Description: Returns a nonmodifiable reference to the filename.

getFullpath
Filename const &EggFilenameNode::get_fullpath(void) const;

Description: Returns the full pathname to the file, if it is known; otherwise, returns the same thing as get_filename().
This function simply returns whatever was set by the last call to set_fullpath(). This string is not written to the egg file; its main purpose is to record the full path to a filename (for instance, a texture filename) if it is known, for egg structures that are generated in-memory and then immediately converted to a scene graph.

operator =
EggFilenameNode &EggFilenameNode::operator =(EggFilenameNode const &copy);

Description:

setFilename
void EggFilenameNode::set_filename(Filename const &filename);

Description:

setFullpath
void EggFilenameNode::set_fullpath(Filename const &fullpath);

Description: Records the full pathname to the file, for the benefit of get_fullpath().

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggTransform
EggTransform::EggTransform(void);

Description:

addMatrix3
void EggTransform::add_matrix3(LMatrix3d const &mat);

Description: Appends an arbitrary 3x3 matrix to the current transform.

addMatrix4
void EggTransform::add_matrix4(LMatrix4d const &mat);

Description: Appends an arbitrary 4x4 matrix to the current transform.

addRotate2d
void EggTransform::add_rotate2d(double angle);

Description: Appends a 2-d rotation to the current transform. The rotation angle is specified in degrees counterclockwise about the origin.

addRotate3d
void EggTransform::add_rotate3d(double angle, LVector3d const &axis);

Description: Appends a 3-d rotation about an arbitrary axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.
Description: Appends an arbitrary 3-d rotation to the current transform, expressed as a quaternion. This is converted to axis-angle notation for the egg file.

addRotx
void EggTransform::add_rotx(double angle);

Description: Appends a rotation about the X axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.

addRoty
void EggTransform::add_roty(double angle);

Description: Appends a rotation about the Y axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.

addRotz
void EggTransform::add_rotz(double angle);

Description: Appends a rotation about the Z axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.

addScale2d
void EggTransform::add_scale2d(LVecBase2d const &scale);

Description: Appends a possibly non-uniform scale to the current transform.

addScale3d
void EggTransform::add_scale3d(LVecBase3d const &scale);

Description: Appends a possibly non-uniform scale to the current transform.

addTranslate2d
void EggTransform::add_translate2d(LVector2d const &translate);

Description: Appends a 2-d translation operation to the current transform.

addTranslate3d
void EggTransform::add_translate3d(LVector3d const &translate);

Description: Appends a 3-d translation operation to the current transform.

addUniformScale
void EggTransform::add_uniform_scale(double scale);

Description: Appends a uniform scale to the current transform.

clearTransform
void EggTransform::clear_transform(void);

Description: Resets the transform to empty, identity.

getComponentMat3
LMatrix3d const &EggTransform::get_component_mat3(int n) const;

Description: Returns the 3x3 matrix associated with the nth component. It is an error to call this if the component type is not CT_matrix3.

getComponentMat4
LMatrix4d const &EggTransform::get_component_mat4(int n) const;

Description: Returns the 4x4 matrix associated with the nth component. It is an error to call this if the component type is not CT_matrix4.

getComponentNumber
double EggTransform::get_component_number(int n) const;

Description: Returns the solitary number associated with the nth component. In the case of a rotation, this is the angle in degrees to rotate; in the case of uniform scale, this is the amount of the scale. Other types do not use this property.

getComponentType
EggTransform::ComponentType EggTransform::get_component_type(int n) const;

Description: Returns the type of the nth component.

getComponentVec2
LVecBase2d const &EggTransform::get_component_vec2(int n) const;

Description: Returns the 2-component vector associated with the nth component. This may be the translate vector, rotate axis, or non-uniform scale. It is an error to call this if the component type does not use a 2-d vector property.

getComponentVec3
LVecBase3d const &EggTransform::get_component_vec3(int n) const;

Description: Returns the 3-component vector associated with the nth component. This may be the translate vector, rotate axis, or non-uniform scale. It is an error to call this if the component type does not use a 3-d vector property.

getNumComponents
int EggTransform::get_num_components(void) const;

Description: Returns the number of components that make up the transform.

getTransform2d
LMatrix3d EggTransform::get_transform2d(void) const;

Description: Returns the overall transform as a 3x3 matrix. It is an error to call this if has_transform3d() is true.

getTransform3d
LMatrix4d const &EggTransform::get_transform3d(void) const;

Description: Returns the overall transform as a 4x4 matrix. It is valid to call this even if has_transform2d() is true; in this case, the 3x3 transform will be expanded to a 4x4 matrix.

hasTransform
bool EggTransform::has_transform(void) const;

Description: Returns true if the transform is nonempty, false if it is empty (no transform components have been added). This is true for either a 2-d or a 3-d transform.

hasTransform2d
bool EggTransform::has_transform2d(void) const;

Description: Returns true if the transform is specified as a 2-d transform, e.g. with a 3x3 matrix, or false if it is specified as a 3-d transform (with a 4x4 matrix), or not specified at all.
Normally, EggTextures have a 2-d matrix (but occasionally they use a 3-d matrix), and EggGroups always have a 3-d matrix.

hasTransform3d
bool EggTransform::has_transform3d(void) const;

Description: Returns true if the transform is specified as a 3-d transform, e.g. with a 4x4 matrix, or false if it is specified as a 2-d transform (with a 2x2 matrix), or not specified at all.
Normally, EggTextures have a 3-d matrix (but occasionally they use a 3-d matrix), and EggGroups always have a 3-d matrix.

operator =
EggTransform &EggTransform::operator =(EggTransform const &copy);

Description:

setTransform2d
void EggTransform::set_transform2d(LMatrix3d const &mat);

Description: Sets the overall transform as a 3x3 matrix. This completely replaces whatever componentwise transform may have been defined.

setTransform3d
void EggTransform::set_transform3d(LMatrix4d const &mat);

Description: Sets the overall transform as a 4x4 matrix. This completely replaces whatever componentwise transform may have been defined.

transformIsIdentity
bool EggTransform::transform_is_identity(void) const;

Description: Returns true if the described transform is identity, false otherwise.

write
void EggTransform::write(ostream &out, int indent_level) const;

Description: Writes the transform to the indicated stream in Egg format.


EggTextureCollection

    from pandac.PandaModules import EggTextureCollection
    Class : EggTextureCollection
    Description : This is a collection of textures by TRef name. It can extract the textures from an egg file and sort them all together; it can also manage the creation of unique textures and the assignment of unique TRef names.

Inheritance:

    EggTextureCollection:

Methods of EggTextureCollection:

    EggTextureCollection (Constructor)
    addTexture
    clear
    collapseEquivalentTextures
    createUniqueTexture
    extractTextures
    findFilename
    findTref
    findUsedTextures
    getNumTextures
    getTexture
    isEmpty
    operator =
    removeTexture
    removeUnusedTextures
    replaceTextures
    sortByBasename
    sortByTref
    uniquifyTrefs
EggTextureCollection
EggTextureCollection::EggTextureCollection(void);

Description:

addTexture
bool EggTextureCollection::add_texture(EggTexture *texture);

Description: Explicitly adds a new texture to the collection. Returns true if the texture was added, false if it was already there or if there was some error.

clear
void EggTextureCollection::clear(void);

Description: Removes all textures from the collection.

collapseEquivalentTextures
int EggTextureCollection::collapse_equivalent_textures(int eq, EggGroupNode *node);

Description: Walks through the collection and collapses together any separate textures that are equivalent according to the indicated equivalence factor, eq (see EggTexture::is_equivalent_to()). The return value is the number of textures removed.
This flavor of collapse_equivalent_textures() automatically adjusts all the primitives in the egg hierarchy to refer to the new texture pointers.
This flavor of collapse_equivalent_textures() does not adjust any primitives in the egg hierarchy; instead, it fills up the 'removed' map with an entry for each removed texture, mapping it back to the equivalent retained texture. It's up to the user to then call replace_textures() with this map, if desired, to apply these changes to the egg hierarchy.

createUniqueTexture
EggTexture *EggTextureCollection::create_unique_texture(EggTexture const &copy, int eq);

create_unique_texture() creates a new texture if there is not already one equivalent (according to eq, see EggTexture::is_equivalent_to()) to the indicated texture, or returns the existing one if there is.
Description: Creates a new texture if there is not already one equivalent (according to eq, see EggTexture::is_equivalent_to()) to the indicated texture, or returns the existing one if there is.

extractTextures
int EggTextureCollection::extract_textures(EggGroupNode *node);

Description: Walks the egg hierarchy beginning at the indicated node, and removes any EggTextures encountered in the hierarchy, adding them to the collection. Returns the number of EggTextures encountered.

findFilename
EggTexture *EggTextureCollection::find_filename(Filename const &filename) const;

Find a texture with a particular filename.
Description: Returns the texture with the indicated filename, or NULL if no texture matches.

findTref
EggTexture *EggTextureCollection::find_tref(string const &tref_name) const;

Find a texture with a particular TRef name.
Description: Returns the texture with the indicated TRef name, or NULL if no texture matches.

findUsedTextures
int EggTextureCollection::find_used_textures(EggNode *node);

Description: Walks the egg hierarchy beginning at the indicated node, looking for textures that are referenced by primitives but are not already members of the collection, adding them to the collection.
If this is called following extract_textures(), it can be used to pick up any additional texture references that appeared in the egg hierarchy (but whose EggTexture node was not actually part of the hierarchy).
If this is called in lieu of extract_textures(), it will fill up the collection with all of the referenced textures (and only the referenced textures), without destructively removing the EggTextures from the hierarchy.
This also has the side effect of incrementing the internal usage count for a texture in the collection each time a texture reference is encountered. This side effect is taken advantage of by remove_unused_textures().
And one more side effect: this function identifies the presence of multitexturing in the egg file, and calls multitexture_over() on each texture appropriately so that, after this call, you may expect get_multitexture_sort() to return a reasonable value for each texture.

getNumTextures
int EggTextureCollection::get_num_textures(void) const;

Description: Returns the number of EggTextures in the collection.

getTexture
EggTexture *EggTextureCollection::get_texture(int index) const;

Description: Returns the nth EggTexture in the collection.

isEmpty
bool EggTextureCollection::is_empty(void) const;

Description: Returns true if there are no EggTexures in the collection, false otherwise.

operator =
EggTextureCollection &EggTextureCollection::operator =(EggTextureCollection const &copy);

Description:

removeTexture
bool EggTextureCollection::remove_texture(EggTexture *texture);

Description: Explicitly removes a texture from the collection. Returns true if the texture was removed, false if it wasn't there or if there was some error.

removeUnusedTextures
void EggTextureCollection::remove_unused_textures(EggNode *node);

Description: Removes any textures from the collection that aren't referenced by any primitives in the indicated egg hierarchy. This also, incidentally, adds textures to the collection that had been referenced by primitives but had not previously appeared in the collection.

replaceTextures
static void EggTextureCollection::replace_textures(EggGroupNode *node, map< PointerTo< EggTexture >, PointerTo< EggTexture > > const &replace);

Description: Walks the egg hierarchy, changing out any reference to a texture appearing on the left side of the map with its corresponding texture on the right side. This is most often done following a call to collapse_equivalent_textures(). It does not directly affect the Collection.

sortByBasename
void EggTextureCollection::sort_by_basename(void);

Description: Sorts all the textures into alphabetical order by the basename part (including extension) of the filename. Subsequent operations using begin()/end() will traverse in this sorted order.

sortByTref
void EggTextureCollection::sort_by_tref(void);

Description: Sorts all the textures into alphabetical order by TRef name. Subsequent operations using begin()/end() will traverse in this sorted order.

uniquifyTrefs
void EggTextureCollection::uniquify_trefs(void);

Description: Guarantees that each texture in the collection has a unique TRef name. This is essential before writing an egg file.


EggTransform

    from pandac.PandaModules import EggTransform
    Class : EggTransform
    Description : This 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.
    This may be either a 3-d transform, and therefore described by a 4x4 matrix, or a 2-d transform, described by a 3x3 matrix.

Inheritance:

    EggTransform:

Methods of EggTransform:

    EggTransform (Constructor)
    addMatrix3
    addMatrix4
    addRotate2d
    addRotate3d
    addRotx
    addRoty
    addRotz
    addScale2d
    addScale3d
    addTranslate2d
    addTranslate3d
    addUniformScale
    clearTransform
    getComponentMat3
    getComponentMat4
    getComponentNumber
    getComponentType
    getComponentVec2
    getComponentVec3
    getNumComponents
    getTransform2d
    getTransform3d
    hasTransform
    hasTransform2d
    hasTransform3d
    operator =
    setTransform2d
    setTransform3d
    transformIsIdentity
    write

Constants in EggTransform:

    CTInvalid | (ComponentType)
CTTranslate2d | (ComponentType)
CTTranslate3d | (ComponentType)
CTRotate2d | (ComponentType)
CTRotx | (ComponentType)
CTRoty | (ComponentType)
CTRotz | (ComponentType)
CTRotate3d | (ComponentType)
CTScale2d | (ComponentType)
CTScale3d | (ComponentType)
CTUniformScale | (ComponentType)
CTMatrix3 | (ComponentType)
CTMatrix4 | (ComponentType)
EggTransform
EggTransform::EggTransform(void);

Description:

addMatrix3
void EggTransform::add_matrix3(LMatrix3d const &mat);

Description: Appends an arbitrary 3x3 matrix to the current transform.

addMatrix4
void EggTransform::add_matrix4(LMatrix4d const &mat);

Description: Appends an arbitrary 4x4 matrix to the current transform.

addRotate2d
void EggTransform::add_rotate2d(double angle);

Description: Appends a 2-d rotation to the current transform. The rotation angle is specified in degrees counterclockwise about the origin.

addRotate3d
void EggTransform::add_rotate3d(double angle, LVector3d const &axis);

Description: Appends a 3-d rotation about an arbitrary axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.
Description: Appends an arbitrary 3-d rotation to the current transform, expressed as a quaternion. This is converted to axis-angle notation for the egg file.

addRotx
void EggTransform::add_rotx(double angle);

Description: Appends a rotation about the X axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.

addRoty
void EggTransform::add_roty(double angle);

Description: Appends a rotation about the Y axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.

addRotz
void EggTransform::add_rotz(double angle);

Description: Appends a rotation about the Z axis to the current transform. The rotation angle is specified in degrees counterclockwise about the axis.

addScale2d
void EggTransform::add_scale2d(LVecBase2d const &scale);

Description: Appends a possibly non-uniform scale to the current transform.

addScale3d
void EggTransform::add_scale3d(LVecBase3d const &scale);

Description: Appends a possibly non-uniform scale to the current transform.

addTranslate2d
void EggTransform::add_translate2d(LVector2d const &translate);

Description: Appends a 2-d translation operation to the current transform.

addTranslate3d
void EggTransform::add_translate3d(LVector3d const &translate);

Description: Appends a 3-d translation operation to the current transform.

addUniformScale
void EggTransform::add_uniform_scale(double scale);

Description: Appends a uniform scale to the current transform.

clearTransform
void EggTransform::clear_transform(void);

Description: Resets the transform to empty, identity.

getComponentMat3
LMatrix3d const &EggTransform::get_component_mat3(int n) const;

Description: Returns the 3x3 matrix associated with the nth component. It is an error to call this if the component type is not CT_matrix3.

getComponentMat4
LMatrix4d const &EggTransform::get_component_mat4(int n) const;

Description: Returns the 4x4 matrix associated with the nth component. It is an error to call this if the component type is not CT_matrix4.

getComponentNumber
double EggTransform::get_component_number(int n) const;

Description: Returns the solitary number associated with the nth component. In the case of a rotation, this is the angle in degrees to rotate; in the case of uniform scale, this is the amount of the scale. Other types do not use this property.

getComponentType
EggTransform::ComponentType EggTransform::get_component_type(int n) const;

Description: Returns the type of the nth component.

getComponentVec2
LVecBase2d const &EggTransform::get_component_vec2(int n) const;

Description: Returns the 2-component vector associated with the nth component. This may be the translate vector, rotate axis, or non-uniform scale. It is an error to call this if the component type does not use a 2-d vector property.

getComponentVec3
LVecBase3d const &EggTransform::get_component_vec3(int n) const;

Description: Returns the 3-component vector associated with the nth component. This may be the translate vector, rotate axis, or non-uniform scale. It is an error to call this if the component type does not use a 3-d vector property.

getNumComponents
int EggTransform::get_num_components(void) const;

Description: Returns the number of components that make up the transform.

getTransform2d
LMatrix3d EggTransform::get_transform2d(void) const;

Description: Returns the overall transform as a 3x3 matrix. It is an error to call this if has_transform3d() is true.

getTransform3d
LMatrix4d const &EggTransform::get_transform3d(void) const;

Description: Returns the overall transform as a 4x4 matrix. It is valid to call this even if has_transform2d() is true; in this case, the 3x3 transform will be expanded to a 4x4 matrix.

hasTransform
bool EggTransform::has_transform(void) const;

Description: Returns true if the transform is nonempty, false if it is empty (no transform components have been added). This is true for either a 2-d or a 3-d transform.

hasTransform2d
bool EggTransform::has_transform2d(void) const;

Description: Returns true if the transform is specified as a 2-d transform, e.g. with a 3x3 matrix, or false if it is specified as a 3-d transform (with a 4x4 matrix), or not specified at all.
Normally, EggTextures have a 2-d matrix (but occasionally they use a 3-d matrix), and EggGroups always have a 3-d matrix.

hasTransform3d
bool EggTransform::has_transform3d(void) const;

Description: Returns true if the transform is specified as a 3-d transform, e.g. with a 4x4 matrix, or false if it is specified as a 2-d transform (with a 2x2 matrix), or not specified at all.
Normally, EggTextures have a 3-d matrix (but occasionally they use a 3-d matrix), and EggGroups always have a 3-d matrix.

operator =
EggTransform &EggTransform::operator =(EggTransform const &copy);

Description:

setTransform2d
void EggTransform::set_transform2d(LMatrix3d const &mat);

Description: Sets the overall transform as a 3x3 matrix. This completely replaces whatever componentwise transform may have been defined.

setTransform3d
void EggTransform::set_transform3d(LMatrix4d const &mat);

Description: Sets the overall transform as a 4x4 matrix. This completely replaces whatever componentwise transform may have been defined.

transformIsIdentity
bool EggTransform::transform_is_identity(void) const;

Description: Returns true if the described transform is identity, false otherwise.

write
void EggTransform::write(ostream &out, int indent_level) const;

Description: Writes the transform to the indicated stream in Egg format.


EggTriangleFan

    from pandac.PandaModules import EggTriangleFan
    Class : EggTriangleFan
    Description : A connected fan of triangles. This does not normally appear in an egg file; it is typically generated as a result of meshing.

Inheritance:

    EggTriangleFan: EggCompositePrimitive
    EggCompositePrimitive: EggPrimitive
    EggPrimitive: EggNode EggAttributes EggRenderMode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggAttributes:
    EggRenderMode:

Methods of EggTriangleFan:

    EggTriangleFan (Constructor)
    getClassType
    operator =

Methods of EggCompositePrimitive:

    getClassType
    getComponent
    getNumComponents
    operator =
    setComponent
    triangulateInPlace
    triangulateInto

Methods of EggPrimitive:

    addTexture
    addVertex
    applyFirstAttribute
    applyLastAttribute
    cleanup
    clear
    clearConnectedShading
    clearMaterial
    clearTexture
    copyAttributes
    copyVertices
    determineAlphaMode
    determineBin
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineVisibilityMode
    getBfaceFlag
    getClassType
    getConnectedShading
    getMaterial
    getNumTextures
    getNumVertices
    getPool
    getShading
    getSortName
    getTexture
    getVertex
    hasMaterial
    hasNormals
    hasPrimitives
    hasTexture
    hasVertexColor
    hasVertexNormal
    jointHasPrimitives
    operator =
    postApplyFlatAttribute
    removeDoubledVerts
    removeNonuniqueVerts
    removeVertex
    reverseVertexOrdering
    setBfaceFlag
    setMaterial
    setTexture
    setVertex
    testVrefIntegrity
    unifyAttributes
    write

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Constants in EggPrimitive:

    SUnknown | (Shading)
SOverall | (Shading)
SPerFace | (Shading)
SPerVertex | (Shading)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)
EggTriangleFan
EggTriangleFan::EggTriangleFan(string const &name = (""));

Description:

getClassType
static TypeHandle EggTriangleFan::get_class_type(void);

Undocumented function.

operator =
EggTriangleFan &EggTriangleFan::operator =(EggTriangleFan const &copy);

Description:

getClassType
static TypeHandle EggCompositePrimitive::get_class_type(void);

Undocumented function.

getComponent
EggAttributes const *EggCompositePrimitive::get_component(int i) const;

Description: Returns the attributes for the nth component triangle.

getNumComponents
int EggCompositePrimitive::get_num_components(void) const;

Description: Returns the number of individual component triangles within the composite. Each one of these might have a different set of attributes.

operator =
EggCompositePrimitive &EggCompositePrimitive::operator =(EggCompositePrimitive const &copy);

Description:

setComponent
void EggCompositePrimitive::set_component(int i, EggAttributes const *attrib);

Description: Changes the attributes for the nth component triangle.

triangulateInPlace
PointerTo< EggCompositePrimitive > EggCompositePrimitive::triangulate_in_place(void);

Description: Subdivides the composite primitive into triangles and adds those triangles to the parent group node in place of the original primitive. Returns a pointer to the original primitive, which is likely about to be destructed.
If convex_also is true, both concave and convex polygons will be subdivided into triangles; otherwise, only concave polygons will be subdivided, and convex polygons will be copied unchanged into the container.

triangulateInto
bool EggCompositePrimitive::triangulate_into(EggGroupNode *container) const;

Description: Subdivides the composite primitive into triangles and adds those triangles to the indicated container. Does not remove the primitive from its existing parent or modify it in any way.
Returns true if the triangulation is successful, or false if there was some error (in which case the container may contain some partial triangulation).

addTexture
void EggPrimitive::add_texture(EggTexture *texture);

Description: Applies the indicated texture to the primitive.
Note that, in the case of multiple textures being applied to a single primitive, the order in which the textures are applied does not affect the rendering order; use EggTexture::set_sort() to specify that.

addVertex
EggVertex *EggPrimitive::add_vertex(EggVertex *vertex);

Description: Adds the indicated vertex to the end of the primitive's list of vertices, and returns it.

applyFirstAttribute
virtual void EggPrimitive::apply_first_attribute(void);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

applyLastAttribute
virtual void EggPrimitive::apply_last_attribute(void);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

cleanup
virtual bool EggPrimitive::cleanup(void);

Description: Cleans up modeling errors in whatever context this makes sense. For instance, for a polygon, this calls remove_doubled_verts(true). For a point, it calls remove_nonunique_verts(). Returns true if the primitive is valid, or false if it is degenerate.

clear
void EggPrimitive::clear(void);

Description: Removes all of the vertices from the primitive.

clearConnectedShading
void EggPrimitive::clear_connected_shading(void);

Description: Resets the connected_shading member in this primitive, so that get_connected_shading() will recompute a new value.

clearMaterial
void EggPrimitive::clear_material(void);

Description: Removes any material from the primitive.

clearTexture
void EggPrimitive::clear_texture(void);

Description: Removes any texturing from the primitive.

copyAttributes
void EggPrimitive::copy_attributes(EggAttributes const &other);

Description: Copies the rendering attributes from the indicated primitive.

copyVertices
void EggPrimitive::copy_vertices(EggPrimitive const &other);

Description: Replaces the current primitive's list of vertices with a copy of the list of vertices on the other primitive.

determineAlphaMode
virtual EggRenderMode *EggPrimitive::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggPrimitive::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthTestMode
virtual EggRenderMode *EggPrimitive::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggPrimitive::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggPrimitive::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineVisibilityMode
virtual EggRenderMode *EggPrimitive::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBfaceFlag
bool EggPrimitive::get_bface_flag(void) const;

Description: Retrieves the backfacing flag of the polygon. See set_bface_flag().

getClassType
static TypeHandle EggPrimitive::get_class_type(void);

Undocumented function.

getConnectedShading
EggPrimitive::Shading EggPrimitive::get_connected_shading(void) const;

Description: Determines what sort of shading properties this primitive's connected neighbors have.
To get the most accurate results, you should first call clear_connected_shading() on all connected primitives (or on all primitives in the egg file). It might also be a good idea to call remove_unused_vertices() to ensure proper connectivity.
You may find it easiest to call these other methods on the EggData root node (they are defined on EggGroupNode).

getMaterial
EggMaterial *EggPrimitive::get_material(void) const;

Description: Returns a pointer to the applied material, or NULL if there is no material applied.

getNumTextures
int EggPrimitive::get_num_textures(void) const;

Description: Returns the number of textures applied to the primitive.

getNumVertices
int EggPrimitive::get_num_vertices(void) const;

These are shorthands if you don't want to use the iterators.
Description:

getPool
EggVertexPool *EggPrimitive::get_pool(void) const;

Description: Returns the vertex pool associated with the vertices of the primitive, or NULL if the primitive has no vertices.

getShading
virtual EggPrimitive::Shading EggPrimitive::get_shading(void) const;

Description: Returns the shading properties apparent on this particular primitive. This returns S_per_vertex if the vertices have colors or normals (and they are not all the same values), or for a simple primitive, S_overall otherwise. A composite primitive may also return S_per_face if the individual component primitives have colors or normals that are not all the same values.
To get the most accurate results, you should call clear_shading() on all connected primitives (or on all primitives in the egg file), followed by get_shading() on each primitive. You may find it easiest to call these methods on the EggData root node (they are defined on EggGroupNode).

getSortName
string EggPrimitive::get_sort_name(void) const;

Description: Returns the name of the primitive for the purposes of sorting primitives into different groups, if there is one.
Presently, this is defined as the primitive name itself, unless it begins with a digit.

getTexture
EggTexture *EggPrimitive::get_texture(void) const;

Description: Returns the first texture on the primitive, if any, or NULL if there are no textures on the primitive.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns the nth texture that has been applied to the primitive.

getVertex
EggVertex *EggPrimitive::get_vertex(int index) const;

Description: Returns a particular index based on its index number.

hasMaterial
bool EggPrimitive::has_material(void) const;

Description: Returns true if the primitive is materiald (and get_material() will return a real pointer), false otherwise (and get_material() will return NULL).

hasNormals
virtual bool EggPrimitive::has_normals(void) const;

Description: Returns true if any of the primitives (e.g. polygons) defined within this group or below have either face or vertex normals defined, false otherwise.

hasPrimitives
virtual bool EggPrimitive::has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, false otherwise.

hasTexture
bool EggPrimitive::has_texture(void) const;

Description: Returns true if the primitive has any textures specified, false otherwise.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns true if the primitive has the particular indicated texture, false otherwise.

hasVertexColor
bool EggPrimitive::has_vertex_color(void) const;

Description: Returns true if any vertex on the primitive has a specific color set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

hasVertexNormal
bool EggPrimitive::has_vertex_normal(void) const;

Description: Returns true if any vertex on the primitive has a specific normal set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

jointHasPrimitives
virtual bool EggPrimitive::joint_has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, but the search does not include nested joints.

operator =
EggPrimitive &EggPrimitive::operator =(EggPrimitive const &copy);

Description:

postApplyFlatAttribute
virtual void EggPrimitive::post_apply_flat_attribute(void);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

removeDoubledVerts
void EggPrimitive::remove_doubled_verts(bool closed);

Description: Certain kinds of primitives, particularly polygons, don't like to have the same vertex repeated consecutively. Unfortunately, some modeling programs (like MultiGen) make this an easy mistake to make.
It's handy to have a function to remove these redundant vertices. If closed is true, it also checks that the first and last vertices are not the same.
This function identifies repeated vertices by position only; it does not consider any other properties, such as color or UV, significant in differentiating vertices.

removeNonuniqueVerts
void EggPrimitive::remove_nonunique_verts(void);

Description: Removes any multiple appearances of the same vertex from the primitive. This primarily makes sense for a point primitive, which is really a collection of points and which doesn't make sense to include the same point twice, in any order.

removeVertex
EggVertex *EggPrimitive::remove_vertex(EggVertex *vertex);

Description: Removes the indicated vertex from the primitive and returns it. If the vertex was not already in the primitive, does nothing and returns NULL.

reverseVertexOrdering
virtual void EggPrimitive::reverse_vertex_ordering(void);

Description: Reverses the ordering of the vertices in this primitive, if appropriate, in order to change the direction the polygon appears to be facing. Does not adjust the surface normal, if any.

setBfaceFlag
void EggPrimitive::set_bface_flag(bool flag);

Description: Sets the backfacing flag of the polygon. If this is true, the polygon will be rendered so that both faces are visible; if it is false, only the front face of the polygon will be visible.

setMaterial
void EggPrimitive::set_material(EggMaterial *material);

Description: Applies the indicated material to the primitive.

setTexture
void EggPrimitive::set_texture(EggTexture *texture);

Description: Replaces the current list of textures with the indicated texture.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.q

setVertex
void EggPrimitive::set_vertex(int index, EggVertex *vertex);

These are shorthands if you don't want to use the iterators.
Description: Replaces a particular vertex based on its index number in the list of vertices. This is just a convenience function for people who don't want to mess with the iterators.

testVrefIntegrity
void EggPrimitive::test_vref_integrity(void) const;

Description: Verifies that each vertex in the primitive exists and that it knows it is referenced by the primitive.

unifyAttributes
virtual void EggPrimitive::unify_attributes(EggPrimitive::Shading shading);

Description: If the shading property is S_per_vertex, ensures that all vertices have a normal and a color, and the overall primitive does not.
If the shading property is S_per_face, and this is a composite primitive, ensures that all components have a normal and a color, and the vertices and overall primitive do not. (If this is a simple primitive, S_per_face works the same as S_overall, below).
If the shading property is S_overall, ensures that no vertices or components have a normal or a color, and the overall primitive does (if any exists at all).
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
This may create redundant vertices in the vertex pool.

write
virtual void EggPrimitive::write(ostream &out, int indent_level) const = 0;

Undocumented function.

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggTriangleStrip

    from pandac.PandaModules import EggTriangleStrip
    Class : EggTriangleStrip
    Description : A connected strip of triangles. This does not normally appear in an egg file; it is typically generated as a result of meshing.

Inheritance:

    EggTriangleStrip: EggCompositePrimitive
    EggCompositePrimitive: EggPrimitive
    EggPrimitive: EggNode EggAttributes EggRenderMode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    EggAttributes:
    EggRenderMode:

Methods of EggTriangleStrip:

    EggTriangleStrip (Constructor)
    getClassType
    operator =

Methods of EggCompositePrimitive:

    getClassType
    getComponent
    getNumComponents
    operator =
    setComponent
    triangulateInPlace
    triangulateInto

Methods of EggPrimitive:

    addTexture
    addVertex
    applyFirstAttribute
    applyLastAttribute
    cleanup
    clear
    clearConnectedShading
    clearMaterial
    clearTexture
    copyAttributes
    copyVertices
    determineAlphaMode
    determineBin
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineVisibilityMode
    getBfaceFlag
    getClassType
    getConnectedShading
    getMaterial
    getNumTextures
    getNumVertices
    getPool
    getShading
    getSortName
    getTexture
    getVertex
    hasMaterial
    hasNormals
    hasPrimitives
    hasTexture
    hasVertexColor
    hasVertexNormal
    jointHasPrimitives
    operator =
    postApplyFlatAttribute
    removeDoubledVerts
    removeNonuniqueVerts
    removeVertex
    reverseVertexOrdering
    setBfaceFlag
    setMaterial
    setTexture
    setVertex
    testVrefIntegrity
    unifyAttributes
    write

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write

Methods of EggRenderMode:

    EggRenderMode (Constructor)
    clearBin
    clearDrawOrder
    getAlphaMode
    getBin
    getClassType
    getDepthTestMode
    getDepthWriteMode
    getDrawOrder
    getVisibilityMode
    hasBin
    hasDrawOrder
    operator !=
    operator <
    operator =
    operator ==
    setAlphaMode
    setBin
    setDepthTestMode
    setDepthWriteMode
    setDrawOrder
    setVisibilityMode
    stringAlphaMode
    stringDepthTestMode
    stringDepthWriteMode
    stringVisibilityMode
    write

Constants in EggPrimitive:

    SUnknown | (Shading)
SOverall | (Shading)
SPerFace | (Shading)
SPerVertex | (Shading)

Constants in EggRenderMode:

    AMUnspecified | (AlphaMode)
AMOff | (AlphaMode)
AMOn | (AlphaMode)
AMBlend | (AlphaMode)
AMBlendNoOcclude | (AlphaMode)
AMMs | (AlphaMode)
AMMsMask | (AlphaMode)
AMBinary | (AlphaMode)
AMDual | (AlphaMode)
DWMUnspecified | (DepthWriteMode)
DWMOff | (DepthWriteMode)
DWMOn | (DepthWriteMode)
DTMUnspecified | (DepthTestMode)
DTMOff | (DepthTestMode)
DTMOn | (DepthTestMode)
VMUnspecified | (VisibilityMode)
VMHidden | (VisibilityMode)
VMNormal | (VisibilityMode)
EggTriangleStrip
EggTriangleStrip::EggTriangleStrip(string const &name = (""));

Description:

getClassType
static TypeHandle EggTriangleStrip::get_class_type(void);

Undocumented function.

operator =
EggTriangleStrip &EggTriangleStrip::operator =(EggTriangleStrip const &copy);

Description:

getClassType
static TypeHandle EggCompositePrimitive::get_class_type(void);

Undocumented function.

getComponent
EggAttributes const *EggCompositePrimitive::get_component(int i) const;

Description: Returns the attributes for the nth component triangle.

getNumComponents
int EggCompositePrimitive::get_num_components(void) const;

Description: Returns the number of individual component triangles within the composite. Each one of these might have a different set of attributes.

operator =
EggCompositePrimitive &EggCompositePrimitive::operator =(EggCompositePrimitive const &copy);

Description:

setComponent
void EggCompositePrimitive::set_component(int i, EggAttributes const *attrib);

Description: Changes the attributes for the nth component triangle.

triangulateInPlace
PointerTo< EggCompositePrimitive > EggCompositePrimitive::triangulate_in_place(void);

Description: Subdivides the composite primitive into triangles and adds those triangles to the parent group node in place of the original primitive. Returns a pointer to the original primitive, which is likely about to be destructed.
If convex_also is true, both concave and convex polygons will be subdivided into triangles; otherwise, only concave polygons will be subdivided, and convex polygons will be copied unchanged into the container.

triangulateInto
bool EggCompositePrimitive::triangulate_into(EggGroupNode *container) const;

Description: Subdivides the composite primitive into triangles and adds those triangles to the indicated container. Does not remove the primitive from its existing parent or modify it in any way.
Returns true if the triangulation is successful, or false if there was some error (in which case the container may contain some partial triangulation).

addTexture
void EggPrimitive::add_texture(EggTexture *texture);

Description: Applies the indicated texture to the primitive.
Note that, in the case of multiple textures being applied to a single primitive, the order in which the textures are applied does not affect the rendering order; use EggTexture::set_sort() to specify that.

addVertex
EggVertex *EggPrimitive::add_vertex(EggVertex *vertex);

Description: Adds the indicated vertex to the end of the primitive's list of vertices, and returns it.

applyFirstAttribute
virtual void EggPrimitive::apply_first_attribute(void);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

applyLastAttribute
virtual void EggPrimitive::apply_last_attribute(void);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may introduce redundant vertices to the vertex pool.

cleanup
virtual bool EggPrimitive::cleanup(void);

Description: Cleans up modeling errors in whatever context this makes sense. For instance, for a polygon, this calls remove_doubled_verts(true). For a point, it calls remove_nonunique_verts(). Returns true if the primitive is valid, or false if it is degenerate.

clear
void EggPrimitive::clear(void);

Description: Removes all of the vertices from the primitive.

clearConnectedShading
void EggPrimitive::clear_connected_shading(void);

Description: Resets the connected_shading member in this primitive, so that get_connected_shading() will recompute a new value.

clearMaterial
void EggPrimitive::clear_material(void);

Description: Removes any material from the primitive.

clearTexture
void EggPrimitive::clear_texture(void);

Description: Removes any texturing from the primitive.

copyAttributes
void EggPrimitive::copy_attributes(EggAttributes const &other);

Description: Copies the rendering attributes from the indicated primitive.

copyVertices
void EggPrimitive::copy_vertices(EggPrimitive const &other);

Description: Replaces the current primitive's list of vertices with a copy of the list of vertices on the other primitive.

determineAlphaMode
virtual EggRenderMode *EggPrimitive::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggPrimitive::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthTestMode
virtual EggRenderMode *EggPrimitive::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggPrimitive::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggPrimitive::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this primitive that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineVisibilityMode
virtual EggRenderMode *EggPrimitive::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

getBfaceFlag
bool EggPrimitive::get_bface_flag(void) const;

Description: Retrieves the backfacing flag of the polygon. See set_bface_flag().

getClassType
static TypeHandle EggPrimitive::get_class_type(void);

Undocumented function.

getConnectedShading
EggPrimitive::Shading EggPrimitive::get_connected_shading(void) const;

Description: Determines what sort of shading properties this primitive's connected neighbors have.
To get the most accurate results, you should first call clear_connected_shading() on all connected primitives (or on all primitives in the egg file). It might also be a good idea to call remove_unused_vertices() to ensure proper connectivity.
You may find it easiest to call these other methods on the EggData root node (they are defined on EggGroupNode).

getMaterial
EggMaterial *EggPrimitive::get_material(void) const;

Description: Returns a pointer to the applied material, or NULL if there is no material applied.

getNumTextures
int EggPrimitive::get_num_textures(void) const;

Description: Returns the number of textures applied to the primitive.

getNumVertices
int EggPrimitive::get_num_vertices(void) const;

These are shorthands if you don't want to use the iterators.
Description:

getPool
EggVertexPool *EggPrimitive::get_pool(void) const;

Description: Returns the vertex pool associated with the vertices of the primitive, or NULL if the primitive has no vertices.

getShading
virtual EggPrimitive::Shading EggPrimitive::get_shading(void) const;

Description: Returns the shading properties apparent on this particular primitive. This returns S_per_vertex if the vertices have colors or normals (and they are not all the same values), or for a simple primitive, S_overall otherwise. A composite primitive may also return S_per_face if the individual component primitives have colors or normals that are not all the same values.
To get the most accurate results, you should call clear_shading() on all connected primitives (or on all primitives in the egg file), followed by get_shading() on each primitive. You may find it easiest to call these methods on the EggData root node (they are defined on EggGroupNode).

getSortName
string EggPrimitive::get_sort_name(void) const;

Description: Returns the name of the primitive for the purposes of sorting primitives into different groups, if there is one.
Presently, this is defined as the primitive name itself, unless it begins with a digit.

getTexture
EggTexture *EggPrimitive::get_texture(void) const;

Description: Returns the first texture on the primitive, if any, or NULL if there are no textures on the primitive.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns the nth texture that has been applied to the primitive.

getVertex
EggVertex *EggPrimitive::get_vertex(int index) const;

Description: Returns a particular index based on its index number.

hasMaterial
bool EggPrimitive::has_material(void) const;

Description: Returns true if the primitive is materiald (and get_material() will return a real pointer), false otherwise (and get_material() will return NULL).

hasNormals
virtual bool EggPrimitive::has_normals(void) const;

Description: Returns true if any of the primitives (e.g. polygons) defined within this group or below have either face or vertex normals defined, false otherwise.

hasPrimitives
virtual bool EggPrimitive::has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, false otherwise.

hasTexture
bool EggPrimitive::has_texture(void) const;

Description: Returns true if the primitive has any textures specified, false otherwise.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.
Description: Returns true if the primitive has the particular indicated texture, false otherwise.

hasVertexColor
bool EggPrimitive::has_vertex_color(void) const;

Description: Returns true if any vertex on the primitive has a specific color set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

hasVertexNormal
bool EggPrimitive::has_vertex_normal(void) const;

Description: Returns true if any vertex on the primitive has a specific normal set, false otherwise.
If you call unify_attributes() first, this will also return false even if all the vertices were set to the same value (since unify_attributes() removes redundant vertex properties).

jointHasPrimitives
virtual bool EggPrimitive::joint_has_primitives(void) const;

Description: Returns true if there are any primitives (e.g. polygons) defined within this group or below, but the search does not include nested joints.

operator =
EggPrimitive &EggPrimitive::operator =(EggPrimitive const &copy);

Description:

postApplyFlatAttribute
virtual void EggPrimitive::post_apply_flat_attribute(void);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

removeDoubledVerts
void EggPrimitive::remove_doubled_verts(bool closed);

Description: Certain kinds of primitives, particularly polygons, don't like to have the same vertex repeated consecutively. Unfortunately, some modeling programs (like MultiGen) make this an easy mistake to make.
It's handy to have a function to remove these redundant vertices. If closed is true, it also checks that the first and last vertices are not the same.
This function identifies repeated vertices by position only; it does not consider any other properties, such as color or UV, significant in differentiating vertices.

removeNonuniqueVerts
void EggPrimitive::remove_nonunique_verts(void);

Description: Removes any multiple appearances of the same vertex from the primitive. This primarily makes sense for a point primitive, which is really a collection of points and which doesn't make sense to include the same point twice, in any order.

removeVertex
EggVertex *EggPrimitive::remove_vertex(EggVertex *vertex);

Description: Removes the indicated vertex from the primitive and returns it. If the vertex was not already in the primitive, does nothing and returns NULL.

reverseVertexOrdering
virtual void EggPrimitive::reverse_vertex_ordering(void);

Description: Reverses the ordering of the vertices in this primitive, if appropriate, in order to change the direction the polygon appears to be facing. Does not adjust the surface normal, if any.

setBfaceFlag
void EggPrimitive::set_bface_flag(bool flag);

Description: Sets the backfacing flag of the polygon. If this is true, the polygon will be rendered so that both faces are visible; if it is false, only the front face of the polygon will be visible.

setMaterial
void EggPrimitive::set_material(EggMaterial *material);

Description: Applies the indicated material to the primitive.

setTexture
void EggPrimitive::set_texture(EggTexture *texture);

Description: Replaces the current list of textures with the indicated texture.
This method is deprecated and is used in support of single-texturing only. New code should be written to use the multitexture variants instead.q

setVertex
void EggPrimitive::set_vertex(int index, EggVertex *vertex);

These are shorthands if you don't want to use the iterators.
Description: Replaces a particular vertex based on its index number in the list of vertices. This is just a convenience function for people who don't want to mess with the iterators.

testVrefIntegrity
void EggPrimitive::test_vref_integrity(void) const;

Description: Verifies that each vertex in the primitive exists and that it knows it is referenced by the primitive.

unifyAttributes
virtual void EggPrimitive::unify_attributes(EggPrimitive::Shading shading);

Description: If the shading property is S_per_vertex, ensures that all vertices have a normal and a color, and the overall primitive does not.
If the shading property is S_per_face, and this is a composite primitive, ensures that all components have a normal and a color, and the vertices and overall primitive do not. (If this is a simple primitive, S_per_face works the same as S_overall, below).
If the shading property is S_overall, ensures that no vertices or components have a normal or a color, and the overall primitive does (if any exists at all).
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
This may create redundant vertices in the vertex pool.

write
virtual void EggPrimitive::write(ostream &out, int indent_level) const = 0;

Undocumented function.

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.

EggRenderMode
EggRenderMode::EggRenderMode(void);

Description:

clearBin
void EggRenderMode::clear_bin(void);

Description: Removes the bin name that was set for this particular object. See set_bin().

clearDrawOrder
void EggRenderMode::clear_draw_order(void);

Description: Removes the draw-order flag from this particular object. See set_draw_order().

getAlphaMode
EggRenderMode::AlphaMode EggRenderMode::get_alpha_mode(void) const;

Description: Returns the alpha mode that was set, or AM_unspecified if nothing was set. See set_alpha_mode().

getBin
string EggRenderMode::get_bin(void) const;

Description: Returns the bin name that has been set for this particular object, if any. See set_bin().

getClassType
static TypeHandle EggRenderMode::get_class_type(void);

Undocumented function.

getDepthTestMode
EggRenderMode::DepthTestMode EggRenderMode::get_depth_test_mode(void) const;

Description: Returns the depth_test mode that was set, or DTM_unspecified if nothing was set. See set_depth_test_mode().

getDepthWriteMode
EggRenderMode::DepthWriteMode EggRenderMode::get_depth_write_mode(void) const;

Description: Returns the depth_write mode that was set, or DWM_unspecified if nothing was set. See set_depth_write_mode().

getDrawOrder
int EggRenderMode::get_draw_order(void) const;

Description: Returns the "draw-order" flag as set for this particular object. See set_draw_order().

getVisibilityMode
EggRenderMode::VisibilityMode EggRenderMode::get_visibility_mode(void) const;

Description: Returns the visibility mode that was set, or VM_unspecified if nothing was set. See set_visibility_mode().

hasBin
bool EggRenderMode::has_bin(void) const;

Description: Returns true if a bin name has been set for this particular object. See set_bin().

hasDrawOrder
bool EggRenderMode::has_draw_order(void) const;

Description: Returns true if the draw-order flag has been set for this particular object. See set_draw_order().

operator !=
bool EggRenderMode::operator !=(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

operator <
bool EggRenderMode::operator <(EggRenderMode const &other) const;

Description:

operator =
EggRenderMode &EggRenderMode::operator =(EggRenderMode const &copy);

Description:

operator ==
bool EggRenderMode::operator ==(EggRenderMode const &other) const;

Comparison operators are handy.
Description:

setAlphaMode
void EggRenderMode::set_alpha_mode(EggRenderMode::AlphaMode mode);

Description: Specifies precisely how the transparency for this geometry should be achieved, or if it should be used. The default, AM_unspecified, is to use transparency if the geometry has a color whose alpha value is non-1, or if it has a four-channel texture applied; otherwise, AM_on forces transparency on, and AM_off forces it off. The other flavors of transparency are specific ways to turn on transparency, which may or may not be supported by a particular rendering backend.

setBin
void EggRenderMode::set_bin(string const &bin);

Description: Sets the "bin" string for this particular object. This names a particular bin in which the object should be rendered. The exact meaning of a bin is implementation defined, but generally a GeomBin matching each bin name must also be specifically added to the rendering engine (e.g. the CullTraverser) in use for this to work. See also set_draw_order().

setDepthTestMode
void EggRenderMode::set_depth_test_mode(EggRenderMode::DepthTestMode mode);

Description: Specifies whether this geometry should be tested against the depth buffer when it is drawn (assuming the rendering backend provides a depth buffer). Note that this is different, and independent from, the depth_write mode.

setDepthWriteMode
void EggRenderMode::set_depth_write_mode(EggRenderMode::DepthWriteMode mode);

Description: Specifies whether writes should be made to the depth buffer (assuming the rendering backend provides a depth buffer) when rendering this geometry.

setDrawOrder
void EggRenderMode::set_draw_order(int order);

Description: Sets the "draw-order" flag associated with this object. This specifies a particular order in which objects of this type should be drawn, within the specified bin. If a bin is not explicitly specified, "fixed" is used. See also set_bin().

setVisibilityMode
void EggRenderMode::set_visibility_mode(EggRenderMode::VisibilityMode mode);

Description: Specifies whether this geometry is to be considered normally visible, or hidden. If it is hidden, it is either not loaded into the scene graph at all, or loaded as a "stashed" node, according to the setting of egg-suppress-hidden.

stringAlphaMode
static EggRenderMode::AlphaMode EggRenderMode::string_alpha_mode(string const &string);

Description: Returns the AlphaMode value associated with the given string representation, or AM_unspecified if the string does not match any known AlphaMode value.

stringDepthTestMode
static EggRenderMode::DepthTestMode EggRenderMode::string_depth_test_mode(string const &string);

Description: Returns the DepthTestMode value associated with the given string representation, or DTM_unspecified if the string does not match any known DepthTestMode value.

stringDepthWriteMode
static EggRenderMode::DepthWriteMode EggRenderMode::string_depth_write_mode(string const &string);

Description: Returns the DepthWriteMode value associated with the given string representation, or DWM_unspecified if the string does not match any known DepthWriteMode value.

stringVisibilityMode
static EggRenderMode::VisibilityMode EggRenderMode::string_visibility_mode(string const &string);

Description: Returns the HiddenMode value associated with the given string representation, or VM_unspecified if the string does not match any known HiddenMode value.

write
void EggRenderMode::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggUserData

    from pandac.PandaModules import EggUserData
    Class : EggUserData
    Description : This is a base class for a user-defined data type to extend egg structures in processing code. The user of the egg library may derive from EggUserData to associate any arbitrary data with various egg objects.
    However, this data will not be written out to the disk when the egg file is written; it is an in-memory object only.

Inheritance:

    EggUserData: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EggUserData:

    EggUserData (Constructor)
    getClassType
    operator =

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
EggUserData
EggUserData::EggUserData(void);

Description:

getClassType
static TypeHandle EggUserData::get_class_type(void);

Undocumented function.

operator =
EggUserData &EggUserData::operator =(EggUserData const &copy);

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EggVertex

    from pandac.PandaModules import EggVertex
    Class : EggVertex
    Description : Any one-, two-, three-, or four-component vertex, possibly with attributes such as a normal.

Inheritance:

    EggVertex: EggObject EggAttributes
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    EggAttributes:

Methods of EggVertex:

    EggVertex (Constructor)
    clearGrefs
    clearUv
    copyGrefsFrom
    getClassType
    getExternalIndex
    getIndex
    getNumDimensions
    getNumGlobalCoord
    getNumLocalCoord
    getPool
    getPos1
    getPos2
    getPos3
    getPos4
    getUv
    getUvObj
    getUvw
    hasGref
    hasPref
    hasUv
    hasUvw
    isForwardReference
    modifyUvObj
    operator =
    output
    setExternalIndex
    setPos
    setPos4
    setUv
    setUvObj
    setUvw
    sortsLessThan
    testGrefIntegrity
    testPrefIntegrity
    transform
    write

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of EggAttributes:

    EggAttributes (Constructor)
    clearColor
    clearNormal
    compareTo
    copyColor
    copyNormal
    getClassType
    getColor
    getNormal
    hasColor
    hasNormal
    matchesColor
    matchesNormal
    operator =
    setColor
    setNormal
    sortsLessThan
    transform
    write
EggVertex
EggVertex::EggVertex(void);

Description:
Description: Copies all properties of the vertex except its vertex pool, index number, and group membership.

clearGrefs
void EggVertex::clear_grefs(void);

Description: Removes all group references from the vertex, so that it is not assigned to any group.

clearUv
void EggVertex::clear_uv(void);

Description: Removes all UV coordinate pairs from the vertex.
Description: Removes the named UV coordinate pair from the vertex, along with any UV morphs.

copyGrefsFrom
void EggVertex::copy_grefs_from(EggVertex const &other);

Description: Copies all the group references from the other vertex onto this one. This assigns the current vertex to exactly the same groups, with exactly the same memberships, as the given one.
Warning: only an EggVertex allocated from the free store may have groups assigned to it. Do not attempt to call this on a temporary concrete EggVertex object; a core dump will certainly result.

getClassType
static TypeHandle EggVertex::get_class_type(void);

Undocumented function.

getExternalIndex
int EggVertex::get_external_index(void) const;

Description: Returns the number set by set_external_index(). See set_external_index().

getIndex
int EggVertex::get_index(void) const;

Description: Returns the index number of the vertex within its pool.

getNumDimensions
int EggVertex::get_num_dimensions(void) const;

get_pos[123] return the pos as the corresponding type. It is an error to call any of these without first verifying that get_num_dimensions() matches the desired type. However, get_pos4() may always be called; it returns the pos as a four-component point in homogeneous space (with a 1.0 in the last position if the pos has fewer than four components).
Description: Returns the number of dimensions the vertex uses. Usually this will be 3, but it may be 1, 2, 3, or 4.

getNumGlobalCoord
int EggVertex::get_num_global_coord(void) const;

Description: Returns the number of primitives that own this vertex whose vertices are interpreted in the global coordinate system.

getNumLocalCoord
int EggVertex::get_num_local_coord(void) const;

Description: Returns the number of primitives that own this vertex whose vertices are interpreted to be in a local coordinate system.

getPool
EggVertexPool *EggVertex::get_pool(void) const;

Description: Returns the vertex pool this vertex belongs in. This may be NULL if the vertex has not been added to a pool.

getPos1
double EggVertex::get_pos1(void) const;

get_pos[123] return the pos as the corresponding type. It is an error to call any of these without first verifying that get_num_dimensions() matches the desired type. However, get_pos4() may always be called; it returns the pos as a four-component point in homogeneous space (with a 1.0 in the last position if the pos has fewer than four components).
Description: Only valid if get_num_dimensions() returns 1. Returns the position as a one-dimensional value.

getPos2
LPoint2d EggVertex::get_pos2(void) const;

Description: Only valid if get_num_dimensions() returns 2. Returns the position as a two-dimensional value.

getPos3
LPoint3d EggVertex::get_pos3(void) const;

Description: Valid if get_num_dimensions() returns 3 or 4. Returns the position as a three-dimensional value.

getPos4
LPoint4d EggVertex::get_pos4(void) const;

Description: This is always valid, regardless of the value of get_num_dimensions. It returns the position as a four-dimensional value. If the pos has fewer than four dimensions, this value represents the pos extended into four-dimensional homogenous space, e.g. by adding 1 as the fourth component.

getUv
LPoint2d EggVertex::get_uv(void) const;

Description: Returns the unnamed UV coordinate pair on the vertex. It is an error to call this if has_uv() has returned false.
This is the more restrictive interface, and is generally useful only in the absence of multitexturing; see get_uv(name) for the interface that supports multitexturing.
Description: Returns the named UV coordinate pair on the vertex. vertex. It is an error to call this if has_uv(name) returned false.

getUvObj
EggVertexUV const *EggVertex::get_uv_obj(string const &name) const;

Description: Returns the named EggVertexUV object, which defines both the UV coordinate pair for this name and the UV morphs. This object might be shared between multiple vertices. You should not attempt to modify this object; instead, call modify_uv_object to return a modifiable pointer.

getUvw
LPoint3d const &EggVertex::get_uvw(string const &name) const;

Description: Returns the named UV coordinate triple on the vertex. vertex. It is an error to call this if has_uvw(name) returned false.

hasGref
bool EggVertex::has_gref(EggGroup const *group) const;

Description: Returns true if the indicated group references this vertex, false otherwise.

hasPref
int EggVertex::has_pref(EggPrimitive const *prim) const;

Description: Returns the number of times the vertex appears in the indicated primitive, or 0 if it does not appear.

hasUv
bool EggVertex::has_uv(void) const;

Description: Returns true if the vertex has an unnamed UV coordinate pair, false otherwise.
This is the more restrictive interface, and is generally useful only in the absence of multitexturing; see has_uv(name) for the interface that supports multitexturing.
Description: Returns true if the vertex has the named UV coordinate pair, and the named UV coordinate pair is 2-d, false otherwise.

hasUvw
bool EggVertex::has_uvw(string const &name) const;

Description: Returns true if the vertex has the named UV coordinate triple, and the named UV coordinate triple is 3-d, false otherwise.

isForwardReference
bool EggVertex::is_forward_reference(void) const;

Description: Returns true if the vertex is a forward reference to some vertex that hasn't been defined yet. In this case, the vertex may not have any properties filled in yet.
This can only happen if you implicitly create a vertex via EggVertexPool::get_forward_vertex(). Presumably, when the vertex pool is later filled in, this vertex will be replaced with real data.

modifyUvObj
EggVertexUV *EggVertex::modify_uv_obj(string const &name);

Description: Returns a modifiable pointer to the named EggVertexUV object, which defines both the UV coordinate pair for this name and the UV morphs. Returns NULL if there is no such named UV object.

operator =
EggVertex &EggVertex::operator =(EggVertex const &copy);

Description: Copies all properties of the vertex except its vertex pool, index number, and group membership.

output
void EggVertex::output(ostream &out) const;

NDEBUG
Description:

setExternalIndex
void EggVertex::set_external_index(int external_index);

Description: Sets a special index number that is associated with the EggVertex (but is not written to the egg file). This number is not interpreted by any egg code; it is simply maintained along with the vertex. It *is* used to differentiate otherwise identical vertices in EggVertexPool::create_unique_vertex(), however.
The intention of this number is as an aid for file converters, to associate an EggVertex back to the index number of the original source vertex.

setPos
void EggVertex::set_pos(double pos);

The pos might have 1, 2, 3, or 4 dimensions. That complicates things a bit.
Description: Sets the vertex position. This variant sets the vertex to a one-dimensional value.
Description: Sets the vertex position. This variant sets the vertex to a two-dimensional value.
Description: Sets the vertex position. This variant sets the vertex to a three-dimensional value.
Description: Sets the vertex position. This variant sets the vertex to a four-dimensional value.

setPos4
void EggVertex::set_pos4(LPoint4d const &pos);

Description: This special flavor of set_pos() sets the vertex as a four-component value, but does not change the set number of dimensions. It's handy for retrieving the vertex position via get_pos4, manipulating it, then storing it back again, without worrying about the number of dimensions it actually had.

setUv
void EggVertex::set_uv(LPoint2d const &texCoord);

Description: Replaces the unnamed UV coordinate pair on the vertex with the indicated value.
This is the more restrictive interface, and is generally useful only in the absence of multitexturing; see set_uv(name, uv) for the interface that supports multitexturing.
Description: Sets the indicated UV coordinate pair on the vertex. This replaces any UV coordinate pair with the same name already on the vertex, but preserves UV morphs.

setUvObj
void EggVertex::set_uv_obj(EggVertexUV *vertex_uv);

Description: Sets the indicated EggVertexUV on the vertex. This replaces any UV coordinate pair with the same name already on the vertex, including UV morphs.

setUvw
void EggVertex::set_uvw(string const &name, LPoint3d const &texCoord);

Description: Sets the indicated UV coordinate triple on the vertex. This replaces any UV coordinate pair or triple with the same name already on the vertex, but preserves UV morphs.

sortsLessThan
bool EggVertex::sorts_less_than(EggVertex const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.
Group membership is not considered in this comparison. This is somewhat problematic, but cannot easily be helped, because considering group membership would make it difficult to add and remove groups from vertices. It also makes it impossible to meaningfully compare with a concrete EggVertex object (which cannot have group memberships).
However, this is not altogether bad, because two vertices that are identical in all other properties should generally also be identical in group memberships, else the vertices will tend to fly apart when the joints animate.

testGrefIntegrity
void EggVertex::test_gref_integrity(void) const;

Description: Verifies that the gref list is correct and that all the groups included actually exist and do reference the vertex.

testPrefIntegrity
void EggVertex::test_pref_integrity(void) const;

Description: Verifies that the pref list is correct and that all the primitives included actually exist and do reference the vertex.

transform
void EggVertex::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the vertex.

write
void EggVertex::write(ostream &out, int indent_level) const;

Description: Writes the vertex to the indicated output stream in Egg format.

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

EggAttributes
EggAttributes::EggAttributes(void);

Description:

clearColor
void EggAttributes::clear_color(void);

Description:

clearNormal
void EggAttributes::clear_normal(void);

Description:

compareTo
int EggAttributes::compare_to(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

copyColor
void EggAttributes::copy_color(EggAttributes const &other);

Description: Sets this color to be the same as the other's, include morphs. If the other has no color, this clears the color.

copyNormal
void EggAttributes::copy_normal(EggAttributes const &other);

Description: Sets this normal to be the same as the other's, include morphs. If the other has no normal, this clears the normal.

getClassType
static TypeHandle EggAttributes::get_class_type(void);

Undocumented function.

getColor
LVecBase4f EggAttributes::get_color(void) const;

Description: Returns the color set on this particular attribute. If there is no color set, returns white.

getNormal
LVector3d const &EggAttributes::get_normal(void) const;

Description:

hasColor
bool EggAttributes::has_color(void) const;

Description:

hasNormal
bool EggAttributes::has_normal(void) const;

Description:

matchesColor
bool EggAttributes::matches_color(EggAttributes const &other) const;

Description: Returns true if this color matches that of the other EggAttributes object, include the morph list.

matchesNormal
bool EggAttributes::matches_normal(EggAttributes const &other) const;

Description: Returns true if this normal matches that of the other EggAttributes object, include the morph list.

operator =
EggAttributes &EggAttributes::operator =(EggAttributes const &copy);

Description:

setColor
void EggAttributes::set_color(LVecBase4f const &Color);

Description:

setNormal
void EggAttributes::set_normal(LVector3d const &normal);

Description:

sortsLessThan
bool EggAttributes::sorts_less_than(EggAttributes const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

transform
void EggAttributes::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the attributes.

write
void EggAttributes::write(ostream &out, int indent_level) const;

Description: Writes the attributes to the indicated output stream in Egg format.


EggVertexPool

    from pandac.PandaModules import EggVertexPool
    Class : EggVertexPool
    Description : A collection of vertices. There may be any number of vertex pools in a single egg structure. The vertices in a single pool need not necessarily have any connection to each other, but it is necessary that any one primitive (e.g. a polygon) must pull all its vertices from the same pool.
    An EggVertexPool is an STL-style container of pointers to EggVertex's. Functions add_vertex() and remove_vertex() are provided to manipulate the list. The list may also be operated on (read-only) via iterators and begin()/end().

Inheritance:

    EggVertexPool: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggVertexPool:

    EggVertexPool (Constructor)
    addVertex
    checkOverallColor
    createUniqueVertex
    findMatchingVertex
    getClassType
    getForwardVertex
    getHighestIndex
    getNumDimensions
    getUvNames
    getVertex
    hasColors
    hasDefinedVertices
    hasForwardVertices
    hasNonwhiteColors
    hasUvs
    hasVertex
    makeNewVertex
    operator []
    removeUnusedVertices
    removeVertex
    setHighestIndex
    transform

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
EggVertexPool
EggVertexPool::EggVertexPool(string const &name);

Description:
Description: Copying a vertex pool is of questionable value, since it will copy all of the vertices and assign new pointers to them all. There will be no polygons referring to the new vertices.

addVertex
EggVertex *EggVertexPool::add_vertex(EggVertex *vertex, int index = (-1));

add_vertex() adds a freshly-allocated vertex. It is up to the user to allocate the vertex.
Description: Adds the indicated vertex to the pool. It is an error if the vertex is already a member of this or any other pool. The vertex must have been allocated from the free store; its pointer will now be owned by the vertex pool. If the index number is supplied, tries to assign that index number; it is an error if the index number is already in use.
It is possible that a forward reference to this vertex was requested in the past; if so, the data from the supplied vertex is copied onto the forward reference, which becomes the actual vertex. In this case, a different pointer is saved (and returned) than the one actually passed in. In the usual case, however, the vertex pointer passed in is the one that is saved in the vertex pool and returned from this method.

checkOverallColor
void EggVertexPool::check_overall_color(bool &has_overall_color, LVecBase4f &overall_color) const;

Description: Scans the vertex pool for different colors on different vertices. If all vertices are the same color, sets has_overall_color to true and fills the color into overall_color. If no vertices have any color, set has_overall_color to true and fills white into overall_color. If at least two vertices have different colors, sets has_overall_color to false.

createUniqueVertex
EggVertex *EggVertexPool::create_unique_vertex(EggVertex const &copy);

create_unique_vertex() creates a new vertex if there is not already one identical to the indicated vertex, or returns the existing one if there is.
Description: Creates a new vertex in the pool that is a copy of the indicated one and returns it. If there is already a vertex in the pool like the indicated one, simply returns that one.

findMatchingVertex
EggVertex *EggVertexPool::find_matching_vertex(EggVertex const &copy);

create_unique_vertex() creates a new vertex if there is not already one identical to the indicated vertex, or returns the existing one if there is.
Description: If the EggVertexPool already has a vertex matching the indicated vertex, returns it; otherwise, returns NULL. This is similar to create_unique_vertex() except that a new vertex is never created.

getClassType
static TypeHandle EggVertexPool::get_class_type(void);

Undocumented function.

getForwardVertex
EggVertex *EggVertexPool::get_forward_vertex(int index);

Returns a forward reference if there is no such vertex.
Description: Returns the vertex in the pool with the indicated index number. If there is not a vertex in the pool with the indicated index number, creates a special forward-reference EggVertex that has no data, on the assumption that the vertex pool has not yet been fully read and more data will be available later.

getHighestIndex
int EggVertexPool::get_highest_index(void) const;

Returns 0 if the pool is empty.
Description: Returns the highest index number used by any vertex in the pool (except forward references). Returns -1 if the pool is empty.

getNumDimensions
int EggVertexPool::get_num_dimensions(void) const;

Description: Returns the maximum number of dimensions used by any vertex in the pool.

getUvNames
void EggVertexPool::get_uv_names(vector< string > &uv_names, vector< string > &uvw_names, vector< string > &tbn_names) const;

Description: Returns the list of UV names that are defined by any vertices in the pool, as well as the subset of UV names that actually define 3-d texture coordinates ("uvw_names"). Also returns the subset of UV/UVW names that define a tangent and binormal. It is the user's responsibility to clear both vectors before calling this method.

getVertex
EggVertex *EggVertexPool::get_vertex(int index) const;

Returns NULL if there is no such vertex.
Description: Returns the vertex in the pool with the indicated index number, or NULL if no vertices have that index number.

hasColors
bool EggVertexPool::has_colors(void) const;

Description: Returns true if any vertex in the pool has a color defined, false if none of them do.

hasDefinedVertices
bool EggVertexPool::has_defined_vertices(void) const;

Description: Returns true if any vertices in the pool are fully defined vertices, false if all vertices are forward references.

hasForwardVertices
bool EggVertexPool::has_forward_vertices(void) const;

Description: Returns true if any vertices in the pool are undefined forward-reference vertices, false if all vertices are defined.

hasNonwhiteColors
bool EggVertexPool::has_nonwhite_colors(void) const;

Description: Returns true if any vertex in the pool has a color defined other than white, false if no vertices have colors, or if all colors are white.

hasUvs
bool EggVertexPool::has_uvs(void) const;

Description: Returns true if any vertex in the pool has a uv defined, false if none of them do.

hasVertex
bool EggVertexPool::has_vertex(int index) const;

Description: Returns true if the indicated vertex has been defined in the vertex pool, false otherwise. This does not include forward references.

makeNewVertex
EggVertex *EggVertexPool::make_new_vertex(void);

make_new_vertex() allocates and returns a new vertex from the pool.
Description: Allocates and returns a new vertex from the pool. This is one of three ways to add new vertices to a vertex pool.
This flavor of make_new_vertex() explicitly sets the vertex position as it is allocated. It does not attempt to share vertices.

operator []
EggVertex *EggVertexPool::operator [](int index) const;

Returns NULL if there is no such vertex.
Description: Returns the vertex in the pool with the indicated index number, or NULL if no vertices have that index number.

removeUnusedVertices
int EggVertexPool::remove_unused_vertices(void);

Description: Removes all vertices from the pool that are not referenced by at least one primitive. Also collapses together equivalent vertices, and renumbers all vertices after the operation so their indices are consecutive, beginning at zero. Returns the number of vertices removed.

removeVertex
void EggVertexPool::remove_vertex(EggVertex *vertex);

Description: Removes the vertex from the pool. It is an error if the vertex is not already a member of the pool.

setHighestIndex
void EggVertexPool::set_highest_index(int highest_index);

Returns 0 if the pool is empty.
Description: Artificially changes the "highest index number", so that a newly created vertex will begin at this number plus 1. This can be used to default a vertex pool to start counting at 1 (or any other index number), instead of the default of 0. Use with caution.

transform
void EggVertexPool::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to all the vertices. However, vertices that are attached to primitives that believe their vertices are in a local coordinate system are transformed only by the scale and rotation component. If a vertex happens to be attached both to a local and a global primitive, and the transformation includes a translation component, the vertex will be split.

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggVertexUV

    from pandac.PandaModules import EggVertexUV
    Class : EggVertexUV
    Description : The set of UV's that may or may not be assigned to a vertex. To support multitexturing, there may be multiple sets of UV's on a particular vertex, each with its own name.

Inheritance:

    EggVertexUV: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggVertexUV:

    EggVertexUV (Constructor)
    clearBinormal
    clearTangent
    compareTo
    filterName
    getBinormal
    getClassType
    getNumDimensions
    getTangent
    getUv
    getUvw
    hasBinormal
    hasTangent
    hasW
    operator =
    setBinormal
    setName
    setTangent
    setUv
    setUvw
    transform
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
EggVertexUV
EggVertexUV::EggVertexUV(string const &name, LPoint2d const &uv);

Description:

clearBinormal
void EggVertexUV::clear_binormal(void);

Description:

clearTangent
void EggVertexUV::clear_tangent(void);

Description:

compareTo
int EggVertexUV::compare_to(EggVertexUV const &other) const;

Description: An ordering operator to compare two vertices for sorting order. This imposes an arbitrary ordering useful to identify unique vertices.

filterName
static string EggVertexUV::filter_name(string const &name);

Description: Returns the actual name that should be set for a given name string. Usually this is the same string that is input, but for historical reasons the texture coordinate name "default" is mapped to the empty string.

getBinormal
LVector3d const &EggVertexUV::get_binormal(void) const;

Description:

getClassType
static TypeHandle EggVertexUV::get_class_type(void);

Undocumented function.

getNumDimensions
int EggVertexUV::get_num_dimensions(void) const;

Description: Returns the number of components of the texture coordinate set. This is either 2 (the normal case) or 3 (for a 3-d texture coordinate).

getTangent
LVector3d const &EggVertexUV::get_tangent(void) const;

Description:

getUv
LPoint2d EggVertexUV::get_uv(void) const;

Description: Returns the texture coordinate pair, if get_num_dimensions() is 2.

getUvw
LPoint3d const &EggVertexUV::get_uvw(void) const;

Description: Returns the texture coordinate triple, if get_num_dimensions() is 3. This is also legal to call if get_num_dimensions() is 2 (but the last dimension will be zero).

hasBinormal
bool EggVertexUV::has_binormal(void) const;

Description:

hasTangent
bool EggVertexUV::has_tangent(void) const;

Description:

hasW
bool EggVertexUV::has_w(void) const;

Description: Returns true if the texture coordinate has a third, w component, false if it is just a normal 2-d texture coordinate.

operator =
EggVertexUV &EggVertexUV::operator =(EggVertexUV const &copy);

Description:

setBinormal
void EggVertexUV::set_binormal(LVector3d const &binormal);

Description:

setName
void EggVertexUV::set_name(string const &name);

Description:

setTangent
void EggVertexUV::set_tangent(LVector3d const &tangent);

Description:

setUv
void EggVertexUV::set_uv(LPoint2d const &texCoord);

Description: Sets the texture coordinate pair. This makes the texture coordinate a 2-d texture coordinate, which is the usual case.

setUvw
void EggVertexUV::set_uvw(LPoint3d const &texCoord);

Description: Sets the texture coordinate triple. This makes the texture coordinate a 3-d texture coordinate.

transform
void EggVertexUV::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation matrix to the UV's tangent and/or binormal. This does nothing if there is no tangent or binormal.

write
void EggVertexUV::write(ostream &out, int indent_level) const;

Description:

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggXfmAnimData

    from pandac.PandaModules import EggXfmAnimData
    Class : EggXfmAnimData
    Description : Corresponding to an <Xfm$Anim> entry, this stores a two-dimensional table with up to nine columns, one for each component of a transformation. This is an older syntax of egg anim table, not often used currently--it's replaced by EggXfmSAnim.

Inheritance:

    EggXfmAnimData: EggAnimData
    EggAnimData: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggXfmAnimData:

    EggXfmAnimData (Constructor)
    clearContents
    clearOrder
    getClassType
    getContents
    getCoordinateSystem
    getNumCols
    getNumRows
    getOrder
    getStandardOrder
    getValue
    hasContents
    hasOrder
    operator =
    setContents
    setOrder

Methods of EggAnimData:

    addData
    clearData
    clearFps
    getClassType
    getFps
    getSize
    hasFps
    operator =
    quantize
    setFps

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
EggXfmAnimData
EggXfmAnimData::EggXfmAnimData(string const &name = (""), CoordinateSystem cs = (CS_default));

Description:
Description: Converts the newer-style XfmSAnim table to the older-style XfmAnim table.

clearContents
void EggXfmAnimData::clear_contents(void);

Description:

clearOrder
void EggXfmAnimData::clear_order(void);

Description:

getClassType
static TypeHandle EggXfmAnimData::get_class_type(void);

Undocumented function.

getContents
string const &EggXfmAnimData::get_contents(void) const;

Description:

getCoordinateSystem
CoordinateSystem EggXfmAnimData::get_coordinate_system(void) const;

Description: Returns the coordinate system this table believes it is defined within. This should always match the coordinate system of the EggData structure that owns it. It is necessary to store it here because the meaning of the h, p, and r columns depends on the coordinate system.

getNumCols
int EggXfmAnimData::get_num_cols(void) const;

Description: Returns the number of columns in the table. This is set according to the "contents" string, which defines the meaning of each column.

getNumRows
int EggXfmAnimData::get_num_rows(void) const;

Description: Returns the number of rows in the table.

getOrder
string const &EggXfmAnimData::get_order(void) const;

Description:

getStandardOrder
static string const &EggXfmAnimData::get_standard_order(void);

Description: Returns the standard order of matrix component composition. This is what the order string must be set to in order to use set_value() or add_data() successfully.

getValue
double EggXfmAnimData::get_value(int row, int col) const;

Description: Returns the value at the indicated row. Row must be in the range 0 <= row < get_num_rows(); col must be in the range 0 <= col < get_num_cols().
Description: Returns the value of the aggregate row of the table as a matrix. This is a convenience function that treats the 2-d table as if it were a single table of matrices.

hasContents
bool EggXfmAnimData::has_contents(void) const;

Description:

hasOrder
bool EggXfmAnimData::has_order(void) const;

Description:

operator =
EggXfmAnimData &EggXfmAnimData::operator =(EggXfmAnimData const &copy);

Description:

setContents
void EggXfmAnimData::set_contents(string const &contents);

Description:

setOrder
void EggXfmAnimData::set_order(string const &order);

Description:

addData
void EggAnimData::add_data(double value);

Description: Adds a single element to the table.

clearData
void EggAnimData::clear_data(void);

Description: Removes all data and empties the table.

clearFps
void EggAnimData::clear_fps(void);

Description:

getClassType
static TypeHandle EggAnimData::get_class_type(void);

Undocumented function.

getFps
double EggAnimData::get_fps(void) const;

Description: This is only valid if has_fps() returns true.

getSize
int EggAnimData::get_size(void) const;

Description: Returns the number of elements in the table.

hasFps
bool EggAnimData::has_fps(void) const;

Description:

operator =
EggAnimData &EggAnimData::operator =(EggAnimData const &copy);

Description:

quantize
void EggAnimData::quantize(double quantum);

Description: Rounds each element of the table to the nearest multiple of quantum.

setFps
void EggAnimData::set_fps(double type);

Description:

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EggXfmSAnim

    from pandac.PandaModules import EggXfmSAnim
    Class : EggXfmSAnim
    Description : This corresponds to an <Xfm$Anim_S$> entry, which is a collection of up to nine <S$Anim> entries that specify the nine components of a transformation. It's implemented as a group that can contain any number of EggSAnimData children.

Inheritance:

    EggXfmSAnim: EggGroupNode
    EggGroupNode: EggNode
    EggNode: EggNamedObject
    EggNamedObject: EggObject Namable
    EggObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of EggXfmSAnim:

    EggXfmSAnim (Constructor)
    addComponentData
    addData
    clearData
    clearFps
    clearOrder
    composeWithOrder
    getClassType
    getCoordinateSystem
    getFps
    getNumRows
    getOrder
    getStandardOrder
    getValue
    hasFps
    hasOrder
    normalize
    operator =
    optimize
    optimizeToStandardOrder
    setFps
    setOrder
    setValue

Methods of EggGroupNode:

    EggGroupNode (Constructor)
    addChild
    applyFirstAttribute
    applyLastAttribute
    clear
    clearConnectedShading
    empty
    findChild
    forceFilenames
    getClassType
    getConnectedShading
    getFirstChild
    getNextChild
    hasAbsolutePathnames
    isRight
    meshTriangles
    operator =
    postApplyFlatAttribute
    recomputePolygonNormals
    recomputeTangentBinormal
    recomputeTangentBinormalAuto
    recomputeVertexNormals
    removeChild
    removeInvalidPrimitives
    removeUnusedVertices
    renameNodes
    resolveFilenames
    reverseVertexOrdering
    size
    stealChildren
    stripNormals
    triangulatePolygons
    unifyAttributes

Methods of EggNode:

    applyTexmats
    determineAlphaMode
    determineBin
    determineDecal
    determineDepthTestMode
    determineDepthWriteMode
    determineDrawOrder
    determineIndexed
    determineVisibilityMode
    flattenTransforms
    getClassType
    getDepth
    getNodeFrame
    getNodeFrameInv
    getNodeFrameInvPtr
    getNodeFramePtr
    getNodeToVertex
    getNodeToVertexPtr
    getParent
    getVertexFrame
    getVertexFrameInv
    getVertexFrameInvPtr
    getVertexFramePtr
    getVertexToNode
    getVertexToNodePtr
    isAnimMatrix
    isJoint
    isLocalCoord
    isUnderInstance
    isUnderTransform
    operator =
    parseEgg
    renameNode
    testUnderIntegrity
    transform
    transformVerticesOnly
    write

Methods of EggNamedObject:

    EggNamedObject (Constructor)
    getClassType
    operator =
    output

Methods of EggObject:

    EggObject (Constructor)
    clearUserData
    getClassType
    getUserData
    hasUserData
    operator =
    setUserData

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in EggGroupNode:

    TPolygon | (TriangulateFlags)
TConvex | (TriangulateFlags)
TComposite | (TriangulateFlags)
TRecurse | (TriangulateFlags)
TFlatShaded | (TriangulateFlags)
EggXfmSAnim
EggXfmSAnim::EggXfmSAnim(string const &name = (""), CoordinateSystem cs = (CS_default));

Description:
Description: Converts the older-style XfmAnim table to the newer-style XfmSAnim table.

addComponentData
void EggXfmSAnim::add_component_data(string const &component_name, double value);

Description: Adds a new row to the named component (one of matrix_component_letters) of the table.
Description: Adds a new row to the indicated component (0-12) of the table.

addData
bool EggXfmSAnim::add_data(LMatrix4d const &mat);

Description: Adds a new matrix to the table, by adding a new row to each of the subtables.
This is a convenience function that treats the table of tables as if it were a single table of matrices. It is an error to call this if any SAnimData children of this node have an improper name (e.g. not a single letter, or not one of "ijkabchprxyz").
This function has the further requirement that all nine of the subtables must exist and be of the same length. Furthermore, the order string must be the standard order string, which matches the system compose_matrix() and decompose_matrix() functions.
Thus, you probably cannot take an existing EggXfmSAnim object and start adding matrices to the end; you must clear out the original data first. (As a special exception, if no tables exist, they will be created.) The method normalize() will do this for you on an existing EggXfmSAnim.
This function may fail silently if the matrix cannot be decomposed into scale, shear, rotate, and translate. In this case, the closest approximation is added to the table, and false is returned.

clearData
void EggXfmSAnim::clear_data(void);

Description: Removes all data from the table. It does this by removing all of its children.

clearFps
void EggXfmSAnim::clear_fps(void);

Description:

clearOrder
void EggXfmSAnim::clear_order(void);

Description:

composeWithOrder
static void EggXfmSAnim::compose_with_order(LMatrix4d &mat, LVecBase3d const &scale, LVecBase3d const &shear, LVecBase3d const &hpr, LVecBase3d const &trans, string const &order, CoordinateSystem cs);

Description: Composes a matrix out of the nine individual components, respecting the order string. The components will be applied in the order indicated by the string.

getClassType
static TypeHandle EggXfmSAnim::get_class_type(void);

Undocumented function.

getCoordinateSystem
CoordinateSystem EggXfmSAnim::get_coordinate_system(void) const;

Description: Returns the coordinate system this table believes it is defined within. This should always match the coordinate system of the EggData structure that owns it. It is necessary to store it here because the meaning of the h, p, and r columns depends on the coordinate system.

getFps
double EggXfmSAnim::get_fps(void) const;

Description: This is only valid if has_fps() returns true.

getNumRows
int EggXfmSAnim::get_num_rows(void) const;

Description: Returns the effective number of rows in the table. This is actually the number of rows of the smallest subtable larger than one row. This is a convenience function that treats the table of tables as if it were a single table of matrices.

getOrder
string const &EggXfmSAnim::get_order(void) const;

Description:

getStandardOrder
static string const &EggXfmSAnim::get_standard_order(void);

Description: Returns the standard order of matrix component composition. This is what the order string must be set to in order to use set_value() or add_data() successfully.

getValue
void EggXfmSAnim::get_value(int row, LMatrix4d &mat) const;

Description: Returns the value of the aggregate row of the table as a matrix. This is a convenience function that treats the table of tables as if it were a single table of matrices. It is an error to call this if any SAnimData children of this node have an improper name (e.g. not a single letter, or not one of "ijkabchprxyz").

hasFps
bool EggXfmSAnim::has_fps(void) const;

Description:

hasOrder
bool EggXfmSAnim::has_order(void) const;

Description:

normalize
void EggXfmSAnim::normalize(void);

Description: The inverse operation of optimize(), this ensures that all the sub-tables have the same length by duplicating rows as necessary. This is needed before doing operations like add_data() or set_value() on an existing table.

operator =
EggXfmSAnim &EggXfmSAnim::operator =(EggXfmSAnim const &copy);

Description:

optimize
void EggXfmSAnim::optimize(void);

Description: Optimizes the table by collapsing redundant sub-tables.

optimizeToStandardOrder
void EggXfmSAnim::optimize_to_standard_order(void);

Description: Optimizes the table by collapsing redundant sub-tables, and simultaneously ensures that the order string is the standard order (which is the same as that supported by compose_matrix() and decompose_matrix()).

setFps
void EggXfmSAnim::set_fps(double fps);

Description:

setOrder
void EggXfmSAnim::set_order(string const &order);

Description:

setValue
bool EggXfmSAnim::set_value(int row, LMatrix4d const &mat);

Description: Replaces the indicated row of the table with the given matrix.
This function can only be called if all the constraints of add_data(), below, are met. Call normalize() first if you are not sure.
The return value is true if the matrix can be decomposed and stored as scale, shear, rotate, and translate, or false otherwise. The data is set in either case.

EggGroupNode
EggGroupNode::EggGroupNode(string const &name = (""));

Description:

addChild
EggNode *EggGroupNode::add_child(EggNode *node);

Description: Adds the indicated child to the group and returns it. If the child node is already a child of some other node, removes it first.

applyFirstAttribute
void EggGroupNode::apply_first_attribute(bool recurse);

Description: Sets the first vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the DirectX convention of storing flat-shaded properties on the first vertex, although it is not usually a convention in Egg.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

applyLastAttribute
void EggGroupNode::apply_last_attribute(bool recurse);

Description: Sets the last vertex of the triangle (or each component) to the primitive normal and/or color, if the primitive is flat-shaded. This reflects the OpenGL convention of storing flat-shaded properties on the last vertex, although it is not usually a convention in Egg.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

clear
void EggGroupNode::clear(void);

Description:

clearConnectedShading
void EggGroupNode::clear_connected_shading(void);

Description: Resets the connected_shading information on all primitives at this node and below, so that it may be accurately rederived by the next call to get_connected_shading().
It may be a good idea to call remove_unused_vertices() as well, to establish the correct connectivity between common vertices.

empty
bool EggGroupNode::empty(void) const;

Description:

findChild
EggNode *EggGroupNode::find_child(string const &name) const;

Description: Returns the child of this node whose name is the indicated string, or NULL if there is no child of this node by that name. Does not search recursively.

forceFilenames
void EggGroupNode::force_filenames(Filename const &directory);

Description: Similar to resolve_filenames, but each non-absolute filename encountered is arbitrarily taken to be in the indicated directory, whether or not the so-named filename exists.

getClassType
static TypeHandle EggGroupNode::get_class_type(void);

Undocumented function.

getConnectedShading
void EggGroupNode::get_connected_shading(void);

Description: Queries the connected_shading information on all primitives at this node and below, to ensure that it has been completely filled in before we start mucking around with vertices.

getFirstChild
EggNode *EggGroupNode::get_first_child(void);

This is an alternate way to traverse the list of children. It is mainly provided for scripting code, which can't use the iterators defined above (they don't export through interrogate very well). These are, of course, non-thread-safe.
Description: Returns the first child in the group's list of children, or NULL if the list of children is empty. Can be used with get_next_child() to return the complete list of children without using the iterator class; however, this is non-thread-safe, and so is not recommended except for languages other than C++ which cannot use the iterators.

getNextChild
EggNode *EggGroupNode::get_next_child(void);

This is an alternate way to traverse the list of children. It is mainly provided for scripting code, which can't use the iterators defined above (they don't export through interrogate very well). These are, of course, non-thread-safe.
Description: Returns the next child in the group's list of children since the last call to get_first_child() or get_next_child(), or NULL if the last child has been returned. Can be used with get_first_child() to return the complete list of children without using the iterator class; however, this is non-thread-safe, and so is not recommended except for languages other than C++ which cannot use the iterators.
It is an error to call this without previously calling get_first_child().

hasAbsolutePathnames
bool EggGroupNode::has_absolute_pathnames(void) const;

Description: Returns true if any nodes at this level and below include a reference to a file via an absolute pathname, or false if all references are relative.

isRight
static bool EggGroupNode::is_right(LVector2d const &v1, LVector2d const &v2);

Description: Returns true if the 2-d v1 is to the right of v2.

meshTriangles
void EggGroupNode::mesh_triangles(int flags);

Description: Combine triangles together into triangle strips, at this group and below.

operator =
EggGroupNode &EggGroupNode::operator =(EggGroupNode const &copy);

Description:

postApplyFlatAttribute
void EggGroupNode::post_apply_flat_attribute(bool recurse);

Description: Intended as a followup to apply_last_attribute(), this also sets an attribute on the first vertices of the primitive, if they don't already have an attribute set, just so they end up with *something*.

recomputePolygonNormals
void EggGroupNode::recompute_polygon_normals(CoordinateSystem cs = (CS_default));

Description: Recomputes all the polygon normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. Normals are removed from the vertices and defined only on polygons, giving the geometry a faceted appearance.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normals removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

recomputeTangentBinormal
bool EggGroupNode::recompute_tangent_binormal(GlobPattern const &uv_name);

Description: This function recomputes the tangent and binormal for the named texture coordinate set for all vertices at this level and below. Use the empty string for the default texture coordinate set.
It is necessary for each vertex to already have a normal (or at least a polygon normal), as well as a texture coordinate in the named texture coordinate set, before calling this function. You might precede this with recompute_vertex_normals() to ensure that the normals exist.
Like recompute_vertex_normals(), this function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the new tangents and binormals computed. Thus, it is a good idea to call remove_unused_vertices() after calling this.
Description: This function recomputes the tangent and binormal for the named texture coordinate sets. Returns true if anything was done.

recomputeTangentBinormalAuto
bool EggGroupNode::recompute_tangent_binormal_auto(void);

Description: This function recomputes the tangent and binormal for any texture coordinate set that affects a normal map. Returns true if anything was done.

recomputeVertexNormals
void EggGroupNode::recompute_vertex_normals(double threshold, CoordinateSystem cs = (CS_default));

Description: Recomputes all the vertex normals for polygon geometry at this group node and below so that they accurately reflect the vertex positions. A shared edge between two polygons (even in different groups) is considered smooth if the angle between the two edges is less than threshold degrees.
This function also removes degenerate polygons that do not have enough vertices to define a normal. It does not affect normals for other kinds of primitives like Nurbs or Points.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the correct normals. Thus, it is a good idea to call remove_unused_vertices() after calling this.

removeChild
PointerTo< EggNode > EggGroupNode::remove_child(EggNode *node);

Description: Removes the indicated child node from the group and returns it. If the child was not already in the group, does nothing and returns NULL.

removeInvalidPrimitives
int EggGroupNode::remove_invalid_primitives(bool recurse);

Description: Removes primitives at this level and below which appear to be degenerate; e.g. polygons with fewer than 3 vertices, etc. Returns the number of primitives removed.

removeUnusedVertices
int EggGroupNode::remove_unused_vertices(bool recurse);

Description: Removes all vertices from VertexPools within this group or below that are not referenced by at least one primitive. Also collapses together equivalent vertices, and renumbers all vertices after the operation so their indices are consecutive, beginning at zero. Returns the total number of vertices removed.
Note that this operates on the VertexPools within this group level, without respect to primitives that reference these vertices (unlike other functions like strip_normals()). It is therefore most useful to call this on the EggData root, rather than on a subgroup within the hierarchy, since a VertexPool may appear anywhere in the hierarchy.

renameNodes
int EggGroupNode::rename_nodes(vector< string > strip_prefix, bool recurse);

Description: Rename by stripping out the prefix

resolveFilenames
void EggGroupNode::resolve_filenames(DSearchPath const &searchpath);

Description: Walks the tree and attempts to resolve any filenames encountered. This looks up filenames in the search path, etc. It does not automatically search the egg_path for missing files.

reverseVertexOrdering
void EggGroupNode::reverse_vertex_ordering(void);

Description: Reverses the vertex ordering of all polygons defined at this node and below. Does not change the surface normals, if any.

size
unsigned int EggGroupNode::size(void) const;

Description:

stealChildren
void EggGroupNode::steal_children(EggGroupNode &other);

Description: Moves all the children from the other node to this one. This is especially useful because the group node copy assignment operator does not copy children.

stripNormals
void EggGroupNode::strip_normals(void);

Description: Removes all normals from primitives, and the vertices they reference, at this node and below.
This function does not remove or adjust vertices in the vertex pool; it only adds new vertices with the normal removed. Thus, it is a good idea to call remove_unused_vertices() after calling this.

triangulatePolygons
int EggGroupNode::triangulate_polygons(int flags);

Description: Replace all higher-order polygons at this point in the scene graph and below with triangles. Returns the total number of new triangles produced, less degenerate polygons removed.
If flags contains T_polygon and T_convex, both concave and convex polygons will be subdivided into triangles; with only T_polygon, only concave polygons will be subdivided, and convex polygons will be largely unchanged.

unifyAttributes
void EggGroupNode::unify_attributes(bool use_connected_shading, bool allow_per_primitive, bool recurse);

Description: Applies per-vertex normal and color to all vertices, if they are in fact per-vertex (and different for each vertex), or moves them to the primitive if they are all the same.
After this call, either the primitive will have normals or its vertices will, but not both. Ditto for colors.
If use_connected_shading is true, each polygon is considered in conjunction with all connected polygons; otherwise, each polygon is considered individually.
If allow_per_primitive is false, S_per_face or S_overall will treated like S_per_vertex: normals and colors will always be assigned to the vertices. In this case, there will never be per-primitive colors or normals after this call returns. On the other hand, if allow_per_primitive is true, then S_per_face means that normals and colors should be assigned to the primitives, and removed from the vertices, as described above.
This may create redundant vertices in the vertex pool, so it may be a good idea to follow this up with remove_unused_vertices().

applyTexmats
void EggNode::apply_texmats(void);

Description: Applies the texture matrices to the UV's of the vertices that reference them, and then removes the texture matrices from the textures themselves.

determineAlphaMode
virtual EggRenderMode *EggNode::determine_alpha_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has an alpha_mode other than AM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineBin
virtual EggRenderMode *EggNode::determine_bin(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a bin specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDecal
virtual bool EggNode::determine_decal(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "decal" flag set. Returns the value of the decal flag if it is found, or false if it is not.
In other words, returns true if the "decal" flag is in effect for the indicated node, false otherwise.

determineDepthTestMode
virtual EggRenderMode *EggNode::determine_depth_test_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_test_mode other than DTM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDepthWriteMode
virtual EggRenderMode *EggNode::determine_depth_write_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a depth_write_mode other than DWM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineDrawOrder
virtual EggRenderMode *EggNode::determine_draw_order(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a draw_order specified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

determineIndexed
virtual bool EggNode::determine_indexed(void);

Description: Walks back up the hierarchy, looking for an EggGroup at this level or above that has the "indexed" scalar set. Returns the value of the indexed scalar if it is found, or false if it is not.
In other words, returns true if the "indexed" flag is in effect for the indicated node, false otherwise.

determineVisibilityMode
virtual EggRenderMode *EggNode::determine_visibility_mode(void);

Description: Walks back up the hierarchy, looking for an EggGroup or EggPrimitive or some such object at this level or above this node that has a visibility_mode other than VM_unspecified. Returns a valid EggRenderMode pointer if one is found, or NULL otherwise.

flattenTransforms
void EggNode::flatten_transforms(void);

Description: Removes any transform and instance records from this node in the scene graph and below. If an instance node is encountered, removes the instance and applies the transform to its vertices, duplicating vertices if necessary.
Since this function may result in duplicated vertices, it may be a good idea to call remove_unused_vertices() after calling this.

getClassType
static TypeHandle EggNode::get_class_type(void);

Undocumented function.

getDepth
int EggNode::get_depth(void) const;

Description: Returns the number of nodes above this node in the egg hierarchy.

getNodeFrame
LMatrix4d const &EggNode::get_node_frame(void) const;

Description: Returns the coordinate frame of the node itself. This is simply the net product of all transformations up to the root.

getNodeFrameInv
LMatrix4d const &EggNode::get_node_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_node_frame(). See get_node_frame().

getNodeFrameInvPtr
LMatrix4d const *EggNode::get_node_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame_inv() matrix.

getNodeFramePtr
LMatrix4d const *EggNode::get_node_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_frame() matrix.

getNodeToVertex
LMatrix4d const &EggNode::get_node_to_vertex(void) const;

Description: Returns the transformation matrix suitable for converting vertices in the coordinate space of the node to the appropriate coordinate space for storing in the egg file. This is the same thing as:
get_node_frame() * get_vertex_frame_inv()

getNodeToVertexPtr
LMatrix4d const *EggNode::get_node_to_vertex_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_node_to_vertex() matrix.

getParent
EggGroupNode *EggNode::get_parent(void) const;

Description:

getVertexFrame
LMatrix4d const &EggNode::get_vertex_frame(void) const;

Description: Returns the coordinate frame of the vertices referenced by primitives at or under this node. This is not the same as get_node_frame().
Generally, vertices in an egg file are stored in the global coordinate space, regardless of the transforms defined at each node. Thus, get_vertex_frame() will usually return the identity transform (global coordinate space). However, primitives under an <Instance> entry reference their vertices in the coordinate system under effect at the time of the <Instance>. Thus, nodes under an <Instance> entry may return this non-identity matrix.
Specifically, this may return a non-identity matrix only if is_local_coord() is true.

getVertexFrameInv
LMatrix4d const &EggNode::get_vertex_frame_inv(void) const;

Description: Returns the inverse of the matrix returned by get_vertex_frame(). See get_vertex_frame().

getVertexFrameInvPtr
LMatrix4d const *EggNode::get_vertex_frame_inv_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame_inv() matrix.

getVertexFramePtr
LMatrix4d const *EggNode::get_vertex_frame_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_frame() matrix.

getVertexToNode
LMatrix4d const &EggNode::get_vertex_to_node(void) const;

Description: Returns the transformation matrix suitable for converting the vertices as read from the egg file into the coordinate space of the node. This is the same thing as:
get_vertex_frame() * get_node_frame_inv()

getVertexToNodePtr
LMatrix4d const *EggNode::get_vertex_to_node_ptr(void) const;

Description: Returns either a NULL pointer or a unique pointer shared by nodes with the same get_vertex_to_node() matrix.

isAnimMatrix
virtual bool EggNode::is_anim_matrix(void) const;

Description: Returns true if this node represents a table of animation transformation data, false otherwise.

isJoint
virtual bool EggNode::is_joint(void) const;

Description: Returns true if this particular node represents a <Joint> entry or not. This is a handy thing to know since Joints are sorted to the end of their sibling list when writing an egg file. See EggGroupNode::write().

isLocalCoord
bool EggNode::is_local_coord(void) const;

Description: Returns true if this node's vertices are not in the global coordinate space. This will be the case if there was an <Instance> node under a transform at or above this node.

isUnderInstance
bool EggNode::is_under_instance(void) const;

Description: Returns true if there is an <Instance> node somewhere in the egg tree at or above this node, false otherwise.

isUnderTransform
bool EggNode::is_under_transform(void) const;

Description: Returns true if there is a <Transform> entry somewhere in the egg tree at or above this node, false otherwise.

operator =
EggNode &EggNode::operator =(EggNode const &copy);

Description:

parseEgg
bool EggNode::parse_egg(string const &egg_syntax);

Description: Parses the egg syntax given in the indicate string as if it had been read from the egg file within this object's definition. Updates the object accordingly. Returns true if successful, false if there was some parse error or if the object does not support this functionality.

renameNode
int EggNode::rename_node(vector< string > strip_prefix);

Description: Rename by stripping out the prefix

testUnderIntegrity
void EggNode::test_under_integrity(void) const;

Description: Recursively checks the integrity of the _under_flags, _parent, and _depth members of this node and all of its ancestors.

transform
void EggNode::transform(LMatrix4d const &mat);

Description: Applies the indicated transformation to the node and all of its descendants.

transformVerticesOnly
void EggNode::transform_vertices_only(LMatrix4d const &mat);

Description: Applies the indicated transformation only to vertices that appear in global space within vertex pools at this node and below. Joints and other transforms are not affected, nor are local vertices.

write
virtual void EggNode::write(ostream &out, int indent_level) const = 0;

Undocumented function.

EggNamedObject
EggNamedObject::EggNamedObject(string const &name = (""));

Description:

getClassType
static TypeHandle EggNamedObject::get_class_type(void);

Undocumented function.

operator =
EggNamedObject &EggNamedObject::operator =(EggNamedObject const &copy);

Description:

output
void EggNamedObject::output(ostream &out) const;

Description:

EggObject
EggObject::EggObject(void);

Description:

clearUserData
void EggObject::clear_user_data(void);

Description: Removes *all* user data pointers from the node.
Description: Removes the user data pointer of the indicated type.

getClassType
static TypeHandle EggObject::get_class_type(void);

Undocumented function.

getUserData
EggUserData *EggObject::get_user_data(void) const;

Description: Returns the user data pointer most recently stored on this object, or NULL if nothing was previously stored.
Description: Returns the user data pointer of the indicated type, if it exists, or NULL if it does not.

hasUserData
bool EggObject::has_user_data(void) const;

Description: Returns true if a generic user data pointer has recently been set and not yet cleared, false otherwise.
Description: Returns true if the user data pointer of the indicated type has been set, false otherwise.

operator =
EggObject &EggObject::operator =(EggObject const &copy);

Description:

setUserData
void EggObject::set_user_data(EggUserData *user_data);

Description: Sets the user data associated with this object. This may be any EggUserData-derived object. The egg library will do nothing with this pointer, except to hold its reference count and return the pointer on request.
The EggObject maintains multiple different EggUserData pointers, one for each unique type (as reported by get_type()). If you know that only one type of EggUserData object will be added in your application, you may use the query functions that accept no parameters, but it is recommended that in general you pass in the type of your particular user data, to allow multiple applications to coexist in the same egg data.
This pointer is also copied by the copy assignment operator and copy constructor.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


EnterExit

    from direct.fsm.StatePush import EnterExit

Inheritance:

    EnterExit:

Methods of EnterExit:

    __init__
    _handlePotentialStateChange
    _handleStateChange
    destroy
__init__
def __init__(self, source, enterFunc, exitFunc)

Undocumented function.

_handlePotentialStateChange
def _handlePotentialStateChange(self, value)

Undocumented function.

_handleStateChange
def _handleStateChange(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


EntryScale

    from direct.tkwidgets.EntryScale import EntryScale
    Scale with linked and validated entry

Inheritance:

    EntryScale:

Methods of EntryScale:

    __init__
    __onPress
    __onRelease
    _entryCommand
    _scaleCommand
    _setSigDigits
    _updateLabelText
    _updateValidate
    askForLabel
    askForMax
    askForMin
    askForResolution
    entry
    get
    label
    onPress
    onRelease
    onReturn
    onReturnRelease
    scale
    set
    setMax
    setMin
    setResolution
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

__onPress
def __onPress(self, event)

Undocumented function.

__onRelease
def __onRelease(self, event)

Undocumented function.

_entryCommand
def _entryCommand(self, event=None)

Undocumented function.

_scaleCommand
def _scaleCommand(self, strVal)

Undocumented function.

_setSigDigits
def _setSigDigits(self)

Undocumented function.

_updateLabelText
def _updateLabelText(self)

Undocumented function.

_updateValidate
def _updateValidate(self)

Undocumented function.

askForLabel
def askForLabel(self, event=None)

Undocumented function.

askForMax
def askForMax(self, event=None)

Undocumented function.

askForMin
def askForMin(self, event=None)

Undocumented function.

askForResolution
def askForResolution(self, event=None)

Undocumented function.

entry
def entry(self)

Undocumented function.

get
def get(self)

Undocumented function.

label
def label(self)

Undocumented function.

onPress
def onPress(self, *args)

User redefinable callback executed on button press

onRelease
def onRelease(self, *args)

User redefinable callback executed on button release

onReturn
def onReturn(self, *args)

User redefinable callback executed on <Return> in entry

onReturnRelease
def onReturnRelease(self, *args)

User redefinable callback executed on <Return> release in entry

scale
def scale(self)

Undocumented function.

set
def set(self, newVal, fCommand=1)

Undocumented function.

setMax
def setMax(self, newMax)

Undocumented function.

setMin
def setMin(self, newMin)

Undocumented function.

setResolution
def setResolution(self, newResolution)

Undocumented function.


EntryScaleGroup

    from direct.tkwidgets.EntryScale import EntryScaleGroup

Inheritance:

    EntryScaleGroup:

Methods of EntryScaleGroup:

    __init__
    __onPress
    __onRelease
    __onReturn
    __onReturnRelease
    _entryScaleSetAt
    _updateLabels
    get
    getAt
    onPress
    onRelease
    onReturn
    onReturnRelease
    reset
    set
    setAt
    toggleBalloon
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

__onPress
def __onPress(self, esg)

Undocumented function.

__onRelease
def __onRelease(self, esg)

Undocumented function.

__onReturn
def __onReturn(self, esg)

Undocumented function.

__onReturnRelease
def __onReturnRelease(self, esg)

Undocumented function.

_entryScaleSetAt
def _entryScaleSetAt(self, index, value)

Undocumented function.

_updateLabels
def _updateLabels(self)

Undocumented function.

get
def get(self)

Undocumented function.

getAt
def getAt(self, index)

Undocumented function.

onPress
def onPress(self, *args)

User redefinable callback executed on button press

onRelease
def onRelease(self, *args)

User redefinable callback executed on button release

onReturn
def onReturn(self, *args)

User redefinable callback executed on button press

onReturnRelease
def onReturnRelease(self, *args)

User redefinable callback executed on button press

reset
def reset(self)

Undocumented function.

set
def set(self, value, fCommand=1)

Undocumented function.

setAt
def setAt(self, index, value)

Undocumented function.

toggleBalloon
def toggleBalloon(self)

Undocumented function.


Enum

    from direct.showbase.PythonUtil import Enum
    Pass in list of strings or string of comma-separated strings. Items are accessible as instance.item, and are assigned unique, increasing integer values. Pass in integer for 'start' to override starting value.
    Example:
    >>> colors = Enum('red, green, blue') >>> colors.red 0 >>> colors.green 1 >>> colors.blue 2 >>> colors.getString(colors.red) 'red'

Inheritance:

    Enum:

Methods of Enum:

    __contains__
    __init__
    __iter__
    __len__
    copyTo
    getString
__contains__
def __contains__(self, value)

Undocumented function.

__init__
def __init__(self, items, start=0)

Undocumented function.

__iter__
def __iter__(self)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

copyTo
def copyTo(self, obj)

Undocumented function.

getString
def getString(self, value)

Undocumented function.


EnumIter

    from direct.showbase.PythonUtil import EnumIter

Inheritance:

    EnumIter:

Methods of EnumIter:

    __init__
    __iter__
    next
__init__
def __init__(self, enum)

Undocumented function.

__iter__
def __iter__(self)

Undocumented function.

next
def next(self)

Undocumented function.


ErrorUtilCode

    from pandac.PandaModules import ErrorUtilCode

Inheritance:

    ErrorUtilCode:


Event

    from pandac.PandaModules import Event
    Class : Event
    Description : A named event, possibly with parameters. Anyone in any thread may throw an event at any time; there will be one process responsible for reading and dispacting on the events (but not necessarily immediately).
    This function use to inherit from Namable, but that makes it too expensive to get its name the Python code. Now it just copies the Namable interface in.

Inheritance:

    Event: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of Event:

    Event (Constructor)
    addParameter
    clearName
    clearReceiver
    getClassType
    getName
    getNumParameters
    getParameter
    getReceiver
    hasName
    hasReceiver
    operator =
    output
    setName
    setReceiver

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
Event
Event::Event(string const &event_name, EventReceiver *receiver = ((void *)(0)));

Description:

addParameter
void Event::add_parameter(EventParameter const &obj);

Description:

clearName
void Event::clear_name(void);

Description: Resets the Event's name to empty.

clearReceiver
void Event::clear_receiver(void);

Description:

getClassType
static TypeHandle Event::get_class_type(void);

Undocumented function.

getName
string const &Event::get_name(void) const;

Description:

getNumParameters
int Event::get_num_parameters(void) const;

Description:

getParameter
EventParameter Event::get_parameter(int n) const;

Description:

getReceiver
EventReceiver *Event::get_receiver(void) const;

Description:

hasName
bool Event::has_name(void) const;

Description: Returns true if the Event has a nonempty name set, false if the name is empty.

hasReceiver
bool Event::has_receiver(void) const;

Description:

operator =
void Event::operator =(Event const &copy);

Description:

output
void Event::output(ostream &out) const;

Description:

setName
void Event::set_name(string const &name);

Description:

setReceiver
void Event::set_receiver(EventReceiver *receiver);

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EventArgument

    from direct.fsm.StatePush import EventArgument

Inheritance:

    EventArgument:

Methods of EventArgument:

    __init__
    _handleEvent
    destroy
__init__
def __init__(self, event, index=0)

Undocumented function.

_handleEvent
def _handleEvent(self, *args)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


EventGroup

    from direct.showbase.EventGroup import EventGroup
    This class allows you to group together multiple events and treat them as a single event. The EventGroup will not send out its event until all of its sub-events have occured.

Inheritance:

    EventGroup:

Methods of EventGroup:

    __init__
    __repr__
    _signalComplete
    _subEventComplete
    addEvent
    destroy
    getDoneEvent
    getName
    isCompleted
    newEvent
__init__
def __init__(self, name, subEvents=None, doneEvent=None)

Provide a meaningful name to aid debugging.
doneEvent is optional. If not provided, a unique done event will be generated and is available as EventGroup.getDoneEvent().
Examples:
waits for gotRed and gotBlue, then sends out 'gotColors' EventGroup('getRedAndBlue', ('gotRed', 'gotBlue'), doneEvent='gotColors')
waits for two interests to close, then calls self._handleBothInterestsClosed() uses EventGroup.getDoneEvent() and EventGroup.newEvent() to generate unique, disposable event names eGroup = EventGroup('closeInterests') self.acceptOnce(eGroup.getDoneEvent(), self._handleBothInterestsClosed) base.cr.closeInterest(interest1, event=eGroup.newEvent('closeInterest1')) base.cr.closeInterest(interest2, event=eGroup.newEvent('closeInterest2'))

__repr__
def __repr__(self)

Undocumented function.

_signalComplete
def _signalComplete(self)

Undocumented function.

_subEventComplete
def _subEventComplete(self, subEventName, *args, **kwArgs)

Undocumented function.

addEvent
def addEvent(self, eventName)

Adds a new event to the list of sub-events that we're waiting on. Returns the name of the event.

destroy
def destroy(self)

Undocumented function.

getDoneEvent
def getDoneEvent(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

isCompleted
def isCompleted(self)

Undocumented function.

newEvent
def newEvent(self, name)

Pass in an event name and it will be unique-ified for you and added to this EventGroup. TIP: there's no need to repeat information in this event name that is already in the name of the EventGroup object. Returns the new event name.


EventHandler

    from pandac.PandaModules import EventHandler
    Class : EventHandler
    Description : A class to monitor events from the C++ side of things. It maintains a set of "hooks", function pointers assigned to event names, and calls the appropriate hooks when the matching event is detected.
    This class is not necessary when the hooks are detected and processed entirely by the scripting language, e.g. via Scheme hooks or the messenger in Python.

Inheritance:

    EventHandler: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of EventHandler:

    EventHandler (Constructor)
    dispatchEvent
    getClassType
    getGlobalEventHandler
    processEvents
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
EventHandler
EventHandler::EventHandler(EventQueue *ev_queue);

Description:

dispatchEvent
virtual void EventHandler::dispatch_event(Event const *);

Description: Calls the hooks assigned to the indicated single event.

getClassType
static TypeHandle EventHandler::get_class_type(void);

Undocumented function.

getGlobalEventHandler
static EventHandler *EventHandler::get_global_event_handler(EventQueue *queue = ((void *)(0)));

Description: Returns a pointer to the one global EventHandler object. If the global object has not yet been created, this will create it.

processEvents
void EventHandler::process_events(void);

Description: The main processing loop of the EventHandler. This function must be called periodically to service events. Walks through each pending event and calls its assigned hooks.

write
void EventHandler::write(ostream &out) const;

Description:

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


EventInterval

    from direct.interval.FunctionInterval import EventInterval

Inheritance:

    EventInterval:

Methods of EventInterval:

    __init__
__init__
def __init__(self, event, sentArgs=[])

__init__(event, sentArgs)


EventManager

    from direct.showbase.EventManager import EventManager

Inheritance:

    EventManager:

Methods of EventManager:

    __init__
    doEvents
    eventLoopTask
    parseEventParameter
    processEvent
    processEventPstats
    restart
    shutdown
__init__
def __init__(self, eventQueue=None)

Create a C++ event queue and handler

doEvents
def doEvents(self)

Process all the events on the C++ event queue

eventLoopTask
def eventLoopTask(self, task)

Process all the events on the C++ event queue

parseEventParameter
def parseEventParameter(self, eventParameter)

Extract the actual data from the eventParameter

processEvent
def processEvent(self, event)

Process a C++ event Duplicate any changes in processEventPstats

processEventPstats
def processEventPstats(self, event)

Process a C++ event with pstats tracking Duplicate any changes in processEvent

restart
def restart(self)

Undocumented function.

shutdown
def shutdown(self)

Undocumented function.


EventParameter

    from pandac.PandaModules import EventParameter
    Class : EventParameter
    Description : An optional parameter associated with an event. Each event may have zero or more of these. Each parameter stores a pointer to a TypedWritableReferenceCount object, which of course could be pretty much anything. To store a simple value like a double or a string, the EventParameter constructors transparently use the EventStoreValue template class, defined below.

Inheritance:

    EventParameter:

Methods of EventParameter:

    EventParameter (Constructor)
    getDoubleValue
    getIntValue
    getPtr
    getStringValue
    getTypedRefCountValue
    getWstringValue
    isDouble
    isEmpty
    isInt
    isString
    isTypedRefCount
    isWstring
    operator =
    output
EventParameter
EventParameter::EventParameter(void);

Description: Defines an EventParameter that stores nothing: the "empty" parameter.
Description: Defines an EventParameter that stores a pointer to any kind of TypedWritableReferenceCount object. This is the most general constructor.
This accepts a const pointer, even though it stores (and eventually returns) a non-const pointer. This is just the simplest way to allow both const and non-const pointers to be stored, but it does lose the constness. Be careful.
Description: Defines an EventParameter that stores a pointer to a TypedReferenceCount object. Note that a TypedReferenceCount is not the same kind of pointer as a TypedWritableReferenceCount, hence we require both constructors.
Description: Defines an EventParameter that stores an integer value.
Description: Defines an EventParameter that stores a floating-point value.
Description: Defines an EventParameter that stores a string value.
Description: Defines an EventParameter that stores a wstring value.
Description:

getDoubleValue
double EventParameter::get_double_value(void) const;

Description: Retrieves the value stored in the EventParameter. It is only valid to call this if is_double() has already returned true.

getIntValue
int EventParameter::get_int_value(void) const;

Description: Retrieves the value stored in the EventParameter. It is only valid to call this if is_int() has already returned true.

getPtr
TypedWritableReferenceCount *EventParameter::get_ptr(void) const;

Description: Retrieves a pointer to the actual value stored in the parameter. The TypeHandle of this pointer may be examined to determine the actual type of parameter it contains. This is the only way to retrieve the value when it is not one of the above predefined types.

getStringValue
string EventParameter::get_string_value(void) const;

Description: Retrieves the value stored in the EventParameter. It is only valid to call this if is_string() has already returned true.

getTypedRefCountValue
TypedReferenceCount *EventParameter::get_typed_ref_count_value(void) const;

Description: Retrieves the value stored in the EventParameter. It is only valid to call this if is_typed_ref_count() has already returned true.

getWstringValue
basic_string< wchar_t > EventParameter::get_wstring_value(void) const;

Description: Retrieves the value stored in the EventParameter. It is only valid to call this if is_wstring() has already returned true.

isDouble
bool EventParameter::is_double(void) const;

Description: Returns true if the EventParameter stores a double floating-point value, false otherwise.

isEmpty
bool EventParameter::is_empty(void) const;

These functions are conveniences to easily determine if the EventParameter is one of the predefined parameter types, and retrieve the corresponding value. Of course, it is possible that the EventParameter is some user-defined type, and is none of these.
Description: Returns true if the EventParameter is the empty parameter, storing nothing, or false otherwise.

isInt
bool EventParameter::is_int(void) const;

These functions are conveniences to easily determine if the EventParameter is one of the predefined parameter types, and retrieve the corresponding value. Of course, it is possible that the EventParameter is some user-defined type, and is none of these.
Description: Returns true if the EventParameter stores an integer value, false otherwise.

isString
bool EventParameter::is_string(void) const;

Description: Returns true if the EventParameter stores a string value, false otherwise.

isTypedRefCount
bool EventParameter::is_typed_ref_count(void) const;

Description: Returns true if the EventParameter stores a TypedReferenceCount pointer, false otherwise. Note that a TypedReferenceCount is not exactly the same kind of pointer as a TypedWritableReferenceCount, hence the need for this separate call.

isWstring
bool EventParameter::is_wstring(void) const;

Description: Returns true if the EventParameter stores a wstring value, false otherwise.

operator =
EventParameter &EventParameter::operator =(EventParameter const &copy);

Description:

output
void EventParameter::output(ostream &out) const;

Description:


EventPulse

    from direct.fsm.StatePush import EventPulse

Inheritance:

    EventPulse:

Methods of EventPulse:

    __init__
    destroy
__init__
def __init__(self, event)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


EventQueue

    from pandac.PandaModules import EventQueue
    Class : EventQueue
    Description : A queue of pending events. As events are thrown, they are added to this queue; eventually, they will be extracted out again by an EventHandler and processed.

Inheritance:

    EventQueue:

Methods of EventQueue:

    EventQueue (Constructor)
    clear
    dequeueEvent
    getGlobalEventQueue
    isQueueEmpty
    isQueueFull
    queueEvent
EventQueue
EventQueue::EventQueue(void);

Description:

clear
void EventQueue::clear(void);

Description: Empties all events on the queue, throwing them on the floor.

dequeueEvent
ConstPointerTo< Event > EventQueue::dequeue_event(void);

Description:

getGlobalEventQueue
static EventQueue *EventQueue::get_global_event_queue(void);

Description: Returns a pointer to the one global EventQueue object. If the global object has not yet been created, this will create it.

isQueueEmpty
bool EventQueue::is_queue_empty(void) const;

Description:

isQueueFull
bool EventQueue::is_queue_full(void) const;

Description: This function is deprecated--the queue is never full these days.

queueEvent
void EventQueue::queue_event(ConstPointerTo< Event > event);

Description:


EventStorePandaNode

    from pandac.PandaModules import EventStorePandaNode
    Class : EventStorePandaNode
    Description : A class object for storing specifically objects of type PandaNode.

Inheritance:

    EventStorePandaNode: EventStoreValueBase
    EventStoreValueBase: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EventStorePandaNode:

    EventStorePandaNode (Constructor)
    getClassType
    getValue
    setValue

Methods of EventStoreValueBase:

    getClassType
    output

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
EventStorePandaNode
EventStorePandaNode::EventStorePandaNode(PandaNode const *value);

Description:

getClassType
static TypeHandle EventStorePandaNode::get_class_type(void);

Undocumented function.

getValue
PandaNode *EventStorePandaNode::get_value(void) const;

Description: Retrieves the value stored in the parameter.

setValue
void EventStorePandaNode::set_value(PandaNode const *value);

Description: Changes the value stored in the parameter. It is dangerous to do this for a parameter already added to an event, since the parameters may be shared.

getClassType
static TypeHandle EventStoreValueBase::get_class_type(void);

Undocumented function.

output
virtual void EventStoreValueBase::output(ostream &out) const = 0;

Undocumented function.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EventStoreTypedRefCount

    from pandac.PandaModules import EventStoreTypedRefCount
    Class : EventStoreTypedRefCount
    Description : A class object for storing specifically objects of type TypedReferenceCount, which is different than TypedWritableReferenceCount.

Inheritance:

    EventStoreTypedRefCount: EventStoreValueBase
    EventStoreValueBase: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EventStoreTypedRefCount:

    EventStoreTypedRefCount (Constructor)
    getClassType
    getValue
    setValue

Methods of EventStoreValueBase:

    getClassType
    output

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
EventStoreTypedRefCount
EventStoreTypedRefCount::EventStoreTypedRefCount(TypedReferenceCount const *value);

Description:

getClassType
static TypeHandle EventStoreTypedRefCount::get_class_type(void);

Undocumented function.

getValue
TypedReferenceCount *EventStoreTypedRefCount::get_value(void) const;

Description: Retrieves the value stored in the parameter.

setValue
void EventStoreTypedRefCount::set_value(TypedReferenceCount const *value);

Description: Changes the value stored in the parameter. It is dangerous to do this for a parameter already added to an event, since the parameters may be shared.

getClassType
static TypeHandle EventStoreValueBase::get_class_type(void);

Undocumented function.

output
virtual void EventStoreValueBase::output(ostream &out) const = 0;

Undocumented function.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


EventStoreValueBase

    from pandac.PandaModules import EventStoreValueBase
    Class : EventStoreValueBase
    Description : A non-template base class of EventStoreValue (below), which serves mainly to define the placeholder for the virtual output function.

Inheritance:

    EventStoreValueBase: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of EventStoreValueBase:

    getClassType
    output

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle EventStoreValueBase::get_class_type(void);

Undocumented function.

output
virtual void EventStoreValueBase::output(ostream &out) const = 0;

Undocumented function.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ExcelHandler

    from direct.showbase.ExcelHandler import ExcelHandler

Inheritance:

    ExcelHandler:

Methods of ExcelHandler:

    __init__
    characters
    endElement
    startElement
__init__
def __init__(self)

Undocumented function.

characters
def characters(self, content)

Undocumented function.

endElement
def endElement(self, name)

Undocumented function.

startElement
def startElement(self, name, attrs)

Undocumented function.


ExclusiveObjectPool

    from direct.showbase.ObjectReport import ExclusiveObjectPool

Inheritance:

    ExclusiveObjectPool:

Methods of ExclusiveObjectPool:

    __init__
    __len__
    _resync
    def
    destroy
    diff
    getObjsOfType
    printObjsOfType
    typeFreqStr
__init__
def __init__(self, objects)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

_resync
def _resync(self)

Undocumented function.

def
def defremoveExclObjs

Undocumented function.

destroy
def destroy(self)

Undocumented function.

diff
def diff(self, other)

Undocumented function.

getObjsOfType
def getObjsOfType(self, type)

Undocumented function.

printObjsOfType
def printObjsOfType(self, type)

Undocumented function.

typeFreqStr
def typeFreqStr(self)

Undocumented function.


ExecutionEnvironment

    from pandac.PandaModules import ExecutionEnvironment
    Class : ExecutionEnvironment
    Description : Encapsulates access to the environment variables and command-line arguments at the time of execution. This is encapsulated to support accessing these things during static init time, which seems to be risky at best.

Inheritance:

    ExecutionEnvironment:

Methods of ExecutionEnvironment:

    clearShadow
    expandString
    getArg
    getBinaryName
    getCwd
    getDtoolName
    getEnvironmentVariable
    getNumArgs
    hasEnvironmentVariable
    setEnvironmentVariable
    shadowEnvironmentVariable
clearShadow
static void ExecutionEnvironment::clear_shadow(string const &var);

Description: Removes a value set by a previous call to shadow_environment_variable(), and lets the actual value of the variable show again.

expandString
static string ExecutionEnvironment::expand_string(string const &str);

Undocumented function.

getArg
static string ExecutionEnvironment::get_arg(int n);

Description: Returns the nth command-line argument. The index n must be in the range [0 .. get_num_args()). The first parameter, n == 0, is the first actual parameter, not the binary name.

getBinaryName
static string ExecutionEnvironment::get_binary_name(void);

Description: Returns the name of the binary executable that started this program, if it can be determined.

getCwd
static Filename ExecutionEnvironment::get_cwd(void);

Undocumented function.

getDtoolName
static string ExecutionEnvironment::get_dtool_name(void);

Description: Returns the name of the libdtool DLL that is used in this program, if it can be determined.

getEnvironmentVariable
static string ExecutionEnvironment::get_environment_variable(string const &var);

Description: Returns the definition of the indicated environment variable, or the empty string if the variable is undefined.

getNumArgs
static int ExecutionEnvironment::get_num_args(void);

Description: Returns the number of command-line arguments available, not counting arg 0, the binary name.

hasEnvironmentVariable
static bool ExecutionEnvironment::has_environment_variable(string const &var);

Description: Returns true if the indicated environment variable is defined.

setEnvironmentVariable
static void ExecutionEnvironment::set_environment_variable(string const &var, string const &value);

Description: Changes the definition of the indicated environment variable.

shadowEnvironmentVariable
static void ExecutionEnvironment::shadow_environment_variable(string const &var, string const &value);

Description: Changes the apparent definition of the indicated environment variable by masking it within this class with a new value. This does not change the actual environment variable, but future calls to get_environment_variable() will return this new value.


ExeTarget

    from direct.pyinst.Builder import ExeTarget

Inheritance:

    ExeTarget:

Methods of ExeTarget:

    __init__
    edit
    gather
__init__
def __init__(self, cfg, sectnm, cnvrts)

Undocumented function.

edit
def edit(self)

Undocumented function.

gather
def gather(self)

Undocumented function.


ExternalThread

    from pandac.PandaModules import ExternalThread
    Class : ExternalThread
    Description : The special "external thread" class. There is one instance of these in the world, and it is returned by
    Thread::get_external_thread().

Inheritance:

    ExternalThread: Thread
    Thread: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ExternalThread:

    getClassType

Methods of Thread:

    bindThread
    considerYield
    forceYield
    getClassType
    getCurrentPipelineStage
    getCurrentThread
    getExternalThread
    getMainThread
    getName
    getPipelineStage
    getPstatsIndex
    getSyncName
    isStarted
    isThreadingSupported
    isTrueThreads
    join
    output
    preempt
    prepareForExit
    setMinPipelineStage
    setPipelineStage
    sleep
    start
    writeStatus

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle ExternalThread::get_class_type(void);

Undocumented function.

bindThread
static PointerTo< Thread > Thread::bind_thread(string const &name, string const &sync_name);

Description: Returns a new Panda Thread object associated with the current thread (which has been created externally). This can be used to bind a unique Panda Thread object with an external thread, such as a new Python thread.
It is particularly useful to bind a Panda Thread object to an external thread for the purposes of PStats monitoring. Without this call, each external thread will be assigned the same global ExternalThread object, which means they will all appear in the same PStats graph.
It is the caller's responsibility to save the returned Thread pointer for the lifetime of the external thread. It is an error for the Thread pointer to destruct while the external thread is still in the system.
It is also an error to call this method from the main thread, or twice within a given thread, unless it is given the same name each time (in which case the same pointer will be returned each time).

considerYield
static void Thread::consider_yield(void);

Description: Possibly suspends the current thread for the rest of the current epoch, if it has run for enough this epoch. This is especially important for the simple thread implementation, which relies on cooperative yields like this.

forceYield
static void Thread::force_yield(void);

Description: Suspends the current thread for the rest of the current epoch.

getClassType
static TypeHandle Thread::get_class_type(void);

Undocumented function.

getCurrentPipelineStage
static int Thread::get_current_pipeline_stage(void);

Description: Returns the integer pipeline stage associated with the current thread. This is the same thing as get_current_thread()->get_pipeline_stage(), but it may be faster to retrieve in some contexts.

getCurrentThread
static Thread *Thread::get_current_thread(void);

Description: Returns a pointer to the currently-executing Thread object. If this is called from the main thread, this will return the same value as get_main_thread().
This will always return some valid Thread pointer. It will never return NULL, even if the current thread was spawned outside of Panda's threading system, although all non-Panda threads will return the exact same Thread pointer.

getExternalThread
static Thread *Thread::get_external_thread(void);

Description: Returns a pointer to the "external" Thread object--this is a special Thread object that corresponds to any thread spawned outside of Panda's threading interface. Note that multiple different threads may share this same pointer.

getMainThread
static Thread *Thread::get_main_thread(void);

Description: Returns a pointer to the "main" Thread object--this is the Thread that started the whole process.

getName
string const &Thread::get_name(void) const;

Description: Returns the name of the thread. Each thread should probably have a unique name, but this is not enforced (and not strictly required).

getPipelineStage
int Thread::get_pipeline_stage(void) const;

Description: Returns the Pipeline stage number associated with this thread. The default stage is 0 if no stage is specified otherwise. See set_pipeline_stage().

getPstatsIndex
int Thread::get_pstats_index(void) const;

Description: Returns the PStats index associated with this thread, or -1 if no index has yet been associated with this thread. This is used internally by the PStatClient; you should not need to call this directly.

getSyncName
string const &Thread::get_sync_name(void) const;

Description: Returns the sync name of the thread. This name collects threads into "sync groups", which are expected to run synchronously. This is mainly used for the benefit of PStats; threads with the same sync name can be ticked all at once via the thread_tick() call.

isStarted
bool Thread::is_started(void) const;

Description: Returns true if the thread has been started, false if it has not, or if join() has already been called.

isThreadingSupported
static bool Thread::is_threading_supported(void);

Description: Returns true if threading support has been compiled in and enabled, or false if no threading is available (and Thread::start() will always fail).

isTrueThreads
static bool Thread::is_true_threads(void);

Description: Returns true if a real threading library is available that supports actual OS-implemented threads, or false if the only threading we can provide is simulated user-space threading.

join
void Thread::join(void);

Description: Blocks the calling process until the thread terminates. If the thread has already terminated, this returns immediately.

output
virtual void Thread::output(ostream &out) const;

Description:

preempt
void Thread::preempt(void);

Description: Indicates that this thread should run as soon as possible, preemptying any other threads that may be scheduled to run. This may not be implemented on every platform.

prepareForExit
static void Thread::prepare_for_exit(void);

Description: Should be called by the main thread just before exiting the program, this blocks until any remaining thread cleanup has finished.

setMinPipelineStage
void Thread::set_min_pipeline_stage(int min_pipeline_stage);

Description: Sets this thread's pipeline stage number to at least the indicated value, unless it is already larger. See set_pipeline_stage().

setPipelineStage
void Thread::set_pipeline_stage(int pipeline_stage);

Description: Specifies the Pipeline stage number associated with this thread. The default stage is 0 if no stage is specified otherwise.
This must be a value in the range [0 .. pipeline->get_num_stages() - 1]. It specifies the values that this thread observes for all pipelined data. Typically, an application thread will leave this at 0, but a render thread may set it to 1 or 2 (to operate on the previous frame's data, or the second previous frame's data).

sleep
static void Thread::sleep(double seconds);

Description: Suspends the current thread for at least the indicated amount of time. It might be suspended for longer.

start
bool Thread::start(ThreadPriority priority, bool joinable);

Description: Starts the thread executing. It is only valid to call this once.
The thread will begin executing its thread_main() function, and will terminate when thread_main() returns.
priority is intended as a hint to the relative importance of this thread. This may be ignored by the thread implementation.
joinable should be set true if you intend to call join() to wait for the thread to terminate, or false if you don't care and you will never call join().
The return value is true if the thread is successfully started, false otherwise.

writeStatus
static void Thread::write_status(ostream &out);

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ExtFilter

    from direct.pyinst.tocfilter import ExtFilter
    A file extension filter. ExtFilter(extlist, include=0) where extlist is a list of file extensions

Inheritance:

    ExtFilter:

Methods of ExtFilter:

    __init__
__init__
def __init__(self, extlist, include=0)

Undocumented function.


Extractor

    from pandac.PandaModules import Extractor
    Class : Extractor
    Description : This class automatically extracts the contents of a Multifile to the current directory (or to a specified directory) in the background.
    It is designed to limit its use of system resources and run unobtrusively in the background. After specifying the files you wish to extract via repeated calls to request_subfile(), begin the process by calling run() repeatedly. Each call to run() extracts another small portion of the Multifile. Call run() whenever you have spare cycles until run() returns EU_success.

Inheritance:

    Extractor:

Methods of Extractor:

    Extractor (Constructor)
    getProgress
    requestAllSubfiles
    requestSubfile
    reset
    run
    setExtractDir
    setMultifile
    step
Extractor
Extractor::Extractor(void);

Description:

getProgress
float Extractor::get_progress(void) const;

Description: Returns the fraction of the Multifile extracted so far.

requestAllSubfiles
int Extractor::request_all_subfiles(void);

Description: Requests all subfiles in the Multifile to be extracted. Returns the number requested.

requestSubfile
bool Extractor::request_subfile(Filename const &subfile_name);

Description: Requests a particular subfile to be extracted when step() or run() is called. Returns true if the subfile exists, false otherwise.

reset
void Extractor::reset(void);

Description: Interrupts the Extractor in the middle of its business and makes it ready to accept a new list of subfiles to extract.

run
bool Extractor::run(void);

Description: A convenience function to extract the Multifile all at once, when you don't care about doing it in the background.
First, call request_file() or request_all_files() to specify the files you would like to extract, then call run() to do the extraction. Also see step() for when you would like the extraction to happen as a background task.

setExtractDir
void Extractor::set_extract_dir(Filename const &extract_dir);

Description: Specifies the directory into which all extracted subfiles will be written. Relative paths of subfiles within the Multifile will be written as relative paths to this directory.

setMultifile
bool Extractor::set_multifile(Filename const &multifile_name);

Description: Specifies the filename of the Multifile that the Extractor will read. Returns true on success, false if the mulifile name is invalid.

step
int Extractor::step(void);

Description: After all of the requests have been made via request_file() or request_all_subfiles(), call step() repeatedly until it stops returning EU_ok.
step() extracts the next small unit of data from the Multifile. Returns EU_ok if progress is continuing, EU_error_abort if there is a problem, or EU_success when the last piece has been extracted.
Also see run().


Factory

    from direct.showbase.Factory import Factory
    This class manages a list of object types and their corresponding constructors. Objects may be created on-demand from their type. Object types may be any hashable piece of unique data (such as a string).
    This class is intended to be derived from. Subclasses should call self._registerTypes to set up type constructors.

Inheritance:

    Factory:

Methods of Factory:

    __init__
    _registerType
    _registerTypes
    create
    nullCtor
__init__
def __init__(self)

Undocumented function.

_registerType
def _registerType(self, type, ctor)

Undocumented function.

_registerTypes
def _registerTypes(self, type2ctor)

Undocumented function.

create
def create(self, type, *args, **kwArgs)

Undocumented function.

nullCtor
def nullCtor(self, *args, **kwArgs)

Undocumented function.


FadeLODNode

    from pandac.PandaModules import FadeLODNode
    Class : FadeLODNode
    Description : A Level-of-Detail node with alpha based switching.

Inheritance:

    FadeLODNode: LODNode
    LODNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of FadeLODNode:

    FadeLODNode (Constructor)
    getClassType
    getFadeTime
    setFadeTime

Methods of LODNode:

    LODNode (Constructor)
    addSwitch
    clearForceSwitch
    clearSwitches
    forceSwitch
    getCenter
    getClassType
    getHighestSwitch
    getIn
    getLowestSwitch
    getNumSwitches
    getOut
    hideAllSwitches
    hideSwitch
    isAnyShown
    makeDefaultLod
    setCenter
    setSwitch
    showAllSwitches
    showSwitch
    verifyChildBounds

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
FadeLODNode
FadeLODNode::FadeLODNode(string const &name);

Description:

getClassType
static TypeHandle FadeLODNode::get_class_type(void);

Undocumented function.

getFadeTime
float FadeLODNode::get_fade_time(void) const;

Description: get the time taken to complete an LOD switch

setFadeTime
void FadeLODNode::set_fade_time(float t);

Description: set the time taken to complete an LOD switch

LODNode
LODNode::LODNode(string const &name);

Description:

addSwitch
void LODNode::add_switch(float in, float out);

The sense of in vs. out distances is as if the object were coming towards you from far away: it switches "in" at the far distance, and switches "out" at the close distance. Thus, "in" should be larger than "out".
Description: Adds a switch range to the LODNode. This implies that the corresponding child node has been parented to the node.

clearForceSwitch
void LODNode::clear_force_switch(void);

Description: Undoes the effect of a previous call to force_switch() and releases the LODNode to once again display the normal level.

clearSwitches
void LODNode::clear_switches(void);

Description: Removes the set of switching ranges for the LODNode, presumably in conjunction with removing all of its children. See add_switch().

forceSwitch
void LODNode::force_switch(int index);

Description: Forces the LODNode to show the indicated level instead of the level that would normally be shown based on the distance from the camera.

getCenter
LPoint3f const &LODNode::get_center(void) const;

Description: Returns the center of the LOD. This is the point that is compared to the camera (in camera space) to determine the particular LOD that should be chosen.

getClassType
static TypeHandle LODNode::get_class_type(void);

Undocumented function.

getHighestSwitch
int LODNode::get_highest_switch(void) const;

Description: Returns the index number of the child with the highest level of detail; that is, the one that is designed to be seen from the closest to the camera. This is usually the last child, but it is not necessarily so.

getIn
float LODNode::get_in(int index) const;

Description: Returns the "in" distance of the indicated switch range. This should be larger than the "out" distance of the same range.

getLowestSwitch
int LODNode::get_lowest_switch(void) const;

Description: Returns the index number of the child with the lowest level of detail; that is, the one that is designed to be seen from the farthest away. This is usually the first child, but it is not necessarily so.

getNumSwitches
int LODNode::get_num_switches(void) const;

Description: Returns the number of switch ranges added to the LODNode. This should correspond to the number of children of the node in order for the LODNode to function correctly.

getOut
float LODNode::get_out(int index) const;

Description: Returns the "out" distance of the indicated switch range. This should be smaller than the "in" distance of the same range.

hideAllSwitches
void LODNode::hide_all_switches(void);

Description: Hides all levels, restoring the LODNode to normal operation.

hideSwitch
void LODNode::hide_switch(int index);

Description: Disables a previous call to show_switch().

isAnyShown
bool LODNode::is_any_shown(void) const;

Description: Returns true if any switch has been shown with show_switch(), indicating the LODNode is in debug show mode; or false if it is in the normal mode.

makeDefaultLod
static PointerTo< LODNode > LODNode::make_default_lod(string const &name);

Description: Creates a new LODNode of the type specified by the default-lod-type config variable.

setCenter
void LODNode::set_center(LPoint3f const &center);

Description: Specifies the center of the LOD. This is the point that is compared to the camera (in camera space) to determine the particular LOD that should be chosen.

setSwitch
bool LODNode::set_switch(int index, float in, float out);

Description: Changes the switching range of a particular child of the LODNode. See add_switch().

showAllSwitches
void LODNode::show_all_switches(void);

Description: Shows all levels in their default colors.

showSwitch
void LODNode::show_switch(int index);

Description: This is provided as a debugging aid. show_switch() will put the LODNode into a special mode where rather than computing and drawing the appropriate level of the LOD, a ring is drawn around the LODNode center indicating the switch distances from the camera for the indicated level, and the geometry of the indicated level is drawn in wireframe.
Multiple different levels can be visualized this way at once. Call hide_switch() or hide_all_switches() to undo this mode and restore the LODNode to its normal behavior.

verifyChildBounds
bool LODNode::verify_child_bounds(void) const;

Description: Returns true if the bounding volumes for the geometry of each fhild node entirely fits within the switch_in radius for that child, or false otherwise. It is almost always a mistake for the geometry of an LOD level to be larger than its switch_in radius.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


FakeObject

    from direct.showbase.GarbageReport import FakeObject

Inheritance:

    FakeObject:


FallTest

    from direct.physics.FallTest import FallTest

Inheritance:

    FallTest:

Methods of FallTest:

    __init__
    setup
__init__
def __init__(self)

Undocumented function.

setup
def setup(self)

Undocumented function.


FfmpegAudio

    from pandac.PandaModules import FfmpegAudio
    Class : FfmpegAudio
    Description : A stream that generates a sequence of audio samples.

Inheritance:

    FfmpegAudio: MovieAudio
    MovieAudio: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of FfmpegAudio:

    FfmpegAudio (Constructor)
    getClassType
    open

Methods of MovieAudio:

    MovieAudio (Constructor)
    get
    getClassType
    getFilename
    open

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
FfmpegAudio
FfmpegAudio::FfmpegAudio(Filename const &name);

Description: xxx

getClassType
static TypeHandle FfmpegAudio::get_class_type(void);

Undocumented function.

open
virtual PointerTo< MovieAudioCursor > FfmpegAudio::open(void);

Description: Open this audio, returning a MovieAudioCursor

MovieAudio
MovieAudio::MovieAudio(string const &name = ("Blank Audio"));

Description: This constructor returns a null audio stream --- a stream of total silence, at 8000 samples per second. To get more interesting audio, you need to construct a subclass of this class.

get
static PointerTo< MovieAudio > MovieAudio::get(Filename const &name);

Description: Obtains a MovieAudio that references a file.

getClassType
static TypeHandle MovieAudio::get_class_type(void);

Undocumented function.

getFilename
Filename const &MovieAudio::get_filename(void) const;

Filename: movieAudio.I Created by: jyelon (02Jul07)
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."
Description: Returns the movie's filename. A movie is not guaranteed to have a filename, if not, then this function returns a null filename.

open
virtual PointerTo< MovieAudioCursor > MovieAudio::open(void);

Description: Open this audio, returning a MovieAudioCursor

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


FfmpegAudioCursor

    from pandac.PandaModules import FfmpegAudioCursor
    Class : FfmpegAudioCursor
    Description : A stream that generates a sequence of audio samples.

Inheritance:

    FfmpegAudioCursor: MovieAudioCursor
    MovieAudioCursor: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of FfmpegAudioCursor:

    FfmpegAudioCursor (Constructor)
    getClassType

Methods of MovieAudioCursor:

    MovieAudioCursor (Constructor)
    aborted
    audioChannels
    audioRate
    canSeek
    canSeekFast
    getClassType
    getSource
    length
    readSamples
    ready
    seek
    skipSamples
    tell

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
FfmpegAudioCursor
FfmpegAudioCursor::FfmpegAudioCursor(FfmpegAudio *src);

Description: xxx

getClassType
static TypeHandle FfmpegAudioCursor::get_class_type(void);

Undocumented function.

MovieAudioCursor
MovieAudioCursor::MovieAudioCursor(MovieAudio *src);

Description: This constructor returns a null audio stream --- a stream of total silence, at 8000 samples per second. To get more interesting audio, you need to construct a subclass of this class.

aborted
bool MovieAudioCursor::aborted(void) const;

Description: If aborted is true, it means that the "ready" samples are not being replenished. See the method "ready" for an explanation.

audioChannels
int MovieAudioCursor::audio_channels(void) const;

Description: Returns the number of audio channels (ie, two for stereo, one for mono).

audioRate
int MovieAudioCursor::audio_rate(void) const;

Description: Returns the audio sample rate.

canSeek
bool MovieAudioCursor::can_seek(void) const;

Description: Returns true if the movie can seek. If this is true, seeking is still not guaranteed to be fast: for some movies, seeking is implemented by rewinding to the beginning and then fast-forwarding to the desired location. Even if the movie cannot seek, the seek method can still advance to an arbitrary location by reading samples and discarding them. However, to move backward, can_seek must return true.

canSeekFast
bool MovieAudioCursor::can_seek_fast(void) const;

Description: Returns true if seek operations are constant time.

getClassType
static TypeHandle MovieAudioCursor::get_class_type(void);

Undocumented function.

getSource
PointerTo< MovieAudio > MovieAudioCursor::get_source(void) const;

Filename: movieAudioCursor.I Created by: jyelon (02Jul07)
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."
Description: Returns the MovieAudio which this cursor references.

length
double MovieAudioCursor::length(void) const;

Description: Returns the length of the movie. Attempting to read audio samples beyond the specified length will produce silent samples.
Some kinds of Movie, such as internet TV station, might not have a predictable length. In that case, the length will be set to a very large number: 1.0E10.
Some AVI files have incorrect length values encoded into them - they may be a second or two long or short. When playing such an AVI using the Movie class, you may see a slightly truncated video, or a slightly elongated video (padded with black frames). There are utilities out there to fix the length values in AVI files.
An audio consumer needs to check the length, the ready status, and the aborted flag.

readSamples
void MovieAudioCursor::read_samples(int n, Datagram *dg);

Description: Read audio samples from the stream. N is the number of samples you wish to read. Your buffer must be equal in size to N * channels. Multiple-channel audio will be interleaved.
Description: Read audio samples from the stream into a Datagram. N is the number of samples you wish to read. Multiple-channel audio will be interleaved.
This is not particularly efficient, but it may be a convenient way to manipulate samples in python.
Description: Read audio samples from the stream and returns them as a string. The samples are stored little-endian in the string. N is the number of samples you wish to read. Multiple-channel audio will be interleaved.

ready
virtual int MovieAudioCursor::ready(void) const;

Description: Returns the number of audio samples that are ready to read. This is primarily relevant for sources like microphones which produce samples at a fixed rate. If you try to read more samples than are ready, the result will be silent samples.
Some audio streams do not have a limit on how fast they can produce samples. Such streams will always return 0x40000000 as the ready-count. This may well exceed the length of the audio stream. You therefore need to check length separately.
If the aborted flag is set, that means the ready count is no longer being replenished. For example, a MovieAudioCursor might be reading from an internet radio station, and it might buffer data to avoid underruns. If it loses connection to the radio station, it will set the aborted flag to indicate that the buffer is no longer being replenished. But it is still ok to read the samples that are in the buffer, at least until they run out. Once those are gone, there will be no more.
An audio consumer needs to check the length, the ready status, and the aborted flag.

seek
virtual void MovieAudioCursor::seek(double offset);

Description: Skips to the specified offset within the file.
If the movie reports that it cannot seek, then this method can still advance by reading samples and discarding them. However, to move backward, can_seek must be true.
If the movie reports that it can_seek, it doesn't mean that it can do so quickly. It may have to rewind the movie and then fast forward to the desired location. Only if can_seek_fast returns true can seek operations be done in constant time.
Seeking may not be precise, because AVI files often have inaccurate indices. After seeking, tell will indicate that the cursor is at the target location. However, in truth, the data you read may come from a slightly offset location.

skipSamples
void MovieAudioCursor::skip_samples(int n);

Description: Skip audio samples from the stream. This is mostly for debugging purposes.

tell
double MovieAudioCursor::tell(void) const;

Description: Returns the current offset within the file.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


FFMpegTexture

    from pandac.PandaModules import FFMpegTexture
    Class : OpenCVTexture
    Description : A specialization on VideoTexture that takes its input using the CV library, to produce an animated texture, with its source taken from an .avi file or from a camera input.

Inheritance:

    FFMpegTexture: VideoTexture
    VideoTexture: Texture AnimInterface
    Texture: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    AnimInterface:

Methods of FFMpegTexture:

    FFMpegTexture (Constructor)
    getClassType

Methods of VideoTexture:

    getClassType
    getKeepRamImage
    getTexScale
    getVideoHeight
    getVideoWidth
    hasRamImage

Methods of Texture:

    Texture (Constructor)
    clear
    clearAlphaFilename
    clearAlphaFullpath
    clearAuxData
    clearFilename
    clearFullpath
    clearRamImage
    clearRamMipmapImage
    clearRamMipmapImages
    estimateTextureMemory
    generateAlphaScaleMap
    generateNormalizationCubeMap
    generateRamMipmapImages
    getAlphaFilename
    getAlphaFullpath
    getAnisotropicDegree
    getAuxData
    getBorderColor
    getClassType
    getComponentType
    getComponentWidth
    getCompression
    getExpectedMipmapXSize
    getExpectedMipmapYSize
    getExpectedMipmapZSize
    getExpectedNumMipmapLevels
    getExpectedRamImageSize
    getExpectedRamMipmapImageSize
    getExpectedRamMipmapPageSize
    getExpectedRamPageSize
    getFilename
    getFormat
    getFullpath
    getImageModified
    getKeepRamImage
    getLoadedFromImage
    getLoadedFromTxo
    getMagfilter
    getMatchFramebufferFormat
    getMinfilter
    getNumComponents
    getNumRamMipmapImages
    getPadXSize
    getPadYSize
    getPadZSize
    getPropertiesModified
    getQualityLevel
    getRamImage
    getRamImageCompression
    getRamImageSize
    getRamMipmapImage
    getRamMipmapImageSize
    getRamMipmapPageSize
    getRamPageSize
    getRenderToTexture
    getTexturesPower2
    getTextureType
    getWrapU
    getWrapV
    getWrapW
    getXSize
    getYSize
    getZSize
    hasAllRamMipmapImages
    hasAlphaFilename
    hasAlphaFullpath
    hasFilename
    hasFullpath
    hasRamImage
    hasRamMipmapImage
    haveTexturesPower2
    isMipmap
    isPrepared
    load
    loadRelated
    makeCopy
    makeRamImage
    makeRamMipmapImage
    mightHaveRamImage
    modifyRamImage
    modifyRamMipmapImage
    prepare
    prepareNow
    read
    readTxo
    release
    releaseAll
    reload
    setAlphaFilename
    setAlphaFullpath
    setAnisotropicDegree
    setAuxData
    setBorderColor
    setComponentType
    setCompression
    setFilename
    setFormat
    setFullpath
    setKeepRamImage
    setLoadedFromImage
    setLoadedFromTxo
    setMagfilter
    setMatchFramebufferFormat
    setMinfilter
    setPadSize
    setQualityLevel
    setRamImage
    setRamMipmapImage
    setRenderToTexture
    setSizePadded
    setTexturesPower2
    setup1dTexture
    setup2dTexture
    setup3dTexture
    setupCubeMap
    setupTexture
    setWrapU
    setWrapV
    setWrapW
    setXSize
    setYSize
    setZSize
    store
    usesMipmaps
    write
    writeTxo

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of AnimInterface:

    getClassType
    getFrac
    getFrame
    getFrameRate
    getFullFframe
    getFullFrame
    getNextFrame
    getNumFrames
    getPlayRate
    isPlaying
    loop
    output
    pingpong
    play
    pose
    setPlayRate
    stop

Constants in Texture:

    TT1dTexture | (TextureType)
TT2dTexture | (TextureType)
TT3dTexture | (TextureType)
TTCubeMap | (TextureType)
TUnsignedByte | (ComponentType)
TUnsignedShort | (ComponentType)
TFloat | (ComponentType)
FDepthStencil | (Format)
FDepthComponent | (Format)
FColorIndex | (Format)
FRed | (Format)
FGreen | (Format)
FBlue | (Format)
FAlpha | (Format)
FRgb | (Format)
FRgb5 | (Format)
FRgb8 | (Format)
FRgb12 | (Format)
FRgb332 | (Format)
FRgba | (Format)
FRgbm | (Format)
FRgba4 | (Format)
FRgba5 | (Format)
FRgba8 | (Format)
FRgba12 | (Format)
FLuminance | (Format)
FLuminanceAlpha | (Format)
FLuminanceAlphamask | (Format)
FRgba16 | (Format)
FRgba32 | (Format)
FTNearest | (FilterType)
FTLinear | (FilterType)
FTNearestMipmapNearest | (FilterType)
FTLinearMipmapNearest | (FilterType)
FTNearestMipmapLinear | (FilterType)
FTLinearMipmapLinear | (FilterType)
FTShadow | (FilterType)
FTDefault | (FilterType)
FTInvalid | (FilterType)
WMClamp | (WrapMode)
WMRepeat | (WrapMode)
WMMirror | (WrapMode)
WMMirrorOnce | (WrapMode)
WMBorderColor | (WrapMode)
WMInvalid | (WrapMode)
CMDefault | (CompressionMode)
CMOff | (CompressionMode)
CMOn | (CompressionMode)
CMFxt1 | (CompressionMode)
CMDxt1 | (CompressionMode)
CMDxt2 | (CompressionMode)
CMDxt3 | (CompressionMode)
CMDxt4 | (CompressionMode)
CMDxt5 | (CompressionMode)
QLDefault | (QualityLevel)
QLFastest | (QualityLevel)
QLNormal | (QualityLevel)
QLBest | (QualityLevel)
FFMpegTexture
FFMpegTexture::FFMpegTexture(string const &name = ((string())));

Description: Sets up the texture to read frames from a camera
Description: Use FFmpegTexture::make_copy() to make a duplicate copy of an existing FFMpegTexture.

getClassType
static TypeHandle FFMpegTexture::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle VideoTexture::get_class_type(void);

Undocumented function.

getKeepRamImage
virtual bool VideoTexture::get_keep_ram_image(void) const;

Description: Returns the flag that indicates whether this Texture is eligible to have its main RAM copy of the texture memory dumped when the texture is prepared for rendering. See set_keep_ram_image().

getTexScale
LVecBase2f VideoTexture::get_tex_scale(void) const;

Description: Returns a scale pair that is suitable for applying to geometry via NodePath::set_tex_scale(), which will convert texture coordinates on the geometry from the range 0..1 into the appropriate range to render the video part of the texture.
This is necessary in the event the video source is not a power of two and set_power_2() is true. In this case, the video image will be mapped to the lower-left corner of the texture, and the rest of the texture space will be unused; so we will need to remap any texture coordinates to fill the space correctly.

getVideoHeight
int VideoTexture::get_video_height(void) const;

Description: Returns the height in texels of the source video stream. This is not necessarily the height of the actual texture, since the texture may have been expanded to raise it to a power of 2.

getVideoWidth
int VideoTexture::get_video_width(void) const;

Description: Returns the width in texels of the source video stream. This is not necessarily the width of the actual texture, since the texture may have been expanded to raise it to a power of 2.

hasRamImage
virtual bool VideoTexture::has_ram_image(void) const;

Description: Returns true if the Texture has its image contents available in main RAM, false if it exists only in texture memory or in the prepared GSG context.

Texture
Texture::Texture(string const &name = ((string())));

Description: Constructs an empty texture. The default is to set up the texture as an empty 2-d texture; follow up with one of the variants of setup_texture() if this is not what you want.
Description: Use Texture::make_copy() to make a duplicate copy of an existing Texture.

clear
virtual void Texture::clear(void);

Description: Reinitializes the texture to its default, empty state.

clearAlphaFilename
void Texture::clear_alpha_filename(void);

Description: Removes the alpha filename, if it was previously set. See set_alpha_filename().

clearAlphaFullpath
void Texture::clear_alpha_fullpath(void);

Description: Removes the alpha fullpath, if it was previously set. See set_alpha_fullpath().

clearAuxData
void Texture::clear_aux_data(string const &key);

Description: Removes a record previously recorded via set_aux_data().

clearFilename
void Texture::clear_filename(void);

These are published, but in general, you shouldn't be mucking with these values; they are set automatically when a texture is loaded.
Description: Removes the alpha filename, if it was previously set. See set_filename().

clearFullpath
void Texture::clear_fullpath(void);

Description: Removes the alpha fullpath, if it was previously set. See set_fullpath().

clearRamImage
void Texture::clear_ram_image(void);

Description: Discards the current system-RAM image.

clearRamMipmapImage
void Texture::clear_ram_mipmap_image(int n);

Description: Discards the current system-RAM image for the nth mipmap level.

clearRamMipmapImages
void Texture::clear_ram_mipmap_images(void);

Description: Discards the current system-RAM image for all mipmap levels, except level 0 (the base image).

estimateTextureMemory
unsigned int Texture::estimate_texture_memory(void) const;

Description: Estimates the amount of texture memory that will be consumed by loading this texture. This returns a value that is not specific to any particular graphics card or driver; it tries to make a reasonable assumption about how a driver will load the texture. It does not account for texture compression or anything fancy. This is mainly useful for debugging and reporting purposes.
Returns a value in bytes.

generateAlphaScaleMap
void Texture::generate_alpha_scale_map(void);

Description: Generates a special 256x1 1-d texture that can be used to apply an arbitrary alpha scale to objects by judicious use of texture matrix. The texture is a gradient, with an alpha of 0 on the left (U = 0), and 255 on the right (U = 1).

generateNormalizationCubeMap
void Texture::generate_normalization_cube_map(int size);

Description: Generates a special cube map image in the texture that can be used to apply bump mapping effects: for each texel in the cube map that is indexed by the 3-d texture coordinates (x, y, z), the resulting value is the normalized vector (x, y, z) (compressed from
-1..1 into 0..1).

generateRamMipmapImages
void Texture::generate_ram_mipmap_images(void);

Description: Automatically fills in the n mipmap levels of the Texture, based on the texture's source image. This requires the texture's ram image to be available in system memory.
This call is not normally necessary, since the mipmap levels will be generated automatically if needed. But there may be certain cases in which you would like to call this explicitly.

getAlphaFilename
Filename const &Texture::get_alpha_filename(void) const;

Description: Returns the alpha_filename that has been set. If this is set, it represents the name of the alpha component, which is stored in a separate file. See also get_filename(), and get_alpha_fullpath().

getAlphaFullpath
Filename const &Texture::get_alpha_fullpath(void) const;

Description: Returns the alpha_fullpath that has been set. This is the full path to the alpha part of the image file as it was found along the texture search path.

getAnisotropicDegree
int Texture::get_anisotropic_degree(void) const;

Description: Returns the degree of anisotropic filtering that should be applied to the texture. Normally, this is 1, to indicate that anisotropic filtering should be disabled. If this is a number higher than 1, anisotropic filtering should be enabled (if the rendering backend supports it).

getAuxData
TypedReferenceCount *Texture::get_aux_data(string const &key) const;

Description: Returns a record previously recorded via set_aux_data(). Returns NULL if there was no record associated with the indicated key.

getBorderColor
LVecBase4f Texture::get_border_color(void) const;

Description: Returns the solid color of the texture's border. Some OpenGL implementations use a border for tiling textures; in Panda, it is only used for specifying the clamp color.

getClassType
static TypeHandle Texture::get_class_type(void);

Undocumented function.

getComponentType
Texture::ComponentType Texture::get_component_type(void) const;

Description: Returns the numeric interpretation of each component of the texture.

getComponentWidth
int Texture::get_component_width(void) const;

Description: Returns the number of bytes stored for each color component of a texel. Typically this is 1, but it may be 2 for 16-bit texels.

getCompression
Texture::CompressionMode Texture::get_compression(void) const;

Description: Returns the compression mode requested for this particular texture, or CM_off if the texture is not to be compressed.
If a value other than CM_off is returned, this is not a guarantee that the texture is actually successfully compressed on the GSG. It may be that the GSG does not support the requested compression mode, in which case the texture may actually be stored uncompressed in texture memory.

getExpectedMipmapXSize
int Texture::get_expected_mipmap_x_size(int n) const;

Description: Returns the x_size that the nth mipmap level should have, based on the texture's size.

getExpectedMipmapYSize
int Texture::get_expected_mipmap_y_size(int n) const;

Description: Returns the y_size that the nth mipmap level should have, based on the texture's size.

getExpectedMipmapZSize
int Texture::get_expected_mipmap_z_size(int n) const;

Description: Returns the z_size that the nth mipmap level should have, based on the texture's size.

getExpectedNumMipmapLevels
int Texture::get_expected_num_mipmap_levels(void) const;

Description: Returns the number of mipmap levels that should be defined for this texture, given the texture's size.
Note that this returns a number appropriate for mipmapping, even if the texture does not currently have mipmapping enabled.

getExpectedRamImageSize
unsigned int Texture::get_expected_ram_image_size(void) const;

Description: Returns the number of bytes that *ought* to be used by the in-memory image, based on the texture parameters.

getExpectedRamMipmapImageSize
unsigned int Texture::get_expected_ram_mipmap_image_size(int n) const;

Description: Returns the number of bytes that *ought* to be used by the in-memory image for mipmap level n, based on the texture parameters.

getExpectedRamMipmapPageSize
unsigned int Texture::get_expected_ram_mipmap_page_size(int n) const;

Description: Returns the number of bytes that should be used per each Z page of the 3-d texture, for mipmap level n. For a 2-d or 1-d texture, this is the same as get_expected_ram_mipmap_image_size(n).

getExpectedRamPageSize
unsigned int Texture::get_expected_ram_page_size(void) const;

Description: Returns the number of bytes that should be used per each Z page of the 3-d texture. For a 2-d or 1-d texture, this is the same as get_expected_ram_image_size().

getFilename
Filename const &Texture::get_filename(void) const;

Description: Returns the filename that has been set. This is the name of the file as it was requested. Also see get_fullpath().

getFormat
Texture::Format Texture::get_format(void) const;

Description: Returns the format of the texture, which represents both the semantic meaning of the texels and, to some extent, their storage information.

getFullpath
Filename const &Texture::get_fullpath(void) const;

Description: Returns the fullpath that has been set. This is the full path to the file as it was found along the texture search path.

getImageModified
UpdateSeq Texture::get_image_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the texture image data (including mipmap levels) are modified.

getKeepRamImage
virtual bool Texture::get_keep_ram_image(void) const;

Description: Returns the flag that indicates whether this Texture is eligible to have its main RAM copy of the texture memory dumped when the texture is prepared for rendering. See set_keep_ram_image().

getLoadedFromImage
bool Texture::get_loaded_from_image(void) const;

Description: Returns the flag that indicates the texture has been loaded from a disk file or PNMImage. See set_loaded_from_image().

getLoadedFromTxo
bool Texture::get_loaded_from_txo(void) const;

Description: Returns the flag that indicates the texture has been loaded from a txo file.

getMagfilter
Texture::FilterType Texture::get_magfilter(void) const;

Description: Returns the filter mode of the texture for magnification. The mipmap constants are invalid here.

getMatchFramebufferFormat
bool Texture::get_match_framebuffer_format(void) const;

Description: Returns true if the special flag was set that indicates to the GSG that the Texture's format should be chosen to exactly match the framebuffer's format, presumably because the application intends to copy image data from the framebuffer into the Texture (or vice-versa).

getMinfilter
Texture::FilterType Texture::get_minfilter(void) const;

Description: Returns the filter mode of the texture for minification. If this is one of the mipmap constants, then the texture requires mipmaps.

getNumComponents
int Texture::get_num_components(void) const;

Description: Returns the number of color components for each texel of the texture image. This is 3 for an rgb texture or 4 for an rgba texture; it may also be 1 or 2 for a grayscale texture.

getNumRamMipmapImages
int Texture::get_num_ram_mipmap_images(void) const;

Description: Returns the maximum number of mipmap level images available in system memory. The actual number may be less than this; use has_ram_mipmap_image() to verify each level.

getPadXSize
int Texture::get_pad_x_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPadYSize
int Texture::get_pad_y_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPadZSize
int Texture::get_pad_z_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPropertiesModified
UpdateSeq Texture::get_properties_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the texture properties (unrelated to the image) are modified.

getQualityLevel
Texture::QualityLevel Texture::get_quality_level(void) const;

Description: Returns the current quality_level hint. See set_quality_level().

getRamImage
ConstPointerToArray< unsigned char > Texture::get_ram_image(void);

Description: Returns the system-RAM image data associated with the texture. If the texture does not currently have an associated RAM image, and the texture was generated by loading an image from a disk file (the most common case), this forces the reload of the same texture. This can happen if keep_texture_ram is configured to false, and we have previously prepared this texture with a GSG.
Note that it is not correct to call has_ram_image() first to test whether this function will fail. A false return value from has_ram_image() indicates only that get_ram_image() may need to reload the texture from disk, which it will do automatically. However, you can call might_have_ram_image(), which will return true if the ram image exists, or there is a reasonable reason to believe it can be loaded.
On the other hand, it is possible that the texture cannot be found on disk or is otherwise unavailable. If that happens, this function will return NULL. There is no way to predict with 100% accuracy whether get_ram_image() will return NULL without calling it first; might_have_ram_image() is the closest.

getRamImageCompression
Texture::CompressionMode Texture::get_ram_image_compression(void) const;

Description: Returns the compression mode in which the ram image is already stored pre-compressed. If this is other than CM_off, you cannot rely on the contents of the ram image to be anything predicatable (it will not be an array of x by y pixels, and it probably won't have the same length as get_expected_ram_image_size()).

getRamImageSize
unsigned int Texture::get_ram_image_size(void) const;

Description: Returns the number of bytes used by the in-memory image, or 0 if there is no in-memory image.

getRamMipmapImage
ConstPointerToArray< unsigned char > Texture::get_ram_mipmap_image(int n);

Description: Returns the system-RAM image data associated with the nth mipmap level, if present. Returns NULL if the nth mipmap level is not present.

getRamMipmapImageSize
unsigned int Texture::get_ram_mipmap_image_size(int n) const;

Description: Returns the number of bytes used by the in-memory image for mipmap level n, or 0 if there is no in-memory image for this mipmap level.

getRamMipmapPageSize
unsigned int Texture::get_ram_mipmap_page_size(int n) const;

Description: Returns the number of bytes used by the in-memory image per page for mipmap level n, or 0 if there is no in-memory image for this mipmap level.
For a non-compressed texture, this is the same as get_expected_ram_mipmap_page_size(). For a compressed texture, this may be a smaller value. (We do assume that all pages will be the same size on a compressed texture).

getRamPageSize
unsigned int Texture::get_ram_page_size(void) const;

Description: Returns the number of bytes used by the in-memory image per page, or 0 if there is no in-memory image.
For a non-compressed texture, this is the same as get_expected_ram_page_size(). For a compressed texture, this may be a smaller value. (We do assume that all pages will be the same size on a compressed texture).

getRenderToTexture
bool Texture::get_render_to_texture(void) const;

Description:

getTexturesPower2
static AutoTextureScale Texture::get_textures_power_2(void);

Description: This flag returns ATS_none, ATS_up, or ATS_down and controls the scaling of textures. It is initialized from the config variable of the same name, but it can be subsequently adjusted.

getTextureType
Texture::TextureType Texture::get_texture_type(void) const;

Description: Returns the overall interpretation of the texture.

getWrapU
Texture::WrapMode Texture::get_wrap_u(void) const;

Description: Returns the wrap mode of the texture in the U direction.

getWrapV
Texture::WrapMode Texture::get_wrap_v(void) const;

Description: Returns the wrap mode of the texture in the V direction.

getWrapW
Texture::WrapMode Texture::get_wrap_w(void) const;

Description: Returns the wrap mode of the texture in the W direction. This is the depth direction of 3-d textures.

getXSize
int Texture::get_x_size(void) const;

Description: Returns the width of the texture image in texels.

getYSize
int Texture::get_y_size(void) const;

Description: Returns the height of the texture image in texels. For a 1-d texture, this will be 1.

getZSize
int Texture::get_z_size(void) const;

Description: Returns the depth of the texture image in texels. For a 1-d texture or 2-d texture, this will be 1. For a cube map texture, this will be 6.

hasAllRamMipmapImages
bool Texture::has_all_ram_mipmap_images(void) const;

Description: Returns true if all expected mipmap levels have been defined and exist in the system RAM, or false if even one mipmap level is missing.

hasAlphaFilename
bool Texture::has_alpha_filename(void) const;

Description: Returns true if the alpha_filename has been set and is available. See set_alpha_filename().

hasAlphaFullpath
bool Texture::has_alpha_fullpath(void) const;

Description: Returns true if the alpha_fullpath has been set and is available. See set_alpha_fullpath().

hasFilename
bool Texture::has_filename(void) const;

Description: Returns true if the filename has been set and is available. See set_filename().

hasFullpath
bool Texture::has_fullpath(void) const;

Description: Returns true if the fullpath has been set and is available. See set_fullpath().

hasRamImage
virtual bool Texture::has_ram_image(void) const;

Description: Returns true if the Texture has its image contents available in main RAM, false if it exists only in texture memory or in the prepared GSG context.
Note that this has nothing to do with whether get_ram_image() will fail or not. Even if has_ram_image() returns false, get_ram_image() may still return a valid RAM image, because get_ram_image() will automatically load the texture from disk if necessary. The only thing has_ram_image() tells you is whether the texture is available right now without hitting the disk first.
Note also that if an application uses only one GSG, it may appear that has_ram_image() returns true if the texture has not yet been loaded by the GSG, but this correlation is not true in general and should not be depended on. Specifically, if an application ever uses multiple GSG's in its lifetime (for instance, by opening more than one window, or by closing its window and opening another one later), then has_ram_image() may well return false on textures that have never been loaded on the current GSG.

hasRamMipmapImage
bool Texture::has_ram_mipmap_image(int n) const;

Description: Returns true if the Texture has the nth mipmap level available in system memory, false otherwise. If the texture's minfilter mode requires mipmapping (see uses_mipmaps()), and all the texture's mipmap levels are not available when the texture is rendered, they will be generated automatically.

haveTexturesPower2
static bool Texture::have_textures_power_2(void);

Description: If true, then get_textures_power_2 has been set using set_textures_power_2. If false, then get_textures_power_2 simply returns the config variable of the same name.

isMipmap
static bool Texture::is_mipmap(Texture::FilterType type);

Description: Returns true if the indicated filter type requires the use of mipmaps, or false if it does not.

isPrepared
bool Texture::is_prepared(PreparedGraphicsObjects *prepared_objects) const;

Description: Returns true if the texture has already been prepared or enqueued for preparation on the indicated GSG, false otherwise.

load
bool Texture::load(PNMImage const &pnmimage);

Description: Replaces the texture with the indicated image.
Description: Stores the indicated image in the given page and mipmap level. See read().

loadRelated
Texture *Texture::load_related(InternalName const *suffix) const;

Description: Loads a texture whose filename is derived by concatenating a suffix to the filename of this texture. May return NULL, for example, if this texture doesn't have a filename.

makeCopy
virtual PointerTo< Texture > Texture::make_copy(void);

Description: Returns a new copy of the same Texture. This copy, if applied to geometry, will be copied into texture as a separate texture from the original, so it will be duplicated in texture memory (and may be independently modified if desired).
If the Texture is a VideoTexture, the resulting duplicate may be animated independently of the original.

makeRamImage
PointerToArray< unsigned char > Texture::make_ram_image(void);

Description: Discards the current system-RAM image for the texture, if any, and allocates a new buffer of the appropriate size. Returns the new buffer.
This does *not* affect keep_ram_image.

makeRamMipmapImage
PointerToArray< unsigned char > Texture::make_ram_mipmap_image(int n);

Description: Discards the current system-RAM image for the nth mipmap level, if any, and allocates a new buffer of the appropriate size. Returns the new buffer.
This does *not* affect keep_ram_image.

mightHaveRamImage
bool Texture::might_have_ram_image(void) const;

Description: Returns true if the texture's image contents are currently available in main RAM, or there is reason to believe it can be loaded on demand. That is, this function returns a "best guess" as to whether get_ram_image() will succeed without actually calling it first.

modifyRamImage
PointerToArray< unsigned char > Texture::modify_ram_image(void);

Description: Returns a modifiable pointer to the system-RAM image. This assumes the RAM image should be uncompressed. If the RAM image has been dumped, or is stored compressed, creates a new one.
This does *not* affect keep_ram_image.

modifyRamMipmapImage
PointerToArray< unsigned char > Texture::modify_ram_mipmap_image(int n);

Description: Returns a modifiable pointer to the system-RAM image for the nth mipmap level. This assumes the RAM image is uncompressed; if this is not the case, raises an assertion.
This does *not* affect keep_ram_image.

prepare
void Texture::prepare(PreparedGraphicsObjects *prepared_objects);

Description: Indicates that the texture should be enqueued to be prepared in the indicated prepared_objects at the beginning of the next frame. This will ensure the texture is already loaded into texture memory if it is expected to be rendered soon.
Use this function instead of prepare_now() to preload textures from a user interface standpoint.

prepareNow
TextureContext *Texture::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg);

Description: Creates a context for the texture on the particular GSG, if it does not already exist. Returns the new (or old) TextureContext. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new textures. If this is not necessarily the case, you should use prepare() instead.
Normally, this is not called directly except by the GraphicsStateGuardian; a texture does not need to be explicitly prepared by the user before it may be rendered.

read
bool Texture::read(Filename const &fullpath);

Description: Reads the named filename into the texture.
Description: Combine a 3-component image with a grayscale image to get a 4-component image.
See the description of the full-parameter read() method for the meaning of the primary_file_num_channels and alpha_file_channel parameters.
Description: Reads a single file into a single page or mipmap level, or automatically reads a series of files into a series of pages and/or mipmap levels.
See the description of the full-parameter read() method for the meaning of the various parameters.
Description: Reads the texture from the indicated filename. If primary_file_num_channels is not 0, it specifies the number of components to downgrade the image to if it is greater than this number.
If the filename has the extension .txo, this implicitly reads a texture object instead of a filename (which replaces all of the texture properties). In this case, all the rest of the parameters are ignored, and the filename should not contain any hash marks; just the one named file will be read, since a single .txo file can contain all pages and mipmaps necessary to define a texture.
If alpha_fullpath is not empty, it specifies the name of a file from which to retrieve the alpha. In this case, alpha_file_channel represents the numeric channel of this image file to use as the resulting texture's alpha channel; usually, this is 0 to indicate the grayscale combination of r, g, b; or it may be a one-based channel number, e.g. 1 for the red channel, 2 for the green channel, and so on.
If read pages is false, then z indicates the page number into which this image will be assigned. Normally this is 0 for the first (or only) page of the texture. 3-D textures have one page for each level of depth, and cube map textures always have six pages.
If read_pages is true, multiple images will be read at once, one for each page of a cube map or a 3-D texture. In this case, the filename should contain a sequence of one or more hash marks ("#") which will be filled in with the z value of each page, zero-based. In this case, the z parameter indicates the maximum z value that will be loaded, or 0 to load all filenames that exist.
If read_mipmaps is false, then n indicates the mipmap level to which this image will be assigned. Normally this is 0 for the base texture image, but it is possible to load custom mipmap levels into the later images. After the base texture image is loaded (thus defining the size of the texture), you can call get_expected_num_mipmap_levels() to determine the maximum sensible value for n.
If read_mipmaps is true, multiple images will be read as above, but this time the images represent the different mipmap levels of the texture image. In this case, the n parameter indicates the maximum n value that will be loaded, or 0 to load all filenames that exist (up to the expected number of mipmap levels).
If both read_pages and read_mipmaps is true, then both sequences will be read; the filename should contain two sequences of hash marks, separated by some character such as a hyphen, underscore, or dot. The first hash mark sequence will be filled in with the mipmap level, while the second hash mark sequence will be the page index.
This method implicitly sets keep_ram_image to false.

readTxo
bool Texture::read_txo(istream &in, string const &filename = ("stream"));

Description: Reads the texture from a Panda texture object. This defines the complete Texture specification, including the image data as well as all texture properties.
The filename is just for reference.

release
bool Texture::release(PreparedGraphicsObjects *prepared_objects);

Description: Frees the texture context only on the indicated object, if it exists there. Returns true if it was released, false if it had not been prepared.

releaseAll
int Texture::release_all(void);

Description: Frees the context allocated on all objects for which the texture has been declared. Returns the number of contexts which have been freed.

reload
bool Texture::reload(void);

Description: Re-reads the Texture from its disk file. Useful when you know the image on disk has recently changed, and you want to update the Texture image.
Returns true on success, false on failure (in which case, the Texture may or may not still be valid).

setAlphaFilename
void Texture::set_alpha_filename(Filename const &alpha_filename);

Description: Sets the name of the file that contains the image's alpha channel contents. Normally, this is set automatically when the image is loaded, for instance via Texture::read().
The Texture's get_filename() function returns the name of the image file that was loaded into the buffer. In the case where a texture specified two separate files to load, a 1- or 3-channel color image and a 1-channel alpha image, this Filename is update to contain the name of the image file that was loaded into the buffer's alpha channel.

setAlphaFullpath
void Texture::set_alpha_fullpath(Filename const &alpha_fullpath);

Description: Sets the full pathname to the file that contains the image's alpha channel contents, as found along the search path. Normally, this is set automatically when the image is loaded, for instance via
Texture::read().

setAnisotropicDegree
void Texture::set_anisotropic_degree(int anisotropic_degree);

Description: Specifies the level of anisotropic filtering to apply to the texture. Normally, this is 1, to indicate anisotropic filtering is disabled. This may be set to a number higher than one to enable anisotropic filtering, if the rendering backend supports this.

setAuxData
void Texture::set_aux_data(string const &key, TypedReferenceCount *aux_data);

Description: Records an arbitrary object in the Texture, associated with a specified key. The object may later be retrieved by calling get_aux_data() with the same key.
These data objects are not recorded to a bam or txo file.

setBorderColor
void Texture::set_border_color(LVecBase4f const &color);

Description: Specifies the solid color of the texture's border. Some OpenGL implementations use a border for tiling textures; in Panda, it is only used for specifying the clamp color.

setComponentType
void Texture::set_component_type(Texture::ComponentType component_type);

Description: Changes the data value for the texture components. This implicitly sets component_width as well.

setCompression
void Texture::set_compression(Texture::CompressionMode compression);

Description: Requests that this particular Texture be compressed when it is loaded into texture memory.
This refers to the internal compression of the texture image within texture memory; it is not related to jpeg or png compression, which are disk file compression formats. The actual disk file that generated this texture may be stored in a compressed or uncompressed format supported by Panda; it will be decompressed on load, and then recompressed by the graphics API if this parameter is not CM_off.
If the GSG does not support this texture compression mode, the texture will silently be loaded uncompressed.

setFilename
void Texture::set_filename(Filename const &filename);

These are published, but in general, you shouldn't be mucking with these values; they are set automatically when a texture is loaded.
Description: Sets the name of the file that contains the image's contents. Normally, this is set automatically when the image is loaded, for instance via
Texture::read().
The Texture's get_name() function used to return the filename, but now returns just the basename (without the extension), which is a more useful name for identifying an image in show code.

setFormat
void Texture::set_format(Texture::Format format);

Description: Changes the format value for the texture components. This implicitly sets num_components as well.

setFullpath
void Texture::set_fullpath(Filename const &fullpath);

Description: Sets the full pathname to the file that contains the image's contents, as found along the search path. Normally, this is set automatically when the image is loaded, for instance via Texture::read().

setKeepRamImage
void Texture::set_keep_ram_image(bool keep_ram_image);

Description: Sets the flag that indicates whether this Texture is eligible to have its main RAM copy of the texture memory dumped when the texture is prepared for rendering.
This will be true for most textures, which can reload their images if needed by rereading the input file. However, textures that were generated dynamically and cannot be easily reloaded will want to set this flag to true, so that the texture will always keep its image copy around.

setLoadedFromImage
void Texture::set_loaded_from_image(void);

Description: Sets the flag that indicates the texture has been loaded from a disk file or PNMImage. You should also ensure the filename has been set correctly. When this flag is true, the texture may be automatically reloaded when its ram image needs to be replaced.

setLoadedFromTxo
void Texture::set_loaded_from_txo(void);

Description: Sets the flag that indicates the texture has been loaded from a txo file. You probably shouldn't be setting this directly; it is set automatically when a Texture is loaded.

setMagfilter
void Texture::set_magfilter(Texture::FilterType filter);

Description:

setMatchFramebufferFormat
void Texture::set_match_framebuffer_format(bool flag);

Description: Sets the special flag that, if true, indicates to the GSG that the Texture's format should be chosen to exactly match the framebuffer's format, presumably because the application intends to copy image data from the framebuffer into the Texture (or vice-versa).
This sets only the graphics card's idea of the texture format; it is not related to the system-memory format.

setMinfilter
void Texture::set_minfilter(Texture::FilterType filter);

Description:

setPadSize
void Texture::set_pad_size(int x = (0), int y = (0), int z = (0));

Description: Sets the size of the pad region.
Sometimes, when a video card demands power-of-two textures, it is necessary to create a big texture and then only use a portion of it. The pad region indicates which portion of the texture is not really in use. All operations use the texture as a whole, including the pad region, unless they explicitly state that they use only the non-pad region.
Changing the texture's size clears the pad region.

setQualityLevel
void Texture::set_quality_level(Texture::QualityLevel quality_level);

Description: Sets a hint to the renderer about the desired performance / quality tradeoff for this particular texture. This is most useful for the tinydisplay software renderer; for normal, hardware-accelerated renderers, this may have little or no effect.

setRamImage
void Texture::set_ram_image(PointerToArray< unsigned char > image, Texture::CompressionMode compression = (CM_off), unsigned int page_size = (0));

Description: Replaces the current system-RAM image with the new data. If compression is not CM_off, it indicates that the new data is already pre-compressed in the indicated format.
This does *not* affect keep_ram_image.

setRamMipmapImage
void Texture::set_ram_mipmap_image(int n, PointerToArray< unsigned char > image, unsigned int page_size = (0));

Description: Replaces the current system-RAM image for the indicated mipmap level with the new data. If compression is not CM_off, it indicates that the new data is already pre-compressed in the indicated format.
This does *not* affect keep_ram_image.

setRenderToTexture
void Texture::set_render_to_texture(bool render_to_texture);

Description:

setSizePadded
void Texture::set_size_padded(int x = (1), int y = (1), int z = (1));

Description: Changes the size of the texture, padding if necessary, and setting the pad region as well.

setTexturesPower2
static void Texture::set_textures_power_2(AutoTextureScale scale);

Description: Set this flag to ATS_none, ATS_up, or ATS_down to control the scaling of textures.

setup1dTexture
void Texture::setup_1d_texture(void);

Description: Sets the texture as an empty 1-d texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 1-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setup2dTexture
void Texture::setup_2d_texture(void);

Description: Sets the texture as an empty 2-d texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 2-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setup3dTexture
void Texture::setup_3d_texture(int z_size = (1));

Description: Sets the texture as an empty 3-d texture with no dimensions (though if you know the depth ahead of time, it saves a bit of reallocation later). Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 3-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setupCubeMap
void Texture::setup_cube_map(void);

Description: Sets the texture as an empty cube map texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty cube map texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.
Note that a cube map should always consist of six square images, so x_size and y_size will be the same, and z_size is always 6.

setupTexture
void Texture::setup_texture(Texture::TextureType texture_type, int x_size, int y_size, int z_size, Texture::ComponentType component_type, Texture::Format format);

Description: Sets the texture to the indicated type and dimensions, presumably in preparation for calling read() or load(), or set_ram_image() or modify_ram_image().

setWrapU
void Texture::set_wrap_u(Texture::WrapMode wrap);

Description:

setWrapV
void Texture::set_wrap_v(Texture::WrapMode wrap);

Description:

setWrapW
void Texture::set_wrap_w(Texture::WrapMode wrap);

Description: The W wrap direction is only used for 3-d textures.

setXSize
void Texture::set_x_size(int x_size);

Description: Changes the x size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

setYSize
void Texture::set_y_size(int y_size);

Description: Changes the y size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

setZSize
void Texture::set_z_size(int z_size);

Description: Changes the z size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

store
bool Texture::store(PNMImage &pnmimage) const;

Description: Saves the texture to the indicated PNMImage, but does not write it to disk.
Description: Saves the indicated page and mipmap level of the texture to the PNMImage.

usesMipmaps
bool Texture::uses_mipmaps(void) const;

Description: Returns true if the minfilter settings on this texture indicate the use of mipmapping, false otherwise.

write
bool Texture::write(Filename const &fullpath);

Description: Writes the texture to the named filename.
Description: Writes a single page or mipmap level to a single file, or automatically writes a series of pages and/or mipmap levels to a numbered series of files.
If the filename ends in the extension .txo, this implicitly writes a Panda texture object (.txo) instead of an image file. In this case, the remaining parameters are ignored, and only one file is written, which will contain all of the pages and resident mipmap levels in the texture.
If write_pages is false, then z indicates the page number to write. 3-D textures have one page number for each level of depth; cube maps have six pages number 0 through 5. Other kinds of textures have only one page, numbered 0.
If write_pages is true, then all pages of the texture will be written. In this case z is ignored, and the filename should contain a sequence of hash marks ("#") which will be filled in with the page index number.
If write_mipmaps is false, then n indicates the mipmap level number to write. Normally, this is 0, for the base texture image. Normally, the mipmap levels of a texture are not available in RAM (they are generated automatically by the graphics card). However, if you have the mipmap levels available, for instance because you called generate_ram_mipmap_images() to generate them internally, or you called GraphicsEngine::extract_texture_data() to retrieve them from the graphics card, then you may write out each mipmap level with this parameter.
If write_mipmaps is true, then all mipmap levels of the texture will be written. In this case n is ignored, and the filename should contain a sequence of hash marks ("#") which will be filled in with the mipmap level number.
If both write_pages and write_mipmaps is true, then all pages and all mipmap levels will be written. In this case, the filename should contain two different sequences of hash marks, separated by a character such as a hyphen, underscore, or dot. The first hash mark sequence will be filled in with the mipmap level, while the second hash mark sequence will be the page index.
Description: Not to be confused with write(Filename), this method simply describes the texture properties.

writeTxo
bool Texture::write_txo(ostream &out, string const &filename = ("stream")) const;

Description: Writes the texture to a Panda texture object. This defines the complete Texture specification, including the image data as well as all texture properties.
The filename is just for reference.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle AnimInterface::get_class_type(void);

Undocumented function.

getFrac
double AnimInterface::get_frac(void) const;

Description: Returns the fractional part of the current frame. Normally, this is in the range 0.0 <= f < 1.0, but in the one special case of an animation playing to its end frame and stopping, it might exactly equal 1.0.
It will always be true that get_full_frame() + get_frac() == get_full_fframe().

getFrame
int AnimInterface::get_frame(void) const;

Description: Returns the current integer frame number. This number will be in the range 0 <= f < get_num_frames().

getFrameRate
double AnimInterface::get_frame_rate(void) const;

Description: Returns the native frame rate of the animation. This is the number of frames per second that will elapse when the play_rate is set to 1.0. It is a fixed property of the animation and may not be adjusted by the user.

getFullFframe
double AnimInterface::get_full_fframe(void) const;

Description: Returns the current floating-point frame number.
Unlike the value returned by get_frame(), this frame number may extend beyond the range of get_num_frames() if the frame range passed to play(), loop(), etc. did.
Unlike the value returned by get_full_frame(), this return value may equal (to_frame + 1.0), when the animation has played to its natural end. However, in this case the return value of get_full_frame() will be to_frame, not (to_frame + 1).

getFullFrame
int AnimInterface::get_full_frame(void) const;

Description: Returns the current integer frame number.
Unlike the value returned by get_frame(), this frame number may extend beyond the range of get_num_frames() if the frame range passed to play(), loop(), etc. did.
Unlike the value returned by get_full_fframe(), this return value will never exceed the value passed to to_frame in the play() method.

getNextFrame
int AnimInterface::get_next_frame(void) const;

Description: Returns the current integer frame number + 1, constrained to the range 0 <= f < get_num_frames().
If the play mode is PM_play, this will clamp to the same value as get_frame() at the end of the animation. If the play mode is any other value, this will wrap around to frame 0 at the end of the animation.

getNumFrames
virtual int AnimInterface::get_num_frames(void) const;

Description: Returns the number of frames in the animation. This is a property of the animation and may not be directly adjusted by the user (although it may change without warning with certain kinds of animations, since this is a virtual method that may be overridden).

getPlayRate
double AnimInterface::get_play_rate(void) const;

Description: Returns the rate at which the animation plays. See set_play_rate().

isPlaying
bool AnimInterface::is_playing(void) const;

Description: Returns true if the animation is currently playing, false if it is stopped (e.g. because stop() or pose() was called, or because it reached the end of the animation after play() was called).

loop
void AnimInterface::loop(bool restart);

Description: Starts the entire animation looping. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.
Description: Loops the animation from the frame "from" to and including the frame "to", indefinitely. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.

output
virtual void AnimInterface::output(ostream &out) const;

Description:

pingpong
void AnimInterface::pingpong(bool restart);

Description: Starts the entire animation bouncing back and forth between its first frame and last frame. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.
Description: Loops the animation from the frame "from" to and including the frame "to", and then back in the opposite direction, indefinitely.

play
void AnimInterface::play(void);

Description: Runs the entire animation from beginning to end and stops.
Description: Runs the animation from the frame "from" to and including the frame "to", at which point the animation is stopped. Both "from" and "to" frame numbers may be outside the range (0, get_num_frames()) and the animation will follow the range correctly, reporting numbers modulo get_num_frames(). For instance, play(0, get_num_frames() * 2) will play the animation twice and then stop.

pose
void AnimInterface::pose(double frame);

Description: Sets the animation to the indicated frame and holds it there.

setPlayRate
void AnimInterface::set_play_rate(double play_rate);

Description: Changes the rate at which the animation plays. 1.0 is the normal speed, 2.0 is twice normal speed, and 0.5 is half normal speed. 0.0 is legal to pause the animation, and a negative value will play the animation backwards.

stop
void AnimInterface::stop(void);

Description: Stops a currently playing or looping animation right where it is. The animation remains posed at the current frame.


FfmpegVideo

    from pandac.PandaModules import FfmpegVideo
    Class : FfmpegVideo
    Description :

Inheritance:

    FfmpegVideo: MovieVideo
    MovieVideo: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of FfmpegVideo:

    FfmpegVideo (Constructor)
    getClassType
    open

Methods of MovieVideo:

    MovieVideo (Constructor)
    get
    getClassType
    getFilename
    open

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
FfmpegVideo
FfmpegVideo::FfmpegVideo(Filename const &name);

Description: xxx

getClassType
static TypeHandle FfmpegVideo::get_class_type(void);

Undocumented function.

open
virtual PointerTo< MovieVideoCursor > FfmpegVideo::open(void);

Description: Open this video, returning a MovieVideoCursor.

MovieVideo
MovieVideo::MovieVideo(string const &name = ("Blank Video"));

Description: This constructor returns a null video stream --- a stream of plain blue and white frames that last one second each. To get more interesting video, you need to construct a subclass of this class.

get
static PointerTo< MovieVideo > MovieVideo::get(Filename const &name);

Description: Obtains a MovieVideo that references a file.

getClassType
static TypeHandle MovieVideo::get_class_type(void);

Undocumented function.

getFilename
Filename const &MovieVideo::get_filename(void) const;

Filename: movieVideo.I Created by: jyelon (02Jul07)
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."
Description: Returns the movie's filename. A movie is not guaranteed to have a filename, if not, then this function returns a null filename.

open
virtual PointerTo< MovieVideoCursor > MovieVideo::open(void);

Description: Open this video, returning a MovieVideoCursor.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


FfmpegVideoCursor

    from pandac.PandaModules import FfmpegVideoCursor
    Class : FfmpegVideoCursor
    Description :

Inheritance:

    FfmpegVideoCursor: MovieVideoCursor
    MovieVideoCursor: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of FfmpegVideoCursor:

    FfmpegVideoCursor (Constructor)
    getClassType

Methods of MovieVideoCursor:

    MovieVideoCursor (Constructor)
    aborted
    canSeek
    canSeekFast
    fetchIntoBitbucket
    fetchIntoTexture
    fetchIntoTextureAlpha
    fetchIntoTextureRgb
    getClassType
    getNumComponents
    getSource
    lastStart
    length
    nextStart
    ready
    setupTexture
    sizeX
    sizeY
    streaming

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
FfmpegVideoCursor
FfmpegVideoCursor::FfmpegVideoCursor(FfmpegVideo *src);

Description: xxx

getClassType
static TypeHandle FfmpegVideoCursor::get_class_type(void);

Undocumented function.

MovieVideoCursor
MovieVideoCursor::MovieVideoCursor(MovieVideo *src);

Description: This constructor returns a null video stream --- a stream of plain blue and white frames that last one second each. To get more interesting video, you need to construct a subclass of this class.

aborted
bool MovieVideoCursor::aborted(void) const;

Description: Returns true if the video has aborted prematurely. For example, this could occur if the Movie was actually an internet TV station, and the connection was lost. Reaching the normal end of the video does not constitute an 'abort' condition.

canSeek
bool MovieVideoCursor::can_seek(void) const;

Description: Returns true if the movie can seek. If this is true, seeking is still not guaranteed to be fast: for some movies, seeking is implemented by rewinding to the beginning and then fast-forwarding to the desired location. Even if the movie cannot seek, the fetch methods can still advance to an arbitrary location by reading frames and discarding them. However, to move backward, can_seek must return true.

canSeekFast
bool MovieVideoCursor::can_seek_fast(void) const;

Description: Returns true if seek operations are constant time.

fetchIntoBitbucket
virtual void MovieVideoCursor::fetch_into_bitbucket(double time);

Description: Discards the next video frame. Still sets last_start and next_start.
See fetch_into_buffer for more details.

fetchIntoTexture
virtual void MovieVideoCursor::fetch_into_texture(double time, Texture *t, int page);

Description: Reads the specified video frame into the specified texture.
See fetch_into_buffer for more details.

fetchIntoTextureAlpha
virtual void MovieVideoCursor::fetch_into_texture_alpha(double time, Texture *t, int page, int alpha_src);

Description: Reads the specified video frame into the alpha channel of the supplied texture. The RGB channels of the texture are not touched.
See fetch_into_buffer for more details.

fetchIntoTextureRgb
virtual void MovieVideoCursor::fetch_into_texture_rgb(double time, Texture *t, int page);

Description: Reads the specified video frame into the RGB channels of the supplied texture. The alpha channel of the texture is not touched.
See fetch_into_buffer for more details.

getClassType
static TypeHandle MovieVideoCursor::get_class_type(void);

Undocumented function.

getNumComponents
int MovieVideoCursor::get_num_components(void) const;

Description: Returns 4 if the movie has an alpha channel, 3 otherwise.

getSource
PointerTo< MovieVideo > MovieVideoCursor::get_source(void) const;

Filename: movieVideoCursor.I Created by: jyelon (02Jul07)
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."
Description: Get the MovieVideo which this cursor references.

lastStart
double MovieVideoCursor::last_start(void) const;

Description: Returns the start time of the last frame you read.
MovieVideoCursor streams have variable frame rates. Each frame will specify how long it is to be displayed. These lengths may not be equal from frame to frame.

length
double MovieVideoCursor::length(void) const;

Description: Returns the length of the movie.
Some kinds of Movie, such as internet TV station, might not have a predictable length. In that case, the length will be set to a very large number: 1.0E10. If the internet TV station goes offline, the video or audio stream will set its abort flag. Reaching the end of the movie (ie, the specified length) normally does not cause the abort flag to be set.
The video and audio streams produced by get_video and get_audio are always of unlimited duration - you can always read another video frame or another audio sample. This is true even if the specified length is reached, or an abort is flagged. If either stream runs out of data, it will synthesize blank video frames and silent audio samples as necessary to satisfy read requests.
Some AVI files have incorrect length values encoded into them - usually, they're a second or two long or short. When playing such an AVI using the Movie class, you may see a slightly truncated video, or a slightly elongated video (padded with black frames). There are utilities out there to fix the length values in AVI files.

nextStart
double MovieVideoCursor::next_start(void) const;

Description: Returns the start time of the next frame you can read.
MovieVideoCursor streams have variable frame rates. Each frame will specify how long it is to be displayed. These lengths may not be equal from frame to frame.

ready
bool MovieVideoCursor::ready(void) const;

Description: Returns true if the cursor is a streaming source, and if a video frame is ready to be read. For non- streaming sources, this is always false.

setupTexture
void MovieVideoCursor::setup_texture(Texture *tex) const;

Description: Set up the specified Texture object to contain content from this movie. This should be called once, not every frame.

sizeX
int MovieVideoCursor::size_x(void) const;

Description: Get the horizontal size of the movie.

sizeY
int MovieVideoCursor::size_y(void) const;

Description: Get the vertical size of the movie.

streaming
bool MovieVideoCursor::streaming(void) const;

Description: Returns true if the video frames are being "pushed" at us by something that operates at its own speed - for example, a webcam. In this case, the frames come when they're ready to come. Attempting to read too soon will produce nothing, reading too late will cause frames to be dropped. In this case, the ready flag can be used to determine whether or not a frame is ready for reading.
When streaming, you should still pay attention to last_start, but the value of next_start is only a guess.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


FileFilter

    from direct.pyinst.tocfilter import FileFilter
    A filter for data files

Inheritance:

    FileFilter:

Methods of FileFilter:

    __init__
__init__
def __init__(self, filelist)

Undocumented function.


Filename

    from pandac.PandaModules import Filename
    Class : Filename
    Description : The name of a file, such as a texture file or an Egg file. Stores the full pathname, and includes functions for extracting out the directory prefix part and the file extension and stuff.
    A Filename is also aware of the mapping between the Unix-like filename convention we use internally, and the local OS's specific filename convention, and it knows how to perform basic OS-specific I/O, like testing for file existence and searching a searchpath, as well as the best way to open an fstream for reading or writing.

Inheritance:

    Filename:

Methods of Filename:

    Filename (Constructor)
    binaryFilename
    chdir
    compareTimestamps
    compareTo
    cStr
    dsoFilename
    empty
    executableFilename
    exists
    expandFrom
    extractComponents
    findOnSearchpath
    fromOsSpecific
    getAccessTimestamp
    getBasename
    getBasenameWoExtension
    getClassType
    getCommonAppdataDirectory
    getDirname
    getExtension
    getFilenameIndex
    getFileSize
    getFullpath
    getFullpathWoExtension
    getHashToEnd
    getPattern
    getTempDirectory
    getTimestamp
    getType
    getUserAppdataDirectory
    hasHash
    isBinary
    isDirectory
    isExecutable
    isFullyQualified
    isLocal
    isRegularFile
    isText
    length
    makeAbsolute
    makeCanonical
    makeDir
    makeRelativeTo
    makeTrueCase
    openAppend
    openRead
    openReadWrite
    openWrite
    operator !=
    operator <
    operator =
    operator ==
    operator []
    output
    patternFilename
    renameTo
    resolveFilename
    scanDirectory
    setBasename
    setBasenameWoExtension
    setBinary
    setDirname
    setExtension
    setFullpath
    setFullpathWoExtension
    setHashToEnd
    setPattern
    setText
    setType
    standardize
    substr
    temporary
    textFilename
    toOsGeneric
    toOsLongName
    toOsShortName
    toOsSpecific
    touch
    unlink

Constants in Filename:

    TGeneral | (Type)
TDso | (Type)
TExecutable | (Type)
Filename
Filename::Filename(string const &filename = (""));

Description:

binaryFilename
static Filename Filename::binary_filename(string const &filename);

Static constructors to explicitly create a filename that refers to a text or binary file. This is in lieu of calling set_text() or set_binary() or set_type().
Description:

chdir
bool Filename::chdir(void) const;

Undocumented function.

compareTimestamps
int Filename::compare_timestamps(Filename const &other, bool this_missing_is_old = (1), bool other_missing_is_old = (1)) const;

Undocumented function.

compareTo
int Filename::compare_to(Filename const &other) const;

Description:

cStr
char const *Filename::c_str(void) const;

And retrieval is by any of the classic string operations.
Description:

dsoFilename
static Filename Filename::dso_filename(string const &filename);

Description:

empty
bool Filename::empty(void) const;

Description:

executableFilename
static Filename Filename::executable_filename(string const &filename);

Description:

exists
bool Filename::exists(void) const;

Undocumented function.

expandFrom
static Filename Filename::expand_from(string const &user_string, Filename::Type type = (T_general));

Undocumented function.

extractComponents
void Filename::extract_components(vector< string > &components) const;

Undocumented function.

findOnSearchpath
int Filename::find_on_searchpath(DSearchPath const &searchpath);

Undocumented function.

fromOsSpecific
static Filename Filename::from_os_specific(string const &os_specific, Filename::Type type = (T_general));

Undocumented function.

getAccessTimestamp
unsigned int Filename::get_access_timestamp(void) const;

Undocumented function.

getBasename
string Filename::get_basename(void) const;

Description: Returns the basename part of the filename. This is everything in the filename after the rightmost slash, including any extensions.

getBasenameWoExtension
string Filename::get_basename_wo_extension(void) const;

Description: Returns the basename part of the filename, without the file extension.

getClassType
static TypeHandle Filename::get_class_type(void);

Undocumented function.

getCommonAppdataDirectory
static Filename const &Filename::get_common_appdata_directory(void);

Undocumented function.

getDirname
string Filename::get_dirname(void) const;

Or, you can use any of these.
Description: Returns the directory part of the filename. This is everything in the filename up to, but not including the rightmost slash.

getExtension
string Filename::get_extension(void) const;

Description: Returns the file extension. This is everything after the rightmost dot, if there is one, or the empty string if there is not.

getFilenameIndex
Filename Filename::get_filename_index(int index) const;

Undocumented function.

getFileSize
int Filename::get_file_size(void) const;

Undocumented function.

getFullpath
string Filename::get_fullpath(void) const;

Or, you can use any of these.
Description: Returns the entire filename: directory, basename, extension. This is the same thing returned by the string typecast operator, so this function is a little redundant.

getFullpathWoExtension
string Filename::get_fullpath_wo_extension(void) const;

Description: Returns the full filename--directory and basename parts--except for the extension.

getHashToEnd
string Filename::get_hash_to_end(void) const;

Description: Returns the part of the filename beginning at the hash sequence (if any), and continuing to the end of the filename.

getPattern
bool Filename::get_pattern(void) const;

Description: Returns the flag indicating whether this is a filename pattern. See set_pattern().

getTempDirectory
static Filename const &Filename::get_temp_directory(void);

Undocumented function.

getTimestamp
unsigned int Filename::get_timestamp(void) const;

Undocumented function.

getType
Filename::Type Filename::get_type(void) const;

Description: Returns the type of the file represented by the filename, as previously set by set_type().

getUserAppdataDirectory
static Filename const &Filename::get_user_appdata_directory(void);

Undocumented function.

hasHash
bool Filename::has_hash(void) const;

Description: Returns true if the filename is indicated to be a filename pattern (that is, set_pattern(true) was called), and the filename pattern did include a sequence of hash marks, or false if it was not a filename pattern or did not include hash marks. If this is true, then get_filename_index() will return a different filename each time.

isBinary
bool Filename::is_binary(void) const;

Description: Returns true if the Filename has been indicated to represent a binary file via a previous call to set_binary(). It is possible that neither is_binary() nor is_text() will be true, if neither set_binary() nor set_text() was ever called.

isDirectory
bool Filename::is_directory(void) const;

Undocumented function.

isExecutable
bool Filename::is_executable(void) const;

Undocumented function.

isFullyQualified
bool Filename::is_fully_qualified(void) const;

Description: Returns true if the filename is fully qualified, e.g. begins with a slash. This is almost, but not quite, the same thing as !is_local(). It's not exactly the same because a special case is made for filenames that begin with a single dot followed by a slash--these are considered to be fully qualified (they are explicitly relative to the current directory, and do not refer to a filename on a search path somewhere).

isLocal
bool Filename::is_local(void) const;

The following functions deal with the outside world.
Description: Returns true if the filename is local, e.g. does not begin with a slash, or false if the filename is fully specified from the root.

isRegularFile
bool Filename::is_regular_file(void) const;

Undocumented function.

isText
bool Filename::is_text(void) const;

Description: Returns true if the Filename has been indicated to represent a text file via a previous call to set_text(). It is possible that neither is_binary() nor is_text() will be true, if neither set_binary() nor set_text() was ever called.

length
unsigned int Filename::length(void) const;

Description:

makeAbsolute
void Filename::make_absolute(void);

Undocumented function.

makeCanonical
bool Filename::make_canonical(void);

Undocumented function.

makeDir
bool Filename::make_dir(void) const;

Undocumented function.

makeRelativeTo
bool Filename::make_relative_to(Filename directory, bool allow_backups = (1));

Undocumented function.

makeTrueCase
bool Filename::make_true_case(void);

Undocumented function.

openAppend
bool Filename::open_append(ofstream &stream) const;

Undocumented function.

openRead
bool Filename::open_read(ifstream &stream) const;

Undocumented function.

openReadWrite
bool Filename::open_read_write(fstream &stream) const;

Undocumented function.

openWrite
bool Filename::open_write(ofstream &stream, bool truncate = (1)) const;

Undocumented function.

operator !=
bool Filename::operator !=(string const &other) const;

Comparison operators are handy.
Description:

operator <
bool Filename::operator <(string const &other) const;

Description:

operator =
Filename &Filename::operator =(string const &filename);

Assignment is via the = operator.
Description:

operator ==
bool Filename::operator ==(string const &other) const;

Comparison operators are handy.
Description:

operator []
char Filename::operator [](int n) const;

Description:

output
void Filename::output(ostream &out) const;

Description:

patternFilename
static Filename Filename::pattern_filename(string const &filename);

Description: Constructs a filename that represents a sequence of numbered files. See set_pattern().

renameTo
bool Filename::rename_to(Filename const &other) const;

Undocumented function.

resolveFilename
bool Filename::resolve_filename(DSearchPath const &searchpath, string const &default_extension = ((string())));

Undocumented function.

scanDirectory
bool Filename::scan_directory(vector< string > &contents) const;

Undocumented function.

setBasename
void Filename::set_basename(string const &s);

Undocumented function.

setBasenameWoExtension
void Filename::set_basename_wo_extension(string const &s);

Undocumented function.

setBinary
void Filename::set_binary(void);

Setting these flags appropriately is helpful when opening or searching for a file; it helps the Filename resolve OS-specific conventions (for instance, that dynamic library names should perhaps be changed from .so to .dll).
Description: Indicates that the filename represents a binary file. This is primarily relevant to the read_file() and write_file() methods, so they can set the appropriate flags to the OS.

setDirname
void Filename::set_dirname(string const &s);

You can also use any of these to reassign pieces of the filename.

setExtension
void Filename::set_extension(string const &s);

Undocumented function.

setFullpath
void Filename::set_fullpath(string const &s);

You can also use any of these to reassign pieces of the filename.

setFullpathWoExtension
void Filename::set_fullpath_wo_extension(string const &s);

Undocumented function.

setHashToEnd
void Filename::set_hash_to_end(string const &s);

Undocumented function.

setPattern
void Filename::set_pattern(bool pattern);

Description: Sets the flag indicating whether this is a filename pattern. When this is true, the filename is understood to be a placeholder for a numbered sequence of filename, such as an image sequence. In this case, a sequence of one or more hash characters ("#") should appear in the filename string; these characters will be filled in with the corresponding number (or more) of digits representing the sequence number. Sequence numbers always begin counting at 0.
When this is true, methods like has_hash() and get_hash_to_end() and get_filename_index() may be called. Methods like is_exists() will implicitly test for existance of filename sequence 0.

setText
void Filename::set_text(void);

Setting these flags appropriately is helpful when opening or searching for a file; it helps the Filename resolve OS-specific conventions (for instance, that dynamic library names should perhaps be changed from .so to .dll).
Description: Indicates that the filename represents a text file. This is primarily relevant to the read_file() and write_file() methods, so they can set the appropriate flags to the OS.

setType
void Filename::set_type(Filename::Type type);

Description: Sets the type of the file represented by the filename. This is useful for to_os_specific(), resolve_filename(), test_existence(), and all such real-world access functions. It helps the Filename know how to map the internal filename to the OS-specific filename (for instance, maybe executables should have an .exe extension).

standardize
void Filename::standardize(void);

Undocumented function.

substr
string Filename::substr(unsigned int begin, unsigned int end = (string::npos)) const;

Description:

temporary
static Filename Filename::temporary(string const &dirname, string const &prefix, string const &suffix = ((string())), Filename::Type type = (T_general));

Undocumented function.

textFilename
static Filename Filename::text_filename(string const &filename);

Static constructors to explicitly create a filename that refers to a text or binary file. This is in lieu of calling set_text() or set_binary() or set_type().
Description:

toOsGeneric
string Filename::to_os_generic(void) const;

Undocumented function.

toOsLongName
string Filename::to_os_long_name(void) const;

Undocumented function.

toOsShortName
string Filename::to_os_short_name(void) const;

Undocumented function.

toOsSpecific
string Filename::to_os_specific(void) const;

Undocumented function.

touch
bool Filename::touch(void) const;

Undocumented function.

unlink
bool Filename::unlink(void) const;

Undocumented function.


FilterConfig

    from direct.filter.CommonFilters import FilterConfig

Inheritance:

    FilterConfig:


FilterManager

    from direct.filter.FilterManager import FilterManager

Inheritance:

    FilterManager:

Methods of FilterManager:

    __init__
    cleanup
    createBuffer
    getClears
    getScaledSize
    isFullscreen
    renderQuadInto
    renderSceneInto
    resizeBuffers
    setClears
    setStackedClears
    windowEvent
__init__
def __init__(self, win, cam, forcex=0, forcey=0)

The FilterManager constructor requires you to provide a window which is rendering a scene, and the camera which is used by that window to render the scene. These are henceforth called the 'original window' and the 'original camera.'

cleanup
def cleanup(self)

Restore everything to its original state, deleting any new buffers in the process.

createBuffer
def createBuffer(self, name, xsize, ysize, texgroup, depthbits=1)

Low-level buffer creation. Not intended for public use.

getClears
def getClears(self, region)

Undocumented function.

getScaledSize
def getScaledSize(self, mul, div, align)

Calculate the size of the desired window. Not public.

isFullscreen
def isFullscreen(self)

Undocumented function.

renderQuadInto
def renderQuadInto(self, mul=1, div=1, align=1, depthtex=None, colortex=None, auxtex0=None, auxtex1=None)

Creates an offscreen buffer for an intermediate computation. Installs a quad into the buffer. Returns the fullscreen quad. The size of the buffer is initially equal to the size of the main window. The parameters 'mul', 'div', and 'align' can be used to adjust that size.

renderSceneInto
def renderSceneInto(self, depthtex=None, colortex=None, auxtex=None, auxbits=0, textures=None)

Causes the scene to be rendered into the supplied textures instead of into the original window. Puts a fullscreen quad into the original window to show the render-to-texture results. Returns the quad. Normally, the caller would then apply a shader to the quad.
To elaborate on how this all works:
* An offscreen buffer is created. It is set up to mimic
the original display region - it is the same size, uses the same clear colors, and contains a DisplayRegion that uses the original camera.
* A fullscreen quad and an orthographic camera to render
that quad are both created. The original camera is removed from the original window, and in its place, the orthographic quad-camera is installed.
* The fullscreen quad is textured with the data from the
offscreen buffer. A shader is applied that tints the results pink.
* Automatic shader generation is enabled by default for
the main camera. You can override this by setting shaders on individual nodes, or on the root of your scene graph, but if you do, your own shaders need to generate the outputs that the filter manager is expecting.
* All clears are disabled on the original display region.
If the display region fills the whole window, then clears are disabled on the original window as well. It is assumed that rendering the full-screen quad eliminates the need to do clears.
Hence, the original window which used to contain the actual scene, now contains a pink-tinted quad with a texture of the scene. It is assumed that the user will replace the shader on the quad with a more interesting filter.

resizeBuffers
def resizeBuffers(self, win)

Resize all buffers to match the size of the window.

setClears
def setClears(self, region, clears)

Undocumented function.

setStackedClears
def setStackedClears(self, region, clears0, clears1)

Undocumented function.

windowEvent
def windowEvent(self, win)

When the window changes size, automatically resize all buffers


FilterProperties

    from pandac.PandaModules import FilterProperties
    Class : FilterProperties
    Description : Stores a configuration for a set of audio DSP filters.

Inheritance:

    FilterProperties: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of FilterProperties:

    FilterProperties (Constructor)
    addChorus
    addCompress
    addDistort
    addEcho
    addFlange
    addHighpass
    addLowpass
    addNormalize
    addParameq
    addPitchshift
    addReverb
    clear
    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
FilterProperties
FilterProperties::FilterProperties(void);

Undocumented function.

addChorus
void FilterProperties::add_chorus(float drymix, float wet1, float wet2, float wet3, float delay, float rate, float depth, float feedback);

Description: Add a chorus filter to the end of the DSP chain.

addCompress
void FilterProperties::add_compress(float threshold, float attack, float release, float gainmakeup);

Description: Add a compress filter to the end of the DSP chain.

addDistort
void FilterProperties::add_distort(float level);

Description: Add a distort filter to the end of the DSP chain.

addEcho
void FilterProperties::add_echo(float drymix, float wetmix, float delay, float decayratio);

Description: Add a echo filter to the end of the DSP chain.

addFlange
void FilterProperties::add_flange(float drymix, float wetmix, float depth, float rate);

Description: Add a flange filter to the end of the DSP chain.

addHighpass
void FilterProperties::add_highpass(float cutoff_freq, float resonance_q);

Description: Add a highpass filter to the end of the DSP chain.

addLowpass
void FilterProperties::add_lowpass(float cutoff_freq, float resonance_q);

Description: Add a lowpass filter to the end of the DSP chain.

addNormalize
void FilterProperties::add_normalize(float fadetime, float threshold, float maxamp);

Description: Add a normalize filter to the end of the DSP chain.

addParameq
void FilterProperties::add_parameq(float center_freq, float bandwidth, float gain);

Description: Add a parameq filter to the end of the DSP chain.

addPitchshift
void FilterProperties::add_pitchshift(float pitch, float fftsize, float overlap);

Description: Add a pitchshift filter to the end of the DSP chain.

addReverb
void FilterProperties::add_reverb(float drymix, float wetmix, float roomsize, float damp, float width);

Description: Add a reverb filter to the end of the DSP chain.

clear
void FilterProperties::clear(void);

Filename: filterProperties.I Created by: jyelon (01Aug2007)
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."
Description: Removes all DSP postprocessing.

getClassType
static TypeHandle FilterProperties::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


FindContainers

    from direct.showbase.ContainerLeakDetector import FindContainers
    Explore the Python graph, looking for objects that support __len__()

Inheritance:

    FindContainers:

Methods of FindContainers:

    __init__
    _addContainerGen
    _addDiscoveredStartRef
    _hasLength
    _isDeadEnd
    def
    destroy
    getPriority
    run
__init__
def __init__(self, name, leakDetector)

Undocumented function.

_addContainerGen
def _addContainerGen(self, cont, objRef)

Undocumented function.

_addDiscoveredStartRef
def _addDiscoveredStartRef(self, obj, ref)

Undocumented function.

_hasLength
def _hasLength(self, obj)

Undocumented function.

_isDeadEnd
def _isDeadEnd(self, obj, objName=None)

Undocumented function.

def
def defgetStartObjAffinity

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getPriority
def getPriority(self)

Undocumented function.

run
def run(self)

Undocumented function.


FiniteBoundingVolume

    from pandac.PandaModules import FiniteBoundingVolume
    Class : FiniteBoundingVolume
    Description : A special kind of GeometricBoundingVolume that is known to be finite. It is possible to query this kind of volume for its minimum and maximum extents.

Inheritance:

    FiniteBoundingVolume: GeometricBoundingVolume
    GeometricBoundingVolume: BoundingVolume
    BoundingVolume: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of FiniteBoundingVolume:

    getClassType
    getMax
    getMin
    getVolume

Methods of GeometricBoundingVolume:

    around
    contains
    extendBy
    getApproxCenter
    getClassType
    xform

Methods of BoundingVolume:

    around
    contains
    extendBy
    getClassType
    isEmpty
    isInfinite
    makeCopy
    output
    setInfinite
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BoundingVolume:

    IFNoIntersection | (IntersectionFlags)
IFPossible | (IntersectionFlags)
IFSome | (IntersectionFlags)
IFAll | (IntersectionFlags)
IFDontUnderstand | (IntersectionFlags)
BTBest | (BoundsType)
BTSphere | (BoundsType)
BTBox | (BoundsType)
BTInvalid | (BoundsType)
getClassType
static TypeHandle FiniteBoundingVolume::get_class_type(void);

Undocumented function.

getMax
virtual LPoint3f FiniteBoundingVolume::get_max(void) const = 0;

Undocumented function.

getMin
virtual LPoint3f FiniteBoundingVolume::get_min(void) const = 0;

Undocumented function.

getVolume
virtual float FiniteBoundingVolume::get_volume(void) const;

Description:

around
bool GeometricBoundingVolume::around(GeometricBoundingVolume const **first, GeometricBoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated.
Description: Resets the volume to enclose only the points indicated.

contains
int GeometricBoundingVolume::contains(GeometricBoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated point.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated line segment.

extendBy
bool GeometricBoundingVolume::extend_by(GeometricBoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.
Description: Increases the size of the volume to include the given point.

getApproxCenter
virtual LPoint3f GeometricBoundingVolume::get_approx_center(void) const = 0;

Undocumented function.

getClassType
static TypeHandle GeometricBoundingVolume::get_class_type(void);

Undocumented function.

xform
virtual void GeometricBoundingVolume::xform(LMatrix4f const &mat) = 0;

Undocumented function.

around
bool BoundingVolume::around(BoundingVolume const **first, BoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated. Returns true if successful, false if the volume doesn't know how to do that or can't do that.

contains
int BoundingVolume::contains(BoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.

extendBy
bool BoundingVolume::extend_by(BoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.

getClassType
static TypeHandle BoundingVolume::get_class_type(void);

Undocumented function.

isEmpty
bool BoundingVolume::is_empty(void) const;

Description: Any kind of volume might be empty. This is a degenerate volume that contains no points; it's not the same as, for instance, a sphere with radius zero, since that contains one point (the center). It intersects with no other volumes.

isInfinite
bool BoundingVolume::is_infinite(void) const;

Description: The other side of the empty coin is an infinite volume. This is a degenerate state of a normally finite volume that contains all points. (Note that some kinds of infinite bounding volumes, like binary separating planes, do not contain all points and thus correctly return is_infinite() == false, even though they are technically infinite. This is a special case of the word 'infinite' meaning the volume covers all points in space.)
It completely intersects with all other volumes except empty volumes.

makeCopy
virtual BoundingVolume *BoundingVolume::make_copy(void) const = 0;

Undocumented function.

output
virtual void BoundingVolume::output(ostream &out) const = 0;

Undocumented function.

setInfinite
void BoundingVolume::set_infinite(void);

Description: Marks the volume as infinite, even if it is normally finite. You can think of this as an infinite extend_by() operation.

write
virtual void BoundingVolume::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


FisheyeLens

    from pandac.PandaModules import FisheyeLens
    Class : FisheyeLens
    Description : A fisheye lens. This nonlinear lens introduces a spherical distortion to the image, which is minimal at small angles from the lens, and increases at larger angles from the lens. The field of view may extend to 360 degrees.

Inheritance:

    FisheyeLens: Lens
    Lens: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of FisheyeLens:

    FisheyeLens (Constructor)
    getClassType

Methods of Lens:

    clear
    clearKeystone
    clearViewMat
    extrude
    extrudeVec
    getAspectRatio
    getChangeEvent
    getClassType
    getConvergenceDistance
    getCoordinateSystem
    getDefaultFar
    getDefaultNear
    getFar
    getFilmMat
    getFilmMatInv
    getFilmOffset
    getFilmSize
    getFocalLength
    getFov
    getHfov
    getInterocularDistance
    getKeystone
    getLensMat
    getLensMatInv
    getMinFov
    getNear
    getNodalPoint
    getProjectionMat
    getProjectionMatInv
    getUpVector
    getVfov
    getViewHpr
    getViewMat
    getViewVector
    isLinear
    isOrthographic
    isPerspective
    makeBounds
    makeCopy
    makeGeometry
    output
    project
    recomputeAll
    setAspectRatio
    setChangeEvent
    setConvergenceDistance
    setCoordinateSystem
    setFar
    setFilmOffset
    setFilmSize
    setFocalLength
    setFov
    setFrustumFromCorners
    setInterocularDistance
    setKeystone
    setMinFov
    setNear
    setNearFar
    setViewHpr
    setViewMat
    setViewVector
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in Lens:

    SCMono | (StereoChannel)
SCLeft | (StereoChannel)
SCRight | (StereoChannel)
SCStereo | (StereoChannel)
FCRoll | (FromCorners)
FCCameraPlane | (FromCorners)
FCOffAxis | (FromCorners)
FCAspectRatio | (FromCorners)
FCShear | (FromCorners)
FCKeystone | (FromCorners)
FisheyeLens
FisheyeLens::FisheyeLens(void);

Description:

getClassType
static TypeHandle FisheyeLens::get_class_type(void);

Undocumented function.

clear
void Lens::clear(void);

Description: Resets all lens parameters to their initial default settings.

clearKeystone
void Lens::clear_keystone(void);

Description: Disables the lens keystone correction.

clearViewMat
void Lens::clear_view_mat(void);

Description: Resets the lens transform to identity.

extrude
bool Lens::extrude(LPoint2f const &point2d, LPoint3f &near_point, LPoint3f &far_point) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the corresponding vector in space that maps to this point, if such a vector can be determined. The vector is returned by indicating the points on the near plane and far plane that both map to the indicated 2-d point.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

extrudeVec
bool Lens::extrude_vec(LPoint2f const &point2d, LVector3f &vec3d) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the vector that corresponds to the view direction. This will be parallel to the normal on the surface (the far plane) corresponding to the lens shape at this point.
See the comment block on Lens::extrude_vec_impl() for a more in-depth comment on the meaning of this vector.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

getAspectRatio
float Lens::get_aspect_ratio(void) const;

Description: Returns the aspect ratio of the Lens. This is determined based on the indicated film size; see set_film_size().

getChangeEvent
string const &Lens::get_change_event(void) const;

Description: Returns the name of the event that will be generated whenever any properties of this particular Lens have changed.

getClassType
static TypeHandle Lens::get_class_type(void);

Undocumented function.

getConvergenceDistance
float Lens::get_convergence_distance(void) const;

Description: See set_convergence_distance().

getCoordinateSystem
CoordinateSystem Lens::get_coordinate_system(void) const;

Description: Returns the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

getDefaultFar
static float Lens::get_default_far(void);

Description: Returns the default far plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getDefaultNear
static float Lens::get_default_near(void);

Description: Returns the default near plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getFar
float Lens::get_far(void) const;

Description: Returns the position of the far plane (or cylinder, sphere, whatever).

getFilmMat
LMatrix4f const &Lens::get_film_mat(void) const;

Description: Returns the matrix that transforms from a point behind the lens to a point on the film.

getFilmMatInv
LMatrix4f const &Lens::get_film_mat_inv(void) const;

Description: Returns the matrix that transforms from a point on the film to a point behind the lens.

getFilmOffset
LVector2f const &Lens::get_film_offset(void) const;

Description: Returns the horizontal and vertical offset amounts of this Lens. See set_film_offset().

getFilmSize
LVecBase2f const &Lens::get_film_size(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_film_size().

getFocalLength
float Lens::get_focal_length(void) const;

Description: Returns the focal length of the lens. This may have been set explicitly by a previous call to set_focal_length(), or it may be computed based on the lens' fov and film_size. For certain kinds of lenses, the focal length has no meaning.

getFov
LVecBase2f const &Lens::get_fov(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_fov().

getHfov
float Lens::get_hfov(void) const;

Description: Returns the horizontal component of fov only. See get_fov().

getInterocularDistance
float Lens::get_interocular_distance(void) const;

Description: See set_interocular_distance().

getKeystone
LVecBase2f const &Lens::get_keystone(void) const;

Description: Returns the keystone correction specified for the lens.

getLensMat
LMatrix4f const &Lens::get_lens_mat(void) const;

Description: Returns the matrix that transforms from a point in front of the lens to a point in space.

getLensMatInv
LMatrix4f const &Lens::get_lens_mat_inv(void) const;

Description: Returns the matrix that transforms from a point in space to a point in front of the lens.

getMinFov
float Lens::get_min_fov(void) const;

Description: Returns the field of view of the narrowest dimension of the window. See set_min_fov().

getNear
float Lens::get_near(void) const;

Description: Returns the position of the near plane (or cylinder, sphere, whatever).

getNodalPoint
LPoint3f Lens::get_nodal_point(void) const;

Description: Returns the center point of the lens: the point from which the lens is viewing.

getProjectionMat
LMatrix4f const &Lens::get_projection_mat(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the complete transformation matrix from a 3-d point in space to a point on the film, if such a matrix exists, or the identity matrix if the lens is nonlinear.

getProjectionMatInv
LMatrix4f const &Lens::get_projection_mat_inv(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the matrix that transforms from a 2-d point on the film to a 3-d vector in space, if such a matrix exists.

getUpVector
LVector3f const &Lens::get_up_vector(void) const;

Description: Returns the axis perpendicular to the camera's view vector that indicates the "up" direction.

getVfov
float Lens::get_vfov(void) const;

Description: Returns the vertical component of fov only. See get_fov().

getViewHpr
LVecBase3f const &Lens::get_view_hpr(void) const;

Description: Returns the direction in which the lens is facing.

getViewMat
LMatrix4f const &Lens::get_view_mat(void) const;

Description: Returns the direction in which the lens is facing.

getViewVector
LVector3f const &Lens::get_view_vector(void) const;

Description: Returns the axis along which the lens is facing.

isLinear
virtual bool Lens::is_linear(void) const;

Description: Returns true if the lens represents a linear projection (e.g. PerspectiveLens, OrthographicLens), and therefore there is a valid matrix returned by get_projection_mat(), or false otherwise.

isOrthographic
virtual bool Lens::is_orthographic(void) const;

Description: Returns true if the lens represents a orthographic projection (i.e. it is a OrthographicLens), false otherwise.

isPerspective
virtual bool Lens::is_perspective(void) const;

Description: Returns true if the lens represents a perspective projection (i.e. it is a PerspectiveLens), false otherwise.

makeBounds
virtual PointerTo< BoundingVolume > Lens::make_bounds(void) const;

Description: Allocates and returns a new BoundingVolume that encloses the frustum used for this kind of lens, if possible. If a suitable bounding volume cannot be created, returns NULL.

makeCopy
virtual PointerTo< Lens > Lens::make_copy(void) const = 0;

Undocumented function.

makeGeometry
virtual PointerTo< Geom > Lens::make_geometry(void);

Description: Allocates and returns a new Geom that can be rendered to show a visible representation of the frustum used for this kind of lens, if it makes sense to do so. If a visible representation cannot be created, returns NULL.

output
virtual void Lens::output(ostream &out) const;

Description:

project
bool Lens::project(LPoint3f const &point3d, LPoint3f &point2d) const;

Description: Given a 3-d point in space, determine the 2-d point this maps to, in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner.
Returns true if the 3-d point is in front of the lens and within the viewing frustum (in which case point2d is filled in), or false otherwise (in which case point2d will be filled in with something, which may or may not be meaningful).
The z coordinate will also be set to a value in the range (-1, 1), where 1 represents a point on the near plane, and -1 represents a point on the far plane.

recomputeAll
void Lens::recompute_all(void);

Description: Forces all internal parameters of the Lens to be recomputed. Normally, this should never need to be called; it is provided only to assist in debugging.

setAspectRatio
void Lens::set_aspect_ratio(float aspect_ratio);

Description: Sets the aspect ratio of the lens. This is the ratio of the height to the width of the generated image. Setting this overrides the two-parameter fov or film size setting.

setChangeEvent
void Lens::set_change_event(string const &event);

Description: Sets the name of the event that will be generated whenever any properties of the Lens have changed. If this is not set for a particular lens, no event will be generated.
The event is thrown with one parameter, the lens itself. This can be used to automatically track changes to camera fov, etc. in the application.

setConvergenceDistance
void Lens::set_convergence_distance(float convergence_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setCoordinateSystem
void Lens::set_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

setFar
void Lens::set_far(float far_distance);

Description: Defines the position of the far plane (or cylinder, sphere, whatever). Points farther from the lens than this may not be rendered.

setFilmOffset
void Lens::set_film_offset(float x, float y);

Description: Sets the horizontal and vertical offset amounts of this Lens. These are both in the same units specified in set_film_size().
This can be used to establish an off-axis lens.

setFilmSize
void Lens::set_film_size(float width);

Description: Sets the size and shape of the "film" within the lens. This both establishes the units used by calls like set_focal_length(), and establishes the aspect ratio of the frame.
In a physical camera, the field of view of a lens is determined by the lens' focal length and by the size of the film area exposed by the lens. For instance, a 35mm camera exposes a rectangle on the film about 24mm x 36mm, which means a 50mm lens gives about a 40-degree horizontal field of view.
In the virtual camera, you may set the film size to any units here, and specify a focal length in the same units to simulate the same effect. Or, you may ignore this parameter, and specify the field of view and aspect ratio of the lens directly.
Description: Sets the horizontal size of the film without changing its shape. The aspect ratio remains unchanged; this computes the vertical size of the film to automatically maintain the aspect ratio.

setFocalLength
void Lens::set_focal_length(float focal_length);

Description: Sets the focal length of the lens. This may adjust the field-of-view correspondingly, and is an alternate way to specify field of view.
For certain kinds of lenses (e.g. OrthographicLens), the focal length has no meaning.

setFov
void Lens::set_fov(float fov);

Description: Sets the field of view of the lens in both dimensions. This establishes both the field of view and the aspect ratio of the lens. This is one way to specify the field of view of a lens; set_focal_length() is another way.
For certain kinds of lenses (like OrthoLens), the field of view has no meaning.
Description: Sets the horizontal field of view of the lens without changing the aspect ratio. The vertical field of view is adjusted to maintain the same aspect ratio.
For certain kinds of lenses (like OrthographicLens), the field of view has no meaning.

setFrustumFromCorners
void Lens::set_frustum_from_corners(LVecBase3f const &ul, LVecBase3f const &ur, LVecBase3f const &ll, LVecBase3f const &lr, int flags);

Description: Sets up the lens to use the frustum defined by the four indicated points. This is most useful for a PerspectiveLens, but it may be called for other kinds of lenses as well.
The frustum will be rooted at the origin (or by whatever translation might have been specified in a previous call to set_view_mat).
It is legal for the four points not to be arranged in a rectangle; if this is the case, the frustum will be fitted as tightly as possible to cover all four points.
The flags parameter contains the union of one or more of the following bits to control the behavior of this function:
FC_roll - If this is included, the camera may be rotated so that its up vector is perpendicular to the top line. Otherwise, the standard up vector is used.
FC_camera_plane - This allows the camera plane to be adjusted to be as nearly perpendicular to the center of the frustum as possible. Without this bit, the orientation camera plane is defined by position of the four points (which should all be coplanar). With this bit, the camera plane is arbitarary, and may be chosen so that the four points do not themselves lie in the camera plane (but the points will still be within the frustum).
FC_off_axis - This allows the resulting frustum to be off-axis to get the tightest possible fit. Without this bit, the viewing axis will be centered within the frustum, but there may be more wasted space along the edges.
FC_aspect_ratio - This allows the frustum to be scaled non-proportionately in the vertical and horizontal dimensions, if necessary, to get a tighter fit. Without this bit, the current aspect ratio will be preserved.
FC_shear - This allows the frustum to be sheared, if necessary, to get the tightest possible fit. This may result in a parallelogram-based frustum, which will give a slanted appearance to the rendered image. Without this bit, the frustum will be rectangle-based.
In general, if 0 is passed in as the value for flags, the generated frustum will be a loose fit but sane; if -1 is passed in, it will be a tighter fit and possibly screwy.

setInterocularDistance
void Lens::set_interocular_distance(float interocular_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setKeystone
void Lens::set_keystone(LVecBase2f const &keystone);

Description: Indicates the ratio of keystone correction to perform on the lens, in each of three axes. This will build a special non-affine scale factor into the projection matrix that will compensate for keystoning of a projected image; this can be used to compensate for a projector that for physical reasons cannot be aimed directly at it screen.
The default value is taken from the default-keystone Config variable. 0, 0 indicates no keystone correction; specify a small value (usually in the range -1 .. 1) in either the x or y position to generate a keystone correction in that axis.

setMinFov
void Lens::set_min_fov(float min_fov);

Description: Sets the field of view of the smallest dimension of the window. If the window is wider than it is tall, this specifies the vertical field of view; if it is taller than it is wide, this specifies the horizontal field of view.
In many cases, this is preferable to setting either the horizontal or vertical field of view explicitly. Setting this parameter means that pulling the window wider will widen the field of view, which is usually what you expect to happen.

setNear
void Lens::set_near(float near_distance);

Description: Defines the position of the near plane (or cylinder, sphere, whatever). Points closer to the lens than this may not be rendered.

setNearFar
void Lens::set_near_far(float near_distance, float far_distance);

Description: Simultaneously changes the near and far planes.

setViewHpr
void Lens::set_view_hpr(float h, float p, float r);

Description: Sets the direction in which the lens is facing. Normally, this is down the forward axis (usually the Y axis), but it may be rotated. This is only one way of specifying the rotation; you may also specify an explicit vector in which to look, or you may give a complete transformation matrix.

setViewMat
void Lens::set_view_mat(LMatrix4f const &view_mat);

Description: Sets an arbitrary transformation on the lens. This replaces the individual transformation components like set_view_hpr().
Setting a transformation here will have a slightly different effect than putting one on the LensNode that contains this lens. In particular, lighting and other effects computations will still be performed on the lens in its untransformed (facing forward) position, but the actual projection matrix will be transformed by this matrix.

setViewVector
void Lens::set_view_vector(float x, float y, float z, float i, float j, float k);

Description: Specifies the direction in which the lens is facing by giving an axis to look along, and a perpendicular (or at least non-parallel) up axis.
See also set_view_hpr().

write
virtual void Lens::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


FisheyeMaker

    from pandac.PandaModules import FisheyeMaker
    Class : FisheyeMaker
    Description : This class is similar to CardMaker, but instead of generating ordinary cards, it generates a circular rose that represents the projection of a 3-D scene through a fisheye lens. The texture coordinates of the rose are defined so that each 2-D vertex has a 3-D UVW that reflects the corresponding position in 3-D space of that particular vertex.
    This class is particularly suited for converting cube maps to sphere maps.

Inheritance:

    FisheyeMaker: Namable
    Namable:

Methods of FisheyeMaker:

    FisheyeMaker (Constructor)
    generate
    reset
    setFov
    setNumVertices
    setReflection
    setSquareInscribed

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
FisheyeMaker
FisheyeMaker::FisheyeMaker(string const &name);

Description:

generate
PointerTo< PandaNode > FisheyeMaker::generate(void);

Description: Generates a GeomNode that renders the specified geometry.

reset
void FisheyeMaker::reset(void);

Description: Resets all the parameters to their initial defaults.

setFov
void FisheyeMaker::set_fov(float fov);

Description: Specifies the field of view of the fisheye projection. A sphere map will have a 360-degree field of view (and this is the default).

setNumVertices
void FisheyeMaker::set_num_vertices(int num_vertices);

Description: Specifies the approximate number of vertices to be used to generate the rose. This is the approximate number of vertices that will be located within the rose's unit circle, not counting the inscribing square (if any). The actual number of vertices used may be +/- 25% of this value.

setReflection
void FisheyeMaker::set_reflection(bool reflection);

Description: Sets the flag indicating whether the texture image should be mirrored (true) or normal (false). When this is true, the 3-D texture coordinates will be reversed so that the image is appropriate for a reflection. This is the best choice for generating a sphere map from a cube map. The default is false.

setSquareInscribed
void FisheyeMaker::set_square_inscribed(bool square_inscribed, float square_radius);

Description: Sets the flag that indicates whether the rose should be inscribed within a square. When this is true, an additional square is generated to inscribed the circular rose, with the indicated "radius" (the sides of the square will be 2 * square_radius). The texture coordinates of the square will uniformly map to the back pole of the cube map.
This is mainly useful to provide a good uniform background color for a sphere map so that it does not have a sharp circular edge that might produce artifacts due to numerical imprecision when mapping.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


Floater

    from direct.tkwidgets.Floater import Floater

Inheritance:

    Floater:

Methods of Floater:

    __init__
    createValuator
    packValuator
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

createValuator
def createValuator(self)

Undocumented function.

packValuator
def packValuator(self)

Undocumented function.


FloaterGroup

    from direct.tkwidgets.Floater import FloaterGroup

Inheritance:

    FloaterGroup:

Methods of FloaterGroup:

    __init__
    _floaterSetAt
    _updateLabels
    get
    getAt
    reset
    set
    setAt
    toggleBalloon
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

_floaterSetAt
def _floaterSetAt(self, index, value)

Undocumented function.

_updateLabels
def _updateLabels(self)

Undocumented function.

get
def get(self)

Undocumented function.

getAt
def getAt(self, index)

Undocumented function.

reset
def reset(self)

Undocumented function.

set
def set(self, value, fCommand=1)

Undocumented function.

setAt
def setAt(self, index, value)

Undocumented function.

toggleBalloon
def toggleBalloon(self)

Undocumented function.


FloaterWidget

    from direct.tkwidgets.Floater import FloaterWidget

Inheritance:

    FloaterWidget:

Methods of FloaterWidget:

    __init__
    get
    highlightWidget
    mouseDown
    mouseUp
    restoreWidget
    set
    setBackground
    setBorderwidth
    setNumDigits
    setRelief
    updateFloaterSF
    updateFloaterTask
    updateIndicator
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

get
def get(self)

self.get() Get current floater value

highlightWidget
def highlightWidget(self, event)

Undocumented function.

mouseDown
def mouseDown(self, event)

Begin mouse interaction

mouseUp
def mouseUp(self, event)

Undocumented function.

restoreWidget
def restoreWidget(self, event)

Undocumented function.

set
def set(self, value, fCommand=1)

self.set(value, fCommand = 1) Set floater to new value, execute command if fCommand == 1

setBackground
def setBackground(self)

Undocumented function.

setBorderwidth
def setBorderwidth(self)

Undocumented function.

setNumDigits
def setNumDigits(self)

Adjust minimum exponent to use in velocity task based upon the number of digits to be displayed in the result

setRelief
def setRelief(self)

Undocumented function.

updateFloaterSF
def updateFloaterSF(self, event)

Update velocity scale factor based of mouse distance from origin

updateFloaterTask
def updateFloaterTask(self, state)

Update floaterWidget value based on current scaleFactor Adjust for time to compensate for fluctuating frame rates

updateIndicator
def updateIndicator(self, value)

Undocumented function.


Fog

    from pandac.PandaModules import Fog
    Class : Fog
    Description : Specifies how atmospheric fog effects are applied to geometry. The Fog object is now a PandaNode, which means it can be used similarly to a Light to define effects relative to a particular coordinate system within the scene graph.
    In exponential mode, the fog effects are always camera-relative, and it does not matter where the Fog node is parented. However, in linear mode, the onset and opaque distances are defined as offsets along the local forward axis (e.g. the Y axis). This allows the fog effect to be localized to a particular region in space, rather than always camera-relative. If the fog object is not parented to any node, it is used to generate traditonal camera-relative fog, as if it were parented to the camera.

Inheritance:

    Fog: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of Fog:

    Fog (Constructor)
    getClassType
    getColor
    getExpDensity
    getLinearOnsetPoint
    getLinearOpaquePoint
    getMode
    setColor
    setExpDensity
    setLinearFallback
    setLinearOnsetPoint
    setLinearOpaquePoint
    setLinearRange
    setMode

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in Fog:

    MLinear | (Mode)
MExponential | (Mode)
MExponentialSquared | (Mode)

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
Fog
Fog::Fog(string const &name);

Description:

getClassType
static TypeHandle Fog::get_class_type(void);

Undocumented function.

getColor
LVecBase4f const &Fog::get_color(void) const;

Description: Returns the color of the fog.

getExpDensity
float Fog::get_exp_density(void) const;

Description: Returns the density of the fog for exponential calculations. This is only used if the mode is not M_linear.

getLinearOnsetPoint
LPoint3f const &Fog::get_linear_onset_point(void) const;

Description: Returns the point in space at which the fog begins. This is only used if the mode is M_linear.

getLinearOpaquePoint
LPoint3f const &Fog::get_linear_opaque_point(void) const;

Description: Returns the point in space at which the fog completely obscures geometry. This is only used if the mode is M_linear.

getMode
Fog::Mode Fog::get_mode(void) const;

Description:

setColor
void Fog::set_color(float r, float g, float b);

Description: Sets the color of the fog.
Description: Sets the color of the fog. The alpha component is not used.

setExpDensity
void Fog::set_exp_density(float exp_density);

Description: Sets the density of the fog for exponential calculations. This is only used if the mode is not M_linear.
If the mode is currently set to M_linear, this function implicitly sets it to M_exponential.

setLinearFallback
void Fog::set_linear_fallback(float angle, float onset, float opaque);

Description: Fog effects are traditionally defined in camera-relative space, but the Panda Fog node has a special mode in which it can define a linear fog effect in an arbitrary coordinate space.
This is done by specifying 3-d onset and opaque points, and parenting the Fog object somewhere within the scene graph. In this mode, the fog will be rendered as if it extended along the vector from the onset point to the opaque point, in 3-d space.
However, the underlying fog effect supported by hardware is generally only one-dimensional, and must be rendered based on linear distance from the camera plane. Thus, this in-the-world effect is most effective when the fog vector from onset point to opaque point is most nearly parallel to the camera's eye vector.
As the angle between the fog vector and the eye vector increases, the accuracy of the effect diminishes, up to a complete breakdown of the effect at a 90 degree angle.
This function exists to define the workaround to this problem. The linear fallback parameters given here specify how the fog should be rendered when the parameters are exceeded in this way.
The angle parameter is the minimum angle, in degrees, of the fog vector to the eye vector, at which the fallback effect should be employed. The onset and opaque parameters specify the camera-relative onset and opaque distances to pass to the rendering hardware when employing the fallback effect. This supercedes the 3-d onset point and opaque points.

setLinearOnsetPoint
void Fog::set_linear_onset_point(float x, float y, float z);

Description: Specifies the point in space at which the fog begins. This is only used if the mode is M_linear.

setLinearOpaquePoint
void Fog::set_linear_opaque_point(LPoint3f const &linear_opaque_point);

Description: Specifies the point in space at which the fog completely obscures geometry. This is only used if the mode is M_linear.

setLinearRange
void Fog::set_linear_range(float onset, float opaque);

Description: Specifies the effects of the fog in linear distance units. This is only used if the mode is M_linear.
This specifies a fog that begins at distance onset units from the origin, and becomes totally opaque at distance opaque units from the origin, along the forward axis (usually Y).
This function also implicitly sets the mode the M_linear, if it is not already set.

setMode
void Fog::set_mode(Fog::Mode mode);

Description: Specifies the computation that is used to determine the fog effect. If this is M_linear, then the fog will range from linearly from the onset point to the opaque point (or for the distances specified in set_linear_range), and the fog object should be parented into the scene graph, or to the camera.
If this is anything else, the onset point and opaque point are not used, and the fog effect is based on the value specified to set_exp_density(), and it doesn't matter to which node the fog object is parented, or if it is parented anywhere at all.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


FogAttrib

    from pandac.PandaModules import FogAttrib
    Class : FogAttrib
    Description : Applies a Fog to the geometry at and below this node.

Inheritance:

    FogAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of FogAttrib:

    getClassType
    getFog
    isOff
    make
    makeOff

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle FogAttrib::get_class_type(void);

Undocumented function.

getFog
Fog *FogAttrib::get_fog(void) const;

Description: If the FogAttrib is not an 'off' FogAttrib, returns the fog that is associated. Otherwise, return NULL.

isOff
bool FogAttrib::is_off(void) const;

Description: Returns true if the FogAttrib is an 'off' FogAttrib, indicating that it should disable fog.

make
static ConstPointerTo< RenderAttrib > FogAttrib::make(Fog *fog);

Description: Constructs a new FogAttrib object suitable for rendering the indicated fog onto geometry.

makeOff
static ConstPointerTo< RenderAttrib > FogAttrib::make_off(void);

Description: Constructs a new FogAttrib object suitable for rendering unfogd geometry.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


FontPool

    from pandac.PandaModules import FontPool
    Class : FontPool
    Description : This is the preferred interface for loading fonts for the TextNode system. It is similar to ModelPool and TexturePool in that it unifies references to the same filename.

Inheritance:

    FontPool:

Methods of FontPool:

    addFont
    garbageCollect
    hasFont
    listContents
    loadFont
    releaseAllFonts
    releaseFont
    verifyFont
    write
addFont
static void FontPool::add_font(string const &filename, TextFont *font);

Description: Adds the indicated already-loaded font to the pool. The font will always replace any previously-loaded font in the pool that had the same filename.

garbageCollect
static int FontPool::garbage_collect(void);

Description: Releases only those fonts in the pool that have a reference count of exactly 1; i.e. only those fonts that are not being used outside of the pool. Returns the number of fonts released.

hasFont
static bool FontPool::has_font(string const &filename);

These functions take string parameters instead of Filenames because that's somewhat more convenient to the scripting language.
Filename: fontPool.I Created by: drose (31Jan03)
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."
Description: Returns true if the font has ever been loaded, false otherwise.

listContents
static void FontPool::list_contents(ostream &out);

Description: Lists the contents of the font pool to the indicated output stream.

loadFont
static TextFont *FontPool::load_font(string const &filename);

Description: Loads the given filename up into a font, if it has not already been loaded, and returns the new font. If a font with the same filename was previously loaded, returns that one instead. If the font file cannot be found, returns NULL.

releaseAllFonts
static void FontPool::release_all_fonts(void);

Description: Releases all fonts in the pool and restores the pool to the empty state.

releaseFont
static void FontPool::release_font(string const &filename);

Description: Removes the indicated font from the pool, indicating it will never be loaded again; the font may then be freed. If this function is never called, a reference count will be maintained on every font every loaded, and fonts will never be freed.

verifyFont
static bool FontPool::verify_font(string const &filename);

These functions take string parameters instead of Filenames because that's somewhat more convenient to the scripting language.
Description: Loads the given filename up into a font, if it has not already been loaded, and returns true to indicate success, or false to indicate failure. If this returns true, it is guaranteed that a subsequent call to load_font() with the same font name will return a valid Font pointer.

write
static void FontPool::write(ostream &out);

Description: Lists the contents of the font pool to the indicated output stream.


ForceGroup

    from direct.particles.ForceGroup import ForceGroup

Inheritance:

    ForceGroup:

Methods of ForceGroup:

    __getitem__
    __init__
    __len__
    addForce
    asList
    cleanup
    disable
    enable
    getName
    getNode
    getNodePath
    isEnabled
    printParams
    removeForce
__getitem__
def __getitem__(self, index)

Undocumented function.

__init__
def __init__(self, name=None)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

addForce
def addForce(self, force)

Undocumented function.

asList
def asList(self)

Undocumented function.

cleanup
def cleanup(self)

Undocumented function.

disable
def disable(self)

Convenience function to disable all forces in force group

enable
def enable(self)

Convenience function to enable all forces in force group

getName
def getName(self)

Undocumented function.

getNode
def getNode(self)

Undocumented function.

getNodePath
def getNodePath(self)

Undocumented function.

isEnabled
def isEnabled(self)

Undocumented function.

printParams
def printParams(self, file=sys.stdout, targ='self')

Undocumented function.

removeForce
def removeForce(self, force)

Undocumented function.


ForceNode

    from pandac.PandaModules import ForceNode
    Class : ForceNode
    Description : A force that lives in the scene graph and is therefore subject to local coordinate systems. An example of this would be simulating gravity in a rotating space station. or something.

Inheritance:

    ForceNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of ForceNode:

    ForceNode (Constructor)
    addForce
    addForcesFrom
    clear
    getClassType
    getForce
    getNumForces
    removeForce
    write
    writeForces

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
ForceNode
ForceNode::ForceNode(string const &name);

Description : default constructor
Description : copy constructor

addForce
void ForceNode::add_force(BaseForce *force);

Undocumented function.

addForcesFrom
void ForceNode::add_forces_from(ForceNode const &other);

Description : append operation

clear
void ForceNode::clear(void);

Undocumented function.

getClassType
static TypeHandle ForceNode::get_class_type(void);

Undocumented function.

getForce
BaseForce *ForceNode::get_force(int index) const;

Undocumented function.

getNumForces
int ForceNode::get_num_forces(void) const;

Undocumented function.

removeForce
void ForceNode::remove_force(BaseForce *f);

Description : remove operation

write
virtual void ForceNode::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writeForces
virtual void ForceNode::write_forces(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


FourState

    from direct.fsm.FourState import FourState
    Generic four state ClassicFSM base class.
    This is a mix-in class that expects that your derived class is a DistributedObject.
    Inherit from FourStateFSM and pass in your states. Two of the states should be oposites of each other and the other two should be the transition states between the first two. E.g.
    +--------+
    -->| closed | --
    | +--------+ | | | | v +---------+ +---------+ | closing |<----->| opening | +---------+ +---------+ ^ | | | | +------+ |
    ----| open |<---
    +------+
    There is a fifth off state, but that is an implementation detail (and that's why it's not called a five state ClassicFSM).
    I found that this pattern repeated in several things I was working on, so this base class was created.

Inheritance:

    FourState:

Methods of FourState:

    __init__
    changedOnState
    enterState0
    enterState1
    enterState2
    enterState3
    enterState4
    enterStateN
    exitState0
    exitState1
    exitState2
    exitState3
    exitState4
    isOn
    setTrack
__init__
def __init__(self, names, durations=[0, 1, None, 1, 1])

names is a list of state names
E.g. ['off', 'opening', 'open', 'closing', 'closed',]
e.g. 2: ['off', 'locking', 'locked', 'unlocking', 'unlocked',]
e.g. 3: ['off', 'deactivating', 'deactive', 'activating', 'activated',]
durations is a list of time values (floats) or None values.
Each list must have five entries.
More Details
Here is a diagram showing the where the names from the list are used:
+---------+ | 0 (off) |----> (any other state and vice versa). +---------+
+--------+
-->| 4 (on) |---
| +--------+ | | | | v +---------+ +---------+ | 3 (off) |<----->| 1 (off) | +---------+ +---------+ ^ | | | | +---------+ |
--| 2 (off) |<--
+---------+
Each states also has an associated on or off value. The only state that is 'on' is state 4. So, the transition states between off and on (states 1 and 3) are also considered off (and so is state 2 which is oposite of 4 and therefore oposite of 'on').

changedOnState
def changedOnState(self, isOn)

Allow derived classes to overide this.

enterState0
def enterState0(self)

Undocumented function.

enterState1
def enterState1(self)

Undocumented function.

enterState2
def enterState2(self)

Undocumented function.

enterState3
def enterState3(self)

Undocumented function.

enterState4
def enterState4(self)

Undocumented function.

enterStateN
def enterStateN(self, stateIndex)

Undocumented function.

exitState0
def exitState0(self)

Undocumented function.

exitState1
def exitState1(self)

Undocumented function.

exitState2
def exitState2(self)

Undocumented function.

exitState3
def exitState3(self)

Undocumented function.

exitState4
def exitState4(self)

Undocumented function.

isOn
def isOn(self)

Undocumented function.

setTrack
def setTrack(self, track)

Undocumented function.


FourStateAI

    from direct.fsm.FourStateAI import FourStateAI
    Generic four state ClassicFSM base class.
    This is a mix-in class that expects that your derived class is a DistributedObjectAI.
    Inherit from FourStateFSM and pass in your states. Two of the states should be oposites of each other and the other two should be the transition states between the first two. E.g.
    +--------+
    -->| closed | --
    | +--------+ | | | | v +---------+ +---------+ | closing |<----->| opening | +---------+ +---------+ ^ | | | | +------+ |
    ----| open |<---
    +------+
    There is a fifth off state, but that is an implementation detail (and that's why it's not called a five state ClassicFSM).
    I found that this pattern repeated in several things I was working on, so this base class was created.

Inheritance:

    FourStateAI:

Methods of FourStateAI:

    __init__
    changedOnState
    delete
    distributeStateChange
    enterState0
    enterState1
    enterState2
    enterState3
    enterState4
    enterStateN
    exitState0
    exitState1
    exitState2
    exitState3
    exitState4
    exitStateN
    getState
    isOn
    sendState
    setIsOn
    switchToNextStateTask
__init__
def __init__(self, names, durations=[0, 1, None, 1, 1])

names is a list of state names E.g. ['off', 'opening', 'open', 'closing', 'closed',]
e.g. 2: ['off', 'locking', 'locked', 'unlocking', 'unlocked',]
e.g. 3: ['off', 'deactivating', 'deactive', 'activating', 'activated',]
durations is a list of durations in seconds or None values. The list of duration values should be the same length as the list of state names and the lists correspond. For each state, after n seconds, the ClassicFSM will move to the next state. That does not happen for any duration values of None.
More Details
Here is a diagram showing the where the names from the list are used:
+---------+ | 0 (off) |----> (any other state and vice versa). +---------+
+--------+
-->| 4 (on) |---
| +--------+ | | | | v +---------+ +---------+ | 3 (off) |<----->| 1 (off) | +---------+ +---------+ ^ | | | | +---------+ |
--| 2 (off) |<--
+---------+
Each states also has an associated on or off value. The only state that is 'on' is state 4. So, the transition states between off and on (states 1 and 3) are also considered off (and so is state 2 which is oposite of state 4 and therefore oposite of 'on').

changedOnState
def changedOnState(self, isOn)

Allow derived classes to overide this. The self.isOn value has toggled. Call getIsOn() to get the current state.

delete
def delete(self)

Undocumented function.

distributeStateChange
def distributeStateChange(self)

This function is intentionaly simple so that derived classes may easily alter the network message.

enterState0
def enterState0(self)

Undocumented function.

enterState1
def enterState1(self)

Undocumented function.

enterState2
def enterState2(self)

Undocumented function.

enterState3
def enterState3(self)

Undocumented function.

enterState4
def enterState4(self)

Undocumented function.

enterStateN
def enterStateN(self, stateIndex, nextStateIndex)

Undocumented function.

exitState0
def exitState0(self)

Undocumented function.

exitState1
def exitState1(self)

Undocumented function.

exitState2
def exitState2(self)

Undocumented function.

exitState3
def exitState3(self)

Undocumented function.

exitState4
def exitState4(self)

Undocumented function.

exitStateN
def exitStateN(self)

Undocumented function.

getState
def getState(self)

Undocumented function.

isOn
def isOn(self)

Undocumented function.

sendState
def sendState(self)

Undocumented function.

setIsOn
def setIsOn(self, isOn)

Undocumented function.

switchToNextStateTask
def switchToNextStateTask(self, task)

Undocumented function.


FrameBufferProperties

    from pandac.PandaModules import FrameBufferProperties
    Class : FrameBufferProperties
    Description : A container for the various kinds of properties we might ask to have on a graphics frameBuffer before we create a GSG.

Inheritance:

    FrameBufferProperties:

Methods of FrameBufferProperties:

    FrameBufferProperties (Constructor)
    addProperties
    clear
    getAccumBits
    getAlphaBits
    getAuxFloat
    getAuxHrgba
    getAuxMask
    getAuxRgba
    getBackBuffers
    getBufferMask
    getColorBits
    getDefault
    getDepthBits
    getForceHardware
    getForceSoftware
    getIndexedColor
    getMultisamples
    getQuality
    getRgbColor
    getStencilBits
    getStereo
    isAnySpecified
    isBasic
    isSingleBuffered
    isStereo
    operator !=
    operator =
    operator ==
    output
    setAccumBits
    setAllSpecified
    setAlphaBits
    setAuxFloat
    setAuxHrgba
    setAuxRgba
    setBackBuffers
    setColorBits
    setDepthBits
    setForceHardware
    setForceSoftware
    setIndexedColor
    setMultisamples
    setOneBitPerChannel
    setRgbColor
    setStencilBits
    setStereo
    subsumes
    verifyHardwareSoftware
FrameBufferProperties
FrameBufferProperties::FrameBufferProperties(void);

Other.
Filename: frameBufferProperties.I Created by: drose (27Jan03)
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."
Description:

addProperties
void FrameBufferProperties::add_properties(FrameBufferProperties const &other);

Description: Sets any properties that are explicitly specified in other on this object. Leaves other properties unchanged.

clear
void FrameBufferProperties::clear(void);

Description: Unsets all properties that have been specified so far, and resets the FrameBufferProperties structure to its initial empty state.

getAccumBits
int FrameBufferProperties::get_accum_bits(void) const;

Description:

getAlphaBits
int FrameBufferProperties::get_alpha_bits(void) const;

Description:

getAuxFloat
int FrameBufferProperties::get_aux_float(void) const;

Description:

getAuxHrgba
int FrameBufferProperties::get_aux_hrgba(void) const;

Description:

getAuxMask
int FrameBufferProperties::get_aux_mask(void) const;

Description: Converts the aux bitplanes of the framebuffer into a RenderBuffer::Type.

getAuxRgba
int FrameBufferProperties::get_aux_rgba(void) const;

Description:

getBackBuffers
int FrameBufferProperties::get_back_buffers(void) const;

Description:

getBufferMask
int FrameBufferProperties::get_buffer_mask(void) const;

Description: Converts the non-aux bitplanes of the framebuffer into a RenderBuffer::Type.

getColorBits
int FrameBufferProperties::get_color_bits(void) const;

Individual queries.
Description:

getDefault
static FrameBufferProperties const &FrameBufferProperties::get_default(void);

Description: Returns a FrameBufferProperties structure with all of the default values filled in according to the user's config file.

getDepthBits
int FrameBufferProperties::get_depth_bits(void) const;

Individual queries.
Description:

getForceHardware
int FrameBufferProperties::get_force_hardware(void) const;

Description:

getForceSoftware
int FrameBufferProperties::get_force_software(void) const;

Description:

getIndexedColor
int FrameBufferProperties::get_indexed_color(void) const;

Description:

getMultisamples
int FrameBufferProperties::get_multisamples(void) const;

Description:

getQuality
int FrameBufferProperties::get_quality(FrameBufferProperties const &reqs) const;

Description: Assumes that these properties are a description of a window.
Measures how well this window satisfies a specified set of requirements. A higher quality number means that more requirements were satisfied. A quality of zero means that the window is unsuitable.
The routine deducts a lot if the window fails to provide a requested feature. It deducts less if the window provides a feature, but at a degraded level of functionality (ie, the user asks for rgba8, color, but the window only provides rgba4). The routine also deducts a small amount for unnecessary features. For example, if the window has an accumulation buffer when one is not requested will reduce quality slightly. Maximum quality is obtained when the window exactly matches the request.
If you want to know whether the window satisfies all of the requirements, use the "subsumes" function.

getRgbColor
int FrameBufferProperties::get_rgb_color(void) const;

Description:

getStencilBits
int FrameBufferProperties::get_stencil_bits(void) const;

Description:

getStereo
int FrameBufferProperties::get_stereo(void) const;

Description:

isAnySpecified
bool FrameBufferProperties::is_any_specified(void) const;

Description: Returns true if any properties have been specified, false otherwise.

isBasic
bool FrameBufferProperties::is_basic(void) const;

Description: Returns true if the properties are extremely basic. The following count as basic: rgb or rgba, depth. If anything else is specified, the properties are non-basic.

isSingleBuffered
bool FrameBufferProperties::is_single_buffered(void) const;

Description:

isStereo
bool FrameBufferProperties::is_stereo(void) const;

Description:

operator !=
bool FrameBufferProperties::operator !=(FrameBufferProperties const &other) const;

Description:

operator =
void FrameBufferProperties::operator =(FrameBufferProperties const &copy);

Description:

operator ==
bool FrameBufferProperties::operator ==(FrameBufferProperties const &other) const;

Description:

output
void FrameBufferProperties::output(ostream &out) const;

Description: Sets any properties that are explicitly specified in other on this object. Leaves other properties unchanged.

setAccumBits
void FrameBufferProperties::set_accum_bits(int n);

Description:

setAllSpecified
void FrameBufferProperties::set_all_specified(void);

Description: sets all the specified bits.

setAlphaBits
void FrameBufferProperties::set_alpha_bits(int n);

Description:

setAuxFloat
void FrameBufferProperties::set_aux_float(int n);

Description:

setAuxHrgba
void FrameBufferProperties::set_aux_hrgba(int n);

Description:

setAuxRgba
void FrameBufferProperties::set_aux_rgba(int n);

Description:

setBackBuffers
void FrameBufferProperties::set_back_buffers(int n);

Description:

setColorBits
void FrameBufferProperties::set_color_bits(int n);

Individual assigners.
Description:

setDepthBits
void FrameBufferProperties::set_depth_bits(int n);

Individual assigners.
Description:

setForceHardware
void FrameBufferProperties::set_force_hardware(int n);

Description:

setForceSoftware
void FrameBufferProperties::set_force_software(int n);

Description:

setIndexedColor
void FrameBufferProperties::set_indexed_color(int n);

Description:

setMultisamples
void FrameBufferProperties::set_multisamples(int n);

Description:

setOneBitPerChannel
void FrameBufferProperties::set_one_bit_per_channel(void);

Description: If any of the depth, color, alpha, accum, or stencil properties is set to more than one, then they are reduced to one.

setRgbColor
void FrameBufferProperties::set_rgb_color(int n);

Description:

setStencilBits
void FrameBufferProperties::set_stencil_bits(int n);

Description:

setStereo
void FrameBufferProperties::set_stereo(int n);

Description:

subsumes
bool FrameBufferProperties::subsumes(FrameBufferProperties const &other) const;

Description: Returns true if this set of properties makes strictly greater or equal demands of the framebuffer than the other set of framebuffer properties.

verifyHardwareSoftware
bool FrameBufferProperties::verify_hardware_software(FrameBufferProperties const &props, string const &renderer) const;

Description: Validates that the properties represent the desired kind of renderer (hardware or software). If not, prints out an error message and returns false.


FrameDelayedCall

    from direct.showbase.PythonUtil import FrameDelayedCall
    calls a func after N frames

Inheritance:

    FrameDelayedCall:

Methods of FrameDelayedCall:

    __init__
    _frameTask
    _startTask
    _stopTask
    destroy
    finish
__init__
def __init__(self, name, callback, frames=None, cancelFunc=None)

Undocumented function.

_frameTask
def _frameTask(self, task)

Undocumented function.

_startTask
def _startTask(self)

Undocumented function.

_stopTask
def _stopTask(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

finish
def finish(self)

Undocumented function.


FrameRateMeter

    from pandac.PandaModules import FrameRateMeter
    Class : FrameRateMeter
    Description : This is a special TextNode that automatically updates itself with the current frame rate. It can be placed anywhere in the world where you'd like to see the frame rate.
    It also has a special mode in which it may be attached directly to a channel or window. If this is done, it creates a DisplayRegion for itself and renders itself in the upper-right-hand corner.

Inheritance:

    FrameRateMeter: TextNode
    TextNode: PandaNode TextEncoder TextProperties
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase
    TextEncoder:
    TextProperties:

Methods of FrameRateMeter:

    FrameRateMeter (Constructor)
    clearWindow
    getClassType
    getClockObject
    getDisplayRegion
    getTextPattern
    getUpdateInterval
    getWindow
    setClockObject
    setTextPattern
    setUpdateInterval
    setupWindow
    update

Methods of TextNode:

    TextNode (Constructor)
    appendText
    appendUnicodeChar
    appendWtext
    calcWidth
    clearAlign
    clearBin
    clearCard
    clearCardBorder
    clearCardTexture
    clearDrawOrder
    clearFont
    clearFrame
    clearGlyphScale
    clearGlyphShift
    clearIndent
    clearMaxRows
    clearShadow
    clearShadowColor
    clearSlant
    clearSmallCaps
    clearSmallCapsScale
    clearTabWidth
    clearText
    clearTextColor
    clearWordwrap
    forceUpdate
    generate
    getBottom
    getCardActual
    getCardAsSet
    getCardBorderSize
    getCardBorderUvPortion
    getCardColor
    getCardDecal
    getCardTexture
    getCardTransformed
    getClassType
    getCoordinateSystem
    getFrameActual
    getFrameAsSet
    getFrameColor
    getFrameCorners
    getFrameLineWidth
    getHeight
    getInternalGeom
    getLeft
    getLineHeight
    getLowerRight3d
    getMaxRows
    getNumRows
    getRight
    getTop
    getTransform
    getUpperLeft3d
    getUsageHint
    getWidth
    getWordwrappedText
    getWordwrappedWtext
    hasCard
    hasCardBorder
    hasCardTexture
    hasFrame
    hasMaxRows
    hasOverflow
    isCardAsMargin
    isFrameAsMargin
    output
    setAlign
    setBin
    setCardActual
    setCardAsMargin
    setCardBorder
    setCardColor
    setCardDecal
    setCardTexture
    setCoordinateSystem
    setDrawOrder
    setFont
    setFrameActual
    setFrameAsMargin
    setFrameColor
    setFrameCorners
    setFrameLineWidth
    setGlyphScale
    setGlyphShift
    setIndent
    setMaxRows
    setShadow
    setShadowColor
    setSlant
    setSmallCaps
    setSmallCapsScale
    setTabWidth
    setText
    setTextColor
    setTransform
    setUsageHint
    setWordwrap
    setWtext
    update
    write

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of TextEncoder:

    TextEncoder (Constructor)
    appendText
    appendUnicodeChar
    appendWtext
    clearText
    decodeText
    encodeWchar
    encodeWtext
    getClassType
    getDefaultEncoding
    getEncodedChar
    getEncoding
    getNumChars
    getText
    getTextAsAscii
    getUnicodeChar
    getWtext
    getWtextAsAscii
    hasText
    isWtext
    lower
    makeLower
    makeUpper
    reencodeText
    setDefaultEncoding
    setEncoding
    setText
    setUnicodeChar
    setWtext
    unicodeIsalpha
    unicodeIsdigit
    unicodeIslower
    unicodeIspunct
    unicodeIsspace
    unicodeIsupper
    unicodeTolower
    unicodeToupper
    upper

Methods of TextProperties:

    TextProperties (Constructor)
    addProperties
    clear
    clearAlign
    clearBin
    clearDrawOrder
    clearFont
    clearGlyphScale
    clearGlyphShift
    clearIndent
    clearPreserveTrailingWhitespace
    clearShadow
    clearShadowColor
    clearSlant
    clearSmallCaps
    clearSmallCapsScale
    clearTabWidth
    clearTextColor
    clearUnderscore
    clearUnderscoreHeight
    clearWordwrap
    getAlign
    getBin
    getClassType
    getDefaultFont
    getDrawOrder
    getFont
    getGlyphScale
    getGlyphShift
    getIndent
    getPreserveTrailingWhitespace
    getShadow
    getShadowColor
    getSlant
    getSmallCaps
    getSmallCapsScale
    getTabWidth
    getTextColor
    getUnderscore
    getUnderscoreHeight
    getWordwrap
    hasAlign
    hasBin
    hasDrawOrder
    hasFont
    hasGlyphScale
    hasGlyphShift
    hasIndent
    hasPreserveTrailingWhitespace
    hasShadow
    hasShadowColor
    hasSlant
    hasSmallCaps
    hasSmallCapsScale
    hasTabWidth
    hasTextColor
    hasUnderscore
    hasUnderscoreHeight
    hasWordwrap
    isAnySpecified
    operator !=
    operator =
    operator ==
    setAlign
    setBin
    setDefaultFont
    setDrawOrder
    setFont
    setGlyphScale
    setGlyphShift
    setIndent
    setPreserveTrailingWhitespace
    setShadow
    setShadowColor
    setSlant
    setSmallCaps
    setSmallCapsScale
    setTabWidth
    setTextColor
    setUnderscore
    setUnderscoreHeight
    setWordwrap
    write

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)

Constants in TextEncoder:

    EIso8859 | (Encoding)
EUtf8 | (Encoding)
EUnicode | (Encoding)

Constants in TextProperties:

    ALeft | (Alignment)
ARight | (Alignment)
ACenter | (Alignment)
FrameRateMeter
FrameRateMeter::FrameRateMeter(string const &name);

Description:

clearWindow
void FrameRateMeter::clear_window(void);

Description: Undoes the effect of a previous call to setup_window().

getClassType
static TypeHandle FrameRateMeter::get_class_type(void);

Undocumented function.

getClockObject
ClockObject *FrameRateMeter::get_clock_object(void) const;

Description: Returns the clock that is used to determine the frame rate.

getDisplayRegion
DisplayRegion *FrameRateMeter::get_display_region(void) const;

Description: Returns the DisplayRegion that the meter has created to render itself into the window to setup_window(), or NULL if setup_window() has not been called.

getTextPattern
string const &FrameRateMeter::get_text_pattern(void) const;

Description: Returns the sprintf() pattern that is used to format the text.

getUpdateInterval
double FrameRateMeter::get_update_interval(void) const;

Description: Returns the number of seconds that will elapse between updates to the frame rate indication.

getWindow
GraphicsOutput *FrameRateMeter::get_window(void) const;

Description: Returns the GraphicsOutput that was passed to setup_window(), or NULL if setup_window() has not been called.

setClockObject
void FrameRateMeter::set_clock_object(ClockObject *clock_object);

Description: Sets the clock that is used to determine the frame rate. The default is the application's global clock (ClockObject::get_global_clock()).

setTextPattern
void FrameRateMeter::set_text_pattern(string const &text_pattern);

Description: Sets the sprintf() pattern that is used to format the text. The string "%f" or some variant will be replaced with the current frame rate in frames per second.

setUpdateInterval
void FrameRateMeter::set_update_interval(double update_interval);

Description: Specifies the number of seconds that should elapse between updates to the frame rate indication. This should be reasonably slow (e.g. 0.2 to 1.0) so that the calculation of the frame rate text does not itself dominate the frame rate.

setupWindow
void FrameRateMeter::setup_window(GraphicsOutput *window);

Description: Sets up the frame rate meter to create a DisplayRegion to render itself into the indicated window.

update
void FrameRateMeter::update(void);

Description: You can call this to explicitly force the FrameRateMeter to update itself with the latest frame rate information. Normally, it is not necessary to call this explicitly.

TextNode
TextNode::TextNode(string const &name);

Description:
Description: It's sort of a copy constructor: it copies the indicated TextProperties, without copying a complete TextNode.
Description: OK, this is a true copy constructor.

appendText
void TextNode::append_text(string const &text);

Description: Appends the indicates string to the end of the stored text.

appendUnicodeChar
void TextNode::append_unicode_char(int character);

Description: Appends a single character to the end of the stored text. This may be a wide character, up to 16 bits in Unicode.

appendWtext
void TextNode::append_wtext(basic_string< wchar_t > const &text);

Direct support for wide-character strings.
Description: Appends the indicates string to the end of the stored wide-character text.

calcWidth
float TextNode::calc_width(int character) const;

These methods calculate the width of a single character or a line of text in the current font.
Description: Returns the width of a line of text of arbitrary characters. The line should not include the newline character.
Description: Returns the width of a single character of the font, or 0.0 if the character is not known. This may be a wide character (greater than 255).
Description: Returns the width of a line of text of arbitrary characters. The line should not include the newline character or any embedded control characters like \1 or \3.

clearAlign
void TextNode::clear_align(void);

Description:

clearBin
void TextNode::clear_bin(void);

Description: Removes the effect of a previous call to set_bin(). Text will be drawn in whatever bin it would like to be drawn in, with no explicit ordering.

clearCard
void TextNode::clear_card(void);

Description: Specifies that a card will not be drawn behind the text.

clearCardBorder
void TextNode::clear_card_border(void);

Description:

clearCardTexture
void TextNode::clear_card_texture(void);

Description:

clearDrawOrder
void TextNode::clear_draw_order(void);

Description:

clearFont
void TextNode::clear_font(void);

Description: Resets the font to the default font.

clearFrame
void TextNode::clear_frame(void);

Description: Specifies that a border will not be drawn around the text.

clearGlyphScale
void TextNode::clear_glyph_scale(void);

Description:

clearGlyphShift
void TextNode::clear_glyph_shift(void);

Description:

clearIndent
void TextNode::clear_indent(void);

Description:

clearMaxRows
void TextNode::clear_max_rows(void);

Description: Resets the TextNode's default behavior of not limiting the number of rows of text.

clearShadow
void TextNode::clear_shadow(void);

Description: Specifies that a shadow will not be drawn behind the text.

clearShadowColor
void TextNode::clear_shadow_color(void);

Description:

clearSlant
void TextNode::clear_slant(void);

Description:

clearSmallCaps
void TextNode::clear_small_caps(void);

Description:

clearSmallCapsScale
void TextNode::clear_small_caps_scale(void);

Description:

clearTabWidth
void TextNode::clear_tab_width(void);

Description:

clearText
void TextNode::clear_text(void);

Description: Removes the text from the TextNode.

clearTextColor
void TextNode::clear_text_color(void);

Description: Removes the text color specification; the text will be colored whatever it was in the source font file.

clearWordwrap
void TextNode::clear_wordwrap(void);

Description: Removes the wordwrap setting from the TextNode. Text will be as wide as it is.

forceUpdate
void TextNode::force_update(void);

Description: Forces the TextNode to recompute itself now, even if it believes nothing has changed. Normally, this should not need to be called, but it may be useful if some properties change outside of the TextNode's knowledge (for instance, within the font).

generate
PointerTo< PandaNode > TextNode::generate(void);

Description: Generates the text, according to the parameters indicated within the TextNode, and returns a Node that may be parented within the tree to represent it.

getBottom
float TextNode::get_bottom(void) const;

Description: Returns the bottommost extent of the text in local 2-d coordinates, unmodified by the set_transform() matrix.

getCardActual
LVecBase4f TextNode::get_card_actual(void) const;

Description: Returns the actual dimensions of the card around the text. If the card was set via set_card_as_margin(), the result returned by this function reflects the size of the current text; if the card was set via set_card_actual(), this returns the values actually set.
If the text has no card at all, this returns the dimensions of the text itself, as if the card were set with a margin of 0, 0, 0, 0.

getCardAsSet
LVecBase4f TextNode::get_card_as_set(void) const;

Description: Returns the dimensions of the card as set by set_card_as_margin() or set_card_actual(). Use is_card_actual() to determine how to interpret the values returned by this function. It is an error to call this if has_card() is false.

getCardBorderSize
float TextNode::get_card_border_size(void) const;

Description:

getCardBorderUvPortion
float TextNode::get_card_border_uv_portion(void) const;

Description:

getCardColor
LVecBase4f TextNode::get_card_color(void) const;

Description:

getCardDecal
bool TextNode::get_card_decal(void) const;

Description: Returns the card_decal flag. See set_card_decal().

getCardTexture
Texture *TextNode::get_card_texture(void) const;

Description:

getCardTransformed
LVecBase4f TextNode::get_card_transformed(void) const;

Description: Returns the actual card dimensions, transformed by the matrix set by set_transform(). This returns the card dimensions in actual coordinates as seen by the rest of the world. Also see get_upper_left_3d() and get_lower_right_3d().

getClassType
static TypeHandle TextNode::get_class_type(void);

Undocumented function.

getCoordinateSystem
CoordinateSystem TextNode::get_coordinate_system(void) const;

Description:

getFrameActual
LVecBase4f TextNode::get_frame_actual(void) const;

Description: Returns the actual dimensions of the frame around the text. If the frame was set via set_frame_as_margin(), the result returned by this function reflects the size of the current text; if the frame was set via set_frame_actual(), this returns the values actually set.
If the text has no frame at all, this returns the dimensions of the text itself, as if the frame were set with a margin of 0, 0, 0, 0.

getFrameAsSet
LVecBase4f TextNode::get_frame_as_set(void) const;

Description: Returns the dimensions of the frame as set by set_frame_as_margin() or set_frame_actual(). Use is_frame_actual() to determine how to interpret the values returned by this function. It is an error to call this if has_frame() is false.

getFrameColor
LVecBase4f TextNode::get_frame_color(void) const;

Description:

getFrameCorners
bool TextNode::get_frame_corners(void) const;

Description:

getFrameLineWidth
float TextNode::get_frame_line_width(void) const;

Description: Returns the thickness of the lines that will be used to draw the frame.

getHeight
float TextNode::get_height(void) const;

Description: Returns the net height of the text in local 2-d coordinates.

getInternalGeom
PandaNode *TextNode::get_internal_geom(void) const;

Description: Returns the actual node that is used internally to render the text, if the TextNode is parented within the scene graph.
In general, you should not call this method. Call generate() instead if you want to get a handle to geometry that represents the text. This method is provided as a debugging aid only.

getLeft
float TextNode::get_left(void) const;

The following functions return information about the text that was last built (and is currently visible).
Description: Returns the leftmost extent of the text in local 2-d coordinates, unmodified by the set_transform() matrix.

getLineHeight
float TextNode::get_line_height(void) const;

Description: Returns the number of units high each line of text is. This is based on the font. Note that it is possible for the text to include nested font change commands, in which case the value of this method is questionable.

getLowerRight3d
LPoint3f TextNode::get_lower_right_3d(void) const;

Description: Returns the lower-right extent of the text object, after it has been transformed into 3-d space by applying the set_transform() matrix.

getMaxRows
int TextNode::get_max_rows(void) const;

Description: Returns the limit on the height of the TextNode specified by set_max_rows().

getNumRows
int TextNode::get_num_rows(void) const;

Description: Returns the number of rows of text that were generated. This counts word-wrapped rows as well as rows generated due to embedded newlines.

getRight
float TextNode::get_right(void) const;

The following functions return information about the text that was last built (and is currently visible).
Description: Returns the rightmost extent of the text in local 2-d coordinates, unmodified by the set_transform() matrix.

getTop
float TextNode::get_top(void) const;

Description: Returns the topmost extent of the text in local 2-d coordinates, unmodified by the set_transform() matrix.

getTransform
LMatrix4f TextNode::get_transform(void) const;

Description:

getUpperLeft3d
LPoint3f TextNode::get_upper_left_3d(void) const;

Description: Returns the upper-left extent of the text object, after it has been transformed into 3-d space by applying the set_transform() matrix.

getUsageHint
GeomEnums::UsageHint TextNode::get_usage_hint(void) const;

Description: Returns the UsageHint that will be applied to generated geometry. See set_usage_hint().

getWidth
float TextNode::get_width(void) const;

Description: Returns the net width of the text in local 2-d coordinates.

getWordwrappedText
string TextNode::get_wordwrapped_text(void) const;

After the text has been set, you can query this to determine how it will be wordwrapped.
Description: Returns a string that represents the contents of the text, as it has been formatted by wordwrap rules.
In earlier versions, this did not contain any embedded special characters like \1 or \3; now it does.

getWordwrappedWtext
basic_string< wchar_t > TextNode::get_wordwrapped_wtext(void) const;

Description: Returns a wstring that represents the contents of the text, as it has been formatted by wordwrap rules.
In earlier versions, this did not contain any embedded special characters like \1 or \3; now it does.

hasCard
bool TextNode::has_card(void) const;

Description:

hasCardBorder
bool TextNode::has_card_border(void) const;

Description:

hasCardTexture
bool TextNode::has_card_texture(void) const;

Description:

hasFrame
bool TextNode::has_frame(void) const;

Description:

hasMaxRows
bool TextNode::has_max_rows(void) const;

Description: Returns true if a limit on the height of the TextNode has been set via set_max_rows(), false otherwise.

hasOverflow
bool TextNode::has_overflow(void) const;

Description: Returns true if the last text set on the text node exceeded the max_rows constraint, or false if it all fit.

isCardAsMargin
bool TextNode::is_card_as_margin(void) const;

Description: If this is true, the card was set via a call to set_card_as_margin(), and the dimension of the card as returned by get_card_as_set() represent a margin all around the text. If false, then the card was set via a call to set_card_actual(), and the dimensions of the card as returned by get_card_as_set() are relative to the text's origin.

isFrameAsMargin
bool TextNode::is_frame_as_margin(void) const;

Description: If this is true, the frame was set via a call to set_frame_as_margin(), and the dimension of the frame as returned by get_frame_as_set() represent a margin all around the text. If false, then the frame was set via a call to set_frame_actual(), and the dimensions of the frame as returned by get_frame_as_set() are relative to the text's origin.

output
virtual void TextNode::output(ostream &out) const;

Description:

setAlign
void TextNode::set_align(TextProperties::Alignment align_type);

Description:

setBin
void TextNode::set_bin(string const &bin);

Description: Names the GeomBin that the TextNode geometry should be assigned to. If this is set, then a GeomBinTransition will be created to explicitly place each component in the named bin.
The draw_order value will also be passed to each GeomBinTransition as appropriate; this is particularly useful if this names a GeomBinFixed, e.g. "fixed".

setCardActual
void TextNode::set_card_actual(float left, float right, float bottom, float top);

Description: Similar to set_card_as_margin, except the card is specified in actual coordinate units (relative to the text's origin), irrespective of the size of the text. The left and bottom coordinates should generally be negative, while the right and top coordinates should generally be positive.

setCardAsMargin
void TextNode::set_card_as_margin(float left, float right, float bottom, float top);

Description: Specifies that a (possibly opaque or semitransparent) card will be held behind the text when it is next created. Like set_frame_as_margin, the parameters are the amount of additional padding to insert around the text in each dimension, and all should generally be positive.

setCardBorder
void TextNode::set_card_border(float size, float uv_portion);

Description:

setCardColor
void TextNode::set_card_color(float r, float g, float b, float a);

Description:

setCardDecal
void TextNode::set_card_decal(bool card_decal);

Description: Sets the card_decal flag. When this is true, the text is decalled onto the card, which is necessary if the TextNode is to be rendered in the 3-d world without putting it in a bin.

setCardTexture
void TextNode::set_card_texture(Texture *card_texture);

Description:

setCoordinateSystem
void TextNode::set_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system in which the text will be generated.

setDrawOrder
int TextNode::set_draw_order(int draw_order);

Description: Sets the drawing order of text created by the TextMaker. This is actually the draw order of the card and frame. The shadow is drawn at _draw_order+1, and the text at _draw_order+2.
This affects the sorting order assigned to the arcs as they are created, and also is passed to whatever bin may be assigned via set_bin().
The return value is the first unused draw_order number, e.g. _draw_order + 3.

setFont
void TextNode::set_font(TextFont *font);

These methods are inherited from TextProperties, but we override here so we can flag the TextNode as dirty when they have been changed.
Description: Sets the font that will be used when making text. If this is set to NULL, the default font will be used, which can be set via set_default_font().

setFrameActual
void TextNode::set_frame_actual(float left, float right, float bottom, float top);

Description: Similar to set_frame_as_margin, except the frame is specified in actual coordinate units (relative to the text's origin), irrespective of the size of the text. The left and bottom coordinates should generally be negative, while the right and top coordinates should generally be positive.

setFrameAsMargin
void TextNode::set_frame_as_margin(float left, float right, float bottom, float top);

Description: Specifies that a border will be drawn around the text when it is next created. The parameters are the amount of additional padding to insert between the frame and the text in each dimension, and all should generally be positive.

setFrameColor
void TextNode::set_frame_color(float r, float g, float b, float a);

Description:

setFrameCorners
void TextNode::set_frame_corners(bool corners);

Description: Enables or disables the drawing of corners for the frame. These are extra points drawn at each of the four corners, to soften the ugly edges generated when the line width is greater than one.

setFrameLineWidth
void TextNode::set_frame_line_width(float line_width);

Description: Specifies the thickness of the lines that will be used to draw the frame.

setGlyphScale
void TextNode::set_glyph_scale(float glyph_scale);

Description: Specifies the factor by which to scale each letter of the text as it is placed. This can be used (possibly in conjunction with set_glyph_shift()) to implement superscripting or subscripting.

setGlyphShift
void TextNode::set_glyph_shift(float glyph_shift);

Description: Specifies a vertical amount to shift each letter of the text as it is placed. This can be used (possibly in conjunction with set_glyph_scale()) to implement superscripting or subscripting.

setIndent
void TextNode::set_indent(float indent);

Description: Specifies the amount of extra space that is inserted before the first character of each line. This can be thought of as a left margin.

setMaxRows
void TextNode::set_max_rows(int max_rows);

Description: Sets the maximum number of rows that may be formatted by the TextNode. If more text than this is attempted, it will be truncated and has_overflow() will return true.

setShadow
void TextNode::set_shadow(float xoffset, float yoffset);

Description: Specifies that the text should be drawn with a shadow, by creating a second copy of the text and offsetting it slightly behind the first.

setShadowColor
void TextNode::set_shadow_color(float r, float g, float b, float a);

Description:

setSlant
void TextNode::set_slant(float slant);

Description:

setSmallCaps
void TextNode::set_small_caps(bool small_caps);

Description: Sets the small_caps flag. When this is set, lowercase letters are generated as scaled-down versions of their uppercase equivalents. This is particularly useful to set for fonts that do not have lowercase letters.
It is also a good idea to set this for a (dynamic) font that has already implemented lowercase letters as scaled-down versions of their uppercase equivalents, since without this flag the texture memory may needlessly duplicate equivalent glyphs for upper and lowercase letters. Setting this flag causes the texture memory to share the mixed-case letters.
The amount by which the lowercase letters are scaled is specified by set_small_caps_scale().

setSmallCapsScale
void TextNode::set_small_caps_scale(float small_caps_scale);

Description: Sets the scale factor applied to lowercase letters from their uppercase equivalents, when the small_caps flag is in effect. See set_small_caps(). Normally, this will be a number less than one.

setTabWidth
void TextNode::set_tab_width(float tab_width);

Description: Sets the width of each tab stop, in screen units. A tab character embedded in the text will advance the horizontal position to the next tab stop.

setText
void TextNode::set_text(string const &text);

These methods are inherited from TextEncoder, but we override here so we can flag the TextNode as dirty when they have been changed.
Description: Changes the text that is displayed under the TextNode.
Description: The two-parameter version of set_text() accepts an explicit encoding; the text is immediately decoded and stored as a wide-character string. Subsequent calls to get_text() will return the same text re-encoded using whichever encoding is specified by set_encoding().

setTextColor
void TextNode::set_text_color(float r, float g, float b, float a);

Description:

setTransform
void TextNode::set_transform(LMatrix4f const &transform);

Description: Sets an additional transform that is applied to the entire text paragraph.

setUsageHint
void TextNode::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Specifies the UsageHint that will be applied to generated geometry. The default is UH_static, which is probably the right setting, but if you know the TextNode's geometry will have a short lifespan, it may be better to set it to UH_stream. See geomEnums.h.

setWordwrap
void TextNode::set_wordwrap(float wordwrap);

Description: Sets the text up to automatically wordwrap when it exceeds the indicated width. This can be thought of as a right margin or margin width.

setWtext
void TextNode::set_wtext(basic_string< wchar_t > const &wtext);

Direct support for wide-character strings.
Description: Changes the text that is displayed under the TextNode, with a wide text. This automatically sets the string reported by get_text() to the 8-bit encoded version of the same string.

update
void TextNode::update(void);

Description: Can be called after the TextNode has been fully configured, to force the node to recompute its text immediately, rather than waiting for it to be drawn. This call is optional.

write
virtual void TextNode::write(ostream &out, int indent_level = (0)) const;

Description:

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

TextEncoder
TextEncoder::TextEncoder(void);

Description:

appendText
void TextEncoder::append_text(string const &text);

Description: Appends the indicates string to the end of the stored text.

appendUnicodeChar
void TextEncoder::append_unicode_char(int character);

Description: Appends a single character to the end of the stored text. This may be a wide character, up to 16 bits in Unicode.

appendWtext
void TextEncoder::append_wtext(basic_string< wchar_t > const &text);

Description: Appends the indicates string to the end of the stored wide-character text.

clearText
void TextEncoder::clear_text(void);

Description: Removes the text from the TextEncoder.

decodeText
basic_string< wchar_t > TextEncoder::decode_text(string const &text) const;

Description: Returns the given wstring decoded to a single-byte string, via the current encoding system.
Description: Returns the given wstring decoded to a single-byte string, via the given encoding system.

encodeWchar
static string TextEncoder::encode_wchar(wchar_t ch, TextEncoder::Encoding encoding);

Description: Encodes a single wide char into a one-, two-, or three-byte string, according to the given encoding system.

encodeWtext
string TextEncoder::encode_wtext(basic_string< wchar_t > const &wtext) const;

Description: Encodes a wide-text string into a single-char string, according to the current encoding.
Description: Encodes a wide-text string into a single-char string, according to the given encoding.

getClassType
static TypeHandle TextEncoder::get_class_type(void);

Undocumented function.

getDefaultEncoding
static TextEncoder::Encoding TextEncoder::get_default_encoding(void);

Description: Specifies the default encoding to be used for all subsequently created TextEncoder objects. See set_encoding().

getEncodedChar
string TextEncoder::get_encoded_char(int index) const;

Description: Returns the nth char of the stored text, as a one-, two-, or three-byte encoded string.

getEncoding
TextEncoder::Encoding TextEncoder::get_encoding(void) const;

Description: Returns the encoding by which the string set via set_text() is to be interpreted. See set_encoding().

getNumChars
int TextEncoder::get_num_chars(void) const;

Description: Returns the number of characters in the stored text. This is a count of wide characters, after the string has been decoded according to set_encoding().

getText
string TextEncoder::get_text(void) const;

Description: Returns the current text, as encoded via the current encoding system.
Description: Returns the current text, as encoded via the indicated encoding system.

getTextAsAscii
string TextEncoder::get_text_as_ascii(void) const;

Description: Returns the text associated with the node, converted as nearly as possible to a fully-ASCII representation. This means replacing accented letters with their unaccented ASCII equivalents.
It is possible that some characters in the string cannot be converted to ASCII. (The string may involve symbols like the copyright symbol, for instance, or it might involve letters in some other alphabet such as Greek or Cyrillic, or even Latin letters like thorn or eth that are not part of the ASCII character set.) In this case, as much of the string as possible will be converted to ASCII, and the nonconvertible characters will remain encoded in the encoding specified by set_encoding().

getUnicodeChar
int TextEncoder::get_unicode_char(int index) const;

Description: Returns the Unicode value of the nth character in the stored text. This may be a wide character (greater than 255), after the string has been decoded according to set_encoding().

getWtext
basic_string< wchar_t > const &TextEncoder::get_wtext(void) const;

Direct support for wide-character strings. Now publishable with the new wstring support in interrogate.
Description: Returns the text associated with the TextEncoder, as a wide-character string.

getWtextAsAscii
basic_string< wchar_t > TextEncoder::get_wtext_as_ascii(void) const;

Description: Returns the text associated with the node, converted as nearly as possible to a fully-ASCII representation. This means replacing accented letters with their unaccented ASCII equivalents.
It is possible that some characters in the string cannot be converted to ASCII. (The string may involve symbols like the copyright symbol, for instance, or it might involve letters in some other alphabet such as Greek or Cyrillic, or even Latin letters like thorn or eth that are not part of the ASCII character set.) In this case, as much of the string as possible will be converted to ASCII, and the nonconvertible characters will remain in their original form.

hasText
bool TextEncoder::has_text(void) const;

Description:

isWtext
bool TextEncoder::is_wtext(void) const;

Description: Returns true if any of the characters in the string returned by get_wtext() are out of the range of an ASCII character (and, therefore, get_wtext() should be called in preference to get_text()).

lower
static string TextEncoder::lower(string const &source);

Description: Converts the string to lowercase, assuming the string is encoded in the default encoding.
Description: Converts the string to lowercase, assuming the string is encoded in the indicated encoding.

makeLower
void TextEncoder::make_lower(void);

Description: Adjusts the text stored within the encoder to all lowercase letters (preserving accent marks correctly).

makeUpper
void TextEncoder::make_upper(void);

Description: Adjusts the text stored within the encoder to all uppercase letters (preserving accent marks correctly).

reencodeText
static string TextEncoder::reencode_text(string const &text, TextEncoder::Encoding from, TextEncoder::Encoding to);

Description: Given the indicated text string, which is assumed to be encoded via the encoding "from", decodes it and then reencodes it into the encoding "to", and returns the newly encoded string. This does not change or affect any properties on the TextEncoder itself.

setDefaultEncoding
static void TextEncoder::set_default_encoding(TextEncoder::Encoding encoding);

Description: Specifies the default encoding to be used for all subsequently created TextEncoder objects. See set_encoding().

setEncoding
void TextEncoder::set_encoding(TextEncoder::Encoding encoding);

Description: Specifies how the string set via set_text() is to be interpreted. The default, E_iso8859, means a standard string with one-byte characters (i.e. ASCII). Other encodings are possible to take advantage of character sets with more than 256 characters.
This affects only future calls to set_text(); it does not change text that was set previously.

setText
void TextEncoder::set_text(string const &text);

Description: Changes the text that is stored in the encoder. The text should be encoded according to the method indicated by set_encoding(). Subsequent calls to get_text() will return this same string, while get_wtext() will return the decoded version of the string.
Description: The two-parameter version of set_text() accepts an explicit encoding; the text is immediately decoded and stored as a wide-character string. Subsequent calls to get_text() will return the same text re-encoded using whichever encoding is specified by set_encoding().

setUnicodeChar
void TextEncoder::set_unicode_char(int index, int character);

Description: Sets the Unicode value of the nth character in the stored text. This may be a wide character (greater than 255), after the string has been decoded according to set_encoding().

setWtext
void TextEncoder::set_wtext(basic_string< wchar_t > const &wtext);

Direct support for wide-character strings. Now publishable with the new wstring support in interrogate.
Description: Changes the text that is stored in the encoder. Subsequent calls to get_wtext() will return this same string, while get_text() will return the encoded version of the string.

unicodeIsalpha
static bool TextEncoder::unicode_isalpha(int character);

Description: Returns true if the indicated character is an alphabetic letter, false otherwise. This is akin to ctype's isalpha(), extended to Unicode.

unicodeIsdigit
static bool TextEncoder::unicode_isdigit(int character);

Description: Returns true if the indicated character is a numeric digit, false otherwise. This is akin to ctype's isdigit(), extended to Unicode.

unicodeIslower
static bool TextEncoder::unicode_islower(int character);

Description: Returns true if the indicated character is a lowercase letter, false otherwise. This is akin to ctype's islower(), extended to Unicode.

unicodeIspunct
static bool TextEncoder::unicode_ispunct(int character);

Description: Returns true if the indicated character is a punctuation mark, false otherwise. This is akin to ctype's ispunct(), extended to Unicode.

unicodeIsspace
static bool TextEncoder::unicode_isspace(int character);

Description: Returns true if the indicated character is a whitespace letter, false otherwise. This is akin to ctype's isspace(), extended to Unicode.

unicodeIsupper
static bool TextEncoder::unicode_isupper(int character);

Description: Returns true if the indicated character is an uppercase letter, false otherwise. This is akin to ctype's isupper(), extended to Unicode.

unicodeTolower
static int TextEncoder::unicode_tolower(int character);

Description: Returns the uppercase equivalent of the given Unicode character. This is akin to ctype's tolower(), extended to Unicode.

unicodeToupper
static int TextEncoder::unicode_toupper(int character);

Description: Returns the uppercase equivalent of the given Unicode character. This is akin to ctype's toupper(), extended to Unicode.

upper
static string TextEncoder::upper(string const &source);

Description: Converts the string to uppercase, assuming the string is encoded in the default encoding.
Description: Converts the string to uppercase, assuming the string is encoded in the indicated encoding.

TextProperties
TextProperties::TextProperties(void);

Description:

addProperties
void TextProperties::add_properties(TextProperties const &other);

Description: Sets any properties that are explicitly specified in other on this object. Leaves other properties unchanged.

clear
void TextProperties::clear(void);

Description: Unsets all properties that have been specified so far, and resets the TextProperties structure to its initial empty state.

clearAlign
void TextProperties::clear_align(void);

Description: Restores the default alignment of the text.

clearBin
void TextProperties::clear_bin(void);

Description: Removes the effect of a previous call to set_bin(). Text will be drawn in whatever bin it would like to be drawn in, with no explicit ordering.

clearDrawOrder
void TextProperties::clear_draw_order(void);

Description:

clearFont
void TextProperties::clear_font(void);

Description: Restores the default font to the text.

clearGlyphScale
void TextProperties::clear_glyph_scale(void);

Description:

clearGlyphShift
void TextProperties::clear_glyph_shift(void);

Description:

clearIndent
void TextProperties::clear_indent(void);

Description: Removes the indent setting from the text. Text will be as wide as it is.

clearPreserveTrailingWhitespace
void TextProperties::clear_preserve_trailing_whitespace(void);

Description:

clearShadow
void TextProperties::clear_shadow(void);

Description: Specifies that a shadow will not be drawn behind the text.

clearShadowColor
void TextProperties::clear_shadow_color(void);

Description: Removes the shadow color specification.

clearSlant
void TextProperties::clear_slant(void);

Description:

clearSmallCaps
void TextProperties::clear_small_caps(void);

Description:

clearSmallCapsScale
void TextProperties::clear_small_caps_scale(void);

Description:

clearTabWidth
void TextProperties::clear_tab_width(void);

Description:

clearTextColor
void TextProperties::clear_text_color(void);

Description: Removes the text color specification; the text will be colored whatever it was in the source font file.

clearUnderscore
void TextProperties::clear_underscore(void);

Description:

clearUnderscoreHeight
void TextProperties::clear_underscore_height(void);

Description:

clearWordwrap
void TextProperties::clear_wordwrap(void);

Description: Removes the wordwrap setting from the text. Text will be as wide as it is.

getAlign
TextProperties::Alignment TextProperties::get_align(void) const;

Description:

getBin
string const &TextProperties::get_bin(void) const;

Description: Returns the drawing bin set with set_bin(), or empty string if no bin has been set.

getClassType
static TypeHandle TextProperties::get_class_type(void);

Undocumented function.

getDefaultFont
static TextFont *TextProperties::get_default_font(void);

Description: Specifies the default font to be used for any TextNode whose font is uninitialized or NULL. See set_font().

getDrawOrder
int TextProperties::get_draw_order(void) const;

Description: Returns the drawing order set with set_draw_order().

getFont
TextFont *TextProperties::get_font(void) const;

Description: Returns the font currently in use, if any. If no font is in use, this returns the default font.

getGlyphScale
float TextProperties::get_glyph_scale(void) const;

Description: Returns the scale factor of each letter as specified by set_glyph_scale().

getGlyphShift
float TextProperties::get_glyph_shift(void) const;

Description: Returns the vertical shift of each letter as specified by set_glyph_shift().

getIndent
float TextProperties::get_indent(void) const;

Description:

getPreserveTrailingWhitespace
bool TextProperties::get_preserve_trailing_whitespace(void) const;

Description: Returns the preserve_trailing_whitespace flag. See set_preserve_trailing_whitespace().

getShadow
LVector2f TextProperties::get_shadow(void) const;

Description: Returns the offset of the shadow as set by set_shadow(). It is an error to call this if has_shadow() is false.

getShadowColor
LVecBase4f TextProperties::get_shadow_color(void) const;

Description:

getSlant
float TextProperties::get_slant(void) const;

Description: Returns the factor by which the text is specified to slant to the right.

getSmallCaps
bool TextProperties::get_small_caps(void) const;

Description: Returns the small_caps flag. See set_small_caps().

getSmallCapsScale
float TextProperties::get_small_caps_scale(void) const;

Description: Returns the scale factor applied to lowercase letters from their uppercase equivalents, when the small_caps flag is in effect. See set_small_caps() and set_small_caps_scale().

getTabWidth
float TextProperties::get_tab_width(void) const;

Description: Returns the width set via set_tab_width().

getTextColor
LVecBase4f TextProperties::get_text_color(void) const;

Description:

getUnderscore
bool TextProperties::get_underscore(void) const;

Description: Returns the underscore flag. See set_underscore().

getUnderscoreHeight
float TextProperties::get_underscore_height(void) const;

Description: Returns the vertical height of the underscore; see set_underscore_height().

getWordwrap
float TextProperties::get_wordwrap(void) const;

Description:

hasAlign
bool TextProperties::has_align(void) const;

Description:

hasBin
bool TextProperties::has_bin(void) const;

Description: Returns true if an explicit drawing bin has been set via set_bin(), false otherwise.

hasDrawOrder
bool TextProperties::has_draw_order(void) const;

Description:

hasFont
bool TextProperties::has_font(void) const;

Description:

hasGlyphScale
bool TextProperties::has_glyph_scale(void) const;

Description:

hasGlyphShift
bool TextProperties::has_glyph_shift(void) const;

Description:

hasIndent
bool TextProperties::has_indent(void) const;

Description:

hasPreserveTrailingWhitespace
bool TextProperties::has_preserve_trailing_whitespace(void) const;

Description:

hasShadow
bool TextProperties::has_shadow(void) const;

Description:

hasShadowColor
bool TextProperties::has_shadow_color(void) const;

Description:

hasSlant
bool TextProperties::has_slant(void) const;

Description:

hasSmallCaps
bool TextProperties::has_small_caps(void) const;

Description:

hasSmallCapsScale
bool TextProperties::has_small_caps_scale(void) const;

Description:

hasTabWidth
bool TextProperties::has_tab_width(void) const;

Description:

hasTextColor
bool TextProperties::has_text_color(void) const;

Description:

hasUnderscore
bool TextProperties::has_underscore(void) const;

Description:

hasUnderscoreHeight
bool TextProperties::has_underscore_height(void) const;

Description:

hasWordwrap
bool TextProperties::has_wordwrap(void) const;

Description:

isAnySpecified
bool TextProperties::is_any_specified(void) const;

Description: Returns true if any properties have been specified, false otherwise.

operator !=
bool TextProperties::operator !=(TextProperties const &other) const;

Description:

operator =
void TextProperties::operator =(TextProperties const &copy);

Description:

operator ==
bool TextProperties::operator ==(TextProperties const &other) const;

Description:

setAlign
void TextProperties::set_align(TextProperties::Alignment align_type);

Description: Specifies the alignment of the text within its margins.

setBin
void TextProperties::set_bin(string const &bin);

Description: Names the CullBin that the text geometry should be assigned to. If this is set, then a CullBinAttrib will be created to explicitly place each component in the named bin.
The draw_order value will also be passed to each CullBinAttrib as appropriate; this is particularly useful if this names a CullBinFixed, e.g. "fixed".

setDefaultFont
static void TextProperties::set_default_font(TextFont *);

Description: Specifies the default font to be used for any TextNode whose font is uninitialized or NULL. See set_font().

setDrawOrder
int TextProperties::set_draw_order(int draw_order);

Description: Sets the drawing order of text created by the TextNode. This is actually the draw order of the card and frame. The shadow is drawn at _draw_order+1, and the text at _draw_order+2.
This affects the sorting order assigned to the nodes as they are created, and also is passed to whatever bin may be assigned via set_bin().
The return value is the first unused draw_order number, e.g. _draw_order + 3.

setFont
void TextProperties::set_font(TextFont *font);

Description: Sets the font that will be used when making text. If this is set to NULL, the default font will be used, which can be set via set_default_font().

setGlyphScale
void TextProperties::set_glyph_scale(float glyph_scale);

Description: Specifies the factor by which to scale each letter of the text as it is placed. This can be used (possibly in conjunction with set_glyph_shift()) to implement superscripting or subscripting.

setGlyphShift
void TextProperties::set_glyph_shift(float glyph_shift);

Description: Specifies a vertical amount to shift each letter of the text as it is placed. This can be used (possibly in conjunction with set_glyph_scale()) to implement superscripting or subscripting.

setIndent
void TextProperties::set_indent(float indent);

Description: Specifies the amount of extra space that is inserted before the first character of each line. This can be thought of as a left margin.

setPreserveTrailingWhitespace
void TextProperties::set_preserve_trailing_whitespace(bool preserve_trailing_whitespace);

Description: Sets the preserve_trailing_whitespace flag. When this is set, trailing whitespace at the end of the line is not stripped when the text is wordwrapped (it is stripped by default). Since the trailing whitespace is invisible, this is important primarily for determining the proper width of a frame or card behind the text.

setShadow
void TextProperties::set_shadow(float xoffset, float yoffset);

Description: Specifies that the text should be drawn with a shadow, by creating a second copy of the text and offsetting it slightly behind the first.

setShadowColor
void TextProperties::set_shadow_color(float r, float g, float b, float a);

Description:

setSlant
void TextProperties::set_slant(float slant);

Description: Specifies the factor by which the text slants to the right.

setSmallCaps
void TextProperties::set_small_caps(bool small_caps);

Description: Sets the small_caps flag. When this is set, lowercase letters are generated as scaled-down versions of their uppercase equivalents. This is particularly useful to set for fonts that do not have lowercase letters.
It is also a good idea to set this for a (dynamic) font that has already implemented lowercase letters as scaled-down versions of their uppercase equivalents, since without this flag the texture memory may needlessly duplicate equivalent glyphs for upper and lowercase letters. Setting this flag causes the texture memory to share the mixed-case letters.
The amount by which the lowercase letters are scaled is specified by set_small_caps_scale().

setSmallCapsScale
void TextProperties::set_small_caps_scale(float small_caps_scale);

Description: Sets the scale factor applied to lowercase letters from their uppercase equivalents, when the small_caps flag is in effect. See set_small_caps(). Normally, this will be a number less than one.

setTabWidth
void TextProperties::set_tab_width(float tab_width);

Description: Sets the width of each tab stop, in screen units. A tab character embedded in the text will advance the horizontal position to the next tab stop.

setTextColor
void TextProperties::set_text_color(float r, float g, float b, float a);

Description:

setUnderscore
void TextProperties::set_underscore(bool underscore);

Description: Sets the underscore flag. When this is set, the text is underscored with a one-pixel line the same color as the text foreground, drawn at the baseline.

setUnderscoreHeight
void TextProperties::set_underscore_height(float underscore_height);

Description: Specifies the vertical height of the underscore, relative to the text baseline. This only has meaning if the underscore mode is enabled with set_underscore().

setWordwrap
void TextProperties::set_wordwrap(float wordwrap);

Description: Sets the text up to automatically wordwrap when it exceeds the indicated width. This can be thought of as a right margin or margin width.

write
void TextProperties::write(ostream &out, int indent_level = (0)) const;

Description:


FreetypeFont

    from pandac.PandaModules import FreetypeFont
    Class : FreetypeFont
    Description : This is a common base class for both DynamicTextFont and PNMTextMaker. Both of these are utility classes that use the FreeType library to generate glyphs from fonts; this class abstracts out that common wrapper around FreeType.

Inheritance:

    FreetypeFont: Namable
    Namable:

Methods of FreetypeFont:

    getFontPixelSize
    getLineHeight
    getNativeAntialias
    getPixelSize
    getPixelsPerUnit
    getPointSize
    getPointsPerInch
    getPointsPerUnit
    getScaleFactor
    getSpaceAdvance
    setNativeAntialias
    setPixelSize
    setPixelsPerUnit
    setPointSize
    setScaleFactor

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
getFontPixelSize
int FreetypeFont::get_font_pixel_size(void) const;

Description: This is used to report whether the requested pixel size is being only approximated by a fixed-pixel-size font. This returns 0 in the normal case, in which a scalable font is used, or the fixed-pixel-size font has exactly the requested pixel size.
If this returns non-zero, it is the pixel size of the font that we are using to approximate our desired size.

getLineHeight
float FreetypeFont::get_line_height(void) const;

Description: Returns the number of units high each line of text is.

getNativeAntialias
bool FreetypeFont::get_native_antialias(void) const;

Description: Returns whether Freetype's built-in antialias mode is enabled. See set_native_antialias().

getPixelSize
float FreetypeFont::get_pixel_size(void) const;

Description: Returns the size of the font in pixels, as it appears in the texture.

getPixelsPerUnit
float FreetypeFont::get_pixels_per_unit(void) const;

Description: Returns the resolution of the texture map. See set_pixels_per_unit().

getPointSize
float FreetypeFont::get_point_size(void) const;

Description: Returns the point size of the font.

getPointsPerInch
static float FreetypeFont::get_points_per_inch(void);

Description: Returns the number of points in one inch. This is a universal typographic convention.

getPointsPerUnit
static float FreetypeFont::get_points_per_unit(void);

Description: Returns the point size of the font that is one Panda unit high. This is an arbitrary Panda convention for text, and is set to 10.0.

getScaleFactor
float FreetypeFont::get_scale_factor(void) const;

Description: Returns the antialiasing scale factor. See set_scale_factor().

getSpaceAdvance
float FreetypeFont::get_space_advance(void) const;

Description: Returns the number of units wide a space is.

setNativeAntialias
void FreetypeFont::set_native_antialias(bool native_antialias);

Description: Sets whether the Freetype library's built-in antialias mode is enabled. There are two unrelated ways to achieve antialiasing: with Freetype's native antialias mode, and with the use of a scale_factor greater than one. By default, both modes are enabled.
At low resolutions, some fonts may do better with one mode or the other. In general, Freetype's native antialiasing will produce less blurry results, but may introduce more artifacts.

setPixelSize
bool FreetypeFont::set_pixel_size(float pixel_size);

Description: Computes the appropriate pixels_per_unit value to set the size of the font in the texture to the indicated number of pixels. This is just another way to specify pixels_per_unit().

setPixelsPerUnit
bool FreetypeFont::set_pixels_per_unit(float pixels_per_unit);

Description: Set the resolution of the texture map, and hence the clarity of the resulting font. This sets the number of pixels in the texture map that are used for each onscreen unit.
Setting this number larger results in an easier to read font, but at the cost of more texture memory.
This should only be called before any characters have been requested out of the font, or immediately after calling clear().

setPointSize
bool FreetypeFont::set_point_size(float point_size);

Description: Sets the point size of the font. This controls the apparent size of the font onscreen. By convention, a 10 point font is about 1 screen unit high.
This should only be called before any characters have been requested out of the font, or immediately after calling clear().

setScaleFactor
bool FreetypeFont::set_scale_factor(float scale_factor);

Description: Sets the factor by which the font is rendered larger by the FreeType library before being filtered down to its actual size in the texture as specified by set_pixels_per_unit(). This may be set to a number larger than 1.0 to improve the font's antialiasing (since FreeType doesn't really do a swell job of antialiasing by itself). There is some performance implication for setting this different than 1.0.
This should only be called before any characters have been requested out of the font, or immediately after calling clear().

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


Frustumf

    from pandac.PandaModules import Frustumf
    Filename: frustum_src.h Created by: mike (09Jan97)
    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."
    Class : Frustum
    Description :

Inheritance:

    Frustumf:

Methods of Frustumf:

    Frustumf (Constructor)
    getPerspectiveParams
    makeOrtho
    makeOrtho2D
    makePerspective
    makePerspectiveHfov
    makePerspectiveVfov
Frustumf
Frustumf::Frustumf(void);

Filename: frustum_src.I Created by: mike (09Jan97)
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."
Description:

getPerspectiveParams
void Frustumf::get_perspective_params(float &yfov, float &aspect, float &fnear, float &ffar) const;

Description:

makeOrtho
void Frustumf::make_ortho(float fnear, float ffar);

Description: Behaves like gluOrtho

makeOrtho2D
void Frustumf::make_ortho_2D(void);

Description: Sets up a two-dimensional orthographic frustum

makePerspective
void Frustumf::make_perspective(float xfov, float yfov, float fnear, float ffar);

Undocumented function.

makePerspectiveHfov
void Frustumf::make_perspective_hfov(float xfov, float aspect, float fnear, float ffar);

Description: Behaves like gluPerspective (Aspect = width/height, Yfov in degrees) aspect +------------+ | | 1 | | yfov | | +------------+
-------+------
\ | / \ | / \ | / \ | / \ | / \|/ W yfov

makePerspectiveVfov
void Frustumf::make_perspective_vfov(float yfov, float aspect, float fnear, float ffar);

Undocumented function.


Frustumd

    from pandac.PandaModules import Frustumd
    Filename: frustum_src.h Created by: mike (09Jan97)
    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."
    Class : Frustum
    Description :

Inheritance:

    Frustumd:

Methods of Frustumd:

    Frustumd (Constructor)
    getPerspectiveParams
    makeOrtho
    makeOrtho2D
    makePerspective
    makePerspectiveHfov
    makePerspectiveVfov
Frustumd
Frustumd::Frustumd(void);

Filename: frustum_src.I Created by: mike (09Jan97)
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."
Description:

getPerspectiveParams
void Frustumd::get_perspective_params(double &yfov, double &aspect, double &fnear, double &ffar) const;

Description:

makeOrtho
void Frustumd::make_ortho(double fnear, double ffar);

Description: Behaves like gluOrtho

makeOrtho2D
void Frustumd::make_ortho_2D(void);

Description: Sets up a two-dimensional orthographic frustum

makePerspective
void Frustumd::make_perspective(double xfov, double yfov, double fnear, double ffar);

Undocumented function.

makePerspectiveHfov
void Frustumd::make_perspective_hfov(double xfov, double aspect, double fnear, double ffar);

Description: Behaves like gluPerspective (Aspect = width/height, Yfov in degrees) aspect +------------+ | | 1 | | yfov | | +------------+
-------+------
\ | / \ | / \ | / \ | / \ | / \|/ W yfov

makePerspectiveVfov
void Frustumd::make_perspective_vfov(double yfov, double aspect, double fnear, double ffar);

Undocumented function.


FSM

    from direct.fsm.FSM import FSM
    A Finite State Machine. This is intended to be the base class of any number of specific machines, which consist of a collection of states and transitions, and rules to switch between states according to arbitrary input data.
    The states of an FSM are defined implicitly. Each state is identified by a string, which by convention begins with a capital letter. (Also by convention, strings passed to request that are not state names should begin with a lowercase letter.)
    To define specialized behavior when entering or exiting a particular state, define a method named enterState() and/or exitState(), where "State" is the name of the state, e.g.:
    def enterRed(self): ... do stuff ...
    def exitRed(self): ... cleanup stuff ...
    def enterYellow(self): ... do stuff ...
    def exitYellow(self): ... cleanup stuff ...
    def enterGreen(self): ... do stuff ...
    def exitGreen(self): ... cleanup stuff ...
    Both functions can access the previous state name as self.oldState, and the new state name we are transitioning to as self.newState. (Of course, in enterRed(), self.newState will always be "Red", and the in exitRed(), self.oldState will always be "Red".)
    Both functions are optional. If either function is omitted, the state is still defined, but nothing is done when transitioning into (or out of) the state.
    Additionally, you may define a filterState() function for each state. The purpose of this function is to decide what state to transition to next, if any, on receipt of a particular input. The input is always a string and a tuple of optional parameters (which is often empty), and the return value should either be None to do nothing, or the name of the state to transition into. For example:
    def filterRed(self, request, args): if request in ['Green']: return (request,) + args return None
    def filterYellow(self, request, args): if request in ['Red']: return (request,) + args return None
    def filterGreen(self, request, args): if request in ['Yellow']: return (request,) + args return None
    As above, the filterState() functions are optional. If any is omitted, the defaultFilter() method is called instead. A standard implementation of defaultFilter() is provided, which may be overridden in a derived class to change the behavior on an unexpected transition.
    If self.defaultTransitions is left unassigned, then the standard implementation of defaultFilter() will return None for any lowercase transition name and allow any uppercase transition name (this assumes that an uppercase name is a request to go directly to a particular state by name).
    self.state may be queried at any time other than during the handling of the enter() and exit() functions. During these functions, self.state contains the value None (you are not really in any state during the transition). However, during a transition you *can* query the outgoing and incoming states, respectively, via self.oldState and self.newState. At other times, self.state contains the name of the current state.
    Initially, the FSM is in state 'Off'. It does not call enterOff() at construction time; it is simply in Off already by convention. If you need to call code in enterOff() to initialize your FSM properly, call it explicitly in the constructor. Similarly, when cleanup() is called or the FSM is destructed, the FSM transitions back to 'Off' by convention. (It does call enterOff() at this point, but does not call exitOff().)
    To implement nested hierarchical FSM's, simply create a nested FSM and store it on the class within the appropriate enterState() function, and clean it up within the corresponding exitState() function.
    See the code in SampleFSM.py for further examples.

Inheritance:

    FSM:

Methods of FSM:

    __callEnterFunc
    __callExitFunc
    __del__
    __init__
    __repr__
    __setState
    __str__
    cleanup
    defaultEnter
    defaultExit
    defaultFilter
    demand
    filterOff
    forceTransition
    getCurrentOrNextState
    getStateChangeEvent
    isInTransition
    request
    requestNext
    requestPrev
    setBroadcastStateChanges
    setStateArray
__callEnterFunc
def __callEnterFunc(self, name, *args)

Undocumented function.

__callExitFunc
def __callExitFunc(self, name)

Undocumented function.

__del__
def __del__(self)

Undocumented function.

__init__
def __init__(self, name)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

__setState
def __setState(self, newState, *args)

Undocumented function.

__str__
def __str__(self)

Print out something useful about the fsm

cleanup
def cleanup(self)

Undocumented function.

defaultEnter
def defaultEnter(self, *args)

This is the default function that is called if there is no enterState() method for a particular state name.

defaultExit
def defaultExit(self)

This is the default function that is called if there is no exitState() method for a particular state name.

defaultFilter
def defaultFilter(self, request, args)

This is the function that is called if there is no filterState() method for a particular state name.
This default filter function behaves in one of two modes:
(1) if self.defaultTransitions is None, allow any request whose name begins with a capital letter, which is assumed to be a direct request to a particular state. This is similar to the old ClassicFSM onUndefTransition=ALLOW, with no explicit state transitions listed.
(2) if self.defaultTransitions is not None, allow only those requests explicitly identified in this map. This is similar to the old ClassicFSM onUndefTransition=DISALLOW, with an explicit list of allowed state transitions.
Specialized FSM's may wish to redefine this default filter (for instance, to always return the request itself, thus allowing any transition.).

demand
def demand(self, request, *args)

Requests a state transition, by code that does not expect the request to be denied. If the request is denied, raises a RequestDenied exception.
Unlike request(), this method allows a new request to be made while the FSM is currently in transition. In this case, the request is queued up and will be executed when the current transition finishes. Multiple requests will queue up in sequence.

filterOff
def filterOff(self, request, args)

From the off state, we can always go directly to any other state.

forceTransition
def forceTransition(self, request, *args)

Changes unconditionally to the indicated state. This bypasses the filterState() function, and just calls exitState() followed by enterState().

getCurrentOrNextState
def getCurrentOrNextState(self)

Undocumented function.

getStateChangeEvent
def getStateChangeEvent(self)

Undocumented function.

isInTransition
def isInTransition(self)

Undocumented function.

request
def request(self, request, *args)

Requests a state transition (or other behavior). The request may be denied by the FSM's filter function. If it is denied, the filter function may either raise an exception (RequestDenied), or it may simply return None, without changing the FSM's state.
The request parameter should be a string. The request, along with any additional arguments, is passed to the current filterState() function. If filterState() returns a string, the FSM transitions to that state.
The return value is the same as the return value of filterState() (that is, None if the request does not provoke a state transition, otherwise it is a tuple containing the name of the state followed by any optional args.)
If the FSM is currently in transition (i.e. in the middle of executing an enterState or exitState function), an AlreadyInTransition exception is raised (but see demand(), which will queue these requests up and apply when the transition is complete).

requestNext
def requestNext(self, *args)

request the 'next' state in the predefined state array

requestPrev
def requestPrev(self, *args)

request the 'previous' state in the predefined state array

setBroadcastStateChanges
def setBroadcastStateChanges(self, doBroadcast)

Undocumented function.

setStateArray
def setStateArray(self, stateArray)

array of unique states to iterate through


FSMException

    from direct.fsm.FSM import FSMException

Inheritance:

    FSMException:


FSMInspector

    from direct.tkpanels.FSMInspector import FSMInspector

Inheritance:

    FSMInspector:

Methods of FSMInspector:

    __init__
    _setGridSize
    addState
    appInit
    canvas
    computeEndpoints
    computePoint
    connectStates
    createInterface
    createStateInspectors
    drawConnections
    enteredState
    exitedState
    findAngle
    getStateInspector
    mouse2Down
    mouse2Motion
    onDestroy
    popupGridDialog
    printLayout
    scrolledCanvas
    setFontSize
    setGridSize
    setMarkerSize
    toggleBalloon
    toggleGridSnap
__init__
def __init__(self, fsm, **kw)

Undocumented function.

_setGridSize
def _setGridSize(self)

Undocumented function.

addState
def addState(self, state)

Undocumented function.

appInit
def appInit(self)

Undocumented function.

canvas
def canvas(self)

Undocumented function.

computeEndpoints
def computeEndpoints(self, fromState, toState)

Undocumented function.

computePoint
def computePoint(self, radius, angle)

Undocumented function.

connectStates
def connectStates(self, fromState, toState)

Undocumented function.

createInterface
def createInterface(self)

Undocumented function.

createStateInspectors
def createStateInspectors(self)

Undocumented function.

drawConnections
def drawConnections(self, event=None)

Undocumented function.

enteredState
def enteredState(self, stateName)

Undocumented function.

exitedState
def exitedState(self, stateName)

Undocumented function.

findAngle
def findAngle(self, fromPoint, toPoint)

Undocumented function.

getStateInspector
def getStateInspector(self, name)

Undocumented function.

mouse2Down
def mouse2Down(self, event)

Undocumented function.

mouse2Motion
def mouse2Motion(self, event)

Undocumented function.

onDestroy
def onDestroy(self, event)

Called on ClassicFSM Panel shutdown

popupGridDialog
def popupGridDialog(self)

Undocumented function.

printLayout
def printLayout(self)

Undocumented function.

scrolledCanvas
def scrolledCanvas(self)

Undocumented function.

setFontSize
def setFontSize(self, size)

Undocumented function.

setGridSize
def setGridSize(self, size)

Undocumented function.

setMarkerSize
def setMarkerSize(self, size)

Undocumented function.

toggleBalloon
def toggleBalloon(self)

Undocumented function.

toggleGridSnap
def toggleGridSnap(self)

Undocumented function.


FullExeTarget

    from direct.pyinst.Builder import FullExeTarget

Inheritance:

    FullExeTarget:

Methods of FullExeTarget:

    __init__
    assemble
    gather
__init__
def __init__(self, cfg, sectnm, cnvrts)

Undocumented function.

assemble
def assemble(self)

Undocumented function.

gather
def gather(self)

Undocumented function.


Func

    from direct.interval.FunctionInterval import Func

Inheritance:

    Func:

Methods of Func:

    __init__
__init__
def __init__(self, *args, **kw)

Undocumented function.


FuncImporter

    from direct.pyinst.imputil import FuncImporter
    Importer subclass to use a supplied function rather than method overrides.

Inheritance:

    FuncImporter:

Methods of FuncImporter:

    __init__
    get_code
__init__
def __init__(self, func)

Undocumented function.

get_code
def get_code(self, parent, modname, fqname)

Undocumented function.


FunctionCall

    from direct.fsm.StatePush import FunctionCall

Inheritance:

    FunctionCall:

Methods of FunctionCall:

    __init__
    _handleStateChange
    _recvMultiStatePush
    destroy
    getState
__init__
def __init__(self, func, *args, **kArgs)

Undocumented function.

_handleStateChange
def _handleStateChange(self)

Undocumented function.

_recvMultiStatePush
def _recvMultiStatePush(self, key, source)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getState
def getState(self)

Undocumented function.


FunctionInspector

    from direct.tkpanels.Inspector import FunctionInspector

Inheritance:

    FunctionInspector:

Methods of FunctionInspector:

    title
title
def title(self)

Undocumented function.


FunctionInterval

    from direct.interval.FunctionInterval import FunctionInterval

Inheritance:

    FunctionInterval:

Methods of FunctionInterval:

    __init__
    def
    privInstant
__init__
def __init__(self, function, **kw)

__init__(function, name = None, openEnded = 1, extraArgs = [])

def
def defmakeUniqueName

Undocumented function.

privInstant
def privInstant(self)

Undocumented function.


Functor

    from direct.showbase.PythonUtil import Functor

Inheritance:

    Functor:

Methods of Functor:

    __init__
    __repr__
    _do__call__
    _exceptionLoggedCreationStack__call__
    destroy
__init__
def __init__(self, function, *args, **kargs)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

_do__call__
def _do__call__(self, *args, **kargs)

Undocumented function.

_exceptionLoggedCreationStack__call__
def _exceptionLoggedCreationStack__call__(self, *args, **kargs)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


GarbageLeakDetector

    from direct.showbase.LeakDetectors import GarbageLeakDetector

Inheritance:

    GarbageLeakDetector:

Methods of GarbageLeakDetector:

    __len__
__len__
def __len__(self)

Undocumented function.


GarbageLogger

    from direct.showbase.GarbageReport import GarbageLogger
    If you just want to log the current garbage to the log file, make one of these. It automatically destroys itself after logging

Inheritance:

    GarbageLogger:

Methods of GarbageLogger:

    __init__
__init__
def __init__(self, name, *args, **kArgs)

Undocumented function.


GarbageReport

    from direct.showbase.GarbageReport import GarbageReport
    Detects leaked Python objects (via gc.collect()) and reports on garbage items, garbage-to-garbage references, and garbage cycles. If you just want to dump the report to the log, use GarbageLogger.

Inheritance:

    GarbageReport:

Methods of GarbageReport:

    __init__
    _getCycles
    _getNormalizedCycle
    _getReferents
    _getReferrers
    destroy
    finished
    getGarbage
    getNumItems
    getReport
    run
__init__
def __init__(self, name, log=True, verbose=False, fullReport=False, findCycles=True, threaded=False, doneCallback=None, autoDestroy=False, priority=None, safeMode=False)

Undocumented function.

_getCycles
def _getCycles(self, index, uniqueCycleSets=None)

Undocumented function.

_getNormalizedCycle
def _getNormalizedCycle(self, cycle)

Undocumented function.

_getReferents
def _getReferents(self, obj)

Undocumented function.

_getReferrers
def _getReferrers(self, obj)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

finished
def finished(self)

Undocumented function.

getGarbage
def getGarbage(self)

Undocumented function.

getNumItems
def getNumItems(self)

Undocumented function.

getReport
def getReport(self)

Undocumented function.

run
def run(self)

Undocumented function.


GarbageReportScheduler

    from direct.showbase.GarbageReportScheduler import GarbageReportScheduler

Inheritance:

    GarbageReportScheduler:

Methods of GarbageReportScheduler:

    __init__
    _runGarbageReport
    _scheduleNextGarbageReport
    getTaskName
__init__
def __init__(self, waitBetween=None, waitScale=None)

Undocumented function.

_runGarbageReport
def _runGarbageReport(self, task)

Undocumented function.

_scheduleNextGarbageReport
def _scheduleNextGarbageReport(self, garbageReport=None)

Undocumented function.

getTaskName
def getTaskName(self)

Undocumented function.


Geom

    from pandac.PandaModules import Geom
    Class : Geom
    Description : A container for geometry primitives. This class associates one or more GeomPrimitive objects with a table of vertices defined by a GeomVertexData object. All of the primitives stored in a particular Geom are drawn from the same set of vertices (each primitive uses a subset of all of the vertices in the table), and all of them must be rendered at the same time, in the same graphics state.

Inheritance:

    Geom: CopyOnWriteObject GeomEnums
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    GeomEnums:

Methods of Geom:

    Geom (Constructor)
    addPrimitive
    checkValid
    clearBounds
    clearCache
    clearCacheStage
    clearPrimitives
    copyPrimitivesFrom
    decompose
    decomposeInPlace
    doubleside
    doublesideInPlace
    getBounds
    getClassType
    getGeomRendering
    getModified
    getNestedVertices
    getNumBytes
    getNumPrimitives
    getPrimitive
    getPrimitiveType
    getShadeModel
    getUsageHint
    getVertexData
    isEmpty
    isPrepared
    makeCopy
    makeNonindexed
    markBoundsStale
    modifyPrimitive
    modifyVertexData
    offsetVertices
    operator =
    operator delete
    operator new
    output
    prepare
    prepareNow
    release
    releaseAll
    removePrimitive
    requestResident
    reverse
    reverseInPlace
    rotate
    rotateInPlace
    setBounds
    setPrimitive
    setUsageHint
    setVertexData
    transformVertices
    unify
    unifyInPlace
    validatePtr
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
Geom
Geom::Geom(GeomVertexData const *data);

Description:
Description: Use make_copy() to duplicate a Geom.

addPrimitive
void Geom::add_primitive(GeomPrimitive const *primitive);

Description: Adds a new GeomPrimitive structure to the Geom object. This specifies a particular subset of vertices that are used to define geometric primitives of the indicated type.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

checkValid
bool Geom::check_valid(void) const;

Description: Verifies that the all of the primitives within the geom reference vertices that actually exist within the geom's GeomVertexData. Returns true if the geom appears to be valid, false otherwise.
Description: Verifies that the all of the primitives within the geom reference vertices that actually exist within the indicated GeomVertexData. Returns true if the geom appears to be valid, false otherwise.

clearBounds
void Geom::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the bounding volume to be automatically computed once more based on the vertices.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

clearCache
void Geom::clear_cache(void);

Description: Removes all of the previously-cached results of munge_geom().
This blows away the entire cache, upstream and downstream the pipeline. Use clear_cache_stage() instead if you only want to blow away the cache at the current stage and upstream.

clearCacheStage
void Geom::clear_cache_stage(Thread *current_thread);

Description: Removes all of the previously-cached results of munge_geom(), at the current pipeline stage and upstream. Does not affect the downstream cache.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

clearPrimitives
void Geom::clear_primitives(void);

Description: Removes all the primitives from the Geom object (but keeps the same table of vertices). You may then re-add primitives one at a time via calls to add_primitive().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

copyPrimitivesFrom
virtual bool Geom::copy_primitives_from(Geom const *other);

Description: Copies the primitives from the indicated Geom into this one. This does require that both Geoms contain the same fundamental type primitives, both have a compatible shade model, and both use the same GeomVertexData. Both Geoms must also be the same specific class type (i.e. if one is a GeomTextGlyph, they both must be.)
Returns true if the copy is successful, or false otherwise (because the Geoms were mismatched).

decompose
PointerTo< Geom > Geom::decompose(void) const;

Description: Decomposes all of the primitives within this Geom, returning the result. See GeomPrimitive::decompose().

decomposeInPlace
void Geom::decompose_in_place(void);

Description: Decomposes all of the primitives within this Geom, leaving the results in place. See GeomPrimitive::decompose().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

doubleside
PointerTo< Geom > Geom::doubleside(void) const;

Description: Doublesides all of the primitives within this Geom, returning the result. See GeomPrimitive::doubleside().

doublesideInPlace
void Geom::doubleside_in_place(void);

Description: Doublesides all of the primitives within this Geom, leaving the results in place. See GeomPrimitive::doubleside().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

getBounds
ConstPointerTo< BoundingVolume > Geom::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the bounding volume for the Geom.

getClassType
static TypeHandle Geom::get_class_type(void);

Undocumented function.

getGeomRendering
int Geom::get_geom_rendering(void) const;

Description: Returns the set of GeomRendering bits that represent the rendering properties required to properly render this Geom.

getModified
UpdateSeq Geom::get_modified(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a sequence number which is guaranteed to change at least every time any of the primitives in the Geom is modified, or the set of primitives is modified. However, this does not include modifications to the vertex data, which should be tested separately.

getNestedVertices
int Geom::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of vertices rendered by all primitives within the Geom.

getNumBytes
int Geom::get_num_bytes(void) const;

Description: Returns the number of bytes consumed by the geom and its primitives (but not including its vertex table).

getNumPrimitives
int Geom::get_num_primitives(void) const;

Description: Returns the number of GeomPrimitive objects stored within the Geom, each of which represents a number of primitives of a particular type.

getPrimitive
ConstPointerTo< GeomPrimitive > Geom::get_primitive(int i) const;

Description: Returns a const pointer to the ith GeomPrimitive object stored within the Geom. Use this call only to inspect the ith object; use modify_primitive() or set_primitive() if you want to modify it.

getPrimitiveType
GeomEnums::PrimitiveType Geom::get_primitive_type(void) const;

Description: Returns the fundamental primitive type that is common to all GeomPrimitives added within the Geom. All nested primitives within a particular Geom must be the same type (that is, you can mix triangles and tristrips, because they are both the same fundamental type PT_polygons, but you cannot mix triangles and points withn the same Geom).

getShadeModel
GeomEnums::ShadeModel Geom::get_shade_model(void) const;

Description: Returns the shade model common to all of the individual GeomPrimitives that have been added to the geom.

getUsageHint
GeomEnums::UsageHint Geom::get_usage_hint(void) const;

Description: Returns the minimum (i.e. most dynamic) usage_hint among all of the individual GeomPrimitives that have been added to the geom.

getVertexData
ConstPointerTo< GeomVertexData > Geom::get_vertex_data(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a const pointer to the GeomVertexData, for application code to directly examine (but not modify) the geom's underlying data.

isEmpty
bool Geom::is_empty(void) const;

Description: Returns true if there appear to be no vertices to be rendered by this Geom, false if has some actual data.

isPrepared
bool Geom::is_prepared(PreparedGraphicsObjects *prepared_objects) const;

Description: Returns true if the geom has already been prepared or enqueued for preparation on the indicated GSG, false otherwise.

makeCopy
virtual Geom *Geom::make_copy(void) const;

Description: Returns a newly-allocated Geom that is a shallow copy of this one. It will be a different Geom pointer, but its internal data may or may not be shared with that of the original Geom.

makeNonindexed
int Geom::make_nonindexed(bool composite_only);

Description: Converts the geom from indexed to nonindexed by duplicating vertices as necessary. If composite_only is true, then only composite primitives such as trifans and tristrips are converted. Returns the number of GeomPrimitive objects converted.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

markBoundsStale
void Geom::mark_bounds_stale(void) const;

Description: Marks the bounding volume of the Geom as stale so that it should be recomputed. Usually it is not necessary to call this explicitly.

modifyPrimitive
PointerTo< GeomPrimitive > Geom::modify_primitive(int i);

Description: Returns a modifiable pointer to the ith GeomPrimitive object stored within the Geom, so application code can directly manipulate the properties of this primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

modifyVertexData
PointerTo< GeomVertexData > Geom::modify_vertex_data(void);

Description: Returns a modifiable pointer to the GeomVertexData, so that application code may directly maniuplate the geom's underlying data.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

offsetVertices
void Geom::offset_vertices(GeomVertexData const *data, int offset);

Description: Replaces a Geom's vertex table with a new table, and simultaneously adds the indicated offset to all vertex references within the Geom's primitives. This is intended to be used to combine multiple GeomVertexDatas from different Geoms into a single big buffer, with each Geom referencing a subset of the vertices in the buffer.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

operator =
void Geom::operator =(Geom const &copy);

Description: The copy assignment operator is not pipeline-safe. This will completely obliterate all stages of the pipeline, so don't do it for a Geom that is actively being used for rendering.

operator delete
void Geom::operator delete(void *ptr);

Undocumented function.

operator new
void *Geom::operator new(unsigned int size);

Undocumented function.

output
virtual void Geom::output(ostream &out) const;

Description:

prepare
void Geom::prepare(PreparedGraphicsObjects *prepared_objects);

Description: Indicates that the geom should be enqueued to be prepared in the indicated prepared_objects at the beginning of the next frame. This will ensure the geom is already loaded into geom memory if it is expected to be rendered soon.
Use this function instead of prepare_now() to preload geoms from a user interface standpoint.

prepareNow
GeomContext *Geom::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg);

Description: Creates a context for the geom on the particular GSG, if it does not already exist. Returns the new (or old) GeomContext. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new geoms. If this is not necessarily the case, you should use prepare() instead.
Normally, this is not called directly except by the GraphicsStateGuardian; a geom does not need to be explicitly prepared by the user before it may be rendered.

release
bool Geom::release(PreparedGraphicsObjects *prepared_objects);

Description: Frees the geom context only on the indicated object, if it exists there. Returns true if it was released, false if it had not been prepared.

releaseAll
int Geom::release_all(void);

Description: Frees the context allocated on all objects for which the geom has been declared. Returns the number of contexts which have been freed.

removePrimitive
void Geom::remove_primitive(int i);

Description: Removes the ith primitive from the list.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

requestResident
bool Geom::request_resident(void) const;

Description: Returns true if all the primitive arrays are currently resident in memory. If this returns false, the data will be brought back into memory shortly; try again later.
This does not also test the Geom's associated GeomVertexData. That must be tested separately.

reverse
PointerTo< Geom > Geom::reverse(void) const;

Description: Reverses all of the primitives within this Geom, returning the result. See GeomPrimitive::reverse().

reverseInPlace
void Geom::reverse_in_place(void);

Description: Reverses all of the primitives within this Geom, leaving the results in place. See GeomPrimitive::reverse().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

rotate
PointerTo< Geom > Geom::rotate(void) const;

Description: Rotates all of the primitives within this Geom, returning the result. See GeomPrimitive::rotate().

rotateInPlace
void Geom::rotate_in_place(void);

Description: Rotates all of the primitives within this Geom, leaving the results in place. See GeomPrimitive::rotate().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setBounds
void Geom::set_bounds(BoundingVolume const *volume);

Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed; call clear_bounds() if you would like to return the bounding volume to its default behavior.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setPrimitive
void Geom::set_primitive(int i, GeomPrimitive const *primitive);

Description: Replaces the ith GeomPrimitive object stored within the Geom with the new object.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setUsageHint
void Geom::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Changes the UsageHint hint for all of the primitives on this Geom to the same value. See get_usage_hint().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setVertexData
void Geom::set_vertex_data(GeomVertexData const *data);

Description: Replaces the Geom's underlying vertex data table with a completely new table.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

transformVertices
void Geom::transform_vertices(LMatrix4f const &mat);

Description: Applies the indicated transform to all of the vertices in the Geom. If the Geom happens to share a vertex table with another Geom, this operation will duplicate the vertex table instead of breaking the other Geom; however, if multiple Geoms with shared tables are transformed by the same matrix, they will no longer share tables after the operation. Consider using the GeomTransformer if you will be applying the same transform to multiple Geoms.

unify
PointerTo< Geom > Geom::unify(int max_indices, bool preserve_order) const;

Description: Unifies all of the primitives contained within this Geom into a single (or as few as possible, within the constraints of max_indices) primitive objects. This may require decomposing the primitives if, for instance, the Geom contains both triangle strips and triangle fans.
max_indices represents the maximum number of indices that will be put in any one GeomPrimitive. If preserve_order is true, then the primitives will not be reordered during the operation, even if this results in a suboptimal result.

unifyInPlace
void Geom::unify_in_place(int max_indices, bool preserve_order);

Description: Unifies all of the primitives contained within this Geom into a single (or as few as possible, within the constraints of max_indices) primitive objects. This may require decomposing the primitives if, for instance, the Geom contains both triangle strips and triangle fans.
max_indices represents the maximum number of indices that will be put in any one GeomPrimitive. If preserve_order is true, then the primitives will not be reordered during the operation, even if this results in a suboptimal result.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

validatePtr
static bool Geom::validate_ptr(void const *ptr);

Undocumented function.

write
virtual void Geom::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomCacheManager

    from pandac.PandaModules import GeomCacheManager
    Class : GeomCacheManager
    Description : This 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.
    The actual data in the cache is not stored here, but rather it is distributed among the various GeomVertexData source objects. This allows the cache data to propagate through the multiprocess pipeline.
    This structure actually caches any of a number of different types of pointers, and mixes them all up in the same LRU cache list. Some of them (such as GeomMunger) are reference-counted here in the cache; most are not.

Inheritance:

    GeomCacheManager:

Methods of GeomCacheManager:

    flush
    getGlobalPtr
    getMaxSize
    getTotalSize
    setMaxSize
flush
void GeomCacheManager::flush(void);

Description: Immediately empties all elements in the cache.

getGlobalPtr
static GeomCacheManager *GeomCacheManager::get_global_ptr(void);

Description: Returns the global cache manager pointer.

getMaxSize
int GeomCacheManager::get_max_size(void) const;

Description: Returns the maximum number of entries in the cache for storing pre-processed data for rendering vertices. See set_max_size().

getTotalSize
int GeomCacheManager::get_total_size(void) const;

Description: Returns the number of entries currently in the cache.

setMaxSize
void GeomCacheManager::set_max_size(int max_size) const;

Description: Specifies the maximum number of entries in the cache for storing pre-processed data for rendering vertices. This limit is flexible, and may be temporarily exceeded if many different Geoms are pre-processed during the space of a single frame.
This is not a limit on the actual vertex data, which is what it is; it is also not a limit on the amount of memory used by the video driver or the system graphics interface, which Panda has no control over.


GeomContext

    from pandac.PandaModules import GeomContext
    Class : GeomContext
    Description : This is a special class object that holds all the information returned by a particular GSG to indicate the geom's internal context identifier.
    Geoms typically have an immediate-mode and a retained-mode operation. When using geoms in retained-mode (in response to Geom::prepare()), the GSG will create some internal handle for the geom and store it here. The geom stores all of these handles internally.
    In the case of OpenGL, for example, a GeomContext corresponds to a display list identifier.

Inheritance:

    GeomContext: SavedContext
    SavedContext: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of GeomContext:

    getClassType
    getGeom

Methods of SavedContext:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
getClassType
static TypeHandle GeomContext::get_class_type(void);

Undocumented function.

getGeom
Geom *GeomContext::get_geom(void) const;

Description:

getClassType
static TypeHandle SavedContext::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


GeomEnums

    from pandac.PandaModules import GeomEnums
    Class : GeomEnums
    Description : This class exists just to provide scoping for the various enumerated types used by Geom, GeomVertexData, GeomVertexArrayData, GeomPrimitive, and other related classes.

Inheritance:

    GeomEnums:

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)


GeometricBoundingVolume

    from pandac.PandaModules import GeometricBoundingVolume
    Class : GeometricBoundingVolume
    Description : This is another abstract class, for a general class of bounding volumes that actually enclose points in 3-d space, such as BSP's and bounding spheres.

Inheritance:

    GeometricBoundingVolume: BoundingVolume
    BoundingVolume: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of GeometricBoundingVolume:

    around
    contains
    extendBy
    getApproxCenter
    getClassType
    xform

Methods of BoundingVolume:

    around
    contains
    extendBy
    getClassType
    isEmpty
    isInfinite
    makeCopy
    output
    setInfinite
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BoundingVolume:

    IFNoIntersection | (IntersectionFlags)
IFPossible | (IntersectionFlags)
IFSome | (IntersectionFlags)
IFAll | (IntersectionFlags)
IFDontUnderstand | (IntersectionFlags)
BTBest | (BoundsType)
BTSphere | (BoundsType)
BTBox | (BoundsType)
BTInvalid | (BoundsType)
around
bool GeometricBoundingVolume::around(GeometricBoundingVolume const **first, GeometricBoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated.
Description: Resets the volume to enclose only the points indicated.

contains
int GeometricBoundingVolume::contains(GeometricBoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated point.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated line segment.

extendBy
bool GeometricBoundingVolume::extend_by(GeometricBoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.
Description: Increases the size of the volume to include the given point.

getApproxCenter
virtual LPoint3f GeometricBoundingVolume::get_approx_center(void) const = 0;

Undocumented function.

getClassType
static TypeHandle GeometricBoundingVolume::get_class_type(void);

Undocumented function.

xform
virtual void GeometricBoundingVolume::xform(LMatrix4f const &mat) = 0;

Undocumented function.

around
bool BoundingVolume::around(BoundingVolume const **first, BoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated. Returns true if successful, false if the volume doesn't know how to do that or can't do that.

contains
int BoundingVolume::contains(BoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.

extendBy
bool BoundingVolume::extend_by(BoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.

getClassType
static TypeHandle BoundingVolume::get_class_type(void);

Undocumented function.

isEmpty
bool BoundingVolume::is_empty(void) const;

Description: Any kind of volume might be empty. This is a degenerate volume that contains no points; it's not the same as, for instance, a sphere with radius zero, since that contains one point (the center). It intersects with no other volumes.

isInfinite
bool BoundingVolume::is_infinite(void) const;

Description: The other side of the empty coin is an infinite volume. This is a degenerate state of a normally finite volume that contains all points. (Note that some kinds of infinite bounding volumes, like binary separating planes, do not contain all points and thus correctly return is_infinite() == false, even though they are technically infinite. This is a special case of the word 'infinite' meaning the volume covers all points in space.)
It completely intersects with all other volumes except empty volumes.

makeCopy
virtual BoundingVolume *BoundingVolume::make_copy(void) const = 0;

Undocumented function.

output
virtual void BoundingVolume::output(ostream &out) const = 0;

Undocumented function.

setInfinite
void BoundingVolume::set_infinite(void);

Description: Marks the volume as infinite, even if it is normally finite. You can think of this as an infinite extend_by() operation.

write
virtual void BoundingVolume::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeoMipTerrain

    from pandac.PandaModules import GeoMipTerrain
    Class : GeoMipTerrain
    Description : GeoMipTerrain, meaning Panda3D GeoMipMapping, can convert a heightfield image into a 3D terrain, consisting of several GeomNodes. It uses the GeoMipMapping algorithm, or Geometrical MipMapping, based on the LOD (Level of Detail) algorithm. For more information about the GeoMipMapping algoritm, see this paper, written by Willem H. de Boer: http://flipcode.com/articles/article_geomipmaps.pdf

Inheritance:

    GeoMipTerrain:

Methods of GeoMipTerrain:

    GeoMipTerrain (Constructor)
    clearColorMap
    colorMap
    generate
    getBlockFromPos
    getBlockNodePath
    getBlockSize
    getBruteforce
    getElevation
    getFactor
    getFocalPoint
    getMinLevel
    getNormal
    getRoot
    hasColorMap
    heightfield
    isDirty
    setAutoFlatten
    setBlockSize
    setBruteforce
    setColorMap
    setFactor
    setFocalPoint
    setHeightfield
    setMinLevel
    update

Constants in GeoMipTerrain:

    AFMOff | (AutoFlattenMode)
AFMLight | (AutoFlattenMode)
AFMMedium | (AutoFlattenMode)
AFMStrong | (AutoFlattenMode)
GeoMipTerrain
GeoMipTerrain::GeoMipTerrain(string const &name);

Filename: geoMipTerrain.I Created by: pro-rsoft (29jun07) Last updated by: pro-rsoft (03mar08)
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."
Description:

clearColorMap
void GeoMipTerrain::clear_color_map(void);

Description: Clears the color map.

colorMap
PNMImage &GeoMipTerrain::color_map(void);

Description: Returns a reference to the color map (a PNMImage) contained inside GeoMipTerrain. You can use the reference to alter the color map.

generate
void GeoMipTerrain::generate(void);

Description: (Re)generates the entire terrain, erasing the current. This call un-flattens the terrain, so make sure you have set auto-flatten if you want to keep your terrain flattened.

getBlockFromPos
LVecBase2f GeoMipTerrain::get_block_from_pos(double x, double y);

Description: Gets the coordinates of the block at the specified position. This position must be relative to the terrain, not to render. Returns an array containing two values: the block x and the block y coords. If the positions are out of range, the closest block is taken. Note that the VecBase returned does not represent a vector, position, or rotation, but it contains the block index of the block which you can use in GeoMipTerrain::get_block_node_path.

getBlockNodePath
NodePath const GeoMipTerrain::get_block_node_path(unsigned short int mx, unsigned short int my);

Description: Returns the NodePath of the specified block. If auto-flatten is enabled and the node is getting removed during the flattening process, it will still return a NodePath with the appropriate terrain chunk, but it will be in a temporary scenegraph. Please note that this returns a const object and you can not modify the node. Modify the heightfield instead.

getBlockSize
unsigned short int GeoMipTerrain::get_block_size(void);

Description: Gets the block size.

getBruteforce
bool GeoMipTerrain::get_bruteforce(void);

Description: Returns a boolean whether the terrain is rendered bruteforce or not. See set_bruteforce for more information.

getElevation
double GeoMipTerrain::get_elevation(double x, double y);

Description: Fetches the elevation at (x, y), where the input coordinate is specified in pixels. This ignores the current LOD level and instead provides an accurate number. Linear blending is used for non-integral coordinates. Terrain scale is NOT taken into account! To get accurate normals, please multiply this with the terrain Z scale!
trueElev = terr.get_elevation(x,y) * terr.get_sz();

getFactor
float GeoMipTerrain::get_factor(void);

Description: Gets the quality factor at which blocks must be generated. The higher this level, the better quality the terrain will be, but more expensive to render. A value of 0 makes the terrain the lowest quality possible, depending on blocksize. The default value is 100.

getFocalPoint
NodePath GeoMipTerrain::get_focal_point(void) const;

Description: Returns the focal point, as a NodePath. If you have set it to be just a point, it will return an empty node at the focal position.

getMinLevel
unsigned short int GeoMipTerrain::get_min_level(void);

Description: Gets the minimum level of detail at which blocks may be generated by generate() or update(). The default value is 0, which is the highest quality.

getNormal
LVector3f GeoMipTerrain::get_normal(int x, int y);

Description: Fetches the terrain normal at (x,y), where the input coordinate is specified in pixels. This ignores the current LOD level and instead provides an accurate number. Terrain scale is NOT taken into account! To get accurate normals, please divide it by the terrain scale and normalize it again!
Description: Fetches the terrain normal at (x, y), where the input coordinate is specified in pixels. This ignores the current LOD level and instead provides an accurate number. Terrain scale is NOT taken into account! To get accurate normals, please divide it by the terrain scale and normalize it again, like this:
LVector3f normal (terr.get_normal(mx, my, x, y)); normal.set(normal.get_x() / terr.get_sx(), normal.get_y() / terr.get_sy(), normal.get_z() / terr.get_sz()); normal.normalize();

getRoot
NodePath GeoMipTerrain::get_root(void) const;

Description: Returns the root of the terrain. This is a single PandaNode to which all the rest of the terrain is parented. The generate and update operations replace the nodes which are parented to this root, but they don't replace this root itself.

hasColorMap
bool GeoMipTerrain::has_color_map(void);

Description: Returns whether a color map has been set.

heightfield
PNMImage &GeoMipTerrain::heightfield(void);

Description: Returns a reference to the heightfield (a PNMImage) contained inside GeoMipTerrain. You can use the reference to alter the heightfield.

isDirty
bool GeoMipTerrain::is_dirty(void);

Description: Returns a bool indicating whether the terrain is marked 'dirty', that means the terrain has to be regenerated on the next update() call, because for instance the heightfield has changed. Once the terrain has been regenerated, the dirty flag automatically gets reset internally.

setAutoFlatten
void GeoMipTerrain::set_auto_flatten(int mode);

Description: The terrain can be automatically flattened (using flatten_light, flatten_medium, or flatten_strong) after each update. This only affects future updates, it doesn't flatten the current terrain.

setBlockSize
void GeoMipTerrain::set_block_size(unsigned short int newbs);

Description: Sets the block size. If it is not a power of two, the closest power of two is used.

setBruteforce
void GeoMipTerrain::set_bruteforce(bool bf);

Description: Sets a boolean specifying whether the terrain will be rendered bruteforce. If the terrain is rendered bruteforce, there will be no Level of Detail, and the update() call will only update the terrain if it is marked dirty.

setColorMap
bool GeoMipTerrain::set_color_map(Filename const &filename, PNMFileType *type = ((void *)(0)));

Description: Loads the specified image as color map. The next time generate() is called, the terrain is painted with this color map using the vertex color column. Returns a boolean indicating whether the operation has succeeded.

setFactor
void GeoMipTerrain::set_factor(float factor);

Description: Sets the quality factor at which blocks must be generated. The higher this level, the better quality the terrain will be, but more expensive to render. A value of 0 makes the terrain the lowest quality possible, depending on blocksize. The default value is 100.

setFocalPoint
void GeoMipTerrain::set_focal_point(LPoint2d fp);

The focal point is the point at which the terrain will have the lowest level of detail (highest quality). Parts farther away from the focal point will hae a higher level of detail. The focal point is not taken in respect if bruteforce is set true.
Description: Sets the focal point. GeoMipTerrain generates high-resolution terrain around the focal point, and progressively lower and lower resolution terrain as you get farther away. If a point is supplied and not a NodePath, make sure it's relative to the terrain. Only the x and y coordinates of the focal point are taken in respect.

setHeightfield
bool GeoMipTerrain::set_heightfield(Filename const &filename, PNMFileType *type = ((void *)(0)));

Description: Loads the specified heightmap image file into the heightfield. Returns true if succeeded, or false if an error has occured. If the heightmap is not a power of two plus one, it is scaled up using a gaussian filter.

setMinLevel
void GeoMipTerrain::set_min_level(unsigned short int minlevel);

Description: Sets the minimum level of detail at which blocks may be generated by generate() or update(). The default value is 0, which is the highest quality. This value is also taken in respect when generating the terrain bruteforce.

update
bool GeoMipTerrain::update(void);

Description: Loops through all of the terrain blocks, and checks whether they need to be updated. If that is indeed the case, it regenerates the mipmap. Returns a true when the terrain has changed. Returns false when the terrain isn't updated at all. If there is no terrain yet, it generates the entire terrain. This call un-flattens the terrain, so make sure you have set auto-flatten if you want to keep your terrain flattened.


GeomLines

    from pandac.PandaModules import GeomLines
    Class : GeomLines
    Description : Defines a series of disconnected line segments.

Inheritance:

    GeomLines: GeomPrimitive
    GeomPrimitive: CopyOnWriteObject GeomEnums
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    GeomEnums:

Methods of GeomLines:

    GeomLines (Constructor)
    getClassType

Methods of GeomPrimitive:

    addConsecutiveVertices
    addNextVertices
    addVertex
    addVertices
    checkValid
    clearVertices
    closePrimitive
    decompose
    doubleside
    getClassType
    getDataSizeBytes
    getFirstVertex
    getGeomRendering
    getIndexType
    getMaxVertex
    getMinVertex
    getModified
    getNumBytes
    getNumFaces
    getNumPrimitives
    getNumVertices
    getPrimitiveEnd
    getPrimitiveMaxVertex
    getPrimitiveMinVertex
    getPrimitiveNumFaces
    getPrimitiveNumVertices
    getPrimitiveStart
    getPrimitiveType
    getShadeModel
    getUsageHint
    getVertex
    isComposite
    isIndexed
    makeCopy
    makeIndexed
    makeNonindexed
    matchShadeModel
    offsetVertices
    operator =
    operator delete
    operator new
    output
    packVertices
    requestResident
    reverse
    rotate
    setIndexType
    setShadeModel
    setUsageHint
    validatePtr
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomLines
GeomLines::GeomLines(GeomEnums::UsageHint usage_hint);

Description:

getClassType
static TypeHandle GeomLines::get_class_type(void);

Undocumented function.

addConsecutiveVertices
void GeomPrimitive::add_consecutive_vertices(int start, int num_vertices);

Description: Adds a consecutive sequence of vertices, beginning at start, to the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addNextVertices
void GeomPrimitive::add_next_vertices(int num_vertices);

Description: Adds the next n vertices in sequence, beginning from the last vertex added to the primitive + 1.
This is most useful when you are building up a primitive and a GeomVertexData at the same time, and you just want the primitive to reference the first n vertices from the data, then the next n, and so on.

addVertex
void GeomPrimitive::add_vertex(int vertex);

Description: Adds the indicated vertex to the list of vertex indices used by the graphics primitive type. To define a primitive, you must call add_vertex() for each vertex of the new primitive, and then call close_primitive() after you have specified the last vertex of each primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addVertices
void GeomPrimitive::add_vertices(int v1, int v2);

Description: Adds several vertices in a row.

checkValid
bool GeomPrimitive::check_valid(GeomVertexData const *vertex_data) const;

Description: Verifies that the primitive only references vertices that actually exist within the indicated GeomVertexData. Returns true if the primitive appears to be valid, false otherwise.

clearVertices
void GeomPrimitive::clear_vertices(void);

Description: Removes all of the vertices and primitives from the object, so they can be re-added.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

closePrimitive
bool GeomPrimitive::close_primitive(void);

Description: Indicates that the previous n calls to add_vertex(), since the last call to close_primitive(), have fully defined a new primitive. Returns true if successful, false otherwise.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

decompose
ConstPointerTo< GeomPrimitive > GeomPrimitive::decompose(void) const;

Description: Decomposes a complex primitive type into a simpler primitive type, for instance triangle strips to triangles, and returns a pointer to the new primitive definition. If the decomposition cannot be performed, this might return the original object.
This method is useful for application code that wants to iterate through the set of triangles on the primitive without having to write handlers for each possible kind of primitive type.

doubleside
ConstPointerTo< GeomPrimitive > GeomPrimitive::doubleside(void) const;

Description: Duplicates triangles in the primitive so that each triangle is back-to-back with another triangle facing in the opposite direction. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::doubleside()).
Also see CullFaceAttrib, which can enable rendering of both sides of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

getClassType
static TypeHandle GeomPrimitive::get_class_type(void);

Undocumented function.

getDataSizeBytes
int GeomPrimitive::get_data_size_bytes(void) const;

Description: Returns the number of bytes stored in the vertices array.

getFirstVertex
int GeomPrimitive::get_first_vertex(void) const;

Description: Returns the first vertex number referenced by the primitive. This is particularly important in the case of a nonindexed primitive, in which case get_first_vertex() and get_num_vertices() completely define the extent of the vertex range.

getGeomRendering
virtual int GeomPrimitive::get_geom_rendering(void) const;

Description: Returns the set of GeomRendering bits that represent the rendering properties required to properly render this primitive.

getIndexType
GeomEnums::NumericType GeomPrimitive::get_index_type(void) const;

Description: Returns the numeric type of the index column. Normally, this will be either NT_uint16 or NT_uint32.

getMaxVertex
int GeomPrimitive::get_max_vertex(void) const;

Description: Returns the maximum vertex index number used by all the primitives in this object.

getMinVertex
int GeomPrimitive::get_min_vertex(void) const;

Description: Returns the minimum vertex index number used by all the primitives in this object.

getModified
UpdateSeq GeomPrimitive::get_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the vertex index array is modified.

getNumBytes
int GeomPrimitive::get_num_bytes(void) const;

Description: Returns the number of bytes consumed by the primitive and its index table(s).

getNumFaces
int GeomPrimitive::get_num_faces(void) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by all the primitives in this object.

getNumPrimitives
int GeomPrimitive::get_num_primitives(void) const;

Description: Returns the number of individual primitives stored within this object. All primitives are the same type.

getNumVertices
int GeomPrimitive::get_num_vertices(void) const;

Description: Returns the number of vertex vertices used by all the primitives in this object.

getPrimitiveEnd
int GeomPrimitive::get_primitive_end(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive ends. This is one past the last valid element for the nth primitive.

getPrimitiveMaxVertex
int GeomPrimitive::get_primitive_max_vertex(int n) const;

Description: Returns the maximum vertex index number used by the nth primitive in this object.

getPrimitiveMinVertex
int GeomPrimitive::get_primitive_min_vertex(int n) const;

Description: Returns the minimum vertex index number used by the nth primitive in this object.

getPrimitiveNumFaces
int GeomPrimitive::get_primitive_num_faces(int n) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by the nth primitive in this object.

getPrimitiveNumVertices
int GeomPrimitive::get_primitive_num_vertices(int n) const;

Description: Returns the number of vertices used by the nth primitive. This is the same thing as get_primitive_end(n) - get_primitive_start(n).

getPrimitiveStart
int GeomPrimitive::get_primitive_start(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive starts.
If i is one more than the highest valid primitive vertex, the return value will be one more than the last valid vertex. Thus, it is generally true that the vertices used by a particular primitive i are the set get_primitive_start(n) <= vi < get_primitive_start(n + 1) (although this range also includes the unused vertices between primitives).

getPrimitiveType
virtual GeomEnums::PrimitiveType GeomPrimitive::get_primitive_type(void) const = 0;

Undocumented function.

getShadeModel
GeomEnums::ShadeModel GeomPrimitive::get_shade_model(void) const;

Description: Returns the ShadeModel hint for this primitive. This is intended as a hint to the renderer to tell it how the per-vertex colors and normals are applied.

getUsageHint
GeomEnums::UsageHint GeomPrimitive::get_usage_hint(void) const;

Description: Returns the usage hint for this primitive. See geomEnums.h. This has nothing to do with the usage hint associated with the primitive's vertices; this only specifies how often the vertex indices that define the primitive will be modified.
It is perfectly legal (and, in fact, common) for a GeomPrimitive to have UH_static on itself, while referencing vertex data with UH_dynamic. This means that the vertices themselves will be animated, but the primitive will always reference the same set of vertices from the pool.

getVertex
int GeomPrimitive::get_vertex(int i) const;

Description: Returns the ith vertex index in the table.

isComposite
bool GeomPrimitive::is_composite(void) const;

The following published methods are provided for safe, high-level iteration through the vertices and sub-primitives within the GeomPrimitive class. These work correctly regardless of the primitive type and without depending on knowledge about the way primitives' lengths are encoded. You can also safely build up a composite primitive using these methods.
Description: Returns true if the primitive is a composite primitive such as a tristrip or trifan, or false if it is a fundamental primitive such as a collection of triangles.

isIndexed
bool GeomPrimitive::is_indexed(void) const;

Description: Returns true if the primitive is indexed, false otherwise. An indexed primitive stores a table of index numbers into its GeomVertexData, so that it can reference the vertices in any order. A nonindexed primitive, on the other hand, stores only the first vertex number and number of vertices used, so that it can only reference the vertices consecutively.

makeCopy
virtual PointerTo< GeomPrimitive > GeomPrimitive::make_copy(void) const = 0;

Undocumented function.

makeIndexed
void GeomPrimitive::make_indexed(void);

Description: Converts the primitive from nonindexed form to indexed form. This will simply create an index table that is numbered consecutively from get_first_vertex(); it does not automatically collapse together identical vertices that may have been split apart by a previous call to make_nonindexed().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

makeNonindexed
void GeomPrimitive::make_nonindexed(GeomVertexData *dest, GeomVertexData const *source);

Description: Converts the primitive from indexed to nonindexed by duplicating vertices as necessary into the indicated dest GeomVertexData.

matchShadeModel
ConstPointerTo< GeomPrimitive > GeomPrimitive::match_shade_model(GeomEnums::ShadeModel shade_model) const;

Description: Returns a new primitive that is compatible with the indicated shade model, if possible, or NULL if this is not possible.
In most cases, this will return either NULL or the original primitive. In the case of a SM_flat_first_vertex vs. a SM_flat_last_vertex (or vice-versa), however, it will return a rotated primitive.

offsetVertices
void GeomPrimitive::offset_vertices(int offset);

Description: Adds the indicated offset to all vertices used by the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

operator =
void GeomPrimitive::operator =(GeomPrimitive const &copy);

Description: The copy assignment operator is not pipeline-safe. This will completely obliterate all stages of the pipeline, so don't do it for a GeomPrimitive that is actively being used for rendering.

operator delete
void GeomPrimitive::operator delete(void *ptr);

Undocumented function.

operator new
void *GeomPrimitive::operator new(unsigned int size);

Undocumented function.

output
virtual void GeomPrimitive::output(ostream &out) const;

Description:

packVertices
void GeomPrimitive::pack_vertices(GeomVertexData *dest, GeomVertexData const *source);

Description: Packs the vertices used by the primitive from the indicated source array onto the end of the indicated destination array.

requestResident
bool GeomPrimitive::request_resident(void) const;

Description: Returns true if the primitive data is currently resident in memory. If this returns false, the primitive data will be brought back into memory shortly; try again later.

reverse
ConstPointerTo< GeomPrimitive > GeomPrimitive::reverse(void) const;

Description: Reverses the winding order in the primitive so that each triangle is facing in the opposite direction it was originally. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::reverse()).
Also see CullFaceAttrib, which can change the visible direction of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

rotate
ConstPointerTo< GeomPrimitive > GeomPrimitive::rotate(void) const;

Description: Returns a new primitive with the shade_model reversed (if it is flat shaded), if possible. If the primitive type cannot be rotated, returns the original primitive, unrotated.
If the current shade_model indicates flat_vertex_last, this should bring the last vertex to the first position; if it indicates flat_vertex_first, this should bring the first vertex to the last position.

setIndexType
void GeomPrimitive::set_index_type(GeomEnums::NumericType index_type);

Description: Changes the numeric type of the index column. Normally, this should be either NT_uint16 or NT_uint32.
The index type must be large enough to include all of the index values in the primitive. It may be automatically elevated, if necessary, to a larger index type, by a subsequent call to add_index() that names an index value that does not fit in the index type you specify.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setShadeModel
void GeomPrimitive::set_shade_model(GeomEnums::ShadeModel shade_model);

Description: Changes the ShadeModel hint for this primitive. This is different from the ShadeModelAttrib that might also be applied from the scene graph. This does not affect the shade model that is in effect when rendering, but rather serves as a hint to the renderer to tell it how the per-vertex colors and normals on this primitive are applied.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setUsageHint
void GeomPrimitive::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Changes the UsageHint hint for this primitive. See get_usage_hint().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

validatePtr
static bool GeomPrimitive::validate_ptr(void const *ptr);

Undocumented function.

write
virtual void GeomPrimitive::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomLinestrips

    from pandac.PandaModules import GeomLinestrips
    Class : GeomLinestrips
    Description : Defines a series of line strips.

Inheritance:

    GeomLinestrips: GeomPrimitive
    GeomPrimitive: CopyOnWriteObject GeomEnums
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    GeomEnums:

Methods of GeomLinestrips:

    GeomLinestrips (Constructor)
    getClassType

Methods of GeomPrimitive:

    addConsecutiveVertices
    addNextVertices
    addVertex
    addVertices
    checkValid
    clearVertices
    closePrimitive
    decompose
    doubleside
    getClassType
    getDataSizeBytes
    getFirstVertex
    getGeomRendering
    getIndexType
    getMaxVertex
    getMinVertex
    getModified
    getNumBytes
    getNumFaces
    getNumPrimitives
    getNumVertices
    getPrimitiveEnd
    getPrimitiveMaxVertex
    getPrimitiveMinVertex
    getPrimitiveNumFaces
    getPrimitiveNumVertices
    getPrimitiveStart
    getPrimitiveType
    getShadeModel
    getUsageHint
    getVertex
    isComposite
    isIndexed
    makeCopy
    makeIndexed
    makeNonindexed
    matchShadeModel
    offsetVertices
    operator =
    operator delete
    operator new
    output
    packVertices
    requestResident
    reverse
    rotate
    setIndexType
    setShadeModel
    setUsageHint
    validatePtr
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomLinestrips
GeomLinestrips::GeomLinestrips(GeomEnums::UsageHint usage_hint);

Description:

getClassType
static TypeHandle GeomLinestrips::get_class_type(void);

Undocumented function.

addConsecutiveVertices
void GeomPrimitive::add_consecutive_vertices(int start, int num_vertices);

Description: Adds a consecutive sequence of vertices, beginning at start, to the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addNextVertices
void GeomPrimitive::add_next_vertices(int num_vertices);

Description: Adds the next n vertices in sequence, beginning from the last vertex added to the primitive + 1.
This is most useful when you are building up a primitive and a GeomVertexData at the same time, and you just want the primitive to reference the first n vertices from the data, then the next n, and so on.

addVertex
void GeomPrimitive::add_vertex(int vertex);

Description: Adds the indicated vertex to the list of vertex indices used by the graphics primitive type. To define a primitive, you must call add_vertex() for each vertex of the new primitive, and then call close_primitive() after you have specified the last vertex of each primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addVertices
void GeomPrimitive::add_vertices(int v1, int v2);

Description: Adds several vertices in a row.

checkValid
bool GeomPrimitive::check_valid(GeomVertexData const *vertex_data) const;

Description: Verifies that the primitive only references vertices that actually exist within the indicated GeomVertexData. Returns true if the primitive appears to be valid, false otherwise.

clearVertices
void GeomPrimitive::clear_vertices(void);

Description: Removes all of the vertices and primitives from the object, so they can be re-added.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

closePrimitive
bool GeomPrimitive::close_primitive(void);

Description: Indicates that the previous n calls to add_vertex(), since the last call to close_primitive(), have fully defined a new primitive. Returns true if successful, false otherwise.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

decompose
ConstPointerTo< GeomPrimitive > GeomPrimitive::decompose(void) const;

Description: Decomposes a complex primitive type into a simpler primitive type, for instance triangle strips to triangles, and returns a pointer to the new primitive definition. If the decomposition cannot be performed, this might return the original object.
This method is useful for application code that wants to iterate through the set of triangles on the primitive without having to write handlers for each possible kind of primitive type.

doubleside
ConstPointerTo< GeomPrimitive > GeomPrimitive::doubleside(void) const;

Description: Duplicates triangles in the primitive so that each triangle is back-to-back with another triangle facing in the opposite direction. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::doubleside()).
Also see CullFaceAttrib, which can enable rendering of both sides of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

getClassType
static TypeHandle GeomPrimitive::get_class_type(void);

Undocumented function.

getDataSizeBytes
int GeomPrimitive::get_data_size_bytes(void) const;

Description: Returns the number of bytes stored in the vertices array.

getFirstVertex
int GeomPrimitive::get_first_vertex(void) const;

Description: Returns the first vertex number referenced by the primitive. This is particularly important in the case of a nonindexed primitive, in which case get_first_vertex() and get_num_vertices() completely define the extent of the vertex range.

getGeomRendering
virtual int GeomPrimitive::get_geom_rendering(void) const;

Description: Returns the set of GeomRendering bits that represent the rendering properties required to properly render this primitive.

getIndexType
GeomEnums::NumericType GeomPrimitive::get_index_type(void) const;

Description: Returns the numeric type of the index column. Normally, this will be either NT_uint16 or NT_uint32.

getMaxVertex
int GeomPrimitive::get_max_vertex(void) const;

Description: Returns the maximum vertex index number used by all the primitives in this object.

getMinVertex
int GeomPrimitive::get_min_vertex(void) const;

Description: Returns the minimum vertex index number used by all the primitives in this object.

getModified
UpdateSeq GeomPrimitive::get_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the vertex index array is modified.

getNumBytes
int GeomPrimitive::get_num_bytes(void) const;

Description: Returns the number of bytes consumed by the primitive and its index table(s).

getNumFaces
int GeomPrimitive::get_num_faces(void) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by all the primitives in this object.

getNumPrimitives
int GeomPrimitive::get_num_primitives(void) const;

Description: Returns the number of individual primitives stored within this object. All primitives are the same type.

getNumVertices
int GeomPrimitive::get_num_vertices(void) const;

Description: Returns the number of vertex vertices used by all the primitives in this object.

getPrimitiveEnd
int GeomPrimitive::get_primitive_end(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive ends. This is one past the last valid element for the nth primitive.

getPrimitiveMaxVertex
int GeomPrimitive::get_primitive_max_vertex(int n) const;

Description: Returns the maximum vertex index number used by the nth primitive in this object.

getPrimitiveMinVertex
int GeomPrimitive::get_primitive_min_vertex(int n) const;

Description: Returns the minimum vertex index number used by the nth primitive in this object.

getPrimitiveNumFaces
int GeomPrimitive::get_primitive_num_faces(int n) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by the nth primitive in this object.

getPrimitiveNumVertices
int GeomPrimitive::get_primitive_num_vertices(int n) const;

Description: Returns the number of vertices used by the nth primitive. This is the same thing as get_primitive_end(n) - get_primitive_start(n).

getPrimitiveStart
int GeomPrimitive::get_primitive_start(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive starts.
If i is one more than the highest valid primitive vertex, the return value will be one more than the last valid vertex. Thus, it is generally true that the vertices used by a particular primitive i are the set get_primitive_start(n) <= vi < get_primitive_start(n + 1) (although this range also includes the unused vertices between primitives).

getPrimitiveType
virtual GeomEnums::PrimitiveType GeomPrimitive::get_primitive_type(void) const = 0;

Undocumented function.

getShadeModel
GeomEnums::ShadeModel GeomPrimitive::get_shade_model(void) const;

Description: Returns the ShadeModel hint for this primitive. This is intended as a hint to the renderer to tell it how the per-vertex colors and normals are applied.

getUsageHint
GeomEnums::UsageHint GeomPrimitive::get_usage_hint(void) const;

Description: Returns the usage hint for this primitive. See geomEnums.h. This has nothing to do with the usage hint associated with the primitive's vertices; this only specifies how often the vertex indices that define the primitive will be modified.
It is perfectly legal (and, in fact, common) for a GeomPrimitive to have UH_static on itself, while referencing vertex data with UH_dynamic. This means that the vertices themselves will be animated, but the primitive will always reference the same set of vertices from the pool.

getVertex
int GeomPrimitive::get_vertex(int i) const;

Description: Returns the ith vertex index in the table.

isComposite
bool GeomPrimitive::is_composite(void) const;

The following published methods are provided for safe, high-level iteration through the vertices and sub-primitives within the GeomPrimitive class. These work correctly regardless of the primitive type and without depending on knowledge about the way primitives' lengths are encoded. You can also safely build up a composite primitive using these methods.
Description: Returns true if the primitive is a composite primitive such as a tristrip or trifan, or false if it is a fundamental primitive such as a collection of triangles.

isIndexed
bool GeomPrimitive::is_indexed(void) const;

Description: Returns true if the primitive is indexed, false otherwise. An indexed primitive stores a table of index numbers into its GeomVertexData, so that it can reference the vertices in any order. A nonindexed primitive, on the other hand, stores only the first vertex number and number of vertices used, so that it can only reference the vertices consecutively.

makeCopy
virtual PointerTo< GeomPrimitive > GeomPrimitive::make_copy(void) const = 0;

Undocumented function.

makeIndexed
void GeomPrimitive::make_indexed(void);

Description: Converts the primitive from nonindexed form to indexed form. This will simply create an index table that is numbered consecutively from get_first_vertex(); it does not automatically collapse together identical vertices that may have been split apart by a previous call to make_nonindexed().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

makeNonindexed
void GeomPrimitive::make_nonindexed(GeomVertexData *dest, GeomVertexData const *source);

Description: Converts the primitive from indexed to nonindexed by duplicating vertices as necessary into the indicated dest GeomVertexData.

matchShadeModel
ConstPointerTo< GeomPrimitive > GeomPrimitive::match_shade_model(GeomEnums::ShadeModel shade_model) const;

Description: Returns a new primitive that is compatible with the indicated shade model, if possible, or NULL if this is not possible.
In most cases, this will return either NULL or the original primitive. In the case of a SM_flat_first_vertex vs. a SM_flat_last_vertex (or vice-versa), however, it will return a rotated primitive.

offsetVertices
void GeomPrimitive::offset_vertices(int offset);

Description: Adds the indicated offset to all vertices used by the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

operator =
void GeomPrimitive::operator =(GeomPrimitive const &copy);

Description: The copy assignment operator is not pipeline-safe. This will completely obliterate all stages of the pipeline, so don't do it for a GeomPrimitive that is actively being used for rendering.

operator delete
void GeomPrimitive::operator delete(void *ptr);

Undocumented function.

operator new
void *GeomPrimitive::operator new(unsigned int size);

Undocumented function.

output
virtual void GeomPrimitive::output(ostream &out) const;

Description:

packVertices
void GeomPrimitive::pack_vertices(GeomVertexData *dest, GeomVertexData const *source);

Description: Packs the vertices used by the primitive from the indicated source array onto the end of the indicated destination array.

requestResident
bool GeomPrimitive::request_resident(void) const;

Description: Returns true if the primitive data is currently resident in memory. If this returns false, the primitive data will be brought back into memory shortly; try again later.

reverse
ConstPointerTo< GeomPrimitive > GeomPrimitive::reverse(void) const;

Description: Reverses the winding order in the primitive so that each triangle is facing in the opposite direction it was originally. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::reverse()).
Also see CullFaceAttrib, which can change the visible direction of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

rotate
ConstPointerTo< GeomPrimitive > GeomPrimitive::rotate(void) const;

Description: Returns a new primitive with the shade_model reversed (if it is flat shaded), if possible. If the primitive type cannot be rotated, returns the original primitive, unrotated.
If the current shade_model indicates flat_vertex_last, this should bring the last vertex to the first position; if it indicates flat_vertex_first, this should bring the first vertex to the last position.

setIndexType
void GeomPrimitive::set_index_type(GeomEnums::NumericType index_type);

Description: Changes the numeric type of the index column. Normally, this should be either NT_uint16 or NT_uint32.
The index type must be large enough to include all of the index values in the primitive. It may be automatically elevated, if necessary, to a larger index type, by a subsequent call to add_index() that names an index value that does not fit in the index type you specify.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setShadeModel
void GeomPrimitive::set_shade_model(GeomEnums::ShadeModel shade_model);

Description: Changes the ShadeModel hint for this primitive. This is different from the ShadeModelAttrib that might also be applied from the scene graph. This does not affect the shade model that is in effect when rendering, but rather serves as a hint to the renderer to tell it how the per-vertex colors and normals on this primitive are applied.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setUsageHint
void GeomPrimitive::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Changes the UsageHint hint for this primitive. See get_usage_hint().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

validatePtr
static bool GeomPrimitive::validate_ptr(void const *ptr);

Undocumented function.

write
virtual void GeomPrimitive::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomNode

    from pandac.PandaModules import GeomNode
    Class : GeomNode
    Description : A node that holds Geom objects, renderable pieces of geometry. This is the primary kind of leaf node in the scene graph; almost all visible objects will be contained in a GeomNode somewhere.

Inheritance:

    GeomNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of GeomNode:

    GeomNode (Constructor)
    addGeom
    addGeomsFrom
    checkValid
    decompose
    getClassType
    getDefaultCollideMask
    getGeom
    getGeomState
    getNumGeoms
    getPreserved
    modifyGeom
    removeAllGeoms
    removeGeom
    setGeom
    setGeomState
    setPreserved
    unify
    writeGeoms
    writeVerbose

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
GeomNode
GeomNode::GeomNode(string const &name);

Description:

addGeom
void GeomNode::add_geom(Geom *geom, RenderState const *state = ((make_empty())));

Description: Adds a new Geom to the node. The geom is given the indicated state (which may be RenderState::make_empty(), to completely inherit its state from the scene graph).

addGeomsFrom
void GeomNode::add_geoms_from(GeomNode const *other);

Description: Copies the Geoms (and their associated RenderStates) from the indicated GeomNode into this one.

checkValid
bool GeomNode::check_valid(void) const;

Description: Verifies that the each Geom within the GeomNode reference vertices that actually exist within its GeomVertexData. Returns true if the GeomNode appears to be valid, false otherwise.

decompose
void GeomNode::decompose(void);

Description: Calls decompose() on each Geom with the GeomNode. This decomposes higher-order primitive types, like triangle strips, into lower-order types like indexed triangles. Normally there is no reason to do this, but it can be useful as an early preprocessing step, to allow a later call to unify() to proceed more quickly.
See also SceneGraphReducer::decompose(), which is the normal way this is called.

getClassType
static TypeHandle GeomNode::get_class_type(void);

Undocumented function.

getDefaultCollideMask
static BitMask< unsigned int, 32 > GeomNode::get_default_collide_mask(void);

Description: Returns the default into_collide_mask assigned to new GeomNodes.

getGeom
ConstPointerTo< Geom > GeomNode::get_geom(int n) const;

Description: Returns the nth geom of the node. This object should not be modified, since the same object might be shared between multiple different GeomNodes, but see get_unique_geom().

getGeomState
RenderState const *GeomNode::get_geom_state(int n) const;

Description: Returns the RenderState associated with the nth geom of the node. This is just the RenderState directly associated with the Geom; the actual state in which the Geom is rendered will also be affected by RenderStates that appear on the scene graph in nodes above this GeomNode.

getNumGeoms
int GeomNode::get_num_geoms(void) const;

Description: Returns the number of geoms in the node.

getPreserved
bool GeomNode::get_preserved(void) const;

Description: Returns the "preserved" flag. When this is true, the GeomNode will be left untouched by any flatten operations.

modifyGeom
PointerTo< Geom > GeomNode::modify_geom(int n);

Description: Returns the nth geom of the node, suitable for modifying it. If the nth Geom has multiple reference counts to it, reassigns it to an identical copy first, and returns the new copy--this provides a "copy on write" that ensures that the Geom that is returned is unique to this GeomNode and is not shared with any other GeomNodes.
Note that if this method is called in a downstream stage (for instance, during cull or draw), then it will propagate the new list of Geoms upstream all the way to pipeline stage 0, which may step on changes that were made independently in pipeline stage 0. Use with caution.

removeAllGeoms
void GeomNode::remove_all_geoms(void);

Description: Removes all the geoms from the node at once.

removeGeom
void GeomNode::remove_geom(int n);

Description: Removes the nth geom from the node.

setGeom
void GeomNode::set_geom(int n, Geom *geom);

Description: Replaces the nth Geom of the node with a new pointer. There must already be a Geom in this slot.
Note that if this method is called in a downstream stage (for instance, during cull or draw), then it will propagate the new list of Geoms upstream all the way to pipeline stage 0, which may step on changes that were made independently in pipeline stage 0. Use with caution.

setGeomState
void GeomNode::set_geom_state(int n, RenderState const *state);

Description: Changes the RenderState associated with the nth geom of the node. This is just the RenderState directly associated with the Geom; the actual state in which the Geom is rendered will also be affected by RenderStates that appear on the scene graph in nodes above this GeomNode.
Note that if this method is called in a downstream stage (for instance, during cull or draw), then it will propagate the new list of Geoms upstream all the way to pipeline stage 0, which may step on changes that were made independently in pipeline stage 0. Use with caution.

setPreserved
void GeomNode::set_preserved(bool value);

Description: Sets the "preserved" flag. When this is true, the GeomNode will be left untouched by any flatten operations.

unify
void GeomNode::unify(int max_indices, bool preserve_order);

Description: Attempts to unify all of the Geoms contained within this node into a single Geom, or at least as few Geoms as possible. In turn, the individual GeomPrimitives contained within each resulting Geom are also unified. The goal is to reduce the number of GeomPrimitives within the node as far as possible. This may result in composite primitives, such as triangle strips and triangle fans, being decomposed into triangles. See also Geom::unify().
max_indices represents the maximum number of indices that will be put in any one GeomPrimitive. If preserve_order is true, then the primitives will not be reordered during the operation, even if this results in a suboptimal result.
In order for this to be successful, the primitives must reference the same GeomVertexData, have the same fundamental primitive type, and have compatible shade models.

writeGeoms
void GeomNode::write_geoms(ostream &out, int indent_level) const;

Description: Writes a short description of all the Geoms in the node.

writeVerbose
void GeomNode::write_verbose(ostream &out, int indent_level) const;

Description: Writes a detailed description of all the Geoms in the node.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomParticleRenderer

    from pandac.PandaModules import GeomParticleRenderer

Inheritance:

    GeomParticleRenderer: BaseParticleRenderer
    BaseParticleRenderer: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of GeomParticleRenderer:

    GeomParticleRenderer (Constructor)
    getColorInterpolationManager
    getFinalXScale
    getFinalYScale
    getFinalZScale
    getGeomNode
    getInitialXScale
    getInitialYScale
    getInitialZScale
    getXScaleFlag
    getYScaleFlag
    getZScaleFlag
    setFinalXScale
    setFinalYScale
    setFinalZScale
    setGeomNode
    setInitialXScale
    setInitialYScale
    setInitialZScale
    setXScaleFlag
    setYScaleFlag
    setZScaleFlag
    writeLinearForces

Methods of BaseParticleRenderer:

    getAlphaMode
    getIgnoreScale
    getRenderNode
    getRenderNodePath
    getUserAlpha
    output
    setAlphaMode
    setColorBlendMode
    setIgnoreScale
    setUserAlpha
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleRenderer:

    PRALPHANONE | (ParticleRendererAlphaMode)
PRALPHAOUT | (ParticleRendererAlphaMode)
PRALPHAIN | (ParticleRendererAlphaMode)
PRALPHAINOUT | (ParticleRendererAlphaMode)
PRALPHAUSER | (ParticleRendererAlphaMode)
PRNOTINITIALIZEDYET | (ParticleRendererAlphaMode)
PPNOBLEND | (ParticleRendererBlendMethod)
PPBLENDLINEAR | (ParticleRendererBlendMethod)
PPBLENDCUBIC | (ParticleRendererBlendMethod)
GeomParticleRenderer
GeomParticleRenderer::GeomParticleRenderer(BaseParticleRenderer::ParticleRendererAlphaMode am = (PR_ALPHA_NONE), PandaNode *geom_node = ((PandaNode *)((void *)(0))));

Description : constructor
Description : copy constructor

getColorInterpolationManager
ColorInterpolationManager *GeomParticleRenderer::get_color_interpolation_manager(void) const;

Undocumented function.

getFinalXScale
float GeomParticleRenderer::get_final_x_scale(void) const;

Undocumented function.

getFinalYScale
float GeomParticleRenderer::get_final_y_scale(void) const;

Undocumented function.

getFinalZScale
float GeomParticleRenderer::get_final_z_scale(void) const;

Undocumented function.

getGeomNode
PandaNode *GeomParticleRenderer::get_geom_node(void);

Undocumented function.

getInitialXScale
float GeomParticleRenderer::get_initial_x_scale(void) const;

Undocumented function.

getInitialYScale
float GeomParticleRenderer::get_initial_y_scale(void) const;

Undocumented function.

getInitialZScale
float GeomParticleRenderer::get_initial_z_scale(void) const;

Undocumented function.

getXScaleFlag
bool GeomParticleRenderer::get_x_scale_flag(void) const;

Undocumented function.

getYScaleFlag
bool GeomParticleRenderer::get_y_scale_flag(void) const;

Undocumented function.

getZScaleFlag
bool GeomParticleRenderer::get_z_scale_flag(void) const;

Undocumented function.

setFinalXScale
void GeomParticleRenderer::set_final_x_scale(float final_x_scale);

Undocumented function.

setFinalYScale
void GeomParticleRenderer::set_final_y_scale(float final_y_scale);

Undocumented function.

setFinalZScale
void GeomParticleRenderer::set_final_z_scale(float final_z_scale);

Undocumented function.

setGeomNode
void GeomParticleRenderer::set_geom_node(PandaNode *node);

we're forcing a pool resize to remove every node in the vector. this is because nodes are reference-counted, and we have to explicitly remove them from the node they were previously parented to.

setInitialXScale
void GeomParticleRenderer::set_initial_x_scale(float initial_x_scale);

Undocumented function.

setInitialYScale
void GeomParticleRenderer::set_initial_y_scale(float initial_y_scale);

Undocumented function.

setInitialZScale
void GeomParticleRenderer::set_initial_z_scale(float initial_z_scale);

Undocumented function.

setXScaleFlag
void GeomParticleRenderer::set_x_scale_flag(bool animate_x_ratio);

Undocumented function.

setYScaleFlag
void GeomParticleRenderer::set_y_scale_flag(bool animate_y_ratio);

Undocumented function.

setZScaleFlag
void GeomParticleRenderer::set_z_scale_flag(bool animate_z_ratio);

Undocumented function.

writeLinearForces
virtual void GeomParticleRenderer::write_linear_forces(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getAlphaMode
BaseParticleRenderer::ParticleRendererAlphaMode BaseParticleRenderer::get_alpha_mode(void) const;

Undocumented function.

getIgnoreScale
bool BaseParticleRenderer::get_ignore_scale(void) const;

Description : Returns the "ignore scale" flag. See set_ignore_scale().

getRenderNode
GeomNode *BaseParticleRenderer::get_render_node(void) const;

Class : Published
Description : Query the geomnode pointer

getRenderNodePath
NodePath BaseParticleRenderer::get_render_node_path(void) const;

Class : Published
Description : Query the geomnode pointer

getUserAlpha
float BaseParticleRenderer::get_user_alpha(void) const;

Description : gets alpha for "user" alpha mode

output
virtual void BaseParticleRenderer::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAlphaMode
void BaseParticleRenderer::set_alpha_mode(BaseParticleRenderer::ParticleRendererAlphaMode am);

Undocumented function.

setColorBlendMode
void BaseParticleRenderer::set_color_blend_mode(ColorBlendAttrib::Mode bm, ColorBlendAttrib::Operand oa = (O_zero), ColorBlendAttrib::Operand ob = (O_zero));

Description : sets the ColorBlendAttrib on the _render_node

setIgnoreScale
void BaseParticleRenderer::set_ignore_scale(bool ignore_scale);

Description : Sets the "ignore scale" flag. When this is true, particles will be drawn as if they had no scale, regardless of whatever scale might be inherited from above the render node in the scene graph.
This flag is mainly useful to support legacy code that was written for a very early version of Panda, whose sprite particle renderer had a bug that incorrectly ignored the inherited scale.

setUserAlpha
void BaseParticleRenderer::set_user_alpha(float ua);

Description : sets alpha for "user" alpha mode

write
virtual void BaseParticleRenderer::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomPoints

    from pandac.PandaModules import GeomPoints
    Class : GeomPoints
    Description : Defines a series of disconnected points.

Inheritance:

    GeomPoints: GeomPrimitive
    GeomPrimitive: CopyOnWriteObject GeomEnums
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    GeomEnums:

Methods of GeomPoints:

    GeomPoints (Constructor)
    getClassType

Methods of GeomPrimitive:

    addConsecutiveVertices
    addNextVertices
    addVertex
    addVertices
    checkValid
    clearVertices
    closePrimitive
    decompose
    doubleside
    getClassType
    getDataSizeBytes
    getFirstVertex
    getGeomRendering
    getIndexType
    getMaxVertex
    getMinVertex
    getModified
    getNumBytes
    getNumFaces
    getNumPrimitives
    getNumVertices
    getPrimitiveEnd
    getPrimitiveMaxVertex
    getPrimitiveMinVertex
    getPrimitiveNumFaces
    getPrimitiveNumVertices
    getPrimitiveStart
    getPrimitiveType
    getShadeModel
    getUsageHint
    getVertex
    isComposite
    isIndexed
    makeCopy
    makeIndexed
    makeNonindexed
    matchShadeModel
    offsetVertices
    operator =
    operator delete
    operator new
    output
    packVertices
    requestResident
    reverse
    rotate
    setIndexType
    setShadeModel
    setUsageHint
    validatePtr
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomPoints
GeomPoints::GeomPoints(GeomEnums::UsageHint usage_hint);

Description:

getClassType
static TypeHandle GeomPoints::get_class_type(void);

Undocumented function.

addConsecutiveVertices
void GeomPrimitive::add_consecutive_vertices(int start, int num_vertices);

Description: Adds a consecutive sequence of vertices, beginning at start, to the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addNextVertices
void GeomPrimitive::add_next_vertices(int num_vertices);

Description: Adds the next n vertices in sequence, beginning from the last vertex added to the primitive + 1.
This is most useful when you are building up a primitive and a GeomVertexData at the same time, and you just want the primitive to reference the first n vertices from the data, then the next n, and so on.

addVertex
void GeomPrimitive::add_vertex(int vertex);

Description: Adds the indicated vertex to the list of vertex indices used by the graphics primitive type. To define a primitive, you must call add_vertex() for each vertex of the new primitive, and then call close_primitive() after you have specified the last vertex of each primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addVertices
void GeomPrimitive::add_vertices(int v1, int v2);

Description: Adds several vertices in a row.

checkValid
bool GeomPrimitive::check_valid(GeomVertexData const *vertex_data) const;

Description: Verifies that the primitive only references vertices that actually exist within the indicated GeomVertexData. Returns true if the primitive appears to be valid, false otherwise.

clearVertices
void GeomPrimitive::clear_vertices(void);

Description: Removes all of the vertices and primitives from the object, so they can be re-added.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

closePrimitive
bool GeomPrimitive::close_primitive(void);

Description: Indicates that the previous n calls to add_vertex(), since the last call to close_primitive(), have fully defined a new primitive. Returns true if successful, false otherwise.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

decompose
ConstPointerTo< GeomPrimitive > GeomPrimitive::decompose(void) const;

Description: Decomposes a complex primitive type into a simpler primitive type, for instance triangle strips to triangles, and returns a pointer to the new primitive definition. If the decomposition cannot be performed, this might return the original object.
This method is useful for application code that wants to iterate through the set of triangles on the primitive without having to write handlers for each possible kind of primitive type.

doubleside
ConstPointerTo< GeomPrimitive > GeomPrimitive::doubleside(void) const;

Description: Duplicates triangles in the primitive so that each triangle is back-to-back with another triangle facing in the opposite direction. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::doubleside()).
Also see CullFaceAttrib, which can enable rendering of both sides of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

getClassType
static TypeHandle GeomPrimitive::get_class_type(void);

Undocumented function.

getDataSizeBytes
int GeomPrimitive::get_data_size_bytes(void) const;

Description: Returns the number of bytes stored in the vertices array.

getFirstVertex
int GeomPrimitive::get_first_vertex(void) const;

Description: Returns the first vertex number referenced by the primitive. This is particularly important in the case of a nonindexed primitive, in which case get_first_vertex() and get_num_vertices() completely define the extent of the vertex range.

getGeomRendering
virtual int GeomPrimitive::get_geom_rendering(void) const;

Description: Returns the set of GeomRendering bits that represent the rendering properties required to properly render this primitive.

getIndexType
GeomEnums::NumericType GeomPrimitive::get_index_type(void) const;

Description: Returns the numeric type of the index column. Normally, this will be either NT_uint16 or NT_uint32.

getMaxVertex
int GeomPrimitive::get_max_vertex(void) const;

Description: Returns the maximum vertex index number used by all the primitives in this object.

getMinVertex
int GeomPrimitive::get_min_vertex(void) const;

Description: Returns the minimum vertex index number used by all the primitives in this object.

getModified
UpdateSeq GeomPrimitive::get_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the vertex index array is modified.

getNumBytes
int GeomPrimitive::get_num_bytes(void) const;

Description: Returns the number of bytes consumed by the primitive and its index table(s).

getNumFaces
int GeomPrimitive::get_num_faces(void) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by all the primitives in this object.

getNumPrimitives
int GeomPrimitive::get_num_primitives(void) const;

Description: Returns the number of individual primitives stored within this object. All primitives are the same type.

getNumVertices
int GeomPrimitive::get_num_vertices(void) const;

Description: Returns the number of vertex vertices used by all the primitives in this object.

getPrimitiveEnd
int GeomPrimitive::get_primitive_end(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive ends. This is one past the last valid element for the nth primitive.

getPrimitiveMaxVertex
int GeomPrimitive::get_primitive_max_vertex(int n) const;

Description: Returns the maximum vertex index number used by the nth primitive in this object.

getPrimitiveMinVertex
int GeomPrimitive::get_primitive_min_vertex(int n) const;

Description: Returns the minimum vertex index number used by the nth primitive in this object.

getPrimitiveNumFaces
int GeomPrimitive::get_primitive_num_faces(int n) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by the nth primitive in this object.

getPrimitiveNumVertices
int GeomPrimitive::get_primitive_num_vertices(int n) const;

Description: Returns the number of vertices used by the nth primitive. This is the same thing as get_primitive_end(n) - get_primitive_start(n).

getPrimitiveStart
int GeomPrimitive::get_primitive_start(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive starts.
If i is one more than the highest valid primitive vertex, the return value will be one more than the last valid vertex. Thus, it is generally true that the vertices used by a particular primitive i are the set get_primitive_start(n) <= vi < get_primitive_start(n + 1) (although this range also includes the unused vertices between primitives).

getPrimitiveType
virtual GeomEnums::PrimitiveType GeomPrimitive::get_primitive_type(void) const = 0;

Undocumented function.

getShadeModel
GeomEnums::ShadeModel GeomPrimitive::get_shade_model(void) const;

Description: Returns the ShadeModel hint for this primitive. This is intended as a hint to the renderer to tell it how the per-vertex colors and normals are applied.

getUsageHint
GeomEnums::UsageHint GeomPrimitive::get_usage_hint(void) const;

Description: Returns the usage hint for this primitive. See geomEnums.h. This has nothing to do with the usage hint associated with the primitive's vertices; this only specifies how often the vertex indices that define the primitive will be modified.
It is perfectly legal (and, in fact, common) for a GeomPrimitive to have UH_static on itself, while referencing vertex data with UH_dynamic. This means that the vertices themselves will be animated, but the primitive will always reference the same set of vertices from the pool.

getVertex
int GeomPrimitive::get_vertex(int i) const;

Description: Returns the ith vertex index in the table.

isComposite
bool GeomPrimitive::is_composite(void) const;

The following published methods are provided for safe, high-level iteration through the vertices and sub-primitives within the GeomPrimitive class. These work correctly regardless of the primitive type and without depending on knowledge about the way primitives' lengths are encoded. You can also safely build up a composite primitive using these methods.
Description: Returns true if the primitive is a composite primitive such as a tristrip or trifan, or false if it is a fundamental primitive such as a collection of triangles.

isIndexed
bool GeomPrimitive::is_indexed(void) const;

Description: Returns true if the primitive is indexed, false otherwise. An indexed primitive stores a table of index numbers into its GeomVertexData, so that it can reference the vertices in any order. A nonindexed primitive, on the other hand, stores only the first vertex number and number of vertices used, so that it can only reference the vertices consecutively.

makeCopy
virtual PointerTo< GeomPrimitive > GeomPrimitive::make_copy(void) const = 0;

Undocumented function.

makeIndexed
void GeomPrimitive::make_indexed(void);

Description: Converts the primitive from nonindexed form to indexed form. This will simply create an index table that is numbered consecutively from get_first_vertex(); it does not automatically collapse together identical vertices that may have been split apart by a previous call to make_nonindexed().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

makeNonindexed
void GeomPrimitive::make_nonindexed(GeomVertexData *dest, GeomVertexData const *source);

Description: Converts the primitive from indexed to nonindexed by duplicating vertices as necessary into the indicated dest GeomVertexData.

matchShadeModel
ConstPointerTo< GeomPrimitive > GeomPrimitive::match_shade_model(GeomEnums::ShadeModel shade_model) const;

Description: Returns a new primitive that is compatible with the indicated shade model, if possible, or NULL if this is not possible.
In most cases, this will return either NULL or the original primitive. In the case of a SM_flat_first_vertex vs. a SM_flat_last_vertex (or vice-versa), however, it will return a rotated primitive.

offsetVertices
void GeomPrimitive::offset_vertices(int offset);

Description: Adds the indicated offset to all vertices used by the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

operator =
void GeomPrimitive::operator =(GeomPrimitive const &copy);

Description: The copy assignment operator is not pipeline-safe. This will completely obliterate all stages of the pipeline, so don't do it for a GeomPrimitive that is actively being used for rendering.

operator delete
void GeomPrimitive::operator delete(void *ptr);

Undocumented function.

operator new
void *GeomPrimitive::operator new(unsigned int size);

Undocumented function.

output
virtual void GeomPrimitive::output(ostream &out) const;

Description:

packVertices
void GeomPrimitive::pack_vertices(GeomVertexData *dest, GeomVertexData const *source);

Description: Packs the vertices used by the primitive from the indicated source array onto the end of the indicated destination array.

requestResident
bool GeomPrimitive::request_resident(void) const;

Description: Returns true if the primitive data is currently resident in memory. If this returns false, the primitive data will be brought back into memory shortly; try again later.

reverse
ConstPointerTo< GeomPrimitive > GeomPrimitive::reverse(void) const;

Description: Reverses the winding order in the primitive so that each triangle is facing in the opposite direction it was originally. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::reverse()).
Also see CullFaceAttrib, which can change the visible direction of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

rotate
ConstPointerTo< GeomPrimitive > GeomPrimitive::rotate(void) const;

Description: Returns a new primitive with the shade_model reversed (if it is flat shaded), if possible. If the primitive type cannot be rotated, returns the original primitive, unrotated.
If the current shade_model indicates flat_vertex_last, this should bring the last vertex to the first position; if it indicates flat_vertex_first, this should bring the first vertex to the last position.

setIndexType
void GeomPrimitive::set_index_type(GeomEnums::NumericType index_type);

Description: Changes the numeric type of the index column. Normally, this should be either NT_uint16 or NT_uint32.
The index type must be large enough to include all of the index values in the primitive. It may be automatically elevated, if necessary, to a larger index type, by a subsequent call to add_index() that names an index value that does not fit in the index type you specify.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setShadeModel
void GeomPrimitive::set_shade_model(GeomEnums::ShadeModel shade_model);

Description: Changes the ShadeModel hint for this primitive. This is different from the ShadeModelAttrib that might also be applied from the scene graph. This does not affect the shade model that is in effect when rendering, but rather serves as a hint to the renderer to tell it how the per-vertex colors and normals on this primitive are applied.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setUsageHint
void GeomPrimitive::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Changes the UsageHint hint for this primitive. See get_usage_hint().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

validatePtr
static bool GeomPrimitive::validate_ptr(void const *ptr);

Undocumented function.

write
virtual void GeomPrimitive::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomPrimitive

    from pandac.PandaModules import GeomPrimitive
    Class : GeomPrimitive
    Description : This is an abstract base class for a family of classes that represent the fundamental geometry primitives that may be stored in a Geom.
    They all have in common the fact that they are defined by tables of vertex data stored in a GeomVertexData object. Each GeomPrimitive object contains an ordered list of integers, which index into the vertex array defined by the GeomVertexData and define the particular vertices of the GeomVertexData that are used for this primitive.
    The meaning of a given arrangement of vertices is defined by each individual primitive type; for instance, a GeomTriangle renders a triangle from each three consecutive vertices, while a GeomTriangleStrip renders a strip of (n - 2) connected triangles from each sequence of n vertices.

Inheritance:

    GeomPrimitive: CopyOnWriteObject GeomEnums
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    GeomEnums:

Methods of GeomPrimitive:

    addConsecutiveVertices
    addNextVertices
    addVertex
    addVertices
    checkValid
    clearVertices
    closePrimitive
    decompose
    doubleside
    getClassType
    getDataSizeBytes
    getFirstVertex
    getGeomRendering
    getIndexType
    getMaxVertex
    getMinVertex
    getModified
    getNumBytes
    getNumFaces
    getNumPrimitives
    getNumVertices
    getPrimitiveEnd
    getPrimitiveMaxVertex
    getPrimitiveMinVertex
    getPrimitiveNumFaces
    getPrimitiveNumVertices
    getPrimitiveStart
    getPrimitiveType
    getShadeModel
    getUsageHint
    getVertex
    isComposite
    isIndexed
    makeCopy
    makeIndexed
    makeNonindexed
    matchShadeModel
    offsetVertices
    operator =
    operator delete
    operator new
    output
    packVertices
    requestResident
    reverse
    rotate
    setIndexType
    setShadeModel
    setUsageHint
    validatePtr
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
addConsecutiveVertices
void GeomPrimitive::add_consecutive_vertices(int start, int num_vertices);

Description: Adds a consecutive sequence of vertices, beginning at start, to the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addNextVertices
void GeomPrimitive::add_next_vertices(int num_vertices);

Description: Adds the next n vertices in sequence, beginning from the last vertex added to the primitive + 1.
This is most useful when you are building up a primitive and a GeomVertexData at the same time, and you just want the primitive to reference the first n vertices from the data, then the next n, and so on.

addVertex
void GeomPrimitive::add_vertex(int vertex);

Description: Adds the indicated vertex to the list of vertex indices used by the graphics primitive type. To define a primitive, you must call add_vertex() for each vertex of the new primitive, and then call close_primitive() after you have specified the last vertex of each primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addVertices
void GeomPrimitive::add_vertices(int v1, int v2);

Description: Adds several vertices in a row.

checkValid
bool GeomPrimitive::check_valid(GeomVertexData const *vertex_data) const;

Description: Verifies that the primitive only references vertices that actually exist within the indicated GeomVertexData. Returns true if the primitive appears to be valid, false otherwise.

clearVertices
void GeomPrimitive::clear_vertices(void);

Description: Removes all of the vertices and primitives from the object, so they can be re-added.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

closePrimitive
bool GeomPrimitive::close_primitive(void);

Description: Indicates that the previous n calls to add_vertex(), since the last call to close_primitive(), have fully defined a new primitive. Returns true if successful, false otherwise.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

decompose
ConstPointerTo< GeomPrimitive > GeomPrimitive::decompose(void) const;

Description: Decomposes a complex primitive type into a simpler primitive type, for instance triangle strips to triangles, and returns a pointer to the new primitive definition. If the decomposition cannot be performed, this might return the original object.
This method is useful for application code that wants to iterate through the set of triangles on the primitive without having to write handlers for each possible kind of primitive type.

doubleside
ConstPointerTo< GeomPrimitive > GeomPrimitive::doubleside(void) const;

Description: Duplicates triangles in the primitive so that each triangle is back-to-back with another triangle facing in the opposite direction. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::doubleside()).
Also see CullFaceAttrib, which can enable rendering of both sides of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

getClassType
static TypeHandle GeomPrimitive::get_class_type(void);

Undocumented function.

getDataSizeBytes
int GeomPrimitive::get_data_size_bytes(void) const;

Description: Returns the number of bytes stored in the vertices array.

getFirstVertex
int GeomPrimitive::get_first_vertex(void) const;

Description: Returns the first vertex number referenced by the primitive. This is particularly important in the case of a nonindexed primitive, in which case get_first_vertex() and get_num_vertices() completely define the extent of the vertex range.

getGeomRendering
virtual int GeomPrimitive::get_geom_rendering(void) const;

Description: Returns the set of GeomRendering bits that represent the rendering properties required to properly render this primitive.

getIndexType
GeomEnums::NumericType GeomPrimitive::get_index_type(void) const;

Description: Returns the numeric type of the index column. Normally, this will be either NT_uint16 or NT_uint32.

getMaxVertex
int GeomPrimitive::get_max_vertex(void) const;

Description: Returns the maximum vertex index number used by all the primitives in this object.

getMinVertex
int GeomPrimitive::get_min_vertex(void) const;

Description: Returns the minimum vertex index number used by all the primitives in this object.

getModified
UpdateSeq GeomPrimitive::get_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the vertex index array is modified.

getNumBytes
int GeomPrimitive::get_num_bytes(void) const;

Description: Returns the number of bytes consumed by the primitive and its index table(s).

getNumFaces
int GeomPrimitive::get_num_faces(void) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by all the primitives in this object.

getNumPrimitives
int GeomPrimitive::get_num_primitives(void) const;

Description: Returns the number of individual primitives stored within this object. All primitives are the same type.

getNumVertices
int GeomPrimitive::get_num_vertices(void) const;

Description: Returns the number of vertex vertices used by all the primitives in this object.

getPrimitiveEnd
int GeomPrimitive::get_primitive_end(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive ends. This is one past the last valid element for the nth primitive.

getPrimitiveMaxVertex
int GeomPrimitive::get_primitive_max_vertex(int n) const;

Description: Returns the maximum vertex index number used by the nth primitive in this object.

getPrimitiveMinVertex
int GeomPrimitive::get_primitive_min_vertex(int n) const;

Description: Returns the minimum vertex index number used by the nth primitive in this object.

getPrimitiveNumFaces
int GeomPrimitive::get_primitive_num_faces(int n) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by the nth primitive in this object.

getPrimitiveNumVertices
int GeomPrimitive::get_primitive_num_vertices(int n) const;

Description: Returns the number of vertices used by the nth primitive. This is the same thing as get_primitive_end(n) - get_primitive_start(n).

getPrimitiveStart
int GeomPrimitive::get_primitive_start(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive starts.
If i is one more than the highest valid primitive vertex, the return value will be one more than the last valid vertex. Thus, it is generally true that the vertices used by a particular primitive i are the set get_primitive_start(n) <= vi < get_primitive_start(n + 1) (although this range also includes the unused vertices between primitives).

getPrimitiveType
virtual GeomEnums::PrimitiveType GeomPrimitive::get_primitive_type(void) const = 0;

Undocumented function.

getShadeModel
GeomEnums::ShadeModel GeomPrimitive::get_shade_model(void) const;

Description: Returns the ShadeModel hint for this primitive. This is intended as a hint to the renderer to tell it how the per-vertex colors and normals are applied.

getUsageHint
GeomEnums::UsageHint GeomPrimitive::get_usage_hint(void) const;

Description: Returns the usage hint for this primitive. See geomEnums.h. This has nothing to do with the usage hint associated with the primitive's vertices; this only specifies how often the vertex indices that define the primitive will be modified.
It is perfectly legal (and, in fact, common) for a GeomPrimitive to have UH_static on itself, while referencing vertex data with UH_dynamic. This means that the vertices themselves will be animated, but the primitive will always reference the same set of vertices from the pool.

getVertex
int GeomPrimitive::get_vertex(int i) const;

Description: Returns the ith vertex index in the table.

isComposite
bool GeomPrimitive::is_composite(void) const;

The following published methods are provided for safe, high-level iteration through the vertices and sub-primitives within the GeomPrimitive class. These work correctly regardless of the primitive type and without depending on knowledge about the way primitives' lengths are encoded. You can also safely build up a composite primitive using these methods.
Description: Returns true if the primitive is a composite primitive such as a tristrip or trifan, or false if it is a fundamental primitive such as a collection of triangles.

isIndexed
bool GeomPrimitive::is_indexed(void) const;

Description: Returns true if the primitive is indexed, false otherwise. An indexed primitive stores a table of index numbers into its GeomVertexData, so that it can reference the vertices in any order. A nonindexed primitive, on the other hand, stores only the first vertex number and number of vertices used, so that it can only reference the vertices consecutively.

makeCopy
virtual PointerTo< GeomPrimitive > GeomPrimitive::make_copy(void) const = 0;

Undocumented function.

makeIndexed
void GeomPrimitive::make_indexed(void);

Description: Converts the primitive from nonindexed form to indexed form. This will simply create an index table that is numbered consecutively from get_first_vertex(); it does not automatically collapse together identical vertices that may have been split apart by a previous call to make_nonindexed().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

makeNonindexed
void GeomPrimitive::make_nonindexed(GeomVertexData *dest, GeomVertexData const *source);

Description: Converts the primitive from indexed to nonindexed by duplicating vertices as necessary into the indicated dest GeomVertexData.

matchShadeModel
ConstPointerTo< GeomPrimitive > GeomPrimitive::match_shade_model(GeomEnums::ShadeModel shade_model) const;

Description: Returns a new primitive that is compatible with the indicated shade model, if possible, or NULL if this is not possible.
In most cases, this will return either NULL or the original primitive. In the case of a SM_flat_first_vertex vs. a SM_flat_last_vertex (or vice-versa), however, it will return a rotated primitive.

offsetVertices
void GeomPrimitive::offset_vertices(int offset);

Description: Adds the indicated offset to all vertices used by the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

operator =
void GeomPrimitive::operator =(GeomPrimitive const &copy);

Description: The copy assignment operator is not pipeline-safe. This will completely obliterate all stages of the pipeline, so don't do it for a GeomPrimitive that is actively being used for rendering.

operator delete
void GeomPrimitive::operator delete(void *ptr);

Undocumented function.

operator new
void *GeomPrimitive::operator new(unsigned int size);

Undocumented function.

output
virtual void GeomPrimitive::output(ostream &out) const;

Description:

packVertices
void GeomPrimitive::pack_vertices(GeomVertexData *dest, GeomVertexData const *source);

Description: Packs the vertices used by the primitive from the indicated source array onto the end of the indicated destination array.

requestResident
bool GeomPrimitive::request_resident(void) const;

Description: Returns true if the primitive data is currently resident in memory. If this returns false, the primitive data will be brought back into memory shortly; try again later.

reverse
ConstPointerTo< GeomPrimitive > GeomPrimitive::reverse(void) const;

Description: Reverses the winding order in the primitive so that each triangle is facing in the opposite direction it was originally. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::reverse()).
Also see CullFaceAttrib, which can change the visible direction of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

rotate
ConstPointerTo< GeomPrimitive > GeomPrimitive::rotate(void) const;

Description: Returns a new primitive with the shade_model reversed (if it is flat shaded), if possible. If the primitive type cannot be rotated, returns the original primitive, unrotated.
If the current shade_model indicates flat_vertex_last, this should bring the last vertex to the first position; if it indicates flat_vertex_first, this should bring the first vertex to the last position.

setIndexType
void GeomPrimitive::set_index_type(GeomEnums::NumericType index_type);

Description: Changes the numeric type of the index column. Normally, this should be either NT_uint16 or NT_uint32.
The index type must be large enough to include all of the index values in the primitive. It may be automatically elevated, if necessary, to a larger index type, by a subsequent call to add_index() that names an index value that does not fit in the index type you specify.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setShadeModel
void GeomPrimitive::set_shade_model(GeomEnums::ShadeModel shade_model);

Description: Changes the ShadeModel hint for this primitive. This is different from the ShadeModelAttrib that might also be applied from the scene graph. This does not affect the shade model that is in effect when rendering, but rather serves as a hint to the renderer to tell it how the per-vertex colors and normals on this primitive are applied.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setUsageHint
void GeomPrimitive::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Changes the UsageHint hint for this primitive. See get_usage_hint().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

validatePtr
static bool GeomPrimitive::validate_ptr(void const *ptr);

Undocumented function.

write
virtual void GeomPrimitive::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomTextGlyph

    from pandac.PandaModules import GeomTextGlyph
    Class : GeomTextGlyph
    Description : This is a specialization on Geom for containing a triangle strip intended to represent a DynamicTextGlyph. Its sole purpose is to maintain the geom count on the glyph, so we can determine the actual usage count on a dynamic glyph (and thus know when it is safe to recycle the glyph).

Inheritance:

    GeomTextGlyph: Geom
    Geom: CopyOnWriteObject GeomEnums
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    GeomEnums:

Methods of GeomTextGlyph:

    getClassType

Methods of Geom:

    Geom (Constructor)
    addPrimitive
    checkValid
    clearBounds
    clearCache
    clearCacheStage
    clearPrimitives
    copyPrimitivesFrom
    decompose
    decomposeInPlace
    doubleside
    doublesideInPlace
    getBounds
    getClassType
    getGeomRendering
    getModified
    getNestedVertices
    getNumBytes
    getNumPrimitives
    getPrimitive
    getPrimitiveType
    getShadeModel
    getUsageHint
    getVertexData
    isEmpty
    isPrepared
    makeCopy
    makeNonindexed
    markBoundsStale
    modifyPrimitive
    modifyVertexData
    offsetVertices
    operator =
    operator delete
    operator new
    output
    prepare
    prepareNow
    release
    releaseAll
    removePrimitive
    requestResident
    reverse
    reverseInPlace
    rotate
    rotateInPlace
    setBounds
    setPrimitive
    setUsageHint
    setVertexData
    transformVertices
    unify
    unifyInPlace
    validatePtr
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
getClassType
static TypeHandle GeomTextGlyph::get_class_type(void);

Undocumented function.

Geom
Geom::Geom(GeomVertexData const *data);

Description:
Description: Use make_copy() to duplicate a Geom.

addPrimitive
void Geom::add_primitive(GeomPrimitive const *primitive);

Description: Adds a new GeomPrimitive structure to the Geom object. This specifies a particular subset of vertices that are used to define geometric primitives of the indicated type.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

checkValid
bool Geom::check_valid(void) const;

Description: Verifies that the all of the primitives within the geom reference vertices that actually exist within the geom's GeomVertexData. Returns true if the geom appears to be valid, false otherwise.
Description: Verifies that the all of the primitives within the geom reference vertices that actually exist within the indicated GeomVertexData. Returns true if the geom appears to be valid, false otherwise.

clearBounds
void Geom::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the bounding volume to be automatically computed once more based on the vertices.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

clearCache
void Geom::clear_cache(void);

Description: Removes all of the previously-cached results of munge_geom().
This blows away the entire cache, upstream and downstream the pipeline. Use clear_cache_stage() instead if you only want to blow away the cache at the current stage and upstream.

clearCacheStage
void Geom::clear_cache_stage(Thread *current_thread);

Description: Removes all of the previously-cached results of munge_geom(), at the current pipeline stage and upstream. Does not affect the downstream cache.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

clearPrimitives
void Geom::clear_primitives(void);

Description: Removes all the primitives from the Geom object (but keeps the same table of vertices). You may then re-add primitives one at a time via calls to add_primitive().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

copyPrimitivesFrom
virtual bool Geom::copy_primitives_from(Geom const *other);

Description: Copies the primitives from the indicated Geom into this one. This does require that both Geoms contain the same fundamental type primitives, both have a compatible shade model, and both use the same GeomVertexData. Both Geoms must also be the same specific class type (i.e. if one is a GeomTextGlyph, they both must be.)
Returns true if the copy is successful, or false otherwise (because the Geoms were mismatched).

decompose
PointerTo< Geom > Geom::decompose(void) const;

Description: Decomposes all of the primitives within this Geom, returning the result. See GeomPrimitive::decompose().

decomposeInPlace
void Geom::decompose_in_place(void);

Description: Decomposes all of the primitives within this Geom, leaving the results in place. See GeomPrimitive::decompose().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

doubleside
PointerTo< Geom > Geom::doubleside(void) const;

Description: Doublesides all of the primitives within this Geom, returning the result. See GeomPrimitive::doubleside().

doublesideInPlace
void Geom::doubleside_in_place(void);

Description: Doublesides all of the primitives within this Geom, leaving the results in place. See GeomPrimitive::doubleside().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

getBounds
ConstPointerTo< BoundingVolume > Geom::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the bounding volume for the Geom.

getClassType
static TypeHandle Geom::get_class_type(void);

Undocumented function.

getGeomRendering
int Geom::get_geom_rendering(void) const;

Description: Returns the set of GeomRendering bits that represent the rendering properties required to properly render this Geom.

getModified
UpdateSeq Geom::get_modified(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a sequence number which is guaranteed to change at least every time any of the primitives in the Geom is modified, or the set of primitives is modified. However, this does not include modifications to the vertex data, which should be tested separately.

getNestedVertices
int Geom::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of vertices rendered by all primitives within the Geom.

getNumBytes
int Geom::get_num_bytes(void) const;

Description: Returns the number of bytes consumed by the geom and its primitives (but not including its vertex table).

getNumPrimitives
int Geom::get_num_primitives(void) const;

Description: Returns the number of GeomPrimitive objects stored within the Geom, each of which represents a number of primitives of a particular type.

getPrimitive
ConstPointerTo< GeomPrimitive > Geom::get_primitive(int i) const;

Description: Returns a const pointer to the ith GeomPrimitive object stored within the Geom. Use this call only to inspect the ith object; use modify_primitive() or set_primitive() if you want to modify it.

getPrimitiveType
GeomEnums::PrimitiveType Geom::get_primitive_type(void) const;

Description: Returns the fundamental primitive type that is common to all GeomPrimitives added within the Geom. All nested primitives within a particular Geom must be the same type (that is, you can mix triangles and tristrips, because they are both the same fundamental type PT_polygons, but you cannot mix triangles and points withn the same Geom).

getShadeModel
GeomEnums::ShadeModel Geom::get_shade_model(void) const;

Description: Returns the shade model common to all of the individual GeomPrimitives that have been added to the geom.

getUsageHint
GeomEnums::UsageHint Geom::get_usage_hint(void) const;

Description: Returns the minimum (i.e. most dynamic) usage_hint among all of the individual GeomPrimitives that have been added to the geom.

getVertexData
ConstPointerTo< GeomVertexData > Geom::get_vertex_data(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a const pointer to the GeomVertexData, for application code to directly examine (but not modify) the geom's underlying data.

isEmpty
bool Geom::is_empty(void) const;

Description: Returns true if there appear to be no vertices to be rendered by this Geom, false if has some actual data.

isPrepared
bool Geom::is_prepared(PreparedGraphicsObjects *prepared_objects) const;

Description: Returns true if the geom has already been prepared or enqueued for preparation on the indicated GSG, false otherwise.

makeCopy
virtual Geom *Geom::make_copy(void) const;

Description: Returns a newly-allocated Geom that is a shallow copy of this one. It will be a different Geom pointer, but its internal data may or may not be shared with that of the original Geom.

makeNonindexed
int Geom::make_nonindexed(bool composite_only);

Description: Converts the geom from indexed to nonindexed by duplicating vertices as necessary. If composite_only is true, then only composite primitives such as trifans and tristrips are converted. Returns the number of GeomPrimitive objects converted.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

markBoundsStale
void Geom::mark_bounds_stale(void) const;

Description: Marks the bounding volume of the Geom as stale so that it should be recomputed. Usually it is not necessary to call this explicitly.

modifyPrimitive
PointerTo< GeomPrimitive > Geom::modify_primitive(int i);

Description: Returns a modifiable pointer to the ith GeomPrimitive object stored within the Geom, so application code can directly manipulate the properties of this primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

modifyVertexData
PointerTo< GeomVertexData > Geom::modify_vertex_data(void);

Description: Returns a modifiable pointer to the GeomVertexData, so that application code may directly maniuplate the geom's underlying data.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

offsetVertices
void Geom::offset_vertices(GeomVertexData const *data, int offset);

Description: Replaces a Geom's vertex table with a new table, and simultaneously adds the indicated offset to all vertex references within the Geom's primitives. This is intended to be used to combine multiple GeomVertexDatas from different Geoms into a single big buffer, with each Geom referencing a subset of the vertices in the buffer.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

operator =
void Geom::operator =(Geom const &copy);

Description: The copy assignment operator is not pipeline-safe. This will completely obliterate all stages of the pipeline, so don't do it for a Geom that is actively being used for rendering.

operator delete
void Geom::operator delete(void *ptr);

Undocumented function.

operator new
void *Geom::operator new(unsigned int size);

Undocumented function.

output
virtual void Geom::output(ostream &out) const;

Description:

prepare
void Geom::prepare(PreparedGraphicsObjects *prepared_objects);

Description: Indicates that the geom should be enqueued to be prepared in the indicated prepared_objects at the beginning of the next frame. This will ensure the geom is already loaded into geom memory if it is expected to be rendered soon.
Use this function instead of prepare_now() to preload geoms from a user interface standpoint.

prepareNow
GeomContext *Geom::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg);

Description: Creates a context for the geom on the particular GSG, if it does not already exist. Returns the new (or old) GeomContext. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new geoms. If this is not necessarily the case, you should use prepare() instead.
Normally, this is not called directly except by the GraphicsStateGuardian; a geom does not need to be explicitly prepared by the user before it may be rendered.

release
bool Geom::release(PreparedGraphicsObjects *prepared_objects);

Description: Frees the geom context only on the indicated object, if it exists there. Returns true if it was released, false if it had not been prepared.

releaseAll
int Geom::release_all(void);

Description: Frees the context allocated on all objects for which the geom has been declared. Returns the number of contexts which have been freed.

removePrimitive
void Geom::remove_primitive(int i);

Description: Removes the ith primitive from the list.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

requestResident
bool Geom::request_resident(void) const;

Description: Returns true if all the primitive arrays are currently resident in memory. If this returns false, the data will be brought back into memory shortly; try again later.
This does not also test the Geom's associated GeomVertexData. That must be tested separately.

reverse
PointerTo< Geom > Geom::reverse(void) const;

Description: Reverses all of the primitives within this Geom, returning the result. See GeomPrimitive::reverse().

reverseInPlace
void Geom::reverse_in_place(void);

Description: Reverses all of the primitives within this Geom, leaving the results in place. See GeomPrimitive::reverse().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

rotate
PointerTo< Geom > Geom::rotate(void) const;

Description: Rotates all of the primitives within this Geom, returning the result. See GeomPrimitive::rotate().

rotateInPlace
void Geom::rotate_in_place(void);

Description: Rotates all of the primitives within this Geom, leaving the results in place. See GeomPrimitive::rotate().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setBounds
void Geom::set_bounds(BoundingVolume const *volume);

Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed; call clear_bounds() if you would like to return the bounding volume to its default behavior.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setPrimitive
void Geom::set_primitive(int i, GeomPrimitive const *primitive);

Description: Replaces the ith GeomPrimitive object stored within the Geom with the new object.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setUsageHint
void Geom::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Changes the UsageHint hint for all of the primitives on this Geom to the same value. See get_usage_hint().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setVertexData
void Geom::set_vertex_data(GeomVertexData const *data);

Description: Replaces the Geom's underlying vertex data table with a completely new table.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

transformVertices
void Geom::transform_vertices(LMatrix4f const &mat);

Description: Applies the indicated transform to all of the vertices in the Geom. If the Geom happens to share a vertex table with another Geom, this operation will duplicate the vertex table instead of breaking the other Geom; however, if multiple Geoms with shared tables are transformed by the same matrix, they will no longer share tables after the operation. Consider using the GeomTransformer if you will be applying the same transform to multiple Geoms.

unify
PointerTo< Geom > Geom::unify(int max_indices, bool preserve_order) const;

Description: Unifies all of the primitives contained within this Geom into a single (or as few as possible, within the constraints of max_indices) primitive objects. This may require decomposing the primitives if, for instance, the Geom contains both triangle strips and triangle fans.
max_indices represents the maximum number of indices that will be put in any one GeomPrimitive. If preserve_order is true, then the primitives will not be reordered during the operation, even if this results in a suboptimal result.

unifyInPlace
void Geom::unify_in_place(int max_indices, bool preserve_order);

Description: Unifies all of the primitives contained within this Geom into a single (or as few as possible, within the constraints of max_indices) primitive objects. This may require decomposing the primitives if, for instance, the Geom contains both triangle strips and triangle fans.
max_indices represents the maximum number of indices that will be put in any one GeomPrimitive. If preserve_order is true, then the primitives will not be reordered during the operation, even if this results in a suboptimal result.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

validatePtr
static bool Geom::validate_ptr(void const *ptr);

Undocumented function.

write
virtual void Geom::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomTriangles

    from pandac.PandaModules import GeomTriangles
    Class : GeomTriangles
    Description : Defines a series of disconnected triangles.

Inheritance:

    GeomTriangles: GeomPrimitive
    GeomPrimitive: CopyOnWriteObject GeomEnums
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    GeomEnums:

Methods of GeomTriangles:

    GeomTriangles (Constructor)
    getClassType

Methods of GeomPrimitive:

    addConsecutiveVertices
    addNextVertices
    addVertex
    addVertices
    checkValid
    clearVertices
    closePrimitive
    decompose
    doubleside
    getClassType
    getDataSizeBytes
    getFirstVertex
    getGeomRendering
    getIndexType
    getMaxVertex
    getMinVertex
    getModified
    getNumBytes
    getNumFaces
    getNumPrimitives
    getNumVertices
    getPrimitiveEnd
    getPrimitiveMaxVertex
    getPrimitiveMinVertex
    getPrimitiveNumFaces
    getPrimitiveNumVertices
    getPrimitiveStart
    getPrimitiveType
    getShadeModel
    getUsageHint
    getVertex
    isComposite
    isIndexed
    makeCopy
    makeIndexed
    makeNonindexed
    matchShadeModel
    offsetVertices
    operator =
    operator delete
    operator new
    output
    packVertices
    requestResident
    reverse
    rotate
    setIndexType
    setShadeModel
    setUsageHint
    validatePtr
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomTriangles
GeomTriangles::GeomTriangles(GeomEnums::UsageHint usage_hint);

Description:

getClassType
static TypeHandle GeomTriangles::get_class_type(void);

Undocumented function.

addConsecutiveVertices
void GeomPrimitive::add_consecutive_vertices(int start, int num_vertices);

Description: Adds a consecutive sequence of vertices, beginning at start, to the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addNextVertices
void GeomPrimitive::add_next_vertices(int num_vertices);

Description: Adds the next n vertices in sequence, beginning from the last vertex added to the primitive + 1.
This is most useful when you are building up a primitive and a GeomVertexData at the same time, and you just want the primitive to reference the first n vertices from the data, then the next n, and so on.

addVertex
void GeomPrimitive::add_vertex(int vertex);

Description: Adds the indicated vertex to the list of vertex indices used by the graphics primitive type. To define a primitive, you must call add_vertex() for each vertex of the new primitive, and then call close_primitive() after you have specified the last vertex of each primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addVertices
void GeomPrimitive::add_vertices(int v1, int v2);

Description: Adds several vertices in a row.

checkValid
bool GeomPrimitive::check_valid(GeomVertexData const *vertex_data) const;

Description: Verifies that the primitive only references vertices that actually exist within the indicated GeomVertexData. Returns true if the primitive appears to be valid, false otherwise.

clearVertices
void GeomPrimitive::clear_vertices(void);

Description: Removes all of the vertices and primitives from the object, so they can be re-added.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

closePrimitive
bool GeomPrimitive::close_primitive(void);

Description: Indicates that the previous n calls to add_vertex(), since the last call to close_primitive(), have fully defined a new primitive. Returns true if successful, false otherwise.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

decompose
ConstPointerTo< GeomPrimitive > GeomPrimitive::decompose(void) const;

Description: Decomposes a complex primitive type into a simpler primitive type, for instance triangle strips to triangles, and returns a pointer to the new primitive definition. If the decomposition cannot be performed, this might return the original object.
This method is useful for application code that wants to iterate through the set of triangles on the primitive without having to write handlers for each possible kind of primitive type.

doubleside
ConstPointerTo< GeomPrimitive > GeomPrimitive::doubleside(void) const;

Description: Duplicates triangles in the primitive so that each triangle is back-to-back with another triangle facing in the opposite direction. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::doubleside()).
Also see CullFaceAttrib, which can enable rendering of both sides of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

getClassType
static TypeHandle GeomPrimitive::get_class_type(void);

Undocumented function.

getDataSizeBytes
int GeomPrimitive::get_data_size_bytes(void) const;

Description: Returns the number of bytes stored in the vertices array.

getFirstVertex
int GeomPrimitive::get_first_vertex(void) const;

Description: Returns the first vertex number referenced by the primitive. This is particularly important in the case of a nonindexed primitive, in which case get_first_vertex() and get_num_vertices() completely define the extent of the vertex range.

getGeomRendering
virtual int GeomPrimitive::get_geom_rendering(void) const;

Description: Returns the set of GeomRendering bits that represent the rendering properties required to properly render this primitive.

getIndexType
GeomEnums::NumericType GeomPrimitive::get_index_type(void) const;

Description: Returns the numeric type of the index column. Normally, this will be either NT_uint16 or NT_uint32.

getMaxVertex
int GeomPrimitive::get_max_vertex(void) const;

Description: Returns the maximum vertex index number used by all the primitives in this object.

getMinVertex
int GeomPrimitive::get_min_vertex(void) const;

Description: Returns the minimum vertex index number used by all the primitives in this object.

getModified
UpdateSeq GeomPrimitive::get_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the vertex index array is modified.

getNumBytes
int GeomPrimitive::get_num_bytes(void) const;

Description: Returns the number of bytes consumed by the primitive and its index table(s).

getNumFaces
int GeomPrimitive::get_num_faces(void) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by all the primitives in this object.

getNumPrimitives
int GeomPrimitive::get_num_primitives(void) const;

Description: Returns the number of individual primitives stored within this object. All primitives are the same type.

getNumVertices
int GeomPrimitive::get_num_vertices(void) const;

Description: Returns the number of vertex vertices used by all the primitives in this object.

getPrimitiveEnd
int GeomPrimitive::get_primitive_end(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive ends. This is one past the last valid element for the nth primitive.

getPrimitiveMaxVertex
int GeomPrimitive::get_primitive_max_vertex(int n) const;

Description: Returns the maximum vertex index number used by the nth primitive in this object.

getPrimitiveMinVertex
int GeomPrimitive::get_primitive_min_vertex(int n) const;

Description: Returns the minimum vertex index number used by the nth primitive in this object.

getPrimitiveNumFaces
int GeomPrimitive::get_primitive_num_faces(int n) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by the nth primitive in this object.

getPrimitiveNumVertices
int GeomPrimitive::get_primitive_num_vertices(int n) const;

Description: Returns the number of vertices used by the nth primitive. This is the same thing as get_primitive_end(n) - get_primitive_start(n).

getPrimitiveStart
int GeomPrimitive::get_primitive_start(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive starts.
If i is one more than the highest valid primitive vertex, the return value will be one more than the last valid vertex. Thus, it is generally true that the vertices used by a particular primitive i are the set get_primitive_start(n) <= vi < get_primitive_start(n + 1) (although this range also includes the unused vertices between primitives).

getPrimitiveType
virtual GeomEnums::PrimitiveType GeomPrimitive::get_primitive_type(void) const = 0;

Undocumented function.

getShadeModel
GeomEnums::ShadeModel GeomPrimitive::get_shade_model(void) const;

Description: Returns the ShadeModel hint for this primitive. This is intended as a hint to the renderer to tell it how the per-vertex colors and normals are applied.

getUsageHint
GeomEnums::UsageHint GeomPrimitive::get_usage_hint(void) const;

Description: Returns the usage hint for this primitive. See geomEnums.h. This has nothing to do with the usage hint associated with the primitive's vertices; this only specifies how often the vertex indices that define the primitive will be modified.
It is perfectly legal (and, in fact, common) for a GeomPrimitive to have UH_static on itself, while referencing vertex data with UH_dynamic. This means that the vertices themselves will be animated, but the primitive will always reference the same set of vertices from the pool.

getVertex
int GeomPrimitive::get_vertex(int i) const;

Description: Returns the ith vertex index in the table.

isComposite
bool GeomPrimitive::is_composite(void) const;

The following published methods are provided for safe, high-level iteration through the vertices and sub-primitives within the GeomPrimitive class. These work correctly regardless of the primitive type and without depending on knowledge about the way primitives' lengths are encoded. You can also safely build up a composite primitive using these methods.
Description: Returns true if the primitive is a composite primitive such as a tristrip or trifan, or false if it is a fundamental primitive such as a collection of triangles.

isIndexed
bool GeomPrimitive::is_indexed(void) const;

Description: Returns true if the primitive is indexed, false otherwise. An indexed primitive stores a table of index numbers into its GeomVertexData, so that it can reference the vertices in any order. A nonindexed primitive, on the other hand, stores only the first vertex number and number of vertices used, so that it can only reference the vertices consecutively.

makeCopy
virtual PointerTo< GeomPrimitive > GeomPrimitive::make_copy(void) const = 0;

Undocumented function.

makeIndexed
void GeomPrimitive::make_indexed(void);

Description: Converts the primitive from nonindexed form to indexed form. This will simply create an index table that is numbered consecutively from get_first_vertex(); it does not automatically collapse together identical vertices that may have been split apart by a previous call to make_nonindexed().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

makeNonindexed
void GeomPrimitive::make_nonindexed(GeomVertexData *dest, GeomVertexData const *source);

Description: Converts the primitive from indexed to nonindexed by duplicating vertices as necessary into the indicated dest GeomVertexData.

matchShadeModel
ConstPointerTo< GeomPrimitive > GeomPrimitive::match_shade_model(GeomEnums::ShadeModel shade_model) const;

Description: Returns a new primitive that is compatible with the indicated shade model, if possible, or NULL if this is not possible.
In most cases, this will return either NULL or the original primitive. In the case of a SM_flat_first_vertex vs. a SM_flat_last_vertex (or vice-versa), however, it will return a rotated primitive.

offsetVertices
void GeomPrimitive::offset_vertices(int offset);

Description: Adds the indicated offset to all vertices used by the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

operator =
void GeomPrimitive::operator =(GeomPrimitive const &copy);

Description: The copy assignment operator is not pipeline-safe. This will completely obliterate all stages of the pipeline, so don't do it for a GeomPrimitive that is actively being used for rendering.

operator delete
void GeomPrimitive::operator delete(void *ptr);

Undocumented function.

operator new
void *GeomPrimitive::operator new(unsigned int size);

Undocumented function.

output
virtual void GeomPrimitive::output(ostream &out) const;

Description:

packVertices
void GeomPrimitive::pack_vertices(GeomVertexData *dest, GeomVertexData const *source);

Description: Packs the vertices used by the primitive from the indicated source array onto the end of the indicated destination array.

requestResident
bool GeomPrimitive::request_resident(void) const;

Description: Returns true if the primitive data is currently resident in memory. If this returns false, the primitive data will be brought back into memory shortly; try again later.

reverse
ConstPointerTo< GeomPrimitive > GeomPrimitive::reverse(void) const;

Description: Reverses the winding order in the primitive so that each triangle is facing in the opposite direction it was originally. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::reverse()).
Also see CullFaceAttrib, which can change the visible direction of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

rotate
ConstPointerTo< GeomPrimitive > GeomPrimitive::rotate(void) const;

Description: Returns a new primitive with the shade_model reversed (if it is flat shaded), if possible. If the primitive type cannot be rotated, returns the original primitive, unrotated.
If the current shade_model indicates flat_vertex_last, this should bring the last vertex to the first position; if it indicates flat_vertex_first, this should bring the first vertex to the last position.

setIndexType
void GeomPrimitive::set_index_type(GeomEnums::NumericType index_type);

Description: Changes the numeric type of the index column. Normally, this should be either NT_uint16 or NT_uint32.
The index type must be large enough to include all of the index values in the primitive. It may be automatically elevated, if necessary, to a larger index type, by a subsequent call to add_index() that names an index value that does not fit in the index type you specify.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setShadeModel
void GeomPrimitive::set_shade_model(GeomEnums::ShadeModel shade_model);

Description: Changes the ShadeModel hint for this primitive. This is different from the ShadeModelAttrib that might also be applied from the scene graph. This does not affect the shade model that is in effect when rendering, but rather serves as a hint to the renderer to tell it how the per-vertex colors and normals on this primitive are applied.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setUsageHint
void GeomPrimitive::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Changes the UsageHint hint for this primitive. See get_usage_hint().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

validatePtr
static bool GeomPrimitive::validate_ptr(void const *ptr);

Undocumented function.

write
virtual void GeomPrimitive::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomTrifans

    from pandac.PandaModules import GeomTrifans
    Class : GeomTrifans
    Description : Defines a series of triangle fans.

Inheritance:

    GeomTrifans: GeomPrimitive
    GeomPrimitive: CopyOnWriteObject GeomEnums
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    GeomEnums:

Methods of GeomTrifans:

    GeomTrifans (Constructor)
    getClassType

Methods of GeomPrimitive:

    addConsecutiveVertices
    addNextVertices
    addVertex
    addVertices
    checkValid
    clearVertices
    closePrimitive
    decompose
    doubleside
    getClassType
    getDataSizeBytes
    getFirstVertex
    getGeomRendering
    getIndexType
    getMaxVertex
    getMinVertex
    getModified
    getNumBytes
    getNumFaces
    getNumPrimitives
    getNumVertices
    getPrimitiveEnd
    getPrimitiveMaxVertex
    getPrimitiveMinVertex
    getPrimitiveNumFaces
    getPrimitiveNumVertices
    getPrimitiveStart
    getPrimitiveType
    getShadeModel
    getUsageHint
    getVertex
    isComposite
    isIndexed
    makeCopy
    makeIndexed
    makeNonindexed
    matchShadeModel
    offsetVertices
    operator =
    operator delete
    operator new
    output
    packVertices
    requestResident
    reverse
    rotate
    setIndexType
    setShadeModel
    setUsageHint
    validatePtr
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomTrifans
GeomTrifans::GeomTrifans(GeomEnums::UsageHint usage_hint);

Description:

getClassType
static TypeHandle GeomTrifans::get_class_type(void);

Undocumented function.

addConsecutiveVertices
void GeomPrimitive::add_consecutive_vertices(int start, int num_vertices);

Description: Adds a consecutive sequence of vertices, beginning at start, to the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addNextVertices
void GeomPrimitive::add_next_vertices(int num_vertices);

Description: Adds the next n vertices in sequence, beginning from the last vertex added to the primitive + 1.
This is most useful when you are building up a primitive and a GeomVertexData at the same time, and you just want the primitive to reference the first n vertices from the data, then the next n, and so on.

addVertex
void GeomPrimitive::add_vertex(int vertex);

Description: Adds the indicated vertex to the list of vertex indices used by the graphics primitive type. To define a primitive, you must call add_vertex() for each vertex of the new primitive, and then call close_primitive() after you have specified the last vertex of each primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addVertices
void GeomPrimitive::add_vertices(int v1, int v2);

Description: Adds several vertices in a row.

checkValid
bool GeomPrimitive::check_valid(GeomVertexData const *vertex_data) const;

Description: Verifies that the primitive only references vertices that actually exist within the indicated GeomVertexData. Returns true if the primitive appears to be valid, false otherwise.

clearVertices
void GeomPrimitive::clear_vertices(void);

Description: Removes all of the vertices and primitives from the object, so they can be re-added.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

closePrimitive
bool GeomPrimitive::close_primitive(void);

Description: Indicates that the previous n calls to add_vertex(), since the last call to close_primitive(), have fully defined a new primitive. Returns true if successful, false otherwise.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

decompose
ConstPointerTo< GeomPrimitive > GeomPrimitive::decompose(void) const;

Description: Decomposes a complex primitive type into a simpler primitive type, for instance triangle strips to triangles, and returns a pointer to the new primitive definition. If the decomposition cannot be performed, this might return the original object.
This method is useful for application code that wants to iterate through the set of triangles on the primitive without having to write handlers for each possible kind of primitive type.

doubleside
ConstPointerTo< GeomPrimitive > GeomPrimitive::doubleside(void) const;

Description: Duplicates triangles in the primitive so that each triangle is back-to-back with another triangle facing in the opposite direction. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::doubleside()).
Also see CullFaceAttrib, which can enable rendering of both sides of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

getClassType
static TypeHandle GeomPrimitive::get_class_type(void);

Undocumented function.

getDataSizeBytes
int GeomPrimitive::get_data_size_bytes(void) const;

Description: Returns the number of bytes stored in the vertices array.

getFirstVertex
int GeomPrimitive::get_first_vertex(void) const;

Description: Returns the first vertex number referenced by the primitive. This is particularly important in the case of a nonindexed primitive, in which case get_first_vertex() and get_num_vertices() completely define the extent of the vertex range.

getGeomRendering
virtual int GeomPrimitive::get_geom_rendering(void) const;

Description: Returns the set of GeomRendering bits that represent the rendering properties required to properly render this primitive.

getIndexType
GeomEnums::NumericType GeomPrimitive::get_index_type(void) const;

Description: Returns the numeric type of the index column. Normally, this will be either NT_uint16 or NT_uint32.

getMaxVertex
int GeomPrimitive::get_max_vertex(void) const;

Description: Returns the maximum vertex index number used by all the primitives in this object.

getMinVertex
int GeomPrimitive::get_min_vertex(void) const;

Description: Returns the minimum vertex index number used by all the primitives in this object.

getModified
UpdateSeq GeomPrimitive::get_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the vertex index array is modified.

getNumBytes
int GeomPrimitive::get_num_bytes(void) const;

Description: Returns the number of bytes consumed by the primitive and its index table(s).

getNumFaces
int GeomPrimitive::get_num_faces(void) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by all the primitives in this object.

getNumPrimitives
int GeomPrimitive::get_num_primitives(void) const;

Description: Returns the number of individual primitives stored within this object. All primitives are the same type.

getNumVertices
int GeomPrimitive::get_num_vertices(void) const;

Description: Returns the number of vertex vertices used by all the primitives in this object.

getPrimitiveEnd
int GeomPrimitive::get_primitive_end(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive ends. This is one past the last valid element for the nth primitive.

getPrimitiveMaxVertex
int GeomPrimitive::get_primitive_max_vertex(int n) const;

Description: Returns the maximum vertex index number used by the nth primitive in this object.

getPrimitiveMinVertex
int GeomPrimitive::get_primitive_min_vertex(int n) const;

Description: Returns the minimum vertex index number used by the nth primitive in this object.

getPrimitiveNumFaces
int GeomPrimitive::get_primitive_num_faces(int n) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by the nth primitive in this object.

getPrimitiveNumVertices
int GeomPrimitive::get_primitive_num_vertices(int n) const;

Description: Returns the number of vertices used by the nth primitive. This is the same thing as get_primitive_end(n) - get_primitive_start(n).

getPrimitiveStart
int GeomPrimitive::get_primitive_start(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive starts.
If i is one more than the highest valid primitive vertex, the return value will be one more than the last valid vertex. Thus, it is generally true that the vertices used by a particular primitive i are the set get_primitive_start(n) <= vi < get_primitive_start(n + 1) (although this range also includes the unused vertices between primitives).

getPrimitiveType
virtual GeomEnums::PrimitiveType GeomPrimitive::get_primitive_type(void) const = 0;

Undocumented function.

getShadeModel
GeomEnums::ShadeModel GeomPrimitive::get_shade_model(void) const;

Description: Returns the ShadeModel hint for this primitive. This is intended as a hint to the renderer to tell it how the per-vertex colors and normals are applied.

getUsageHint
GeomEnums::UsageHint GeomPrimitive::get_usage_hint(void) const;

Description: Returns the usage hint for this primitive. See geomEnums.h. This has nothing to do with the usage hint associated with the primitive's vertices; this only specifies how often the vertex indices that define the primitive will be modified.
It is perfectly legal (and, in fact, common) for a GeomPrimitive to have UH_static on itself, while referencing vertex data with UH_dynamic. This means that the vertices themselves will be animated, but the primitive will always reference the same set of vertices from the pool.

getVertex
int GeomPrimitive::get_vertex(int i) const;

Description: Returns the ith vertex index in the table.

isComposite
bool GeomPrimitive::is_composite(void) const;

The following published methods are provided for safe, high-level iteration through the vertices and sub-primitives within the GeomPrimitive class. These work correctly regardless of the primitive type and without depending on knowledge about the way primitives' lengths are encoded. You can also safely build up a composite primitive using these methods.
Description: Returns true if the primitive is a composite primitive such as a tristrip or trifan, or false if it is a fundamental primitive such as a collection of triangles.

isIndexed
bool GeomPrimitive::is_indexed(void) const;

Description: Returns true if the primitive is indexed, false otherwise. An indexed primitive stores a table of index numbers into its GeomVertexData, so that it can reference the vertices in any order. A nonindexed primitive, on the other hand, stores only the first vertex number and number of vertices used, so that it can only reference the vertices consecutively.

makeCopy
virtual PointerTo< GeomPrimitive > GeomPrimitive::make_copy(void) const = 0;

Undocumented function.

makeIndexed
void GeomPrimitive::make_indexed(void);

Description: Converts the primitive from nonindexed form to indexed form. This will simply create an index table that is numbered consecutively from get_first_vertex(); it does not automatically collapse together identical vertices that may have been split apart by a previous call to make_nonindexed().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

makeNonindexed
void GeomPrimitive::make_nonindexed(GeomVertexData *dest, GeomVertexData const *source);

Description: Converts the primitive from indexed to nonindexed by duplicating vertices as necessary into the indicated dest GeomVertexData.

matchShadeModel
ConstPointerTo< GeomPrimitive > GeomPrimitive::match_shade_model(GeomEnums::ShadeModel shade_model) const;

Description: Returns a new primitive that is compatible with the indicated shade model, if possible, or NULL if this is not possible.
In most cases, this will return either NULL or the original primitive. In the case of a SM_flat_first_vertex vs. a SM_flat_last_vertex (or vice-versa), however, it will return a rotated primitive.

offsetVertices
void GeomPrimitive::offset_vertices(int offset);

Description: Adds the indicated offset to all vertices used by the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

operator =
void GeomPrimitive::operator =(GeomPrimitive const &copy);

Description: The copy assignment operator is not pipeline-safe. This will completely obliterate all stages of the pipeline, so don't do it for a GeomPrimitive that is actively being used for rendering.

operator delete
void GeomPrimitive::operator delete(void *ptr);

Undocumented function.

operator new
void *GeomPrimitive::operator new(unsigned int size);

Undocumented function.

output
virtual void GeomPrimitive::output(ostream &out) const;

Description:

packVertices
void GeomPrimitive::pack_vertices(GeomVertexData *dest, GeomVertexData const *source);

Description: Packs the vertices used by the primitive from the indicated source array onto the end of the indicated destination array.

requestResident
bool GeomPrimitive::request_resident(void) const;

Description: Returns true if the primitive data is currently resident in memory. If this returns false, the primitive data will be brought back into memory shortly; try again later.

reverse
ConstPointerTo< GeomPrimitive > GeomPrimitive::reverse(void) const;

Description: Reverses the winding order in the primitive so that each triangle is facing in the opposite direction it was originally. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::reverse()).
Also see CullFaceAttrib, which can change the visible direction of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

rotate
ConstPointerTo< GeomPrimitive > GeomPrimitive::rotate(void) const;

Description: Returns a new primitive with the shade_model reversed (if it is flat shaded), if possible. If the primitive type cannot be rotated, returns the original primitive, unrotated.
If the current shade_model indicates flat_vertex_last, this should bring the last vertex to the first position; if it indicates flat_vertex_first, this should bring the first vertex to the last position.

setIndexType
void GeomPrimitive::set_index_type(GeomEnums::NumericType index_type);

Description: Changes the numeric type of the index column. Normally, this should be either NT_uint16 or NT_uint32.
The index type must be large enough to include all of the index values in the primitive. It may be automatically elevated, if necessary, to a larger index type, by a subsequent call to add_index() that names an index value that does not fit in the index type you specify.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setShadeModel
void GeomPrimitive::set_shade_model(GeomEnums::ShadeModel shade_model);

Description: Changes the ShadeModel hint for this primitive. This is different from the ShadeModelAttrib that might also be applied from the scene graph. This does not affect the shade model that is in effect when rendering, but rather serves as a hint to the renderer to tell it how the per-vertex colors and normals on this primitive are applied.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setUsageHint
void GeomPrimitive::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Changes the UsageHint hint for this primitive. See get_usage_hint().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

validatePtr
static bool GeomPrimitive::validate_ptr(void const *ptr);

Undocumented function.

write
virtual void GeomPrimitive::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomTristrips

    from pandac.PandaModules import GeomTristrips
    Class : GeomTristrips
    Description : Defines a series of triangle strips.

Inheritance:

    GeomTristrips: GeomPrimitive
    GeomPrimitive: CopyOnWriteObject GeomEnums
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    GeomEnums:

Methods of GeomTristrips:

    GeomTristrips (Constructor)
    getClassType

Methods of GeomPrimitive:

    addConsecutiveVertices
    addNextVertices
    addVertex
    addVertices
    checkValid
    clearVertices
    closePrimitive
    decompose
    doubleside
    getClassType
    getDataSizeBytes
    getFirstVertex
    getGeomRendering
    getIndexType
    getMaxVertex
    getMinVertex
    getModified
    getNumBytes
    getNumFaces
    getNumPrimitives
    getNumVertices
    getPrimitiveEnd
    getPrimitiveMaxVertex
    getPrimitiveMinVertex
    getPrimitiveNumFaces
    getPrimitiveNumVertices
    getPrimitiveStart
    getPrimitiveType
    getShadeModel
    getUsageHint
    getVertex
    isComposite
    isIndexed
    makeCopy
    makeIndexed
    makeNonindexed
    matchShadeModel
    offsetVertices
    operator =
    operator delete
    operator new
    output
    packVertices
    requestResident
    reverse
    rotate
    setIndexType
    setShadeModel
    setUsageHint
    validatePtr
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomTristrips
GeomTristrips::GeomTristrips(GeomEnums::UsageHint usage_hint);

Description:

getClassType
static TypeHandle GeomTristrips::get_class_type(void);

Undocumented function.

addConsecutiveVertices
void GeomPrimitive::add_consecutive_vertices(int start, int num_vertices);

Description: Adds a consecutive sequence of vertices, beginning at start, to the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addNextVertices
void GeomPrimitive::add_next_vertices(int num_vertices);

Description: Adds the next n vertices in sequence, beginning from the last vertex added to the primitive + 1.
This is most useful when you are building up a primitive and a GeomVertexData at the same time, and you just want the primitive to reference the first n vertices from the data, then the next n, and so on.

addVertex
void GeomPrimitive::add_vertex(int vertex);

Description: Adds the indicated vertex to the list of vertex indices used by the graphics primitive type. To define a primitive, you must call add_vertex() for each vertex of the new primitive, and then call close_primitive() after you have specified the last vertex of each primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

addVertices
void GeomPrimitive::add_vertices(int v1, int v2);

Description: Adds several vertices in a row.

checkValid
bool GeomPrimitive::check_valid(GeomVertexData const *vertex_data) const;

Description: Verifies that the primitive only references vertices that actually exist within the indicated GeomVertexData. Returns true if the primitive appears to be valid, false otherwise.

clearVertices
void GeomPrimitive::clear_vertices(void);

Description: Removes all of the vertices and primitives from the object, so they can be re-added.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

closePrimitive
bool GeomPrimitive::close_primitive(void);

Description: Indicates that the previous n calls to add_vertex(), since the last call to close_primitive(), have fully defined a new primitive. Returns true if successful, false otherwise.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

decompose
ConstPointerTo< GeomPrimitive > GeomPrimitive::decompose(void) const;

Description: Decomposes a complex primitive type into a simpler primitive type, for instance triangle strips to triangles, and returns a pointer to the new primitive definition. If the decomposition cannot be performed, this might return the original object.
This method is useful for application code that wants to iterate through the set of triangles on the primitive without having to write handlers for each possible kind of primitive type.

doubleside
ConstPointerTo< GeomPrimitive > GeomPrimitive::doubleside(void) const;

Description: Duplicates triangles in the primitive so that each triangle is back-to-back with another triangle facing in the opposite direction. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::doubleside()).
Also see CullFaceAttrib, which can enable rendering of both sides of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

getClassType
static TypeHandle GeomPrimitive::get_class_type(void);

Undocumented function.

getDataSizeBytes
int GeomPrimitive::get_data_size_bytes(void) const;

Description: Returns the number of bytes stored in the vertices array.

getFirstVertex
int GeomPrimitive::get_first_vertex(void) const;

Description: Returns the first vertex number referenced by the primitive. This is particularly important in the case of a nonindexed primitive, in which case get_first_vertex() and get_num_vertices() completely define the extent of the vertex range.

getGeomRendering
virtual int GeomPrimitive::get_geom_rendering(void) const;

Description: Returns the set of GeomRendering bits that represent the rendering properties required to properly render this primitive.

getIndexType
GeomEnums::NumericType GeomPrimitive::get_index_type(void) const;

Description: Returns the numeric type of the index column. Normally, this will be either NT_uint16 or NT_uint32.

getMaxVertex
int GeomPrimitive::get_max_vertex(void) const;

Description: Returns the maximum vertex index number used by all the primitives in this object.

getMinVertex
int GeomPrimitive::get_min_vertex(void) const;

Description: Returns the minimum vertex index number used by all the primitives in this object.

getModified
UpdateSeq GeomPrimitive::get_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the vertex index array is modified.

getNumBytes
int GeomPrimitive::get_num_bytes(void) const;

Description: Returns the number of bytes consumed by the primitive and its index table(s).

getNumFaces
int GeomPrimitive::get_num_faces(void) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by all the primitives in this object.

getNumPrimitives
int GeomPrimitive::get_num_primitives(void) const;

Description: Returns the number of individual primitives stored within this object. All primitives are the same type.

getNumVertices
int GeomPrimitive::get_num_vertices(void) const;

Description: Returns the number of vertex vertices used by all the primitives in this object.

getPrimitiveEnd
int GeomPrimitive::get_primitive_end(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive ends. This is one past the last valid element for the nth primitive.

getPrimitiveMaxVertex
int GeomPrimitive::get_primitive_max_vertex(int n) const;

Description: Returns the maximum vertex index number used by the nth primitive in this object.

getPrimitiveMinVertex
int GeomPrimitive::get_primitive_min_vertex(int n) const;

Description: Returns the minimum vertex index number used by the nth primitive in this object.

getPrimitiveNumFaces
int GeomPrimitive::get_primitive_num_faces(int n) const;

Description: Returns the number of triangles or other fundamental type (such as line segments) represented by the nth primitive in this object.

getPrimitiveNumVertices
int GeomPrimitive::get_primitive_num_vertices(int n) const;

Description: Returns the number of vertices used by the nth primitive. This is the same thing as get_primitive_end(n) - get_primitive_start(n).

getPrimitiveStart
int GeomPrimitive::get_primitive_start(int n) const;

Description: Returns the element within the _vertices list at which the nth primitive starts.
If i is one more than the highest valid primitive vertex, the return value will be one more than the last valid vertex. Thus, it is generally true that the vertices used by a particular primitive i are the set get_primitive_start(n) <= vi < get_primitive_start(n + 1) (although this range also includes the unused vertices between primitives).

getPrimitiveType
virtual GeomEnums::PrimitiveType GeomPrimitive::get_primitive_type(void) const = 0;

Undocumented function.

getShadeModel
GeomEnums::ShadeModel GeomPrimitive::get_shade_model(void) const;

Description: Returns the ShadeModel hint for this primitive. This is intended as a hint to the renderer to tell it how the per-vertex colors and normals are applied.

getUsageHint
GeomEnums::UsageHint GeomPrimitive::get_usage_hint(void) const;

Description: Returns the usage hint for this primitive. See geomEnums.h. This has nothing to do with the usage hint associated with the primitive's vertices; this only specifies how often the vertex indices that define the primitive will be modified.
It is perfectly legal (and, in fact, common) for a GeomPrimitive to have UH_static on itself, while referencing vertex data with UH_dynamic. This means that the vertices themselves will be animated, but the primitive will always reference the same set of vertices from the pool.

getVertex
int GeomPrimitive::get_vertex(int i) const;

Description: Returns the ith vertex index in the table.

isComposite
bool GeomPrimitive::is_composite(void) const;

The following published methods are provided for safe, high-level iteration through the vertices and sub-primitives within the GeomPrimitive class. These work correctly regardless of the primitive type and without depending on knowledge about the way primitives' lengths are encoded. You can also safely build up a composite primitive using these methods.
Description: Returns true if the primitive is a composite primitive such as a tristrip or trifan, or false if it is a fundamental primitive such as a collection of triangles.

isIndexed
bool GeomPrimitive::is_indexed(void) const;

Description: Returns true if the primitive is indexed, false otherwise. An indexed primitive stores a table of index numbers into its GeomVertexData, so that it can reference the vertices in any order. A nonindexed primitive, on the other hand, stores only the first vertex number and number of vertices used, so that it can only reference the vertices consecutively.

makeCopy
virtual PointerTo< GeomPrimitive > GeomPrimitive::make_copy(void) const = 0;

Undocumented function.

makeIndexed
void GeomPrimitive::make_indexed(void);

Description: Converts the primitive from nonindexed form to indexed form. This will simply create an index table that is numbered consecutively from get_first_vertex(); it does not automatically collapse together identical vertices that may have been split apart by a previous call to make_nonindexed().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

makeNonindexed
void GeomPrimitive::make_nonindexed(GeomVertexData *dest, GeomVertexData const *source);

Description: Converts the primitive from indexed to nonindexed by duplicating vertices as necessary into the indicated dest GeomVertexData.

matchShadeModel
ConstPointerTo< GeomPrimitive > GeomPrimitive::match_shade_model(GeomEnums::ShadeModel shade_model) const;

Description: Returns a new primitive that is compatible with the indicated shade model, if possible, or NULL if this is not possible.
In most cases, this will return either NULL or the original primitive. In the case of a SM_flat_first_vertex vs. a SM_flat_last_vertex (or vice-versa), however, it will return a rotated primitive.

offsetVertices
void GeomPrimitive::offset_vertices(int offset);

Description: Adds the indicated offset to all vertices used by the primitive.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

operator =
void GeomPrimitive::operator =(GeomPrimitive const &copy);

Description: The copy assignment operator is not pipeline-safe. This will completely obliterate all stages of the pipeline, so don't do it for a GeomPrimitive that is actively being used for rendering.

operator delete
void GeomPrimitive::operator delete(void *ptr);

Undocumented function.

operator new
void *GeomPrimitive::operator new(unsigned int size);

Undocumented function.

output
virtual void GeomPrimitive::output(ostream &out) const;

Description:

packVertices
void GeomPrimitive::pack_vertices(GeomVertexData *dest, GeomVertexData const *source);

Description: Packs the vertices used by the primitive from the indicated source array onto the end of the indicated destination array.

requestResident
bool GeomPrimitive::request_resident(void) const;

Description: Returns true if the primitive data is currently resident in memory. If this returns false, the primitive data will be brought back into memory shortly; try again later.

reverse
ConstPointerTo< GeomPrimitive > GeomPrimitive::reverse(void) const;

Description: Reverses the winding order in the primitive so that each triangle is facing in the opposite direction it was originally. Note that this doesn't affect vertex normals, so this operation alone won't work in the presence of lighting (but see SceneGraphReducer::reverse()).
Also see CullFaceAttrib, which can change the visible direction of a triangle without having to duplicate it (but which doesn't necessarily work in the presence of lighting).

rotate
ConstPointerTo< GeomPrimitive > GeomPrimitive::rotate(void) const;

Description: Returns a new primitive with the shade_model reversed (if it is flat shaded), if possible. If the primitive type cannot be rotated, returns the original primitive, unrotated.
If the current shade_model indicates flat_vertex_last, this should bring the last vertex to the first position; if it indicates flat_vertex_first, this should bring the first vertex to the last position.

setIndexType
void GeomPrimitive::set_index_type(GeomEnums::NumericType index_type);

Description: Changes the numeric type of the index column. Normally, this should be either NT_uint16 or NT_uint32.
The index type must be large enough to include all of the index values in the primitive. It may be automatically elevated, if necessary, to a larger index type, by a subsequent call to add_index() that names an index value that does not fit in the index type you specify.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setShadeModel
void GeomPrimitive::set_shade_model(GeomEnums::ShadeModel shade_model);

Description: Changes the ShadeModel hint for this primitive. This is different from the ShadeModelAttrib that might also be applied from the scene graph. This does not affect the shade model that is in effect when rendering, but rather serves as a hint to the renderer to tell it how the per-vertex colors and normals on this primitive are applied.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setUsageHint
void GeomPrimitive::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Changes the UsageHint hint for this primitive. See get_usage_hint().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

validatePtr
static bool GeomPrimitive::validate_ptr(void const *ptr);

Undocumented function.

write
virtual void GeomPrimitive::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomVertexAnimationSpec

    from pandac.PandaModules import GeomVertexAnimationSpec
    Class : GeomVertexAnimationSpec
    Description : This object describes how the vertex animation, if any, represented in a GeomVertexData is encoded.
    Vertex animation includes soft-skinned skeleton animation and morphs (blend shapes), and might be performed on the CPU by Panda, or passed down to the graphics backed to be performed on the hardware (depending on the hardware's advertised capabilities).
    Changing this setting doesn't by itself change the way the animation is actually performed; this just specifies how the vertices are set up to be animated.

Inheritance:

    GeomVertexAnimationSpec: GeomEnums
    GeomEnums:

Methods of GeomVertexAnimationSpec:

    GeomVertexAnimationSpec (Constructor)
    getAnimationType
    getIndexedTransforms
    getNumTransforms
    operator =
    output
    setHardware
    setNone
    setPanda

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomVertexAnimationSpec
GeomVertexAnimationSpec::GeomVertexAnimationSpec(void);

Description:

getAnimationType
GeomEnums::AnimationType GeomVertexAnimationSpec::get_animation_type(void) const;

Description: Returns the type of animation represented by this spec.

getIndexedTransforms
bool GeomVertexAnimationSpec::get_indexed_transforms(void) const;

Description: This is only meaningful for animation_type AT_hardware. If true, it indicates that the format uses indexed animation tables. It is false if each vertex will reference the first _num_transforms table entries only.

getNumTransforms
int GeomVertexAnimationSpec::get_num_transforms(void) const;

Description: This is only meaningful for animation_type AT_hardware. It specifies the maximum number of transforms that might be simultaneously applied to any one vertex by the data in this format.

operator =
void GeomVertexAnimationSpec::operator =(GeomVertexAnimationSpec const &other);

Description:

output
void GeomVertexAnimationSpec::output(ostream &out) const;

Description:

setHardware
void GeomVertexAnimationSpec::set_hardware(int num_transforms, bool indexed_transforms);

Description: Specifies that vertex animation is to be performed by the graphics hardware (or at least by the graphics backend API, which is actually still free to animate the vertices on the CPU).
This is only legal if the graphics hardware can support the specified limits on number of transforms and/or indexed transforms. Also, no current graphics API's support morphing.

setNone
void GeomVertexAnimationSpec::set_none(void);

Description: Specifies that no vertex animation is represented by this spec.

setPanda
void GeomVertexAnimationSpec::set_panda(void);

Description: Specifies that vertex animation is to be performed by Panda. This is the most general setting and can handle any kind of vertex animation represented.


GeomVertexArrayData

    from pandac.PandaModules import GeomVertexArrayData
    Class : GeomVertexArrayData
    Description : This is the data for one array of a GeomVertexData structure. Many GeomVertexData structures will only define one array, with all data elements interleaved (DirectX 8.0 and before insisted on this format); some will define multiple arrays.
    DirectX calls this concept of one array a "stream". It also closely correlates with the concept of a vertex buffer.
    This object is just a block of data. In general, you should not be directly messing with this object from application code. See GeomVertexData for the organizing structure, and see GeomVertexReader/Writer/Rewriter for high-level tools to manipulate the actual vertex data.

Inheritance:

    GeomVertexArrayData: CopyOnWriteObject SimpleLruPage GeomEnums
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    SimpleLruPage: LinkedListNode
    LinkedListNode:
    GeomEnums:

Methods of GeomVertexArrayData:

    GeomVertexArrayData (Constructor)
    clearRows
    compareTo
    getArrayFormat
    getBook
    getClassType
    getDataSizeBytes
    getHandle
    getIndependentLru
    getModified
    getNumRows
    getSmallLru
    getUsageHint
    hasColumn
    isPrepared
    lruEpoch
    modifyHandle
    operator =
    operator delete
    operator new
    output
    prepare
    prepareNow
    release
    releaseAll
    requestResident
    setNumRows
    setUsageHint
    uncleanSetNumRows
    validatePtr
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of SimpleLruPage:

    SimpleLruPage (Constructor)
    dequeueLru
    enqueueLru
    evictLru
    getLru
    getLruSize
    markUsedLru
    operator =
    setLruSize

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomVertexArrayData
GeomVertexArrayData::GeomVertexArrayData(GeomVertexArrayFormat const *array_format, GeomEnums::UsageHint usage_hint);

Description: Constructs an invalid object. This is only used when reading from the bam file.
Description:

clearRows
void GeomVertexArrayData::clear_rows(void);

Description: Removes all of the rows in the array. Functionally equivalent to set_num_rows(0).

compareTo
int GeomVertexArrayData::compare_to(GeomVertexArrayData const &other) const;

Description: Returns 0 if the two arrays are equivalent, even if they are not the same pointer.

getArrayFormat
GeomVertexArrayFormat const *GeomVertexArrayData::get_array_format(void) const;

Description: Returns the format object that describes this array.

getBook
static VertexDataBook &GeomVertexArrayData::get_book(void);

Description: Returns the global VertexDataBook that will be used to allocate vertex data buffers.

getClassType
static TypeHandle GeomVertexArrayData::get_class_type(void);

Undocumented function.

getDataSizeBytes
int GeomVertexArrayData::get_data_size_bytes(void) const;

Description: Returns the number of bytes stored in the array.

getHandle
ConstPointerTo< GeomVertexArrayDataHandle > GeomVertexArrayData::get_handle(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns an object that can be used to read the actual data bytes stored in the array. Calling this method locks the data, and will block any other threads attempting to read or write the data, until the returned object destructs.

getIndependentLru
static SimpleLru *GeomVertexArrayData::get_independent_lru(void);

Description: Returns a pointer to the global LRU object that manages the GeomVertexArrayData's that have not (yet) been paged out.

getModified
UpdateSeq GeomVertexArrayData::get_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the array vertex data is modified.

getNumRows
int GeomVertexArrayData::get_num_rows(void) const;

Description: Returns the number of rows stored in the array, based on the number of bytes and the stride. This should be the same for all arrays within a given GeomVertexData object.

getSmallLru
static SimpleLru *GeomVertexArrayData::get_small_lru(void);

Description: Returns a pointer to the global LRU object that manages the GeomVertexArrayData's that are deemed too small to be paged out.

getUsageHint
GeomEnums::UsageHint GeomVertexArrayData::get_usage_hint(void) const;

Description: Returns the usage hint that describes to the rendering backend how often the vertex data will be modified and/or rendered. See geomEnums.h.

hasColumn
bool GeomVertexArrayData::has_column(InternalName const *name) const;

Description: Returns true if the array has the named column, false otherwise. This is really just a shortcut for asking the same thing from the format.

isPrepared
bool GeomVertexArrayData::is_prepared(PreparedGraphicsObjects *prepared_objects) const;

Description: Returns true if the data has already been prepared or enqueued for preparation on the indicated GSG, false otherwise.

lruEpoch
static void GeomVertexArrayData::lru_epoch(void);

Description: Marks that an epoch has passed in each LRU. Asks the LRU's to consider whether they should perform evictions.

modifyHandle
PointerTo< GeomVertexArrayDataHandle > GeomVertexArrayData::modify_handle(Thread *current_thread = ((get_current_thread())));

Description: Returns an object that can be used to read or write the actual data bytes stored in the array. Calling this method locks the data, and will block any other threads attempting to read or write the data, until the returned object destructs.

operator =
void GeomVertexArrayData::operator =(GeomVertexArrayData const &copy);

Description: The copy assignment operator is not pipeline-safe. This will completely obliterate all stages of the pipeline, so don't do it for a GeomVertexArrayData that is actively being used for rendering.

operator delete
void GeomVertexArrayData::operator delete(void *ptr);

Undocumented function.

operator new
void *GeomVertexArrayData::operator new(unsigned int size);

Undocumented function.

output
void GeomVertexArrayData::output(ostream &out) const;

Description:

prepare
void GeomVertexArrayData::prepare(PreparedGraphicsObjects *prepared_objects);

Description: Indicates that the data should be enqueued to be prepared in the indicated prepared_objects at the beginning of the next frame. This will ensure the data is already loaded into the GSG if it is expected to be rendered soon.
Use this function instead of prepare_now() to preload datas from a user interface standpoint.

prepareNow
VertexBufferContext *GeomVertexArrayData::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg);

Description: Creates a context for the data on the particular GSG, if it does not already exist. Returns the new (or old) VertexBufferContext. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new datas. If this is not necessarily the case, you should use prepare() instead.
Normally, this is not called directly except by the GraphicsStateGuardian; a data does not need to be explicitly prepared by the user before it may be rendered.

release
bool GeomVertexArrayData::release(PreparedGraphicsObjects *prepared_objects);

Description: Frees the data context only on the indicated object, if it exists there. Returns true if it was released, false if it had not been prepared.

releaseAll
int GeomVertexArrayData::release_all(void);

Description: Frees the context allocated on all objects for which the data has been declared. Returns the number of contexts which have been freed.

requestResident
bool GeomVertexArrayData::request_resident(void) const;

Description: Returns true if the vertex data is currently resident in memory. If this returns true, the next call to get_handle()->get_read_pointer() will probably not block. If this returns false, the vertex data will be brought back into memory shortly; try again later.

setNumRows
bool GeomVertexArrayData::set_num_rows(int n);

Description: Sets the length of the array to n rows.
Normally, you would not call this directly, since all of the arrays in a particular GeomVertexData must have the same number of rows; instead, call GeomVertexData::set_num_rows().
The return value is true if the number of rows was changed, false if the object already contained n rows (or if there was some error).
The new vertex data is initialized to 0, including the "color" column (but see GeomVertexData::set_num_rows()).
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setUsageHint
void GeomVertexArrayData::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Changes the UsageHint hint for this array. See get_usage_hint().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

uncleanSetNumRows
bool GeomVertexArrayData::unclean_set_num_rows(int n);

Description: This method behaves like set_num_rows(), except the new data is not initialized. Furthermore, after this call, *any* of the data in the GeomVertexArrayData may be uninitialized, including the earlier rows.
Normally, you would not call this directly, since all of the arrays in a particular GeomVertexData must have the same number of rows; instead, call GeomVertexData::unclean_set_num_rows().

validatePtr
static bool GeomVertexArrayData::validate_ptr(void const *ptr);

Undocumented function.

write
void GeomVertexArrayData::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

SimpleLruPage
SimpleLruPage::SimpleLruPage(unsigned int lru_size);

Description:

dequeueLru
void SimpleLruPage::dequeue_lru(void);

Description: Removes the page from its SimpleLru.

enqueueLru
void SimpleLruPage::enqueue_lru(SimpleLru *lru);

Description: Adds the page to the tail of the SimpleLru. When it reaches the head, it will be the next to be evicted.

evictLru
virtual void SimpleLruPage::evict_lru(void);

Description: Evicts the page from the LRU. Called internally when the LRU determines that it is full. May also be called externally when necessary to explicitly evict the page.
It is legal for this method to either evict the page as requested, do nothing (in which case the eviction will be requested again at the next epoch), or requeue itself on the tail of the queue (in which case the eviction will be requested again much later).

getLru
SimpleLru *SimpleLruPage::get_lru(void) const;

Description: Returns the LRU that manages this page, or NULL if it is not currently managed by any LRU.

getLruSize
unsigned int SimpleLruPage::get_lru_size(void) const;

Description: Returns the size of this page as reported to the LRU, presumably in bytes.

markUsedLru
void SimpleLruPage::mark_used_lru(void) const;

Description: To be called when the page is used; this will move it to the tail of the SimpleLru queue it is already on.
This method is const because it's not technically modifying the contents of the page itself.
Description: To be called when the page is used; this will move it to the tail of the specified SimpleLru queue.

operator =
void SimpleLruPage::operator =(SimpleLruPage const &copy);

Description:

setLruSize
void SimpleLruPage::set_lru_size(unsigned int lru_size);

Description: Specifies the size of this page, presumably in bytes, although any unit is possible.


GeomVertexArrayDataHandle

    from pandac.PandaModules import GeomVertexArrayDataHandle
    Class : GeomVertexArrayDataHandle
    Description : This data object is returned by GeomVertexArrayData::get_handle() or modify_handle(). As long as it exists, the data is locked; when the last of these destructs, the data is unlocked.
    Only one thread at a time may lock the data; other threads attempting to lock the data will block. A given thread may simultaneously lock the data multiple times.
    This class serves in lieu of a pair of GeomVertexArrayDataPipelineReader and GeomVertexArrayDataPipelineWriter classes

Inheritance:

    GeomVertexArrayDataHandle: ReferenceCount GeomEnums
    ReferenceCount: MemoryBase
    MemoryBase:
    GeomEnums:

Methods of GeomVertexArrayDataHandle:

    clearRows
    copyDataFrom
    copySubdataFrom
    getArrayFormat
    getClassType
    getData
    getDataSizeBytes
    getModified
    getNumRows
    getObject
    getSubdata
    getUsageHint
    markUsed
    requestResident
    setData
    setNumRows
    setSubdata
    uncleanSetNumRows

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
clearRows
void GeomVertexArrayDataHandle::clear_rows(void);

Description:

copyDataFrom
void GeomVertexArrayDataHandle::copy_data_from(GeomVertexArrayDataHandle const *other);

Description: Copies the entire data array from the other object.

copySubdataFrom
void GeomVertexArrayDataHandle::copy_subdata_from(unsigned int to_start, unsigned int to_size, GeomVertexArrayDataHandle const *other, unsigned int from_start, unsigned int from_size);

Description: Copies a portion of the data array from the other object into a portion of the data array of this object. If to_size != from_size, the size of this data array is adjusted accordingly.

getArrayFormat
GeomVertexArrayFormat const *GeomVertexArrayDataHandle::get_array_format(void) const;

Description:

getClassType
static TypeHandle GeomVertexArrayDataHandle::get_class_type(void);

Undocumented function.

getData
string GeomVertexArrayDataHandle::get_data(void) const;

Description: Returns the entire raw data of the GeomVertexArrayData object, formatted as a string. This is primarily for the benefit of high-level languages such as Python.

getDataSizeBytes
int GeomVertexArrayDataHandle::get_data_size_bytes(void) const;

Description:

getModified
UpdateSeq GeomVertexArrayDataHandle::get_modified(void) const;

Description:

getNumRows
int GeomVertexArrayDataHandle::get_num_rows(void) const;

Description:

getObject
GeomVertexArrayData const *GeomVertexArrayDataHandle::get_object(void) const;

Description:

getSubdata
string GeomVertexArrayDataHandle::get_subdata(unsigned int start, unsigned int size) const;

Description: Returns a subset of the raw data of the GeomVertexArrayData object, formatted as a string. This is primarily for the benefit of high-level languages such as Python.

getUsageHint
GeomEnums::UsageHint GeomVertexArrayDataHandle::get_usage_hint(void) const;

Description:

markUsed
void GeomVertexArrayDataHandle::mark_used(void) const;

Description: Marks the array data recently-used.

requestResident
bool GeomVertexArrayDataHandle::request_resident(void) const;

Description: Returns true if the vertex data is currently resident in memory. If this returns true, the next call to get_handle()->get_read_pointer() will probably not block. If this returns false, the vertex data will be brought back into memory shortly; try again later.

setData
void GeomVertexArrayDataHandle::set_data(string const &data);

Description: Replaces the entire raw data array with the contents of the indicated string. This is primarily for the benefit of high-level languages like Python.

setNumRows
bool GeomVertexArrayDataHandle::set_num_rows(int n);

Description:

setSubdata
void GeomVertexArrayDataHandle::set_subdata(unsigned int start, unsigned int size, string const &data);

Description: Replaces a portion of the data array from the indicated string. If size != data.size(), the size of this data array is adjusted accordingly.
This is primarily for the benefit of high-level languages like Python.

uncleanSetNumRows
bool GeomVertexArrayDataHandle::unclean_set_num_rows(int n);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomVertexArrayFormat

    from pandac.PandaModules import GeomVertexArrayFormat
    Class : GeomVertexArrayFormat
    Description : This describes the structure of a single array within a Geom data. See GeomVertexFormat for the parent class which collects together all of the individual GeomVertexArrayFormat objects.
    A particular array may include any number of standard or user-defined columns. All columns consist of a sequence of one or more numeric values, packed in any of a variety of formats; the semantic meaning of each column is defined in general with its contents member, and in particular by its name. The standard array types used most often are named "vertex", "normal", "texcoord", and "color"; other kinds of data may be piggybacked into the data record simply by choosing a unique name.

Inheritance:

    GeomVertexArrayFormat: TypedWritableReferenceCount GeomEnums
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    GeomEnums:

Methods of GeomVertexArrayFormat:

    GeomVertexArrayFormat (Constructor)
    addColumn
    clearColumns
    countUnusedSpace
    getClassType
    getColumn
    getNumColumns
    getPadTo
    getStride
    getTotalBytes
    hasColumn
    isDataSubsetOf
    isRegistered
    operator =
    output
    packColumns
    registerFormat
    removeColumn
    setStride
    unref
    write
    writeWithData

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomVertexArrayFormat
GeomVertexArrayFormat::GeomVertexArrayFormat(void);

Description:

addColumn
int GeomVertexArrayFormat::add_column(InternalName *name, int num_components, GeomEnums::NumericType numeric_type, GeomEnums::Contents contents, int start = (-1));

Description: Adds a new column to the specification. This is a table of per-vertex floating-point numbers such as "vertex" or "normal"; you must specify where in each record the table starts, and how many components (dimensions) exist per vertex.
The return value is the index number of the new data type.
Adding a column with the same name as a previous type, or that overlaps with one or more previous types, quietly removes the previous type(s).

clearColumns
void GeomVertexArrayFormat::clear_columns(void);

Description: Removes all columns previously added, sets the stride to zero, and prepares to start over.

countUnusedSpace
int GeomVertexArrayFormat::count_unused_space(void) const;

Description: Returns the number of bytes per row that are not assigned to any column.

getClassType
static TypeHandle GeomVertexArrayFormat::get_class_type(void);

Undocumented function.

getColumn
GeomVertexColumn const *GeomVertexArrayFormat::get_column(int i) const;

Description: Returns the ith column of the array.
Description: Returns the specification with the indicated name, or NULL if the name is not used.
Description: Returns the first specification that overlaps with any of the indicated bytes in the range, or NULL if none do.

getNumColumns
int GeomVertexArrayFormat::get_num_columns(void) const;

Description: Returns the number of different columns in the array.

getPadTo
int GeomVertexArrayFormat::get_pad_to(void) const;

Description: Returns the byte divisor to which the data record must be padded to meet hardware limitations. For instance, if this is 4, the stride will be automatically rounded up to the next multiple of 4 bytes.

getStride
int GeomVertexArrayFormat::get_stride(void) const;

Description: Returns the total number of bytes reserved in the array for each vertex.

getTotalBytes
int GeomVertexArrayFormat::get_total_bytes(void) const;

Description: Returns the total number of bytes used by the data types within the format, including gaps between elements.

hasColumn
bool GeomVertexArrayFormat::has_column(InternalName const *name) const;

Description: Returns true if the array has the named column, false otherwise.

isDataSubsetOf
bool GeomVertexArrayFormat::is_data_subset_of(GeomVertexArrayFormat const &other) const;

Description: Returns true if all of the fields in this array format are also present and equivalent in the other array format, and in the same byte positions, and the stride is the same. That is, true if this format can share the same data pointer as the other format (with possibly some unused gaps).

isRegistered
bool GeomVertexArrayFormat::is_registered(void) const;

Description: Returns true if this format has been registered, false if it has not. It may not be used for a Geom until it has been registered, but once registered, it may no longer be modified.

operator =
void GeomVertexArrayFormat::operator =(GeomVertexArrayFormat const &copy);

Description:

output
void GeomVertexArrayFormat::output(ostream &out) const;

Description:

packColumns
void GeomVertexArrayFormat::pack_columns(void);

Description: Removes wasted space between columns.

registerFormat
static ConstPointerTo< GeomVertexArrayFormat > GeomVertexArrayFormat::register_format(GeomVertexArrayFormat const *format);

Description: Adds the indicated format to the registry, if there is not an equivalent format already there; in either case, returns the pointer to the equivalent format now in the registry.
This is similar to GeomVertexFormat::register_format(), except that you generally need not call it explicitly. Calling GeomVertexFormat::register_format() automatically registers all of the nested array formats.

removeColumn
void GeomVertexArrayFormat::remove_column(InternalName const *name);

Description: Removes the column with the indicated name, if any. This leaves a gap in the byte structure.

setStride
void GeomVertexArrayFormat::set_stride(int stride);

Description: Changes the total number of bytes reserved in the array for each vertex.

unref
bool GeomVertexArrayFormat::unref(void) const;

Description: This method overrides ReferenceCount::unref() to unregister the object when its reference count goes to zero.

write
void GeomVertexArrayFormat::write(ostream &out, int indent_level = (0)) const;

Description:

writeWithData
void GeomVertexArrayFormat::write_with_data(ostream &out, int indent_level, GeomVertexArrayData const *array_data) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomVertexColumn

    from pandac.PandaModules import GeomVertexColumn
    Class : GeomVertexColumn
    Description : This defines how a single column is interleaved within a vertex array stored within a Geom. The GeomVertexArrayFormat class maintains a list of these to completely define a particular array structure.

Inheritance:

    GeomVertexColumn: GeomEnums
    GeomEnums:

Methods of GeomVertexColumn:

    GeomVertexColumn (Constructor)
    getComponentBytes
    getContents
    getName
    getNumComponents
    getNumericType
    getNumValues
    getStart
    getTotalBytes
    hasHomogeneousCoord
    isBytewiseEquivalent
    operator =
    output
    overlapsWith

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomVertexColumn
GeomVertexColumn::GeomVertexColumn(InternalName *name, int num_components, GeomEnums::NumericType numeric_type, GeomEnums::Contents contents, int start);

Description: Creates an invalid column. Used on when constructing from a bam file.
Description:

getComponentBytes
int GeomVertexColumn::get_component_bytes(void) const;

Description: Returns the number of bytes used by each component (that is, by one element of the numeric type).

getContents
GeomEnums::Contents GeomVertexColumn::get_contents(void) const;

Description: Returns the token representing the semantic meaning of the stored value.

getName
InternalName *GeomVertexColumn::get_name(void) const;

Description: Returns the name of this particular data field, e.g. "vertex" or "normal". The name may be a user-defined string, or it may be one of the standard system-defined field types. Only the system-defined field types are used for the actual rendering.

getNumComponents
int GeomVertexColumn::get_num_components(void) const;

Description: Returns the number of components of the column: the number of instances of the NumericType in each element. This is usually, but not always, the same thing as get_num_values().

getNumericType
GeomEnums::NumericType GeomVertexColumn::get_numeric_type(void) const;

Description: Returns the token representing the numeric type of the data storage.

getNumValues
int GeomVertexColumn::get_num_values(void) const;

Description: Returns the number of numeric values of the column: the number of distinct numeric values that go into each element. This is usually, but not always, the same thing as get_num_components(); the difference is in the case of a composite numeric type like NT_packed_dcba, which has four numeric values per component.

getStart
int GeomVertexColumn::get_start(void) const;

Description: Returns the byte within the array record at which this column starts. This can be set to non-zero to implement interleaved arrays.

getTotalBytes
int GeomVertexColumn::get_total_bytes(void) const;

Description: Returns the number of bytes used by each element of the column: component_bytes * num_components.

hasHomogeneousCoord
bool GeomVertexColumn::has_homogeneous_coord(void) const;

Description: Returns true if this Contents type is one that includes a homogeneous coordinate in the fourth component, or false otherwise. If this is true, correct operation on the vertex data may require scaling by the homogeneous coordinate from time to time (but in general this is handled automatically if you use the 3-component or smaller forms of get_data() and set_data()).

isBytewiseEquivalent
bool GeomVertexColumn::is_bytewise_equivalent(GeomVertexColumn const &other) const;

Description: Returns true if the data store of this column is exactly the same as that of the other, irrespective of name or start position within the record.

operator =
void GeomVertexColumn::operator =(GeomVertexColumn const &copy);

Description:

output
void GeomVertexColumn::output(ostream &out) const;

Description:

overlapsWith
bool GeomVertexColumn::overlaps_with(int start_byte, int num_bytes) const;

Description: Returns true if this column overlaps with any of the bytes in the indicated range, false if it does not.


GeomVertexData

    from pandac.PandaModules import GeomVertexData
    Class : GeomVertexData
    Description : This defines the actual numeric vertex data stored in a Geom, in the structure defined by a particular GeomVertexFormat object.
    The data consists of one or more arrays, each of which in turn consists of a series of rows, one per vertex. All arrays should have the same number of rows; each vertex is defined by the column data from a particular row across all arrays.
    Often, there will be only one array per Geom, and the various columns defined in the GeomVertexFormat will be interleaved within that array. However, it is also possible to have multiple different arrays, with a certain subset of the total columns defined in each array.
    However the data is distributed, the effect is of a single table of vertices, where each vertex is represented by one row of the table.
    In general, application code should not attempt to directly manipulate the vertex data through this structure; instead, use the GeomVertexReader, GeomVertexWriter, and GeomVertexRewriter objects to read and write vertex data at a high level.

Inheritance:

    GeomVertexData: CopyOnWriteObject GeomEnums
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    GeomEnums:

Methods of GeomVertexData:

    GeomVertexData (Constructor)
    animateVertices
    clearCache
    clearCacheStage
    clearRows
    clearSliderTable
    clearTransformBlendTable
    clearTransformTable
    compareTo
    convertTo
    copyFrom
    copyRowFrom
    getArray
    getClassType
    getFormat
    getModified
    getName
    getNumArrays
    getNumBytes
    getNumRows
    getSliderTable
    getTransformBlendTable
    getTransformTable
    getUsageHint
    hasColumn
    modifyArray
    modifyTransformBlendTable
    operator =
    operator delete
    operator new
    output
    replaceColumn
    requestResident
    reverseNormals
    scaleColor
    setArray
    setColor
    setFormat
    setName
    setNumRows
    setSliderTable
    setTransformBlendTable
    setTransformTable
    setUsageHint
    uncleanSetNumRows
    validatePtr
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomVertexData
GeomVertexData::GeomVertexData(string const &name, GeomVertexFormat const *format, GeomEnums::UsageHint usage_hint);

Description: Constructs an invalid object. This is only used when reading from the bam file.
Description:
Description: This constructor copies all of the basic properties of the source VertexData, like usage_hint and animation tables, but does not copy the actual data, and it allows you to specify a different format.

animateVertices
ConstPointerTo< GeomVertexData > GeomVertexData::animate_vertices(bool force, Thread *current_thread) const;

Description: Returns a GeomVertexData that represents the results of computing the vertex animation on the CPU for this GeomVertexData.
If there is no CPU-defined vertex animation on this object, this just returns the original object.
If there is vertex animation, but the VertexTransform values have not changed since last time, this may return the same pointer it returned previously. Even if the VertexTransform values have changed, it may still return the same pointer, but with its contents modified (this is preferred, since it allows the graphics backend to update vertex buffers optimally).
If force is false, this method may return immediately with stale data, if the vertex data is not completely resident. If force is true, this method will never return stale data, but may block until the data is available.

clearCache
void GeomVertexData::clear_cache(void);

Description: Removes all of the previously-cached results of convert_to().
This blows away the entire cache, upstream and downstream the pipeline. Use clear_cache_stage() instead if you only want to blow away the cache at the current stage and upstream.

clearCacheStage
void GeomVertexData::clear_cache_stage(void);

Description: Removes all of the previously-cached results of convert_to(), at the current pipeline stage and upstream. Does not affect the downstream cache.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

clearRows
void GeomVertexData::clear_rows(void);

Description: Removes all of the rows from the arrays; functionally equivalent to set_num_rows(0) (but faster).
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

clearSliderTable
void GeomVertexData::clear_slider_table(void);

Description: Sets the SliderTable pointer to NULL, removing the table from the vertex data. This disables morph (blend shape) animation.

clearTransformBlendTable
void GeomVertexData::clear_transform_blend_table(void);

Description: Sets the TransformBlendTable pointer to NULL, removing the table from the vertex data. This disables CPU-driven vertex animation.

clearTransformTable
void GeomVertexData::clear_transform_table(void);

Description: Sets the TransformTable pointer to NULL, removing the table from the vertex data. This disables hardware-driven vertex animation.

compareTo
int GeomVertexData::compare_to(GeomVertexData const &other) const;

Description: Returns 0 if the two objects are equivalent, even if they are not the same pointer.

convertTo
ConstPointerTo< GeomVertexData > GeomVertexData::convert_to(GeomVertexFormat const *new_format) const;

Description: Returns a new GeomVertexData that represents the same contents as this one, with all data types matched up name-by-name to the indicated new format.

copyFrom
void GeomVertexData::copy_from(GeomVertexData const *source, bool keep_data_objects, Thread *current_thread = ((get_current_thread())));

Description: Copies all the data from the other array into the corresponding data types in this array, by matching data types name-by-name.
keep_data_objects specifies what to do when one or more of the arrays can be copied without the need to apply any conversion operation. If it is true, the original GeomVertexArrayData objects in this object are retained, and their data arrays are copied byte-by-byte from the source; if it is false, then the GeomVertexArrayData objects are copied pointerwise from the source.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

copyRowFrom
void GeomVertexData::copy_row_from(int dest_row, GeomVertexData const *source, int source_row, Thread *current_thread);

Description: Copies a single row of the data from the other array into the indicated row of this array. In this case, the source format must exactly match the destination format.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

getArray
ConstPointerTo< GeomVertexArrayData > GeomVertexData::get_array(int i) const;

Description: Returns a const pointer to the vertex data for the indicated array, for application code to directly examine (but not modify) the underlying vertex data.

getClassType
static TypeHandle GeomVertexData::get_class_type(void);

Undocumented function.

getFormat
GeomVertexFormat const *GeomVertexData::get_format(void) const;

Description: Returns a pointer to the GeomVertexFormat structure that defines this data.

getModified
UpdateSeq GeomVertexData::get_modified(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a sequence number which is guaranteed to change at least every time the vertex data is modified.

getName
string const &GeomVertexData::get_name(void) const;

Description: Returns the name passed to the constructor, if any. This name is reported on the PStats graph for vertex computations.

getNumArrays
int GeomVertexData::get_num_arrays(void) const;

Description: Returns the number of individual arrays stored within the data. This must match get_format()->get_num_arrays().

getNumBytes
int GeomVertexData::get_num_bytes(void) const;

Description: Returns the total number of bytes consumed by the different arrays of the vertex data.

getNumRows
int GeomVertexData::get_num_rows(void) const;

Description: Returns the number of rows stored within all the arrays. All arrays store data for the same n rows.

getSliderTable
SliderTable const *GeomVertexData::get_slider_table(void) const;

Description: Returns a const pointer to the SliderTable assigned to this data. Vertices within the vertex data will look up their morph offsets, if any, within this table.
This will return NULL if the vertex data does not have a SliderTable assigned.

getTransformBlendTable
ConstPointerTo< TransformBlendTable > GeomVertexData::get_transform_blend_table(void) const;

Description: Returns a const pointer to the TransformBlendTable assigned to this data. Vertices within the table will index into this table to indicate their dynamic skinning information; this table is used when the vertex animation is to be performed by the CPU (but also see get_transform_table()).
This will return NULL if the vertex data does not have a TransformBlendTable assigned (which implies the vertices will not be animated by the CPU).

getTransformTable
TransformTable const *GeomVertexData::get_transform_table(void) const;

Description: Returns a const pointer to the TransformTable assigned to this data. Vertices within the table will index into this table to indicate their dynamic skinning information; this table is used when the vertex animation is to be performed by the graphics hardware (but also see get_transform_blend_table()).
This will return NULL if the vertex data does not have a TransformTable assigned (which implies the vertices will not be animated by the graphics hardware).

getUsageHint
GeomEnums::UsageHint GeomVertexData::get_usage_hint(void) const;

Description: Returns the usage hint that was passed to the constructor, and which will be passed to each array data object created initially, and arrays created as the result of a convert_to() operation. See geomEnums.h.
However, each individual array may be replaced with a different array object with an independent usage hint specified, so there is no guarantee that the individual arrays all have the same usage_hint.

hasColumn
bool GeomVertexData::has_column(InternalName const *name) const;

Description: Returns true if the data has the named column, false otherwise. This is really just a shortcut for asking the same thing from the format.

modifyArray
PointerTo< GeomVertexArrayData > GeomVertexData::modify_array(int i);

Description: Returns a modifiable pointer to the indicated vertex array, so that application code may directly manipulate the data. You should avoid changing the length of this array, since all of the arrays should be kept in sync--use set_num_rows() instead.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

modifyTransformBlendTable
PointerTo< TransformBlendTable > GeomVertexData::modify_transform_blend_table(void);

Description: Returns a modifiable pointer to the current TransformBlendTable on this vertex data, if any, or NULL if there is not a TransformBlendTable. See get_transform_blend_table().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

operator =
void GeomVertexData::operator =(GeomVertexData const &copy);

Description: The copy assignment operator is not pipeline-safe. This will completely obliterate all stages of the pipeline, so don't do it for a GeomVertexData that is actively being used for rendering.

operator delete
void GeomVertexData::operator delete(void *ptr);

Undocumented function.

operator new
void *GeomVertexData::operator new(unsigned int size);

Undocumented function.

output
void GeomVertexData::output(ostream &out) const;

Description:

replaceColumn
PointerTo< GeomVertexData > GeomVertexData::replace_column(InternalName *name, int num_components, GeomEnums::NumericType numeric_type, GeomEnums::Contents contents) const;

Description: Returns a new GeomVertexData object, suitable for modification, with the indicated data type replaced with a new table filled with undefined values. The new table will be added as a new array; if the old table was interleaved with a previous array, the previous array will not be repacked.
If num_components is 0, the indicated name is simply removed from the type, without replacing it with anything else.

requestResident
bool GeomVertexData::request_resident(void) const;

Description: Returns true if the vertex data is currently resident in memory. If this returns false, the vertex data will be brought back into memory shortly; try again later.

reverseNormals
ConstPointerTo< GeomVertexData > GeomVertexData::reverse_normals(void) const;

Description: Returns a new GeomVertexData object with the normal data modified in-place, so that each lighting normal is now facing in the opposite direction.
If the vertex data does not include a normal column, this returns the original GeomVertexData object, unchanged.

scaleColor
ConstPointerTo< GeomVertexData > GeomVertexData::scale_color(LVecBase4f const &color_scale) const;

Description: Returns a new GeomVertexData object with the color table modified in-place to apply the indicated scale.
If the vertex data does not include a color column, a new one will not be added.
Description: Returns a new GeomVertexData object with the color table replaced with a new color table that has been scaled by the indicated value. The new color table will be added as a new array; if the old color table was interleaved with a previous array, the previous array will not be repacked.

setArray
void GeomVertexData::set_array(int i, GeomVertexArrayData const *array);

Description: Replaces the indicated vertex data array with a completely new array. You should be careful that the new array has the same length and format as the old one, unless you know what you are doing.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setColor
ConstPointerTo< GeomVertexData > GeomVertexData::set_color(LVecBase4f const &color) const;

Description: Returns a new GeomVertexData object with the color data modified in-place with the new value.
If the vertex data does not include a color column, a new one will not be added.
Description: Returns a new GeomVertexData object with the color table replaced with a new color table for which each vertex has the indicated value. The new color table will be added as a new array; if the old color table was interleaved with a previous array, the previous array will not be repacked.

setFormat
void GeomVertexData::set_format(GeomVertexFormat const *format);

Description: Changes the format of the vertex data. If the data is not empty, this will implicitly change every row to match the new format.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setName
void GeomVertexData::set_name(string const &name);

Description: Changes the name of the vertex data. This name is reported on the PStats graph for vertex computations.

setNumRows
bool GeomVertexData::set_num_rows(int n);

Description: Sets the length of the array to n rows in all of the various arrays (presumably by adding rows).
The new vertex data is initialized to 0, except for the "color" column, which is initialized to (1, 1, 1, 1).
The return value is true if the number of rows was changed, false if the object already contained n rows (or if there was some error).
Although this method is Published, application code only very rarely has any need to call it. Instead, you should use the GeomVertexWriter to build up the rows in a GeomVertexData object automatically, without need to explicitly set the number of rows.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setSliderTable
void GeomVertexData::set_slider_table(SliderTable const *table);

Description: Replaces the SliderTable on this vertex data with the indicated table. There should be an entry in this table for each kind of morph offset defined in the vertex data.
The SliderTable object must have been registered prior to setting it on the GeomVertexData.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setTransformBlendTable
void GeomVertexData::set_transform_blend_table(TransformBlendTable const *table);

Description: Replaces the TransformBlendTable on this vertex data with the indicated table. The length of this table should be consistent with the maximum table index assigned to the vertices under the "transform_blend" name.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setTransformTable
void GeomVertexData::set_transform_table(TransformTable const *table);

Description: Replaces the TransformTable on this vertex data with the indicated table. The length of this table should be consistent with the maximum table index assigned to the vertices under the "transform_index" name.
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

setUsageHint
void GeomVertexData::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Changes the UsageHint hint for this vertex data, and for all of the arrays that share this data. See get_usage_hint().
Don't call this in a downstream thread unless you don't mind it blowing away other changes you might have recently made in an upstream thread.

uncleanSetNumRows
bool GeomVertexData::unclean_set_num_rows(int n);

Description: This method behaves like set_num_rows(), except the new data is not initialized. Furthermore, after this call, *any* of the data in the GeomVertexData may be uninitialized, including the earlier rows.
This is intended for applications that are about to completely fill the GeomVertexData with new data anyway; it provides a tiny performance boost over set_num_rows().
Although this method is Published, application code only very rarely has any need to call it. Instead, you should use the GeomVertexWriter to build up the rows in a GeomVertexData object automatically, without need to explicitly set the number of rows.

validatePtr
static bool GeomVertexData::validate_ptr(void const *ptr);

Undocumented function.

write
void GeomVertexData::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomVertexFormat

    from pandac.PandaModules import GeomVertexFormat
    Class : GeomVertexFormat
    Description : This class defines the physical layout of the vertex data stored within a Geom. The layout consists of a list of named columns, each of which has a numeric type and a size.
    The columns are typically interleaved within a single array, but they may also be distributed among multiple different arrays; at the extreme, each column may be alone within its own array (which amounts to a parallel-array definition).
    Thus, a GeomVertexFormat is really a list of GeomVertexArrayFormats, each of which contains a list of columns. However, a particular column name should not appear more than once in the format, even between different arrays.
    There are a handful of standard pre-defined GeomVertexFormat objects, or you may define your own as needed. You may record any combination of standard and/or user-defined columns in your custom GeomVertexFormat constructions.

Inheritance:

    GeomVertexFormat: TypedWritableReferenceCount GeomEnums
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    GeomEnums:

Methods of GeomVertexFormat:

    GeomVertexFormat (Constructor)
    addArray
    clearArrays
    getAnimation
    getArray
    getArrayWith
    getClassType
    getColumn
    getMorphBase
    getMorphDelta
    getMorphSlider
    getNumArrays
    getNumColumns
    getNumMorphs
    getNumPoints
    getNumTexcoords
    getNumVectors
    getPoint
    getPostAnimatedFormat
    getTexcoord
    getUnionFormat
    getV3
    getV3c4
    getV3c4t2
    getV3cp
    getV3cpt2
    getV3n3
    getV3n3c4
    getV3n3c4t2
    getV3n3cp
    getV3n3cpt2
    getV3n3t2
    getV3t2
    getVector
    hasColumn
    insertArray
    isRegistered
    modifyArray
    operator =
    output
    packColumns
    registerFormat
    removeArray
    removeColumn
    setAnimation
    setArray
    unref
    write
    writeWithData

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomVertexFormat
GeomVertexFormat::GeomVertexFormat(void);

Description:

addArray
int GeomVertexFormat::add_array(GeomVertexArrayFormat const *array_format);

Description: Adds the indicated array definition to the list of arrays included within this vertex format definition. The return value is the index number of the new array.
This may not be called once the format has been registered.

clearArrays
void GeomVertexFormat::clear_arrays(void);

Description: Removes all of the array definitions from the format and starts over.
This may not be called once the format has been registered.

getAnimation
GeomVertexAnimationSpec const &GeomVertexFormat::get_animation(void) const;

Description: Returns the GeomVertexAnimationSpec that indicates how this format's vertices are set up for animation.

getArray
GeomVertexArrayFormat const *GeomVertexFormat::get_array(int array) const;

Description: Returns the description of the nth array used by the format.

getArrayWith
int GeomVertexFormat::get_array_with(int i) const;

Description: Returns the index number of the array with the ith column.
The return value can be passed to get_array_format() to get the format of the array. It may also be passed to GeomVertexData::get_array_data() or get_data() or set_data() to manipulate the actual array data.
Description: Returns the index number of the array with the indicated column, or -1 if no arrays contained that name.
This may only be called after the format has been registered.

getClassType
static TypeHandle GeomVertexFormat::get_class_type(void);

Undocumented function.

getColumn
GeomVertexColumn const *GeomVertexFormat::get_column(int i) const;

Description: Returns the ith column of the specification, across all arrays.
Description: Returns the specification with the indicated name, or NULL if the name is not used. Use get_array_with() to determine which array this column is associated with.

getMorphBase
InternalName const *GeomVertexFormat::get_morph_base(int n) const;

Description: Returns the name of the base column that the nth morph modifies. This column will also be defined within the format, and can be retrieved via get_array_with() and/or get_column().
This may only be called after the format has been registered.

getMorphDelta
InternalName const *GeomVertexFormat::get_morph_delta(int n) const;

Description: Returns the name of the column that defines the nth morph. This contains the delta offsets that are to be applied to the column defined by get_morph_base(). This column will be defined within the format, and can be retrieved via get_array_with() and/or get_column().
This may only be called after the format has been registered.

getMorphSlider
InternalName const *GeomVertexFormat::get_morph_slider(int n) const;

Description: Returns the slider name associated with the nth morph column. This is the name of the slider that will control the morph, and should be defined within the SliderTable associated with the GeomVertexData.
This may only be called after the format has been registered.

getNumArrays
int GeomVertexFormat::get_num_arrays(void) const;

Description: Returns the number of individual arrays required by the format. If the array data is completely interleaved, this will be 1; if it is completely parallel, this will be the same as the number of data types.

getNumColumns
int GeomVertexFormat::get_num_columns(void) const;

Description: Returns the total number of different columns in the specification, across all arrays.

getNumMorphs
int GeomVertexFormat::get_num_morphs(void) const;

Description: Returns the number of columns within the format that represent morph deltas.
This may only be called after the format has been registered.

getNumPoints
int GeomVertexFormat::get_num_points(void) const;

Description: Returns the number of columns within the format that represent points in space.
This may only be called after the format has been registered.

getNumTexcoords
int GeomVertexFormat::get_num_texcoords(void) const;

Description: Returns the number of columns within the format that represent texture coordinates.
This may only be called after the format has been registered.

getNumVectors
int GeomVertexFormat::get_num_vectors(void) const;

Description: Returns the number of columns within the format that represent directional vectors.
This may only be called after the format has been registered.

getPoint
InternalName const *GeomVertexFormat::get_point(int n) const;

Description: Returns the name of the nth point column. This represents a point in space, which should be transformed by any spatial transform matrix.
This may only be called after the format has been registered.

getPostAnimatedFormat
ConstPointerTo< GeomVertexFormat > GeomVertexFormat::get_post_animated_format(void) const;

Description: Returns a suitable vertex format for sending the animated vertices to the graphics backend. This is the same format as the source format, with the CPU-animation data elements removed.
This may only be called after the format has been registered. The return value will have been already registered.

getTexcoord
InternalName const *GeomVertexFormat::get_texcoord(int n) const;

Description: Returns the name of the nth texcoord column. This represents a texture coordinate.
This may only be called after the format has been registered.

getUnionFormat
ConstPointerTo< GeomVertexFormat > GeomVertexFormat::get_union_format(GeomVertexFormat const *other) const;

Description: Returns a new GeomVertexFormat that includes all of the columns defined in either this GeomVertexFormat or the other one. If any column is defined in both formats with different sizes (for instance, texcoord2 vs. texcoord3), the new format will include the larger of the two definitions.
This may only be called after both source formats have been registered. The return value will also have been already registered.

getV3
static GeomVertexFormat const *GeomVertexFormat::get_v3(void);

Some standard vertex formats. No particular requirement to use one of these, but the DirectX renderers can use these formats directly, whereas any other format will have to be converted first.
Description: Returns a standard vertex format with just a 3-component vertex position.

getV3c4
static GeomVertexFormat const *GeomVertexFormat::get_v3c4(void);

These formats, with an OpenGL-style four-byte color, are not supported directly by DirectX. If you use them, the DXGraphicsStateGuardian will automatically convert to DirectX form (with a larger runtime overhead, since DirectX8, and old DirectX9 drivers, require everything to be interleaved together).
Description: Returns a standard vertex format with a 4-component color and a 3-component vertex position.

getV3c4t2
static GeomVertexFormat const *GeomVertexFormat::get_v3c4t2(void);

These formats, with an OpenGL-style four-byte color, are not supported directly by DirectX. If you use them, the DXGraphicsStateGuardian will automatically convert to DirectX form (with a larger runtime overhead, since DirectX8, and old DirectX9 drivers, require everything to be interleaved together).
Description: Returns a standard vertex format with a 2-component texture coordinate pair, a 4-component color, and a 3-component vertex position.

getV3cp
static GeomVertexFormat const *GeomVertexFormat::get_v3cp(void);

These formats, with the DirectX-style packed color, are not supported directly by OpenGL. If you use them, the GLGraphicsStateGuardian will automatically convert to OpenGL form (with a small runtime overhead).
Description: Returns a standard vertex format with a packed color and a 3-component vertex position.

getV3cpt2
static GeomVertexFormat const *GeomVertexFormat::get_v3cpt2(void);

These formats, with the DirectX-style packed color, are not supported directly by OpenGL. If you use them, the GLGraphicsStateGuardian will automatically convert to OpenGL form (with a small runtime overhead).
Description: Returns a standard vertex format with a 2-component texture coordinate pair, a packed color, and a 3-component vertex position.

getV3n3
static GeomVertexFormat const *GeomVertexFormat::get_v3n3(void);

Some standard vertex formats. No particular requirement to use one of these, but the DirectX renderers can use these formats directly, whereas any other format will have to be converted first.
Description: Returns a standard vertex format with a 3-component normal and a 3-component vertex position.

getV3n3c4
static GeomVertexFormat const *GeomVertexFormat::get_v3n3c4(void);

Description: Returns a standard vertex format with a 4-component color, a 3-component normal, and a 3-component vertex position.

getV3n3c4t2
static GeomVertexFormat const *GeomVertexFormat::get_v3n3c4t2(void);

Description: Returns a standard vertex format with a 2-component texture coordinate pair, a 4-component color, a 3-component normal, and a 3-component vertex position.

getV3n3cp
static GeomVertexFormat const *GeomVertexFormat::get_v3n3cp(void);

Description: Returns a standard vertex format with a packed color, a 3-component normal, and a 3-component vertex position.

getV3n3cpt2
static GeomVertexFormat const *GeomVertexFormat::get_v3n3cpt2(void);

Description: Returns a standard vertex format with a 2-component texture coordinate pair, a packed color, a 3-component normal, and a 3-component vertex position.

getV3n3t2
static GeomVertexFormat const *GeomVertexFormat::get_v3n3t2(void);

Description: Returns a standard vertex format with a 2-component texture coordinate pair, a 3-component normal, and a 3-component vertex position.

getV3t2
static GeomVertexFormat const *GeomVertexFormat::get_v3t2(void);

Description: Returns a standard vertex format with a 2-component texture coordinate pair and a 3-component vertex position.

getVector
InternalName const *GeomVertexFormat::get_vector(int n) const;

Description: Returns the name of the nth vector column. This represents a directional vector, which should be transformed by any spatial transform matrix as a vector.
This may only be called after the format has been registered.

hasColumn
bool GeomVertexFormat::has_column(InternalName const *name) const;

Description: Returns true if the format has the named column, false otherwise.

insertArray
void GeomVertexFormat::insert_array(int array, GeomVertexArrayFormat const *array_format);

Description: Adds the indicated array definition to the list of arrays at the indicated position. This works just like add_array(), except that you can specify which array index the new array should have.
This may not be called once the format has been registered.

isRegistered
bool GeomVertexFormat::is_registered(void) const;

Description: Returns true if this format has been registered, false if it has not. It may not be used for a Geom until it has been registered, but once registered, it may no longer be modified.

modifyArray
GeomVertexArrayFormat *GeomVertexFormat::modify_array(int array);

Description: Returns a modifiable pointer to the indicated array. This means duplicating it if it is shared or registered.
This may not be called once the format has been registered.

operator =
void GeomVertexFormat::operator =(GeomVertexFormat const &copy);

Description:

output
void GeomVertexFormat::output(ostream &out) const;

Description:

packColumns
void GeomVertexFormat::pack_columns(void);

Description: Removes wasted space between columns.

registerFormat
static ConstPointerTo< GeomVertexFormat > GeomVertexFormat::register_format(GeomVertexFormat const *format);

Description: Adds the indicated format to the registry, if there is not an equivalent format already there; in either case, returns the pointer to the equivalent format now in the registry.
This must be called before a format may be used in a Geom. After this call, you should discard the original pointer you passed in (which may or may not now be invalid) and let its reference count decrement normally; you should use only the returned value from this point on.
Description: This flavor of register_format() implicitly creates a one-array vertex format from the array definition.

removeArray
void GeomVertexFormat::remove_array(int array);

Description: Removes the nth array from the format.
This may not be called once the format has been registered.

removeColumn
void GeomVertexFormat::remove_column(InternalName const *name);

Description: Removes the named column from the format, from whichever array it exists in. If there are other columns remaining in the array, the array is left with a gap where the column used to be; if this was the only column in the array, the array is removed.
This may not be called once the format has been registered.

setAnimation
void GeomVertexFormat::set_animation(GeomVertexAnimationSpec const &animation);

Description: Resets the GeomVertexAnimationSpec that indicates how this format's vertices are set up for animation. You should also, of course, change the columns in the tables accordingly.
This may not be called once the format has been registered.

setArray
void GeomVertexFormat::set_array(int array, GeomVertexArrayFormat const *format);

Description: Replaces the definition of the indicated array.
This may not be called once the format has been registered.

unref
bool GeomVertexFormat::unref(void) const;

Description: This method overrides ReferenceCount::unref() to unregister the object when its reference count goes to zero.

write
void GeomVertexFormat::write(ostream &out, int indent_level = (0)) const;

Description:

writeWithData
void GeomVertexFormat::write_with_data(ostream &out, int indent_level, GeomVertexData const *data) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GeomVertexReader

    from pandac.PandaModules import GeomVertexReader
    Class : GeomVertexReader
    Description : This object provides a high-level interface for quickly reading a sequence of numeric values from a vertex table.
    It is particularly optimized for reading a single column of data values for a series of vertices, without changing columns between each number. Although you can also use one GeomVertexReader to read across the columns if it is convenient, by calling set_column() repeatedly at each vertex, it is faster to read down the columns, and to use a different GeomVertexReader for each column.
    Note that a GeomVertexReader does not keep a reference count to the actual vertex data buffer (it grabs the current data buffer from the GeomVertexData whenever set_column() is called). This means that it is important not to keep a GeomVertexReader object around over a long period of time in which the data buffer is likely to be deallocated; it is intended for making a quick pass over the data in one session.
    It also means that you should create any GeomVertexWriters *before* creating GeomVertexReaders on the same data, since the writer itself might cause the vertex buffer to be deallocated. Better yet, use a GeomVertexRewriter if you are going to create both of them anyway.

Inheritance:

    GeomVertexReader: GeomEnums
    GeomEnums:

Methods of GeomVertexReader:

    GeomVertexReader (Constructor)
    clear
    getArray
    getArrayData
    getColumn
    getCurrentThread
    getData1f
    getData1i
    getData2f
    getData2i
    getData3f
    getData3i
    getData4f
    getData4i
    getForce
    getReadRow
    getStartRow
    getVertexData
    hasColumn
    isAtEnd
    operator =
    output
    setColumn
    setForce
    setRow

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomVertexReader
GeomVertexReader::GeomVertexReader(Thread *current_thread = ((get_current_thread())));

Description: Constructs an invalid GeomVertexReader. You must use the assignment operator to assign a valid GeomVertexReader to this object before you can use it.
Description: Constructs a new reader to process the vertices of the indicated data object.
Description: Constructs a new reader to process the vertices of the indicated data object. This flavor creates the reader specifically to process the named data type.
Description: Constructs a new reader to process the vertices of the indicated array only.
Description:

clear
void GeomVertexReader::clear(void);

Description: Resets the GeomVertexReader to the initial state.

getArray
int GeomVertexReader::get_array(void) const;

Description: Returns the array index containing the data type that the reader is working on.

getArrayData
GeomVertexArrayData const *GeomVertexReader::get_array_data(void) const;

Description: Returns the particular array object that the reader is currently processing.

getColumn
GeomVertexColumn const *GeomVertexReader::get_column(void) const;

Description: Returns the description of the data type that the reader is working on.

getCurrentThread
Thread *GeomVertexReader::get_current_thread(void) const;

Description: Returns the Thread pointer of the currently-executing thread, as passed to the constructor of this object.

getData1f
float GeomVertexReader::get_data1f(void);

Description: Returns the data associated with the read row, expressed as a 1-component value, and advances the read row.

getData1i
int GeomVertexReader::get_data1i(void);

Description: Returns the data associated with the read row, expressed as a 1-component value, and advances the read row.

getData2f
LVecBase2f const &GeomVertexReader::get_data2f(void);

Description: Returns the data associated with the read row, expressed as a 2-component value, and advances the read row.

getData2i
int const *GeomVertexReader::get_data2i(void);

Description: Returns the data associated with the read row, expressed as a 2-component value, and advances the read row.

getData3f
LVecBase3f const &GeomVertexReader::get_data3f(void);

Description: Returns the data associated with the read row, expressed as a 3-component value, and advances the read row.

getData3i
int const *GeomVertexReader::get_data3i(void);

Description: Returns the data associated with the read row, expressed as a 3-component value, and advances the read row.

getData4f
LVecBase4f const &GeomVertexReader::get_data4f(void);

Description: Returns the data associated with the read row, expressed as a 4-component value, and advances the read row.

getData4i
int const *GeomVertexReader::get_data4i(void);

Description: Returns the data associated with the read row, expressed as a 4-component value, and advances the read row.

getForce
bool GeomVertexReader::get_force(void) const;

Description: Returns the value of the force flag. See set_force().

getReadRow
int GeomVertexReader::get_read_row(void) const;

Description: Returns the row index from which the data will be retrieved by the next call to get_data*().

getStartRow
int GeomVertexReader::get_start_row(void) const;

Description: Returns the row index at which the reader started. It will return to this row if you reset the current column.

getVertexData
GeomVertexData const *GeomVertexReader::get_vertex_data(void) const;

Description: Returns the vertex data object that the reader is processing. This may return NULL if the reader was constructed with just an array pointer.

hasColumn
bool GeomVertexReader::has_column(void) const;

Description: Returns true if a valid data type has been successfully set, or false if the data type does not exist (or if get_force() is false and the vertex data is nonresident).

isAtEnd
bool GeomVertexReader::is_at_end(void) const;

Description: Returns true if the reader is currently at the end of the list of vertices, false otherwise. If this is true, another call to get_data*() will result in a crash.

operator =
void GeomVertexReader::operator =(GeomVertexReader const &copy);

Description:

output
void GeomVertexReader::output(ostream &out) const;

Description:

setColumn
bool GeomVertexReader::set_column(int column);

Description: Sets up the reader to use the nth data type of the GeomVertexFormat, numbering from 0.
This also resets the read row number to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)
The return value is true if the data type is valid, false otherwise.
Description: Sets up the reader to use the data type with the indicated name.
Description: Sets up the reader to use the indicated column description on the given array.
This also resets the current read row number to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)

setForce
void GeomVertexReader::set_force(bool force);

Description: Sets the value of the force flag. When this is true (the default), vertex data will be paged in from disk if necessary. When this is false, the GeomVertexData will simply return a failure code when attempting to read vertex data that is not resident (but will put it on the queue to become resident later).
Normally, vertex data is always resident, so this will not be an issue. It is only possible for vertex data to be nonresident if you have enabled vertex paging via the GeomVertexArrayData and VertexDataPage interfaces.

setRow
void GeomVertexReader::set_row(int row);

Description: Sets the start row to the indicated value. The reader will begin reading from the indicated row; each subsequent get_data*() call will return the data from the subsequent row. If set_column() is called, the reader will return to this row.


GeomVertexRewriter

    from pandac.PandaModules import GeomVertexRewriter
    Class : GeomVertexRewriter
    Description : This object provides the functionality of both a GeomVertexReader and a GeomVertexWriter, combined together into one convenient package. It is designed for making a single pass over a GeomVertexData object, modifying rows as it goes.
    Although it doesn't provide any real performance benefit over using a separate reader and writer on the same data, it should probably be used in preference to a separate reader and writer, because it makes an effort to manage the reference counts properly between the reader and the writer to avoid accidentally dereferencing either array while recopying.

Inheritance:

    GeomVertexRewriter: GeomVertexWriter GeomVertexReader
    GeomVertexWriter: GeomEnums
    GeomEnums:
    GeomVertexReader: GeomEnums

Methods of GeomVertexRewriter:

    GeomVertexRewriter (Constructor)
    clear
    getArray
    getArrayData
    getColumn
    getStartRow
    getVertexData
    hasColumn
    isAtEnd
    operator =
    output
    setColumn
    setRow

Methods of GeomVertexWriter:

    GeomVertexWriter (Constructor)
    addData1f
    addData1i
    addData2f
    addData2i
    addData3f
    addData3i
    addData4f
    addData4i
    clear
    getArray
    getArrayData
    getColumn
    getCurrentThread
    getStartRow
    getVertexData
    getWriteRow
    hasColumn
    isAtEnd
    operator =
    output
    setColumn
    setData1f
    setData1i
    setData2f
    setData2i
    setData3f
    setData3i
    setData4f
    setData4i
    setRow

Methods of GeomVertexReader:

    GeomVertexReader (Constructor)
    clear
    getArray
    getArrayData
    getColumn
    getCurrentThread
    getData1f
    getData1i
    getData2f
    getData2i
    getData3f
    getData3i
    getData4f
    getData4i
    getForce
    getReadRow
    getStartRow
    getVertexData
    hasColumn
    isAtEnd
    operator =
    output
    setColumn
    setForce
    setRow

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomVertexRewriter
GeomVertexRewriter::GeomVertexRewriter(Thread *current_thread = ((get_current_thread())));

Description: Constructs an invalid GeomVertexRewriter. You must use the assignment operator to assign a valid GeomVertexRewriter to this object before you can use it.
Description: Constructs a new rewriter to process the vertices of the indicated data object.
Description: Constructs a new rewriter to process the vertices of the indicated data object. This flavor creates the rewriter specifically to process the named data type.
Description: Constructs a new rewriter to process the vertices of the indicated array only.
Description:

clear
void GeomVertexRewriter::clear(void);

Description: Resets the GeomVertexRewriter to the initial state.

getArray
int GeomVertexRewriter::get_array(void) const;

Description: Returns the array index containing the data type that the rewriter is working on.

getArrayData
GeomVertexArrayData *GeomVertexRewriter::get_array_data(void) const;

Description: Returns the particular array object that the rewriter is currently processing.

getColumn
GeomVertexColumn const *GeomVertexRewriter::get_column(void) const;

Description: Returns the description of the data type that the rewriter is working on.

getStartRow
int GeomVertexRewriter::get_start_row(void) const;

Description: Returns the row index at which the rewriter started. It will return to this row if you reset the current column.

getVertexData
GeomVertexData *GeomVertexRewriter::get_vertex_data(void) const;

Description: Returns the vertex data object that the rewriter is processing.

hasColumn
bool GeomVertexRewriter::has_column(void) const;

Description: Returns true if a valid data type has been successfully set, or false if the data type does not exist.

isAtEnd
bool GeomVertexRewriter::is_at_end(void) const;

Description: Returns true if the reader or writer is currently at the end of the list of vertices, false otherwise.

operator =
void GeomVertexRewriter::operator =(GeomVertexRewriter const &copy);

Description:

output
void GeomVertexRewriter::output(ostream &out) const;

Description:

setColumn
bool GeomVertexRewriter::set_column(int column);

Description: Sets up the rewriter to use the nth data type of the GeomVertexFormat, numbering from 0.
This also resets both the read and write row numbers to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)
The return value is true if the data type is valid, false otherwise.
Description: Sets up the rewriter to use the data type with the indicated name.
Description: Sets up the rewriter to use the indicated column description on the given array.

setRow
void GeomVertexRewriter::set_row(int row);

Description: Sets the start, write, and write index to the indicated value. The rewriter will begin traversing from the given row.

GeomVertexWriter
GeomVertexWriter::GeomVertexWriter(Thread *current_thread = ((get_current_thread())));

Description: Constructs an invalid GeomVertexWriter. You must use the assignment operator to assign a valid GeomVertexWriter to this object before you can use it.
Description: Constructs a new writer to process the vertices of the indicated data object.
Description: Constructs a new writer to process the vertices of the indicated data object. This flavor creates the writer specifically to process the named data type.
Description: Constructs a new writer to process the vertices of the indicated array only.
Description:

addData1f
void GeomVertexWriter::add_data1f(float data);

Description: Sets the write row to a particular 1-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData1i
void GeomVertexWriter::add_data1i(int data);

Description: Sets the write row to a particular 1-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData2f
void GeomVertexWriter::add_data2f(float x, float y);

Description: Sets the write row to a particular 2-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData2i
void GeomVertexWriter::add_data2i(int a, int b);

Description: Sets the write row to a particular 2-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData3f
void GeomVertexWriter::add_data3f(float x, float y, float z);

Description: Sets the write row to a particular 3-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData3i
void GeomVertexWriter::add_data3i(int a, int b, int c);

Description: Sets the write row to a particular 3-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData4f
void GeomVertexWriter::add_data4f(float x, float y, float z, float w);

Description: Sets the write row to a particular 4-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData4i
void GeomVertexWriter::add_data4i(int a, int b, int c, int d);

Description: Sets the write row to a particular 4-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

clear
void GeomVertexWriter::clear(void);

Description: Resets the GeomVertexWriter to the initial state.

getArray
int GeomVertexWriter::get_array(void) const;

Description: Returns the array index containing the data type that the writer is working on.

getArrayData
GeomVertexArrayData *GeomVertexWriter::get_array_data(void) const;

Description: Returns the particular array object that the writer is currently processing.

getColumn
GeomVertexColumn const *GeomVertexWriter::get_column(void) const;

Description: Returns the description of the data type that the writer is working on.

getCurrentThread
Thread *GeomVertexWriter::get_current_thread(void) const;

Description: Returns the Thread pointer of the currently-executing thread, as passed to the constructor of this object.

getStartRow
int GeomVertexWriter::get_start_row(void) const;

Description: Returns the row index at which the writer started. It will return to this row if you reset the current column.

getVertexData
GeomVertexData *GeomVertexWriter::get_vertex_data(void) const;

Description: Returns the vertex data object that the writer is processing. This may return NULL if the writer was constructed with just an array pointer.

getWriteRow
int GeomVertexWriter::get_write_row(void) const;

Description: Returns the row index to which the data will be written at the next call to set_data*() or add_data*().

hasColumn
bool GeomVertexWriter::has_column(void) const;

Description: Returns true if a valid data type has been successfully set, or false if the data type does not exist.

isAtEnd
bool GeomVertexWriter::is_at_end(void) const;

Description: Returns true if the writer is currently at the end of the list of vertices, false otherwise. If this is true, another call to set_data*() will result in a crash, but another call to add_data*() will add a new row.

operator =
void GeomVertexWriter::operator =(GeomVertexWriter const &copy);

Description:

output
void GeomVertexWriter::output(ostream &out) const;

Description:

setColumn
bool GeomVertexWriter::set_column(int column);

Description: Sets up the writer to use the nth data type of the GeomVertexFormat, numbering from 0.
This also resets the write row number to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)
The return value is true if the data type is valid, false otherwise.
Description: Sets up the writer to use the data type with the indicated name.
This also resets the write number to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)
Description: Sets up the writer to use the indicated column description on the given array.
This also resets the current write row number to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)

setData1f
void GeomVertexWriter::set_data1f(float data);

Description: Sets the write row to a particular 1-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData1i
void GeomVertexWriter::set_data1i(int data);

Description: Sets the write row to a particular 1-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData2f
void GeomVertexWriter::set_data2f(float x, float y);

Description: Sets the write row to a particular 2-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData2i
void GeomVertexWriter::set_data2i(int a, int b);

Description: Sets the write row to a particular 2-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData3f
void GeomVertexWriter::set_data3f(float x, float y, float z);

Description: Sets the write row to a particular 3-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData3i
void GeomVertexWriter::set_data3i(int a, int b, int c);

Description: Sets the write row to a particular 3-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData4f
void GeomVertexWriter::set_data4f(float x, float y, float z, float w);

Description: Sets the write row to a particular 4-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData4i
void GeomVertexWriter::set_data4i(int a, int b, int c, int d);

Description: Sets the write row to a particular 4-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setRow
void GeomVertexWriter::set_row(int row);

Description: Sets the start row to the indicated value. The writer will begin writing to the indicated row; each subsequent set_data*() call will store the data into the subsequent row. If set_column() is called, the writer will return to this row.

GeomVertexReader
GeomVertexReader::GeomVertexReader(Thread *current_thread = ((get_current_thread())));

Description: Constructs an invalid GeomVertexReader. You must use the assignment operator to assign a valid GeomVertexReader to this object before you can use it.
Description: Constructs a new reader to process the vertices of the indicated data object.
Description: Constructs a new reader to process the vertices of the indicated data object. This flavor creates the reader specifically to process the named data type.
Description: Constructs a new reader to process the vertices of the indicated array only.
Description:

clear
void GeomVertexReader::clear(void);

Description: Resets the GeomVertexReader to the initial state.

getArray
int GeomVertexReader::get_array(void) const;

Description: Returns the array index containing the data type that the reader is working on.

getArrayData
GeomVertexArrayData const *GeomVertexReader::get_array_data(void) const;

Description: Returns the particular array object that the reader is currently processing.

getColumn
GeomVertexColumn const *GeomVertexReader::get_column(void) const;

Description: Returns the description of the data type that the reader is working on.

getCurrentThread
Thread *GeomVertexReader::get_current_thread(void) const;

Description: Returns the Thread pointer of the currently-executing thread, as passed to the constructor of this object.

getData1f
float GeomVertexReader::get_data1f(void);

Description: Returns the data associated with the read row, expressed as a 1-component value, and advances the read row.

getData1i
int GeomVertexReader::get_data1i(void);

Description: Returns the data associated with the read row, expressed as a 1-component value, and advances the read row.

getData2f
LVecBase2f const &GeomVertexReader::get_data2f(void);

Description: Returns the data associated with the read row, expressed as a 2-component value, and advances the read row.

getData2i
int const *GeomVertexReader::get_data2i(void);

Description: Returns the data associated with the read row, expressed as a 2-component value, and advances the read row.

getData3f
LVecBase3f const &GeomVertexReader::get_data3f(void);

Description: Returns the data associated with the read row, expressed as a 3-component value, and advances the read row.

getData3i
int const *GeomVertexReader::get_data3i(void);

Description: Returns the data associated with the read row, expressed as a 3-component value, and advances the read row.

getData4f
LVecBase4f const &GeomVertexReader::get_data4f(void);

Description: Returns the data associated with the read row, expressed as a 4-component value, and advances the read row.

getData4i
int const *GeomVertexReader::get_data4i(void);

Description: Returns the data associated with the read row, expressed as a 4-component value, and advances the read row.

getForce
bool GeomVertexReader::get_force(void) const;

Description: Returns the value of the force flag. See set_force().

getReadRow
int GeomVertexReader::get_read_row(void) const;

Description: Returns the row index from which the data will be retrieved by the next call to get_data*().

getStartRow
int GeomVertexReader::get_start_row(void) const;

Description: Returns the row index at which the reader started. It will return to this row if you reset the current column.

getVertexData
GeomVertexData const *GeomVertexReader::get_vertex_data(void) const;

Description: Returns the vertex data object that the reader is processing. This may return NULL if the reader was constructed with just an array pointer.

hasColumn
bool GeomVertexReader::has_column(void) const;

Description: Returns true if a valid data type has been successfully set, or false if the data type does not exist (or if get_force() is false and the vertex data is nonresident).

isAtEnd
bool GeomVertexReader::is_at_end(void) const;

Description: Returns true if the reader is currently at the end of the list of vertices, false otherwise. If this is true, another call to get_data*() will result in a crash.

operator =
void GeomVertexReader::operator =(GeomVertexReader const &copy);

Description:

output
void GeomVertexReader::output(ostream &out) const;

Description:

setColumn
bool GeomVertexReader::set_column(int column);

Description: Sets up the reader to use the nth data type of the GeomVertexFormat, numbering from 0.
This also resets the read row number to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)
The return value is true if the data type is valid, false otherwise.
Description: Sets up the reader to use the data type with the indicated name.
Description: Sets up the reader to use the indicated column description on the given array.
This also resets the current read row number to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)

setForce
void GeomVertexReader::set_force(bool force);

Description: Sets the value of the force flag. When this is true (the default), vertex data will be paged in from disk if necessary. When this is false, the GeomVertexData will simply return a failure code when attempting to read vertex data that is not resident (but will put it on the queue to become resident later).
Normally, vertex data is always resident, so this will not be an issue. It is only possible for vertex data to be nonresident if you have enabled vertex paging via the GeomVertexArrayData and VertexDataPage interfaces.

setRow
void GeomVertexReader::set_row(int row);

Description: Sets the start row to the indicated value. The reader will begin reading from the indicated row; each subsequent get_data*() call will return the data from the subsequent row. If set_column() is called, the reader will return to this row.


GeomVertexWriter

    from pandac.PandaModules import GeomVertexWriter
    Class : GeomVertexWriter
    Description : This object provides a high-level interface for quickly writing a sequence of numeric values from a vertex table.
    This object can be used both to replace existing vertices in the table, or to extend the table with new vertices. The set_data*() family of methods can only be used to replace existing data; it is an error to allow these to run past the end of the data. The add_data*() family of methods, on the other hand, can be used to replace existing data or add new data; if you call set_row() into the middle of existing data the add_data*() methods will behave like the corresponding set_data*(), but if they run past the end of existing data they will quietly add new vertices.
    Like GeomVertexReader, the writer is particularly optimized for writing a single column of data values for a series of vertices, without changing columns between each number. Although you can also use one GeomVertexWriter to write across the columns if it is convenient, by calling set_column() repeatedly at each vertex, it is faster to write down the columns, and to use a different GeomVertexWriter for each column.
    Note that, like a GeomVertexReader, a GeomVertexWriter does not keep a reference count to the actual vertex data buffer. This means that it is important not to keep a GeomVertexWriter object around over a long period of time in which the data buffer is likely to be deallocated; it is intended for making a quick pass over the data in one session.
    It also means that you should create any GeomVertexWriters *before* creating GeomVertexReaders on the same data, since the writer itself might cause the vertex buffer to be deallocated. Better yet, use a GeomVertexRewriter if you are going to create both of them anyway.

Inheritance:

    GeomVertexWriter: GeomEnums
    GeomEnums:

Methods of GeomVertexWriter:

    GeomVertexWriter (Constructor)
    addData1f
    addData1i
    addData2f
    addData2i
    addData3f
    addData3i
    addData4f
    addData4i
    clear
    getArray
    getArrayData
    getColumn
    getCurrentThread
    getStartRow
    getVertexData
    getWriteRow
    hasColumn
    isAtEnd
    operator =
    output
    setColumn
    setData1f
    setData1i
    setData2f
    setData2i
    setData3f
    setData3i
    setData4f
    setData4i
    setRow

Constants in GeomEnums:

    UHClient | (UsageHint)
UHStream | (UsageHint)
UHDynamic | (UsageHint)
UHStatic | (UsageHint)
UHUnspecified | (UsageHint)
GRIndexedPoint | (GeomRendering)
GRIndexedOther | (GeomRendering)
GRIndexedBits | (GeomRendering)
GRPoint | (GeomRendering)
GRPointUniformSize | (GeomRendering)
GRPerPointSize | (GeomRendering)
GRPointPerspective | (GeomRendering)
GRPointAspectRatio | (GeomRendering)
GRPointScale | (GeomRendering)
GRPointRotate | (GeomRendering)
GRPointSprite | (GeomRendering)
GRPointSpriteTexMatrix | (GeomRendering)
GRPointBits | (GeomRendering)
GRTriangleStrip | (GeomRendering)
GRTriangleFan | (GeomRendering)
GRLineStrip | (GeomRendering)
GRCompositeBits | (GeomRendering)
GRFlatFirstVertex | (GeomRendering)
GRFlatLastVertex | (GeomRendering)
GRShadeModelBits | (GeomRendering)
GRTexcoordLightVector | (GeomRendering)
SMUniform | (ShadeModel)
SMSmooth | (ShadeModel)
SMFlatFirstVertex | (ShadeModel)
SMFlatLastVertex | (ShadeModel)
PTNone | (PrimitiveType)
PTPolygons | (PrimitiveType)
PTLines | (PrimitiveType)
PTPoints | (PrimitiveType)
NTUint8 | (NumericType)
NTUint16 | (NumericType)
NTUint32 | (NumericType)
NTPackedDcba | (NumericType)
NTPackedDabc | (NumericType)
NTFloat32 | (NumericType)
COther | (Contents)
CPoint | (Contents)
CClipPoint | (Contents)
CVector | (Contents)
CTexcoord | (Contents)
CColor | (Contents)
CIndex | (Contents)
CMorphDelta | (Contents)
ATNone | (AnimationType)
ATPanda | (AnimationType)
ATHardware | (AnimationType)
GeomVertexWriter
GeomVertexWriter::GeomVertexWriter(Thread *current_thread = ((get_current_thread())));

Description: Constructs an invalid GeomVertexWriter. You must use the assignment operator to assign a valid GeomVertexWriter to this object before you can use it.
Description: Constructs a new writer to process the vertices of the indicated data object.
Description: Constructs a new writer to process the vertices of the indicated data object. This flavor creates the writer specifically to process the named data type.
Description: Constructs a new writer to process the vertices of the indicated array only.
Description:

addData1f
void GeomVertexWriter::add_data1f(float data);

Description: Sets the write row to a particular 1-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData1i
void GeomVertexWriter::add_data1i(int data);

Description: Sets the write row to a particular 1-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData2f
void GeomVertexWriter::add_data2f(float x, float y);

Description: Sets the write row to a particular 2-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData2i
void GeomVertexWriter::add_data2i(int a, int b);

Description: Sets the write row to a particular 2-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData3f
void GeomVertexWriter::add_data3f(float x, float y, float z);

Description: Sets the write row to a particular 3-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData3i
void GeomVertexWriter::add_data3i(int a, int b, int c);

Description: Sets the write row to a particular 3-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData4f
void GeomVertexWriter::add_data4f(float x, float y, float z, float w);

Description: Sets the write row to a particular 4-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

addData4i
void GeomVertexWriter::add_data4i(int a, int b, int c, int d);

Description: Sets the write row to a particular 4-component value, and advances the write row.
If the write row advances past the end of data, implicitly adds a new row to the data.

clear
void GeomVertexWriter::clear(void);

Description: Resets the GeomVertexWriter to the initial state.

getArray
int GeomVertexWriter::get_array(void) const;

Description: Returns the array index containing the data type that the writer is working on.

getArrayData
GeomVertexArrayData *GeomVertexWriter::get_array_data(void) const;

Description: Returns the particular array object that the writer is currently processing.

getColumn
GeomVertexColumn const *GeomVertexWriter::get_column(void) const;

Description: Returns the description of the data type that the writer is working on.

getCurrentThread
Thread *GeomVertexWriter::get_current_thread(void) const;

Description: Returns the Thread pointer of the currently-executing thread, as passed to the constructor of this object.

getStartRow
int GeomVertexWriter::get_start_row(void) const;

Description: Returns the row index at which the writer started. It will return to this row if you reset the current column.

getVertexData
GeomVertexData *GeomVertexWriter::get_vertex_data(void) const;

Description: Returns the vertex data object that the writer is processing. This may return NULL if the writer was constructed with just an array pointer.

getWriteRow
int GeomVertexWriter::get_write_row(void) const;

Description: Returns the row index to which the data will be written at the next call to set_data*() or add_data*().

hasColumn
bool GeomVertexWriter::has_column(void) const;

Description: Returns true if a valid data type has been successfully set, or false if the data type does not exist.

isAtEnd
bool GeomVertexWriter::is_at_end(void) const;

Description: Returns true if the writer is currently at the end of the list of vertices, false otherwise. If this is true, another call to set_data*() will result in a crash, but another call to add_data*() will add a new row.

operator =
void GeomVertexWriter::operator =(GeomVertexWriter const &copy);

Description:

output
void GeomVertexWriter::output(ostream &out) const;

Description:

setColumn
bool GeomVertexWriter::set_column(int column);

Description: Sets up the writer to use the nth data type of the GeomVertexFormat, numbering from 0.
This also resets the write row number to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)
The return value is true if the data type is valid, false otherwise.
Description: Sets up the writer to use the data type with the indicated name.
This also resets the write number to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)
Description: Sets up the writer to use the indicated column description on the given array.
This also resets the current write row number to the start row (the same value passed to a previous call to set_row(), or 0 if set_row() was never called.)

setData1f
void GeomVertexWriter::set_data1f(float data);

Description: Sets the write row to a particular 1-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData1i
void GeomVertexWriter::set_data1i(int data);

Description: Sets the write row to a particular 1-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData2f
void GeomVertexWriter::set_data2f(float x, float y);

Description: Sets the write row to a particular 2-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData2i
void GeomVertexWriter::set_data2i(int a, int b);

Description: Sets the write row to a particular 2-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData3f
void GeomVertexWriter::set_data3f(float x, float y, float z);

Description: Sets the write row to a particular 3-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData3i
void GeomVertexWriter::set_data3i(int a, int b, int c);

Description: Sets the write row to a particular 3-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData4f
void GeomVertexWriter::set_data4f(float x, float y, float z, float w);

Description: Sets the write row to a particular 4-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setData4i
void GeomVertexWriter::set_data4i(int a, int b, int c, int d);

Description: Sets the write row to a particular 4-component value, and advances the write row.
It is an error for the write row to advance past the end of data.

setRow
void GeomVertexWriter::set_row(int row);

Description: Sets the start row to the indicated value. The writer will begin writing to the indicated row; each subsequent set_data*() call will store the data into the subsequent row. If set_column() is called, the writer will return to this row.


GhostWalker

    from direct.controls.GhostWalker import GhostWalker

Inheritance:

    GhostWalker:


GlobalForceGroup

    from direct.particles.GlobalForceGroup import GlobalForceGroup

Inheritance:

    GlobalForceGroup:

Methods of GlobalForceGroup:

    __init__
    addForce
    removeForce
__init__
def __init__(self, name=None)

Undocumented function.

addForce
def addForce(self, force)

Undocumented function.

removeForce
def removeForce(self, force)

Undocumented function.


GlobPattern

    from pandac.PandaModules import GlobPattern
    Class : GlobPattern
    Description : This class can be used to test for string matches against standard Unix-shell filename globbing conventions. It serves as a portable standin for the Posix fnmatch() call.
    A GlobPattern is given a pattern string, which can contain operators like *, ?, and []. Then it can be tested against any number of candidate strings; for each candidate, it will indicate whether the string matches the pattern or not. It can be used, for example, to scan a directory for all files matching a particular pattern.

Inheritance:

    GlobPattern:

Methods of GlobPattern:

    GlobPattern (Constructor)
    getCaseSensitive
    getPattern
    hasGlobCharacters
    matches
    matchFiles
    operator !=
    operator <
    operator =
    operator ==
    output
    setCaseSensitive
    setPattern
GlobPattern
GlobPattern::GlobPattern(string const &pattern = ((string())));

Description:

getCaseSensitive
bool GlobPattern::get_case_sensitive(void) const;

Description: Returns whether the match is case sensitive (true) or case insensitive (false). The default is case sensitive.

getPattern
string const &GlobPattern::get_pattern(void) const;

Description: Returns the pattern string that the GlobPattern object matches.

hasGlobCharacters
bool GlobPattern::has_glob_characters(void) const;

Undocumented function.

matches
bool GlobPattern::matches(string const &candidate) const;

Description: Returns true if the candidate string matches the pattern, false otherwise.

matchFiles
int GlobPattern::match_files(vector< string > &results, Filename const &cwd = ((())));

Undocumented function.

operator !=
bool GlobPattern::operator !=(GlobPattern const &other) const;

Description:

operator <
bool GlobPattern::operator <(GlobPattern const &other) const;

Description:

operator =
void GlobPattern::operator =(GlobPattern const &copy);

Description:

operator ==
bool GlobPattern::operator ==(GlobPattern const &other) const;

Description:

output
void GlobPattern::output(ostream &out) const;

Description:

setCaseSensitive
void GlobPattern::set_case_sensitive(bool case_sensitive);

Description: Sets whether the match is case sensitive (true) or case insensitive (false). The default is case sensitive.

setPattern
void GlobPattern::set_pattern(string const &pattern);

Description: Changes the pattern string that the GlobPattern object matches.


GoldenRectangle

    from direct.showbase.PythonUtil import GoldenRectangle

Inheritance:

    GoldenRectangle:

Methods of GoldenRectangle:

    def
def
def defgetShorterEdge

Undocumented function.


GraphicsBuffer

    from pandac.PandaModules import GraphicsBuffer
    Class : GraphicsBuffer
    Description : An offscreen buffer for rendering into. This is similar in function to a GraphicsWindow, except that the output is not visible to the user.

Inheritance:

    GraphicsBuffer: GraphicsOutput
    GraphicsOutput: TypedWritableReferenceCount DrawableRegion
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    DrawableRegion:

Methods of GraphicsBuffer:

    getClassType
    setSize

Methods of GraphicsOutput:

    addRenderTexture
    clearChildSort
    clearDeleteFlag
    clearRenderTextures
    countTextures
    getActiveDisplayRegion
    getChildSort
    getClassType
    getDeleteFlag
    getDisplayRegion
    getFbProperties
    getFbXSize
    getFbYSize
    getGsg
    getInverted
    getLeftEyeColorMask
    getName
    getNumActiveDisplayRegions
    getNumDisplayRegions
    getOneShot
    getPipe
    getRedBlueStereo
    getRightEyeColorMask
    getRtmMode
    getScreenshot
    getSort
    getTexture
    getTextureCard
    getTexturePlane
    getXSize
    getYSize
    hasSize
    hasTexture
    isActive
    isStereo
    isValid
    makeCubeMap
    makeDisplayRegion
    makeScreenshotFilename
    makeTextureBuffer
    removeAllDisplayRegions
    removeDisplayRegion
    saveScreenshot
    saveScreenshotDefault
    setActive
    setChildSort
    setInverted
    setOneShot
    setRedBlueStereo
    setSort
    setupRenderTexture
    shareDepthBuffer
    triggerCopy
    unshareDepthBuffer

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of DrawableRegion:

    disableClears
    getClearActive
    getClearColor
    getClearColorActive
    getClearDepth
    getClearDepthActive
    getClearStencil
    getClearStencilActive
    getClearValue
    getPixelFactor
    getPixelZoom
    getRenderbufferType
    isAnyClearActive
    setClearActive
    setClearColor
    setClearColorActive
    setClearDepth
    setClearDepthActive
    setClearStencil
    setClearStencilActive
    setClearValue
    setPixelZoom
    supportsPixelZoom

Constants in GraphicsOutput:

    RTMNone | (RenderTextureMode)
RTMBindOrCopy | (RenderTextureMode)
RTMCopyTexture | (RenderTextureMode)
RTMCopyRam | (RenderTextureMode)
RTMTriggeredCopyTexture | (RenderTextureMode)
RTMTriggeredCopyRam | (RenderTextureMode)
FMRender | (FrameMode)
FMParasite | (FrameMode)
FMRefresh | (FrameMode)

Constants in DrawableRegion:

    RTPStencil | (RenderTexturePlane)
RTPDepthStencil | (RenderTexturePlane)
RTPDepth | (RenderTexturePlane)
RTPColor | (RenderTexturePlane)
RTPAuxRgba0 | (RenderTexturePlane)
RTPAuxRgba1 | (RenderTexturePlane)
RTPAuxRgba2 | (RenderTexturePlane)
RTPAuxRgba3 | (RenderTexturePlane)
RTPAuxHrgba0 | (RenderTexturePlane)
RTPAuxHrgba1 | (RenderTexturePlane)
RTPAuxHrgba2 | (RenderTexturePlane)
RTPAuxHrgba3 | (RenderTexturePlane)
RTPAuxFloat0 | (RenderTexturePlane)
RTPAuxFloat1 | (RenderTexturePlane)
RTPAuxFloat2 | (RenderTexturePlane)
RTPAuxFloat3 | (RenderTexturePlane)
RTPCOUNT | (RenderTexturePlane)
getClassType
static TypeHandle GraphicsBuffer::get_class_type(void);

Undocumented function.

setSize
void GraphicsBuffer::set_size(int x, int y);

Description: This is called by the GraphicsEngine to request that the buffer resize itself. Although calls to get the size will return the new value, much of the actual resizing work doesn't take place until the next begin_frame. Not all buffers are resizeable.

addRenderTexture
void GraphicsOutput::add_render_texture(Texture *tex, GraphicsOutput::RenderTextureMode mode, DrawableRegion::RenderTexturePlane bitplane = (RTP_COUNT));

Description: Creates a new Texture object, suitable for rendering the contents of this buffer into, and appends it to the list of render textures.
If tex is not NULL, it is the texture that will be set up for rendering into; otherwise, a new Texture object will be created, in which case you may call get_texture() to retrieve the new texture pointer.
You can specify a bitplane to attach the texture to. the legal choices are:
* RTP_depth_stencil
* RTP_color
* RTP_aux_rgba_0
* RTP_aux_rgba_1
* RTP_aux_rgba_2
* RTP_aux_rgba_3
If you do not specify a bitplane to attach the texture to, this routine will use a default based on the texture's format:
* F_depth_stencil attaches to RTP_depth_stencil
* all other formats attach to RTP_color.
The texture's format will be changed to match the format of the bitplane to which it is attached. For example, if you pass in an F_rgba texture and order that it be attached to RTP_depth_stencil, it will turn into an F_depth_stencil texture.
Also see make_texture_buffer(), which is a higher-level interface for preparing render-to-a-texture mode.

clearChildSort
void GraphicsOutput::clear_child_sort(void);

Description: Resets the sort value of future offscreen buffers created by make_texture_sort() to the default value. See set_child_sort().

clearDeleteFlag
void GraphicsOutput::clear_delete_flag(void);

Description: Resets the delete flag, so the GraphicsOutput will not be automatically deleted before the beginning of the next frame.

clearRenderTextures
void GraphicsOutput::clear_render_textures(void);

Description: If the GraphicsOutput is currently rendering to a texture, then all textures are dissociated from the GraphicsOuput.

countTextures
int GraphicsOutput::count_textures(void) const;

Description: If the GraphicsOutput is set to render into a texture, returns the number of textures that are being rendered into. Normally, the textures would be associated with different buffers - a color texture, a depth texture, and a stencil texture.

getActiveDisplayRegion
PointerTo< DisplayRegion > GraphicsOutput::get_active_display_region(int n) const;

Description: Returns the nth active DisplayRegion of those that have been created within the window. This may return NULL if n is out of bounds; particularly likely if the number of display regions has changed since the last call to get_num_active_display_regions().

getChildSort
int GraphicsOutput::get_child_sort(void) const;

Description: Returns the sort value of future offscreen buffers created by make_texture_sort(). See set_child_sort().

getClassType
static TypeHandle GraphicsOutput::get_class_type(void);

Undocumented function.

getDeleteFlag
bool GraphicsOutput::get_delete_flag(void) const;

Description: Returns the current setting of the delete flag. When this is true, the GraphicsOutput will automatically be removed before the beginning of the next frame by the GraphicsEngine.

getDisplayRegion
PointerTo< DisplayRegion > GraphicsOutput::get_display_region(int n) const;

Description: Returns the nth DisplayRegion of those that have been created within the window. This may return NULL if n is out of bounds; particularly likely if the number of display regions has changed since the last call to get_num_display_regions().

getFbProperties
FrameBufferProperties const &GraphicsOutput::get_fb_properties(void) const;

Description: Returns the framebuffer properties of the window.

getFbXSize
int GraphicsOutput::get_fb_x_size(void) const;

Description: Returns the internal width of the window or buffer. This is almost always the same as get_x_size(), except when a pixel_zoom is in effect--see set_pixel_zoom().

getFbYSize
int GraphicsOutput::get_fb_y_size(void) const;

Description: Returns the internal height of the window or buffer. This is almost always the same as get_y_size(), except when a pixel_zoom is in effect--see set_pixel_zoom().

getGsg
GraphicsStateGuardian *GraphicsOutput::get_gsg(void) const;

Description: Returns the GSG that is associated with this window. There is a one-to-one association between windows and GSG's.
This may return NULL if the graphics context has not yet been created for the window, e.g. before the first frame has rendered; or after the window has been closed.

getInverted
bool GraphicsOutput::get_inverted(void) const;

Description: Returns the current setting of the inverted flag. When this is true, the scene is rendered into the window upside-down, flipped like a mirror along the X axis. See set_inverted().

getLeftEyeColorMask
unsigned int GraphicsOutput::get_left_eye_color_mask(void) const;

Description: Returns the color mask in effect when rendering a left-eye view in red_blue stereo mode. This is one or more bits defined in ColorWriteAttrib::Channels. See set_red_blue_stereo().

getName
string const &GraphicsOutput::get_name(void) const;

Description: Returns the name that was passed to the GraphicsOutput constructor.

getNumActiveDisplayRegions
int GraphicsOutput::get_num_active_display_regions(void) const;

Description: Returns the number of active DisplayRegions that have been created within the window.

getNumDisplayRegions
int GraphicsOutput::get_num_display_regions(void) const;

Description: Returns the number of DisplayRegions that have been created within the window, active or otherwise.

getOneShot
bool GraphicsOutput::get_one_shot(void) const;

Description: Returns the current setting of the one-shot flag. When this is true, the GraphicsOutput will automatically detach its texture (if it has one) and remove itself from the GraphicsEngine after it renders the next frame.

getPipe
GraphicsPipe *GraphicsOutput::get_pipe(void) const;

Description: Returns the GraphicsPipe that this window is associated with. It is possible that the GraphicsPipe might have been deleted while an outstanding PT(GraphicsOutput) prevented all of its children windows from also being deleted; in this unlikely case, get_pipe() may return NULL.

getRedBlueStereo
bool GraphicsOutput::get_red_blue_stereo(void) const;

Description: Returns whether red-blue stereo mode is in effect for this particular window. See set_red_blue_stereo().

getRightEyeColorMask
unsigned int GraphicsOutput::get_right_eye_color_mask(void) const;

Description: Returns the color mask in effect when rendering a right-eye view in red_blue stereo mode. This is one or more bits defined in ColorWriteAttrib::Channels. See set_red_blue_stereo().

getRtmMode
GraphicsOutput::RenderTextureMode GraphicsOutput::get_rtm_mode(int i = (0)) const;

Description: Returns the RenderTextureMode associated with the nth render-texture. Returns RTM_none if there is no such texture.

getScreenshot
bool GraphicsOutput::get_screenshot(PNMImage &image);

Description: Captures the most-recently rendered image from the framebuffer into the indicated PNMImage. Returns true on success, false on failure.

getSort
int GraphicsOutput::get_sort(void) const;

Description: Returns the sorting order of this particular GraphicsOutput. The various GraphicsOutputs within a particular thread will be rendered in the indicated order.

getTexture
Texture *GraphicsOutput::get_texture(int i = (0)) const;

Description: Returns the nth texture into which the GraphicsOutput renders. Returns NULL if there is no such texture.
If the texture is non-NULL, it may be applied to geometry to be rendered for any other windows or outputs that share the same GSG as this GraphicsOutput. The effect is undefined for windows that share a different GSG; usually in these cases the texture will be invalid.

getTextureCard
NodePath GraphicsOutput::get_texture_card(void);

Description: Returns a PandaNode containing a square polygon. The dimensions are (-1,0,-1) to (1,0,1). The texture coordinates are such that the texture of this GraphicsOutput is aligned properly to the polygon. The GraphicsOutput promises to surgically update the Geom inside the PandaNode if necessary to maintain this invariant.
Each invocation of this function returns a freshly- allocated PandaNode. You can therefore safely modify the RenderAttribs of the PandaNode. The PandaNode is initially textured with the texture of this GraphicOutput.

getTexturePlane
DrawableRegion::RenderTexturePlane GraphicsOutput::get_texture_plane(int i = (0)) const;

Description: Returns the RenderTexturePlane associated with the nth render-texture. Returns 0 if there is no such texture.

getXSize
int GraphicsOutput::get_x_size(void) const;

Description: Returns the visible width of the window or buffer, if it is known. In certain cases (e.g. fullscreen windows), the size may not be known until after the object has been fully created. Check has_size() first.
Certain objects (like windows) may change size spontaneously; this method is not thread-safe. To get the size of a window in a thread-safe manner, query get_properties().

getYSize
int GraphicsOutput::get_y_size(void) const;

Description: Returns the visible height of the window or buffer, if it is known. In certain cases (e.g. fullscreen windows), the size may not be known until after the object has been fully created. Check has_size() first.
Certain objects (like windows) may change size spontaneously; this method is not thread-safe. To get the size of a window in a thread-safe manner, query get_properties().

hasSize
bool GraphicsOutput::has_size(void) const;

Description: Returns true if the size of the window/frame buffer is known, false otherwise. In certain cases the size may not be known until after the object has been fully created. Also, certain objects (like windows) may change size spontaneously.

hasTexture
bool GraphicsOutput::has_texture(void) const;

Description: Returns true if the GraphicsOutput is rendering into any textures at all.

isActive
virtual bool GraphicsOutput::is_active(void) const;

Description: Returns true if the window is ready to be rendered into, false otherwise.

isStereo
bool GraphicsOutput::is_stereo(void) const;

Description: Returns Returns true if this window can render stereo DisplayRegions, either through red-blue stereo (see set_red_blue_stereo()) or through true hardware stereo rendering.

isValid
bool GraphicsOutput::is_valid(void) const;

Description: Returns true if the output is fully created and ready for rendering, false otherwise.

makeCubeMap
GraphicsOutput *GraphicsOutput::make_cube_map(string const &name, int size, NodePath &camera_rig, BitMask< unsigned int, 32 > camera_mask = ((get_all_camera_mask())), bool to_ram = (0));

Description: This is similar to make_texture_buffer() in that it allocates a separate buffer suitable for rendering to a texture that can be assigned to geometry in this window, but in this case, the buffer is set up to render the six faces of a cube map.
The buffer is automatically set up with six display regions and six cameras, each of which are assigned the indicated draw_mask and parented to the given camera_rig node (which you should then put in your scene to render the cube map from the appropriate point of view).
You may take the texture associated with the buffer and apply it to geometry, particularly with TexGenAttrib::M_world_cube_map also in effect, to apply a reflection of everything seen by the camera rig.

makeDisplayRegion
DisplayRegion *GraphicsOutput::make_display_region(void);

Description: Creates a new DisplayRegion that covers the entire window.
Description: Creates a new DisplayRegion that covers the indicated sub-rectangle within the window. The range on all parameters is 0..1.

makeScreenshotFilename
static Filename GraphicsOutput::make_screenshot_filename(string const &prefix = ("screenshot"));

Description: Saves a screenshot of the region to a default filename, and returns the filename, or empty string if the screenshot failed. The default filename is generated from the supplied prefix and from the Config variable screenshot-filename, which contains the following strings:
%~p - the supplied prefix %~f - the frame count %~e - the value of screenshot-extension All other % strings in strftime().

makeTextureBuffer
GraphicsOutput *GraphicsOutput::make_texture_buffer(string const &name, int x_size, int y_size, Texture *tex = ((void *)(0)), bool to_ram = (0));

Description: Creates and returns an offscreen buffer for rendering into, the result of which will be a texture suitable for applying to geometry within the scene rendered into this window.
If tex is not NULL, it is the texture that will be set up for rendering into; otherwise, a new Texture object will be created. In either case, the target texture can be retrieved from the return value with buffer->get_texture() (assuming the return value is not NULL).
If to_ram is true, the buffer will be set up to download its contents to the system RAM memory associated with the Texture object, instead of keeping it strictly within texture memory; this is much slower, but it allows using the texture with any GSG.
This will attempt to be smart about maximizing render performance while minimizing framebuffer waste. It might return a GraphicsBuffer set to render directly into a texture, if possible; or it might return a ParasiteBuffer that renders into this window. The return value is NULL if the buffer could not be created for some reason.
When you are done using the buffer, you should remove it with a call to GraphicsEngine::remove_window() (or set the one_shot flag so it removes itself after one frame).

removeAllDisplayRegions
void GraphicsOutput::remove_all_display_regions(void);

Description: Removes all display regions from the window, except the default one that is created with the window.

removeDisplayRegion
bool GraphicsOutput::remove_display_region(DisplayRegion *display_region);

Description: Removes the indicated DisplayRegion from the window, and destructs it if there are no other references.
Returns true if the DisplayRegion is found and removed, false if it was not a part of the window.

saveScreenshot
bool GraphicsOutput::save_screenshot(Filename const &filename, string const &image_comment = (""));

Description: Saves a screenshot of the region to the indicated filename. The image comment is an optional user readable string that will be saved with the header of the image (if the file format supports embedded data; for example jpg allows comments). Returns true on success, false on failure.

saveScreenshotDefault
Filename GraphicsOutput::save_screenshot_default(string const &prefix = ("screenshot"));

Description: Saves a screenshot of the region to a default filename, and returns the filename, or empty string if the screenshot failed. The filename is generated by make_screenshot_filename().

setActive
void GraphicsOutput::set_active(bool active);

Description: Sets the active flag associated with the GraphicsOutput. If the GraphicsOutput is marked inactive, nothing is rendered.

setChildSort
void GraphicsOutput::set_child_sort(int child_sort);

Description: Specifies the sort value of future offscreen buffers created by make_texture_sort().
The purpose of this method is to allow the user to limit the sort value chosen for a buffer created via make_texture_buffer(). Normally, this buffer will be assigned a value of get_sort() - 1, so that it will be rendered before this window is rendered; but sometimes this isn't sufficiently early, especially if other buffers also have a view into the same scene.
If you specify a value here, then new buffers created via make_texture_buffer() will be given that sort value instead of get_sort() - 1.

setInverted
void GraphicsOutput::set_inverted(bool inverted);

Description: Changes the current setting of the inverted flag. When this is true, the scene is rendered into the window upside-down and backwards, that is, inverted as if viewed through a mirror placed on the floor.
This is primarily intended to support DirectX (and a few buggy OpenGL graphics drivers) that perform a framebuffer-to-texture copy upside-down from the usual OpenGL (and Panda) convention. Panda will automatically set this flag for offscreen buffers on hardware that is known to do this, to compensate when rendering offscreen into a texture.

setOneShot
void GraphicsOutput::set_one_shot(bool one_shot);

Description: Changes the current setting of the one-shot flag. When this is true, the GraphicsOutput will automatically detach its texture (if it has one) and remove itself from the GraphicsEngine after it renders the next frame.

setRedBlueStereo
void GraphicsOutput::set_red_blue_stereo(bool red_blue_stereo, unsigned int left_eye_color_mask, unsigned int right_eye_color_mask);

Description: Enables red-blue stereo mode on this particular window. When red-blue stereo mode is in effect, DisplayRegions that have the "left" channel set will render in the red (or specified) channel only, while DisplayRegions that have the "right" channel set will render in the blue (or specified) channel only.
The remaining two parameters specify the particular color channel(s) to associate with each eye. Use the bits defined in ColorWriteAttrib::Channels.
This can be used to achieve a cheesy stereo mode in the absence of hardware-supported stereo.

setSort
void GraphicsOutput::set_sort(int sort);

Description: Adjusts the sorting order of this particular GraphicsOutput, relative to other GraphicsOutputs.

setupRenderTexture
void GraphicsOutput::setup_render_texture(Texture *tex, bool allow_bind, bool to_ram);

Description: This is a deprecated interface that made sense back when GraphicsOutputs could only render into one texture at a time. From now on, use clear_render_textures and add_render_texture instead.

shareDepthBuffer
virtual bool GraphicsOutput::share_depth_buffer(GraphicsOutput *graphics_output);

Description: Will attempt to use the depth buffer of the input graphics_output. The buffer sizes must be exactly the same.

triggerCopy
void GraphicsOutput::trigger_copy(void);

Description: When the GraphicsOutput is in triggered copy mode, this function triggers the copy (at the end of the next frame).

unshareDepthBuffer
virtual void GraphicsOutput::unshare_depth_buffer(void);

Description: Discontinue sharing the depth buffer.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

disableClears
void DrawableRegion::disable_clears(void);

Description: Disables both the color and depth clear. See set_clear_color_active and set_clear_depth_active.

getClearActive
bool DrawableRegion::get_clear_active(int n) const;

Description: Gets the clear-active flag for any bitplane.

getClearColor
LVecBase4f const &DrawableRegion::get_clear_color(void) const;

Description: Returns the current clear color value. This is the value that will be used to clear the color buffer every frame, but only if get_clear_color_active() returns true. If get_clear_color_active() returns false, this is meaningless.

getClearColorActive
bool DrawableRegion::get_clear_color_active(void) const;

Description: Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. See set_clear_color_active().

getClearDepth
float DrawableRegion::get_clear_depth(void) const;

Description: Returns the current clear depth value. This is the value that will be used to clear the depth buffer every frame, but only if get_clear_depth_active() returns true. If get_clear_depth_active() returns false, this is meaningless.

getClearDepthActive
bool DrawableRegion::get_clear_depth_active(void) const;

Description: Returns the current setting of the flag that indicates whether the depth buffer should be cleared every frame. See set_clear_depth_active().

getClearStencil
unsigned int DrawableRegion::get_clear_stencil(void) const;

Description: Returns the current clear stencil value. This is the value that will be used to clear the stencil buffer every frame, but only if get_clear_stencil_active() returns true. If get_clear_stencil_active() returns false, this is meaningless.

getClearStencilActive
bool DrawableRegion::get_clear_stencil_active(void) const;

Description: Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. See set_clear_stencil_active().

getClearValue
LVecBase4f const &DrawableRegion::get_clear_value(int n) const;

Description: Returns the clear value for any bitplane.

getPixelFactor
float DrawableRegion::get_pixel_factor(void) const;

Description: Returns the amount by which the height and width of the region will be scaled internally, based on the zoom factor set by set_pixel_zoom(). This will return 1.0 if the pixel_zoom was not set or if it is not being respected (for instance, because the underlying renderer doesn't support it--see supports_pixel_zoom).

getPixelZoom
float DrawableRegion::get_pixel_zoom(void) const;

Description: Returns the value set by set_pixel_zoom(), regardless of whether it is being respected or not. Also see get_pixel_factor().

getRenderbufferType
static int DrawableRegion::get_renderbuffer_type(int plane);

Description: Returns the RenderBuffer::Type that corresponds to a RenderTexturePlane.

isAnyClearActive
bool DrawableRegion::is_any_clear_active(void) const;

Description: Returns true if any of the clear types (so far there are just color or depth) have been set active, or false if none of them are active and there is no need to clear.

setClearActive
void DrawableRegion::set_clear_active(int n, bool clear_aux_active);

Description: Sets the clear-active flag for any bitplane.

setClearColor
void DrawableRegion::set_clear_color(LVecBase4f const &color);

Description: Sets the clear color to the indicated value. This is the value that will be used to clear the color buffer every frame, but only if get_clear_color_active() returns true. If get_clear_color_active() returns false, this is meaningless.

setClearColorActive
void DrawableRegion::set_clear_color_active(bool clear_color_active);

Description: Toggles the flag that indicates whether the color buffer should be cleared every frame. If this is true, the color buffer will be cleared to the color indicated by set_clear_color(); otherwise, it will be left alone.

setClearDepth
void DrawableRegion::set_clear_depth(float depth);

Description: Sets the clear depth to the indicated value. This is the value that will be used to clear the depth buffer every frame, but only if get_clear_depth_active() returns true. If get_clear_depth_active() returns false, this is meaningless.

setClearDepthActive
void DrawableRegion::set_clear_depth_active(bool clear_depth_active);

Description: Toggles the flag that indicates whether the depth buffer should be cleared every frame. If this is true, the depth buffer will be cleared to the depth value indicated by set_clear_depth(); otherwise, it will be left alone.

setClearStencil
void DrawableRegion::set_clear_stencil(unsigned int stencil);

Description: Sets the clear stencil to the indicated value. This is the value that will be used to clear the stencil buffer every frame, but only if get_clear_color_active() returns true. If get_clear_stencil_active() returns false, this is meaningless.

setClearStencilActive
void DrawableRegion::set_clear_stencil_active(bool clear_stencil_active);

Description: Toggles the flag that indicates whether the stencil buffer should be cleared every frame. If this is true, the stencil buffer will be cleared to the value indicated by set_clear_stencil(); otherwise, it will be left alone.

setClearValue
void DrawableRegion::set_clear_value(int n, LVecBase4f const &color);

Description: Sets the clear value for any bitplane.

setPixelZoom
void DrawableRegion::set_pixel_zoom(float pixel_zoom);

Description: Sets the amount by which the pixels of the region are scaled internally when filling the image interally. Setting this number larger makes the pixels blockier, but may make the rendering faster, particularly for software renderers. Setting this number to 2.0 reduces the number of pixels that have to be filled by the renderer by a factor of 2.0. It doesn't make sense to set this lower than 1.0.
It is possible to set this on either individual DisplayRegions or on overall GraphicsWindows, but you will get better performance for setting it on the window rather than its individual DisplayRegions. Also, you may not set it on a DisplayRegion that doesn't have both clear_color() and clear_depth() enabled.
This property is only supported on renderers for which it is particularly useful--currently, this is the tinydisplay software renderer. Other kinds of renderers allow you to set this property, but ignore it.

supportsPixelZoom
virtual bool DrawableRegion::supports_pixel_zoom(void) const;

Description: Returns true if a call to set_pixel_zoom() will be respected, false if it will be ignored. If this returns false, then get_pixel_factor() will always return 1.0, regardless of what value you specify for set_pixel_zoom().
This may return false if the underlying renderer doesn't support pixel zooming, or if you have called this on a DisplayRegion that doesn't have both set_clear_color() and set_clear_depth() enabled.


GraphicsDevice

    from pandac.PandaModules import GraphicsDevice
    Class : GraphicsDevice
    Description : An abstract device object that is part of Graphics Pipe. This device is set to NULL for OpenGL. But DirectX uses it to take control of multiple windows under single device or multiple devices (i.e. more than one adapters in the machine).

Inheritance:

    GraphicsDevice: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of GraphicsDevice:

    getClassType
    getPipe

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle GraphicsDevice::get_class_type(void);

Undocumented function.

getPipe
GraphicsPipe *GraphicsDevice::get_pipe(void) const;

Description: Returns the GraphicsPipe that this device is associated with.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GraphicsEngine

    from pandac.PandaModules import GraphicsEngine
    Class : GraphicsEngine
    Description : This class is the main interface to controlling the render process. There is typically only one GraphicsEngine in an application, and it synchronizes rendering to all all of the active windows; although it is possible to have multiple GraphicsEngine objects if multiple synchronicity groups are required.
    The GraphicsEngine is responsible for managing the various cull and draw threads. The application simply calls engine->render_frame() and considers it done.

Inheritance:

    GraphicsEngine:

Methods of GraphicsEngine:

    GraphicsEngine (Constructor)
    extractTextureData
    flipFrame
    getAutoFlip
    getNumWindows
    getPortalCull
    getThreadingModel
    getWindow
    isEmpty
    makeBuffer
    makeOutput
    makeParasite
    openWindows
    removeAllWindows
    removeWindow
    renderFrame
    resetAllWindows
    setAutoFlip
    setPortalCull
    setThreadingModel
    syncFrame
GraphicsEngine
GraphicsEngine::GraphicsEngine(Pipeline *pipeline = ((void *)(0)));

Description: Creates a new GraphicsEngine object. The Pipeline is normally left to default to NULL, which indicates the global render pipeline, but it may be any Pipeline you choose.

extractTextureData
bool GraphicsEngine::extract_texture_data(Texture *tex, GraphicsStateGuardian *gsg);

Description: Asks the indicated GraphicsStateGuardian to retrieve the texture memory image of the indicated texture and store it in the texture's ram_image field. The image can then be written to disk via Texture::write(), or otherwise manipulated on the CPU.
This is useful for retrieving the contents of a texture that has been somehow generated on the graphics card, instead of having been loaded the normal way via Texture::read() or Texture::load(). It is particularly useful for getting the data associated with a compressed texture image.
Since this requires a round-trip to the draw thread, it may require waiting for the current thread to finish rendering if it is called in a multithreaded environment. However, you can call this several consecutive times on different textures for little additional cost.
If the texture has not yet been loaded to the GSG in question, it will be loaded immediately.
The return value is true if the operation is successful, false otherwise.

flipFrame
void GraphicsEngine::flip_frame(void);

Description: Waits for all the threads that started drawing their last frame to finish drawing, and then flips all the windows. It is not usually necessary to call this explicitly, unless you need to see the previous frame right away.

getAutoFlip
bool GraphicsEngine::get_auto_flip(void) const;

Description: Returns the current setting for the auto-flip flag. See set_auto_flip.

getNumWindows
int GraphicsEngine::get_num_windows(void) const;

Description: Returns the number of windows (or buffers) managed by the engine.

getPortalCull
bool GraphicsEngine::get_portal_cull(void) const;

Description: Returns the current setting for the portal culling flag.

getThreadingModel
GraphicsThreadingModel GraphicsEngine::get_threading_model(void) const;

Description: Returns the threading model that will be applied to future objects. See set_threading_model().

getWindow
GraphicsOutput *GraphicsEngine::get_window(int n) const;

Description: Returns the nth window or buffers managed by the engine, in sorted order.

isEmpty
bool GraphicsEngine::is_empty(void) const;

Description: Returns true if there are no windows or buffers managed by the engine, false if there is at least one.

makeBuffer
GraphicsOutput *GraphicsEngine::make_buffer(GraphicsStateGuardian *gsg, string const &name, int sort, int x_size, int y_size);

Syntactic shorthand versions of make_output
Description: Syntactic shorthand for make_output

makeOutput
GraphicsOutput *GraphicsEngine::make_output(GraphicsPipe *pipe, string const &name, int sort, FrameBufferProperties const &fb_prop, WindowProperties const &win_prop, int flags, GraphicsStateGuardian *gsg = ((void *)(0)), GraphicsOutput *host = ((void *)(0)));

THIS IS THE OLD CODE FOR make_gsg PT(GraphicsStateGuardian) gsg = pipe->make_gsg(properties, share_with);
Description: Creates a new window (or buffer) and returns it. The GraphicsEngine becomes the owner of the window, it will persist at least until remove_window() is called later.
If a null pointer is supplied for the gsg, then this routine will create a new gsg.
This routine is only called from the app thread.

makeParasite
GraphicsOutput *GraphicsEngine::make_parasite(GraphicsOutput *host, string const &name, int sort, int x_size, int y_size);

Description: Syntactic shorthand for make_buffer.

openWindows
void GraphicsEngine::open_windows(void);

Description: Fully opens (or closes) any windows that have recently been requested open or closed, without rendering any frames. It is not necessary to call this explicitly, since windows will be automatically opened or closed when the next frame is rendered, but you may call this if you want your windows now without seeing a frame go by.

removeAllWindows
void GraphicsEngine::remove_all_windows(void);

Description: Removes and closes all windows from the engine. This also cleans up and terminates any threads that have been started to service those windows.

removeWindow
bool GraphicsEngine::remove_window(GraphicsOutput *window);

Description: Removes the indicated window or offscreen buffer from the set of windows that will be processed when render_frame() is called. This also closes the window if it is open, and removes the window from its GraphicsPipe, allowing the window to be destructed if there are no other references to it. (However, the window may not be actually closed until next frame, if it is controlled by a sub-thread.)
The return value is true if the window was removed, false if it was not found.
Unlike remove_all_windows(), this function does not terminate any of the threads that may have been started to service this window; they are left running (since you might open a new window later on these threads). If your intention is to clean up before shutting down, it is better to call remove_all_windows() then to call remove_window() one at a time.

renderFrame
void GraphicsEngine::render_frame(void);

Description: Renders the next frame in all the registered windows, and flips all of the frame buffers.

resetAllWindows
void GraphicsEngine::reset_all_windows(bool swapchain);

Description: Resets the framebuffer of the current window. This is currently used by DirectX 8 only. It calls a reset_window function on each active window to release/create old/new framebuffer

setAutoFlip
void GraphicsEngine::set_auto_flip(bool auto_flip);

Description: Set this flag true to indicate the GraphicsEngine should automatically cause windows to sync and flip as soon as they have finished drawing, rather than waiting for all of the windows to finish drawing first so they can flip together.
This only affects the timing of when the flip occurs. If this is true (the default), the flip occurs before render_frame() returns. If this is false, the flip occurs whenever flip_frame() is called, or at the beginning of the next call to render_frame(), if flip_frame() is never called.

setPortalCull
void GraphicsEngine::set_portal_cull(bool value);

Description: Set this flag true to indicate the GraphicsEngine should start portal culling

setThreadingModel
void GraphicsEngine::set_threading_model(GraphicsThreadingModel const &threading_model);

Description: Specifies how future objects created via make_gsg(), make_buffer(), and make_window() will be threaded. This does not affect any already-created objects.

syncFrame
void GraphicsEngine::sync_frame(void);

Description: Waits for all the threads that started drawing their last frame to finish drawing. The windows are not yet flipped when this returns; see also flip_frame(). It is not usually necessary to call this explicitly, unless you need to see the previous frame right away.


GraphicsOutput

    from pandac.PandaModules import GraphicsOutput
    Class : GraphicsOutput
    Description : This is a base class for the various different classes that represent the result of a frame of rendering. The most common kind of GraphicsOutput is a GraphicsWindow, which is a real-time window on the desktop, but another example is GraphicsBuffer, which is an offscreen buffer.
    The actual rendering, and anything associated with the graphics context itself, is managed by the associated GraphicsStateGuardian (which might output to multiple GraphicsOutput objects).
    GraphicsOutputs are not actually writable to bam files, of course, but they may be passed as event parameters, so they inherit from TypedWritableReferenceCount instead of TypedReferenceCount for that convenience.

Inheritance:

    GraphicsOutput: TypedWritableReferenceCount DrawableRegion
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    DrawableRegion:

Methods of GraphicsOutput:

    addRenderTexture
    clearChildSort
    clearDeleteFlag
    clearRenderTextures
    countTextures
    getActiveDisplayRegion
    getChildSort
    getClassType
    getDeleteFlag
    getDisplayRegion
    getFbProperties
    getFbXSize
    getFbYSize
    getGsg
    getInverted
    getLeftEyeColorMask
    getName
    getNumActiveDisplayRegions
    getNumDisplayRegions
    getOneShot
    getPipe
    getRedBlueStereo
    getRightEyeColorMask
    getRtmMode
    getScreenshot
    getSort
    getTexture
    getTextureCard
    getTexturePlane
    getXSize
    getYSize
    hasSize
    hasTexture
    isActive
    isStereo
    isValid
    makeCubeMap
    makeDisplayRegion
    makeScreenshotFilename
    makeTextureBuffer
    removeAllDisplayRegions
    removeDisplayRegion
    saveScreenshot
    saveScreenshotDefault
    setActive
    setChildSort
    setInverted
    setOneShot
    setRedBlueStereo
    setSort
    setupRenderTexture
    shareDepthBuffer
    triggerCopy
    unshareDepthBuffer

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of DrawableRegion:

    disableClears
    getClearActive
    getClearColor
    getClearColorActive
    getClearDepth
    getClearDepthActive
    getClearStencil
    getClearStencilActive
    getClearValue
    getPixelFactor
    getPixelZoom
    getRenderbufferType
    isAnyClearActive
    setClearActive
    setClearColor
    setClearColorActive
    setClearDepth
    setClearDepthActive
    setClearStencil
    setClearStencilActive
    setClearValue
    setPixelZoom
    supportsPixelZoom

Constants in GraphicsOutput:

    RTMNone | (RenderTextureMode)
RTMBindOrCopy | (RenderTextureMode)
RTMCopyTexture | (RenderTextureMode)
RTMCopyRam | (RenderTextureMode)
RTMTriggeredCopyTexture | (RenderTextureMode)
RTMTriggeredCopyRam | (RenderTextureMode)
FMRender | (FrameMode)
FMParasite | (FrameMode)
FMRefresh | (FrameMode)

Constants in DrawableRegion:

    RTPStencil | (RenderTexturePlane)
RTPDepthStencil | (RenderTexturePlane)
RTPDepth | (RenderTexturePlane)
RTPColor | (RenderTexturePlane)
RTPAuxRgba0 | (RenderTexturePlane)
RTPAuxRgba1 | (RenderTexturePlane)
RTPAuxRgba2 | (RenderTexturePlane)
RTPAuxRgba3 | (RenderTexturePlane)
RTPAuxHrgba0 | (RenderTexturePlane)
RTPAuxHrgba1 | (RenderTexturePlane)
RTPAuxHrgba2 | (RenderTexturePlane)
RTPAuxHrgba3 | (RenderTexturePlane)
RTPAuxFloat0 | (RenderTexturePlane)
RTPAuxFloat1 | (RenderTexturePlane)
RTPAuxFloat2 | (RenderTexturePlane)
RTPAuxFloat3 | (RenderTexturePlane)
RTPCOUNT | (RenderTexturePlane)
addRenderTexture
void GraphicsOutput::add_render_texture(Texture *tex, GraphicsOutput::RenderTextureMode mode, DrawableRegion::RenderTexturePlane bitplane = (RTP_COUNT));

Description: Creates a new Texture object, suitable for rendering the contents of this buffer into, and appends it to the list of render textures.
If tex is not NULL, it is the texture that will be set up for rendering into; otherwise, a new Texture object will be created, in which case you may call get_texture() to retrieve the new texture pointer.
You can specify a bitplane to attach the texture to. the legal choices are:
* RTP_depth_stencil
* RTP_color
* RTP_aux_rgba_0
* RTP_aux_rgba_1
* RTP_aux_rgba_2
* RTP_aux_rgba_3
If you do not specify a bitplane to attach the texture to, this routine will use a default based on the texture's format:
* F_depth_stencil attaches to RTP_depth_stencil
* all other formats attach to RTP_color.
The texture's format will be changed to match the format of the bitplane to which it is attached. For example, if you pass in an F_rgba texture and order that it be attached to RTP_depth_stencil, it will turn into an F_depth_stencil texture.
Also see make_texture_buffer(), which is a higher-level interface for preparing render-to-a-texture mode.

clearChildSort
void GraphicsOutput::clear_child_sort(void);

Description: Resets the sort value of future offscreen buffers created by make_texture_sort() to the default value. See set_child_sort().

clearDeleteFlag
void GraphicsOutput::clear_delete_flag(void);

Description: Resets the delete flag, so the GraphicsOutput will not be automatically deleted before the beginning of the next frame.

clearRenderTextures
void GraphicsOutput::clear_render_textures(void);

Description: If the GraphicsOutput is currently rendering to a texture, then all textures are dissociated from the GraphicsOuput.

countTextures
int GraphicsOutput::count_textures(void) const;

Description: If the GraphicsOutput is set to render into a texture, returns the number of textures that are being rendered into. Normally, the textures would be associated with different buffers - a color texture, a depth texture, and a stencil texture.

getActiveDisplayRegion
PointerTo< DisplayRegion > GraphicsOutput::get_active_display_region(int n) const;

Description: Returns the nth active DisplayRegion of those that have been created within the window. This may return NULL if n is out of bounds; particularly likely if the number of display regions has changed since the last call to get_num_active_display_regions().

getChildSort
int GraphicsOutput::get_child_sort(void) const;

Description: Returns the sort value of future offscreen buffers created by make_texture_sort(). See set_child_sort().

getClassType
static TypeHandle GraphicsOutput::get_class_type(void);

Undocumented function.

getDeleteFlag
bool GraphicsOutput::get_delete_flag(void) const;

Description: Returns the current setting of the delete flag. When this is true, the GraphicsOutput will automatically be removed before the beginning of the next frame by the GraphicsEngine.

getDisplayRegion
PointerTo< DisplayRegion > GraphicsOutput::get_display_region(int n) const;

Description: Returns the nth DisplayRegion of those that have been created within the window. This may return NULL if n is out of bounds; particularly likely if the number of display regions has changed since the last call to get_num_display_regions().

getFbProperties
FrameBufferProperties const &GraphicsOutput::get_fb_properties(void) const;

Description: Returns the framebuffer properties of the window.

getFbXSize
int GraphicsOutput::get_fb_x_size(void) const;

Description: Returns the internal width of the window or buffer. This is almost always the same as get_x_size(), except when a pixel_zoom is in effect--see set_pixel_zoom().

getFbYSize
int GraphicsOutput::get_fb_y_size(void) const;

Description: Returns the internal height of the window or buffer. This is almost always the same as get_y_size(), except when a pixel_zoom is in effect--see set_pixel_zoom().

getGsg
GraphicsStateGuardian *GraphicsOutput::get_gsg(void) const;

Description: Returns the GSG that is associated with this window. There is a one-to-one association between windows and GSG's.
This may return NULL if the graphics context has not yet been created for the window, e.g. before the first frame has rendered; or after the window has been closed.

getInverted
bool GraphicsOutput::get_inverted(void) const;

Description: Returns the current setting of the inverted flag. When this is true, the scene is rendered into the window upside-down, flipped like a mirror along the X axis. See set_inverted().

getLeftEyeColorMask
unsigned int GraphicsOutput::get_left_eye_color_mask(void) const;

Description: Returns the color mask in effect when rendering a left-eye view in red_blue stereo mode. This is one or more bits defined in ColorWriteAttrib::Channels. See set_red_blue_stereo().

getName
string const &GraphicsOutput::get_name(void) const;

Description: Returns the name that was passed to the GraphicsOutput constructor.

getNumActiveDisplayRegions
int GraphicsOutput::get_num_active_display_regions(void) const;

Description: Returns the number of active DisplayRegions that have been created within the window.

getNumDisplayRegions
int GraphicsOutput::get_num_display_regions(void) const;

Description: Returns the number of DisplayRegions that have been created within the window, active or otherwise.

getOneShot
bool GraphicsOutput::get_one_shot(void) const;

Description: Returns the current setting of the one-shot flag. When this is true, the GraphicsOutput will automatically detach its texture (if it has one) and remove itself from the GraphicsEngine after it renders the next frame.

getPipe
GraphicsPipe *GraphicsOutput::get_pipe(void) const;

Description: Returns the GraphicsPipe that this window is associated with. It is possible that the GraphicsPipe might have been deleted while an outstanding PT(GraphicsOutput) prevented all of its children windows from also being deleted; in this unlikely case, get_pipe() may return NULL.

getRedBlueStereo
bool GraphicsOutput::get_red_blue_stereo(void) const;

Description: Returns whether red-blue stereo mode is in effect for this particular window. See set_red_blue_stereo().

getRightEyeColorMask
unsigned int GraphicsOutput::get_right_eye_color_mask(void) const;

Description: Returns the color mask in effect when rendering a right-eye view in red_blue stereo mode. This is one or more bits defined in ColorWriteAttrib::Channels. See set_red_blue_stereo().

getRtmMode
GraphicsOutput::RenderTextureMode GraphicsOutput::get_rtm_mode(int i = (0)) const;

Description: Returns the RenderTextureMode associated with the nth render-texture. Returns RTM_none if there is no such texture.

getScreenshot
bool GraphicsOutput::get_screenshot(PNMImage &image);

Description: Captures the most-recently rendered image from the framebuffer into the indicated PNMImage. Returns true on success, false on failure.

getSort
int GraphicsOutput::get_sort(void) const;

Description: Returns the sorting order of this particular GraphicsOutput. The various GraphicsOutputs within a particular thread will be rendered in the indicated order.

getTexture
Texture *GraphicsOutput::get_texture(int i = (0)) const;

Description: Returns the nth texture into which the GraphicsOutput renders. Returns NULL if there is no such texture.
If the texture is non-NULL, it may be applied to geometry to be rendered for any other windows or outputs that share the same GSG as this GraphicsOutput. The effect is undefined for windows that share a different GSG; usually in these cases the texture will be invalid.

getTextureCard
NodePath GraphicsOutput::get_texture_card(void);

Description: Returns a PandaNode containing a square polygon. The dimensions are (-1,0,-1) to (1,0,1). The texture coordinates are such that the texture of this GraphicsOutput is aligned properly to the polygon. The GraphicsOutput promises to surgically update the Geom inside the PandaNode if necessary to maintain this invariant.
Each invocation of this function returns a freshly- allocated PandaNode. You can therefore safely modify the RenderAttribs of the PandaNode. The PandaNode is initially textured with the texture of this GraphicOutput.

getTexturePlane
DrawableRegion::RenderTexturePlane GraphicsOutput::get_texture_plane(int i = (0)) const;

Description: Returns the RenderTexturePlane associated with the nth render-texture. Returns 0 if there is no such texture.

getXSize
int GraphicsOutput::get_x_size(void) const;

Description: Returns the visible width of the window or buffer, if it is known. In certain cases (e.g. fullscreen windows), the size may not be known until after the object has been fully created. Check has_size() first.
Certain objects (like windows) may change size spontaneously; this method is not thread-safe. To get the size of a window in a thread-safe manner, query get_properties().

getYSize
int GraphicsOutput::get_y_size(void) const;

Description: Returns the visible height of the window or buffer, if it is known. In certain cases (e.g. fullscreen windows), the size may not be known until after the object has been fully created. Check has_size() first.
Certain objects (like windows) may change size spontaneously; this method is not thread-safe. To get the size of a window in a thread-safe manner, query get_properties().

hasSize
bool GraphicsOutput::has_size(void) const;

Description: Returns true if the size of the window/frame buffer is known, false otherwise. In certain cases the size may not be known until after the object has been fully created. Also, certain objects (like windows) may change size spontaneously.

hasTexture
bool GraphicsOutput::has_texture(void) const;

Description: Returns true if the GraphicsOutput is rendering into any textures at all.

isActive
virtual bool GraphicsOutput::is_active(void) const;

Description: Returns true if the window is ready to be rendered into, false otherwise.

isStereo
bool GraphicsOutput::is_stereo(void) const;

Description: Returns Returns true if this window can render stereo DisplayRegions, either through red-blue stereo (see set_red_blue_stereo()) or through true hardware stereo rendering.

isValid
bool GraphicsOutput::is_valid(void) const;

Description: Returns true if the output is fully created and ready for rendering, false otherwise.

makeCubeMap
GraphicsOutput *GraphicsOutput::make_cube_map(string const &name, int size, NodePath &camera_rig, BitMask< unsigned int, 32 > camera_mask = ((get_all_camera_mask())), bool to_ram = (0));

Description: This is similar to make_texture_buffer() in that it allocates a separate buffer suitable for rendering to a texture that can be assigned to geometry in this window, but in this case, the buffer is set up to render the six faces of a cube map.
The buffer is automatically set up with six display regions and six cameras, each of which are assigned the indicated draw_mask and parented to the given camera_rig node (which you should then put in your scene to render the cube map from the appropriate point of view).
You may take the texture associated with the buffer and apply it to geometry, particularly with TexGenAttrib::M_world_cube_map also in effect, to apply a reflection of everything seen by the camera rig.

makeDisplayRegion
DisplayRegion *GraphicsOutput::make_display_region(void);

Description: Creates a new DisplayRegion that covers the entire window.
Description: Creates a new DisplayRegion that covers the indicated sub-rectangle within the window. The range on all parameters is 0..1.

makeScreenshotFilename
static Filename GraphicsOutput::make_screenshot_filename(string const &prefix = ("screenshot"));

Description: Saves a screenshot of the region to a default filename, and returns the filename, or empty string if the screenshot failed. The default filename is generated from the supplied prefix and from the Config variable screenshot-filename, which contains the following strings:
%~p - the supplied prefix %~f - the frame count %~e - the value of screenshot-extension All other % strings in strftime().

makeTextureBuffer
GraphicsOutput *GraphicsOutput::make_texture_buffer(string const &name, int x_size, int y_size, Texture *tex = ((void *)(0)), bool to_ram = (0));

Description: Creates and returns an offscreen buffer for rendering into, the result of which will be a texture suitable for applying to geometry within the scene rendered into this window.
If tex is not NULL, it is the texture that will be set up for rendering into; otherwise, a new Texture object will be created. In either case, the target texture can be retrieved from the return value with buffer->get_texture() (assuming the return value is not NULL).
If to_ram is true, the buffer will be set up to download its contents to the system RAM memory associated with the Texture object, instead of keeping it strictly within texture memory; this is much slower, but it allows using the texture with any GSG.
This will attempt to be smart about maximizing render performance while minimizing framebuffer waste. It might return a GraphicsBuffer set to render directly into a texture, if possible; or it might return a ParasiteBuffer that renders into this window. The return value is NULL if the buffer could not be created for some reason.
When you are done using the buffer, you should remove it with a call to GraphicsEngine::remove_window() (or set the one_shot flag so it removes itself after one frame).

removeAllDisplayRegions
void GraphicsOutput::remove_all_display_regions(void);

Description: Removes all display regions from the window, except the default one that is created with the window.

removeDisplayRegion
bool GraphicsOutput::remove_display_region(DisplayRegion *display_region);

Description: Removes the indicated DisplayRegion from the window, and destructs it if there are no other references.
Returns true if the DisplayRegion is found and removed, false if it was not a part of the window.

saveScreenshot
bool GraphicsOutput::save_screenshot(Filename const &filename, string const &image_comment = (""));

Description: Saves a screenshot of the region to the indicated filename. The image comment is an optional user readable string that will be saved with the header of the image (if the file format supports embedded data; for example jpg allows comments). Returns true on success, false on failure.

saveScreenshotDefault
Filename GraphicsOutput::save_screenshot_default(string const &prefix = ("screenshot"));

Description: Saves a screenshot of the region to a default filename, and returns the filename, or empty string if the screenshot failed. The filename is generated by make_screenshot_filename().

setActive
void GraphicsOutput::set_active(bool active);

Description: Sets the active flag associated with the GraphicsOutput. If the GraphicsOutput is marked inactive, nothing is rendered.

setChildSort
void GraphicsOutput::set_child_sort(int child_sort);

Description: Specifies the sort value of future offscreen buffers created by make_texture_sort().
The purpose of this method is to allow the user to limit the sort value chosen for a buffer created via make_texture_buffer(). Normally, this buffer will be assigned a value of get_sort() - 1, so that it will be rendered before this window is rendered; but sometimes this isn't sufficiently early, especially if other buffers also have a view into the same scene.
If you specify a value here, then new buffers created via make_texture_buffer() will be given that sort value instead of get_sort() - 1.

setInverted
void GraphicsOutput::set_inverted(bool inverted);

Description: Changes the current setting of the inverted flag. When this is true, the scene is rendered into the window upside-down and backwards, that is, inverted as if viewed through a mirror placed on the floor.
This is primarily intended to support DirectX (and a few buggy OpenGL graphics drivers) that perform a framebuffer-to-texture copy upside-down from the usual OpenGL (and Panda) convention. Panda will automatically set this flag for offscreen buffers on hardware that is known to do this, to compensate when rendering offscreen into a texture.

setOneShot
void GraphicsOutput::set_one_shot(bool one_shot);

Description: Changes the current setting of the one-shot flag. When this is true, the GraphicsOutput will automatically detach its texture (if it has one) and remove itself from the GraphicsEngine after it renders the next frame.

setRedBlueStereo
void GraphicsOutput::set_red_blue_stereo(bool red_blue_stereo, unsigned int left_eye_color_mask, unsigned int right_eye_color_mask);

Description: Enables red-blue stereo mode on this particular window. When red-blue stereo mode is in effect, DisplayRegions that have the "left" channel set will render in the red (or specified) channel only, while DisplayRegions that have the "right" channel set will render in the blue (or specified) channel only.
The remaining two parameters specify the particular color channel(s) to associate with each eye. Use the bits defined in ColorWriteAttrib::Channels.
This can be used to achieve a cheesy stereo mode in the absence of hardware-supported stereo.

setSort
void GraphicsOutput::set_sort(int sort);

Description: Adjusts the sorting order of this particular GraphicsOutput, relative to other GraphicsOutputs.

setupRenderTexture
void GraphicsOutput::setup_render_texture(Texture *tex, bool allow_bind, bool to_ram);

Description: This is a deprecated interface that made sense back when GraphicsOutputs could only render into one texture at a time. From now on, use clear_render_textures and add_render_texture instead.

shareDepthBuffer
virtual bool GraphicsOutput::share_depth_buffer(GraphicsOutput *graphics_output);

Description: Will attempt to use the depth buffer of the input graphics_output. The buffer sizes must be exactly the same.

triggerCopy
void GraphicsOutput::trigger_copy(void);

Description: When the GraphicsOutput is in triggered copy mode, this function triggers the copy (at the end of the next frame).

unshareDepthBuffer
virtual void GraphicsOutput::unshare_depth_buffer(void);

Description: Discontinue sharing the depth buffer.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

disableClears
void DrawableRegion::disable_clears(void);

Description: Disables both the color and depth clear. See set_clear_color_active and set_clear_depth_active.

getClearActive
bool DrawableRegion::get_clear_active(int n) const;

Description: Gets the clear-active flag for any bitplane.

getClearColor
LVecBase4f const &DrawableRegion::get_clear_color(void) const;

Description: Returns the current clear color value. This is the value that will be used to clear the color buffer every frame, but only if get_clear_color_active() returns true. If get_clear_color_active() returns false, this is meaningless.

getClearColorActive
bool DrawableRegion::get_clear_color_active(void) const;

Description: Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. See set_clear_color_active().

getClearDepth
float DrawableRegion::get_clear_depth(void) const;

Description: Returns the current clear depth value. This is the value that will be used to clear the depth buffer every frame, but only if get_clear_depth_active() returns true. If get_clear_depth_active() returns false, this is meaningless.

getClearDepthActive
bool DrawableRegion::get_clear_depth_active(void) const;

Description: Returns the current setting of the flag that indicates whether the depth buffer should be cleared every frame. See set_clear_depth_active().

getClearStencil
unsigned int DrawableRegion::get_clear_stencil(void) const;

Description: Returns the current clear stencil value. This is the value that will be used to clear the stencil buffer every frame, but only if get_clear_stencil_active() returns true. If get_clear_stencil_active() returns false, this is meaningless.

getClearStencilActive
bool DrawableRegion::get_clear_stencil_active(void) const;

Description: Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. See set_clear_stencil_active().

getClearValue
LVecBase4f const &DrawableRegion::get_clear_value(int n) const;

Description: Returns the clear value for any bitplane.

getPixelFactor
float DrawableRegion::get_pixel_factor(void) const;

Description: Returns the amount by which the height and width of the region will be scaled internally, based on the zoom factor set by set_pixel_zoom(). This will return 1.0 if the pixel_zoom was not set or if it is not being respected (for instance, because the underlying renderer doesn't support it--see supports_pixel_zoom).

getPixelZoom
float DrawableRegion::get_pixel_zoom(void) const;

Description: Returns the value set by set_pixel_zoom(), regardless of whether it is being respected or not. Also see get_pixel_factor().

getRenderbufferType
static int DrawableRegion::get_renderbuffer_type(int plane);

Description: Returns the RenderBuffer::Type that corresponds to a RenderTexturePlane.

isAnyClearActive
bool DrawableRegion::is_any_clear_active(void) const;

Description: Returns true if any of the clear types (so far there are just color or depth) have been set active, or false if none of them are active and there is no need to clear.

setClearActive
void DrawableRegion::set_clear_active(int n, bool clear_aux_active);

Description: Sets the clear-active flag for any bitplane.

setClearColor
void DrawableRegion::set_clear_color(LVecBase4f const &color);

Description: Sets the clear color to the indicated value. This is the value that will be used to clear the color buffer every frame, but only if get_clear_color_active() returns true. If get_clear_color_active() returns false, this is meaningless.

setClearColorActive
void DrawableRegion::set_clear_color_active(bool clear_color_active);

Description: Toggles the flag that indicates whether the color buffer should be cleared every frame. If this is true, the color buffer will be cleared to the color indicated by set_clear_color(); otherwise, it will be left alone.

setClearDepth
void DrawableRegion::set_clear_depth(float depth);

Description: Sets the clear depth to the indicated value. This is the value that will be used to clear the depth buffer every frame, but only if get_clear_depth_active() returns true. If get_clear_depth_active() returns false, this is meaningless.

setClearDepthActive
void DrawableRegion::set_clear_depth_active(bool clear_depth_active);

Description: Toggles the flag that indicates whether the depth buffer should be cleared every frame. If this is true, the depth buffer will be cleared to the depth value indicated by set_clear_depth(); otherwise, it will be left alone.

setClearStencil
void DrawableRegion::set_clear_stencil(unsigned int stencil);

Description: Sets the clear stencil to the indicated value. This is the value that will be used to clear the stencil buffer every frame, but only if get_clear_color_active() returns true. If get_clear_stencil_active() returns false, this is meaningless.

setClearStencilActive
void DrawableRegion::set_clear_stencil_active(bool clear_stencil_active);

Description: Toggles the flag that indicates whether the stencil buffer should be cleared every frame. If this is true, the stencil buffer will be cleared to the value indicated by set_clear_stencil(); otherwise, it will be left alone.

setClearValue
void DrawableRegion::set_clear_value(int n, LVecBase4f const &color);

Description: Sets the clear value for any bitplane.

setPixelZoom
void DrawableRegion::set_pixel_zoom(float pixel_zoom);

Description: Sets the amount by which the pixels of the region are scaled internally when filling the image interally. Setting this number larger makes the pixels blockier, but may make the rendering faster, particularly for software renderers. Setting this number to 2.0 reduces the number of pixels that have to be filled by the renderer by a factor of 2.0. It doesn't make sense to set this lower than 1.0.
It is possible to set this on either individual DisplayRegions or on overall GraphicsWindows, but you will get better performance for setting it on the window rather than its individual DisplayRegions. Also, you may not set it on a DisplayRegion that doesn't have both clear_color() and clear_depth() enabled.
This property is only supported on renderers for which it is particularly useful--currently, this is the tinydisplay software renderer. Other kinds of renderers allow you to set this property, but ignore it.

supportsPixelZoom
virtual bool DrawableRegion::supports_pixel_zoom(void) const;

Description: Returns true if a call to set_pixel_zoom() will be respected, false if it will be ignored. If this returns false, then get_pixel_factor() will always return 1.0, regardless of what value you specify for set_pixel_zoom().
This may return false if the underlying renderer doesn't support pixel zooming, or if you have called this on a DisplayRegion that doesn't have both set_clear_color() and set_clear_depth() enabled.


GraphicsPipe

    from pandac.PandaModules import GraphicsPipe
    Class : GraphicsPipe
    Description : An object to create GraphicsOutputs that share a particular 3-D API. Normally, there will only be one GraphicsPipe in an application, although it is possible to have multiple of these at once if there are multiple different API's available in the same machine.
    Often, the GraphicsPipe corresponds to a physical output device, hence the term "pipe", but this is not necessarily the case.
    The GraphicsPipe is used by the GraphicsEngine object to create and destroy windows; it keeps ownership of the windows it creates.
    M. Asad added new/interim functionality where GraphicsPipe now contains a device interface to directx/opengl which will be used to handle multiple windows from same device.

Inheritance:

    GraphicsPipe: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of GraphicsPipe:

    getClassType
    getDisplayHeight
    getDisplayInformation
    getDisplayWidth
    getInterfaceName
    getSupportedTypes
    isValid
    supportsType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GraphicsPipe:

    OTWindow | (OutputTypes)
OTFullscreenWindow | (OutputTypes)
OTBuffer | (OutputTypes)
OTTextureBuffer | (OutputTypes)
BFRefuseParasite | (BufferCreationFlags)
BFRequireParasite | (BufferCreationFlags)
BFRefuseWindow | (BufferCreationFlags)
BFRequireWindow | (BufferCreationFlags)
BFCanBindColor | (BufferCreationFlags)
BFCanBindEvery | (BufferCreationFlags)
BFResizeable | (BufferCreationFlags)
BFSizeTrackHost | (BufferCreationFlags)
BFRttCumulative | (BufferCreationFlags)
BFFbPropsOptional | (BufferCreationFlags)
BFSizeSquare | (BufferCreationFlags)
getClassType
static TypeHandle GraphicsPipe::get_class_type(void);

Undocumented function.

getDisplayHeight
int GraphicsPipe::get_display_height(void) const;

Description: Returns the height of the entire display, if it is known. This may return 0. See the caveats for get_display_width().

getDisplayInformation
DisplayInformation *GraphicsPipe::get_display_information(void);

Description: Gets the pipe's DisplayInformation.

getDisplayWidth
int GraphicsPipe::get_display_width(void) const;

Description: Returns the width of the entire display, if it is known. This may return 0. This is not a guarantee that windows (particularly fullscreen windows) may not be created larger than this width, but it is intended to provide a hint to the application.

getInterfaceName
virtual string GraphicsPipe::get_interface_name(void) const = 0;

Undocumented function.

getSupportedTypes
int GraphicsPipe::get_supported_types(void) const;

Description: Returns the mask of bits that represents the kinds of GraphicsOutput objects this pipe might be able to successfully create. The return value is the union of bits in GraphicsPipe::OutputTypes that represents the set of GraphicsOutput types.
A 1 bit in a particular position is not a guarantee of success, but a 0 bit is a guarantee of failure.

isValid
bool GraphicsPipe::is_valid(void) const;

Description: Returns false if this pipe is known to be invalid, meaning that an attempt to create a GraphicsWindow with the pipe will certainly fail. Returns true if the pipe is probably valid (is this case, an attempt to create a GraphicsWindow should succeed, but might still fail).
Use the GraphicsEngine class to create a GraphicsWindow on a particular pipe.

supportsType
bool GraphicsPipe::supports_type(int flags) const;

Description: A convenience function to ask if a particular type or types of GraphicsObjects are supported. The parameter is a union of one or more bits defined in GrpahicsPipe::OutputTypes.
Returns true if all of the requested types are listed in the supported_types mask, false if any one of them is not. This is not a guarantee that the indicated output type will successfully be created when it is attempted.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GraphicsPipeSelection

    from pandac.PandaModules import GraphicsPipeSelection
    Class : GraphicsPipeSelection
    Description : This maintains a list of GraphicsPipes by type that are available for creation. Normally there is one default interactive GraphicsPipe, and possibly other types available as well.

Inheritance:

    GraphicsPipeSelection:

Methods of GraphicsPipeSelection:

    getGlobalPtr
    getNumAuxModules
    getNumPipeTypes
    getPipeType
    loadAuxModules
    makeDefaultPipe
    makePipe
    printPipeTypes
getGlobalPtr
static GraphicsPipeSelection *GraphicsPipeSelection::get_global_ptr(void);

Description: Returns a pointer to the one global GraphicsPipeSelection object.

getNumAuxModules
int GraphicsPipeSelection::get_num_aux_modules(void) const;

Description: Returns the number of display modules that are still to be loaded. If this is nonzero, then calling load_aux_modules() will likely increase the number of GraphicsPipes available.

getNumPipeTypes
int GraphicsPipeSelection::get_num_pipe_types(void) const;

Description: Returns the number of different types of GraphicsPipes that are available to create through this interface.

getPipeType
TypeHandle GraphicsPipeSelection::get_pipe_type(int n) const;

Description: Returns the nth type of GraphicsPipe available through this interface.

loadAuxModules
void GraphicsPipeSelection::load_aux_modules(void);

Description: Loads all the modules named in the aux-display Configrc variable, making as many graphics pipes as possible available.

makeDefaultPipe
PointerTo< GraphicsPipe > GraphicsPipeSelection::make_default_pipe(void);

Description: Creates a new GraphicsPipe of some arbitrary type. The user may specify a preference using the Configrc file; otherwise, one will be chosen arbitrarily.

makePipe
PointerTo< GraphicsPipe > GraphicsPipeSelection::make_pipe(string const &type_name, string const &module_name = ((string())));

Description: Creates a new GraphicsPipe of the indicated type (or a type more specific than the indicated type, if necessary) and returns it. Returns NULL if the type cannot be matched.
If the type is not already defined, this will implicitly load the named module, or if module_name is empty, it will call load_aux_modules().

printPipeTypes
void GraphicsPipeSelection::print_pipe_types(void) const;

Description: Writes a list of the currently known GraphicsPipe types to nout, for the user's information.


GraphicsStateGuardian

    from pandac.PandaModules import GraphicsStateGuardian
    Class : GraphicsStateGuardian
    Description : Encapsulates all the communication with a particular instance of a given rendering backend. Tries to guarantee that redundant state-change requests are not issued (hence "state guardian").
    There will be one of these objects for each different graphics context active in the system.

Inheritance:

    GraphicsStateGuardian: GraphicsStateGuardianBase
    GraphicsStateGuardianBase: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of GraphicsStateGuardian:

    getAlphaScaleTextureStage
    getAlphaScaleViaTexture
    getClassType
    getColorScaleViaLighting
    getCoordinateSystem
    getCopyTextureInverted
    getEngine
    getGamma
    getMax3dTextureDimension
    getMaxClipPlanes
    getMaxCubeMapDimension
    getMaximumSimultaneuousRenderTargets
    getMaxLights
    getMaxTextureStages
    getMaxVertexTransformIndices
    getMaxVertexTransforms
    getPipe
    getPreparedObjects
    getRuntimeColorScale
    getShaderModel
    getSupports3dTexture
    getSupportsBasicShaders
    getSupportsCompressedTexture
    getSupportsCompressedTextureFormat
    getSupportsCubeMap
    getSupportsDepthStencil
    getSupportsDepthTexture
    getSupportsGenerateMipmap
    getSupportsRenderTexture
    getSupportsShadowFilter
    getSupportsTexNonPow2
    getSupportsTextureCombine
    getSupportsTextureDot3
    getSupportsTextureSavedResult
    getSupportsTwoSidedStencil
    getTextureQualityOverride
    getThreadingModel
    isActive
    isHardware
    isValid
    needsReset
    releaseAll
    releaseAllGeoms
    releaseAllIndexBuffers
    releaseAllTextures
    releaseAllVertexBuffers
    restoreGamma
    setActive
    setCoordinateSystem
    setGamma
    setShaderModel
    setTextureQualityOverride

Methods of GraphicsStateGuardianBase:

    getClassType
    getDefaultGsg
    getMaxTextureDimension
    getMaxVerticesPerArray
    getMaxVerticesPerPrimitive
    getSupportedGeomRendering
    getSupportsMultisample
    getSupportsOcclusionQuery
    prefersTriangleStrips
    setDefaultGsg

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in GraphicsStateGuardian:

    SM00 | (ShaderModel)
SM11 | (ShaderModel)
SM20 | (ShaderModel)
SM2X | (ShaderModel)
SM30 | (ShaderModel)
SM40 | (ShaderModel)
getAlphaScaleTextureStage
static TextureStage *GraphicsStateGuardian::get_alpha_scale_texture_stage(void);

Description: Returns the TextureStage that will be used to apply an alpha scale, if get_alpha_scale_via_texture() returns true.

getAlphaScaleViaTexture
bool GraphicsStateGuardian::get_alpha_scale_via_texture(void) const;

Description: Returns true if this particular GSG can implement (or would prefer to implement) an alpha scale via an additional Texture layer, or false if we need to actually munge the alpha.
Description: This variant of get_alpha_scale_via_texture() answers the question of whether the GSG can implement an alpha scale via an additional Texture layer, considering the current TextureAttrib that will be in effect. This considers whether there is at least one additional texture slot available on the GSG.

getClassType
static TypeHandle GraphicsStateGuardian::get_class_type(void);

Undocumented function.

getColorScaleViaLighting
bool GraphicsStateGuardian::get_color_scale_via_lighting(void) const;

Description: Returns true if this particular GSG can implement (or would prefer to implement) set color and/or color scale using materials and/or ambient lights, or false if we need to actually munge the color.

getCoordinateSystem
CoordinateSystem GraphicsStateGuardian::get_coordinate_system(void) const;

Description: Returns the coordinate system in effect on this particular gsg. Normally, this will be the default coordinate system, but it might be set differently at runtime.

getCopyTextureInverted
bool GraphicsStateGuardian::get_copy_texture_inverted(void) const;

Description: Returns true if this particular GSG has the property that any framebuffer-to-texture copy results in a texture that is upside-down and backwards from Panda's usual convention; that is, it copies into a texture from the bottom up instead of from the top down.
If this is true, then on offscreen GraphicsBuffer created for the purposes of rendering into a texture should be created with the invert flag set true, to compensate. Panda will do this automatically if you create an offscreen buffer using GraphicsOutput::make_texture_buffer().

getEngine
GraphicsEngine *GraphicsStateGuardian::get_engine(void) const;

Description: Returns the graphics engine that created this GSG.

getGamma
float GraphicsStateGuardian::get_gamma(float gamma);

Description: Get the current gamma setting.

getMax3dTextureDimension
int GraphicsStateGuardian::get_max_3d_texture_dimension(void) const;

Description: Returns the largest possible texture size in any one dimension for a 3-d texture, or -1 if there is no particular limit. Returns 0 if 3-d textures are not supported.
The value returned may not be meaningful until after the graphics context has been fully created (e.g. the window has been opened).

getMaxClipPlanes
int GraphicsStateGuardian::get_max_clip_planes(void) const;

Description: Returns the maximum number of simultaneous clip planes that may be applied to geometry, or -1 if there is no particular limit.
The value returned may not be meaningful until after the graphics context has been fully created (e.g. the window has been opened).

getMaxCubeMapDimension
int GraphicsStateGuardian::get_max_cube_map_dimension(void) const;

Description: Returns the largest possible texture size in any one dimension for a cube map texture, or -1 if there is no particular limit. Returns 0 if cube map textures are not supported.
The value returned may not be meaningful until after the graphics context has been fully created (e.g. the window has been opened).

getMaximumSimultaneuousRenderTargets
int GraphicsStateGuardian::get_maximum_simultaneuous_render_targets(void) const;

Description: Returns the maximum simultaneuous render targets supported.

getMaxLights
int GraphicsStateGuardian::get_max_lights(void) const;

Description: Returns the maximum number of simultaneous lights that may be rendered on geometry, or -1 if there is no particular limit.
The value returned may not be meaningful until after the graphics context has been fully created (e.g. the window has been opened).

getMaxTextureStages
int GraphicsStateGuardian::get_max_texture_stages(void) const;

Description: Returns the maximum number of simultaneous textures that may be applied to geometry with multitexturing, as supported by this particular GSG. If you exceed this number, the lowest-priority texture stages will not be applied. Use TextureStage::set_priority() to adjust the relative importance of the different texture stages.
The value returned may not be meaningful until after the graphics context has been fully created (e.g. the window has been opened).

getMaxVertexTransformIndices
int GraphicsStateGuardian::get_max_vertex_transform_indices(void) const;

Description: Returns the maximum number of transforms there may be in a single TransformTable for this graphics hardware. If this number is 0 (but get_max_transforms() is nonzero), then the graphics hardware (or API) doesn't support indexed transforms, but can support direct transform references.
The value returned may not be meaningful until after the graphics context has been fully created (e.g. the window has been opened).

getMaxVertexTransforms
int GraphicsStateGuardian::get_max_vertex_transforms(void) const;

Description: Returns the maximum number of transform matrices that may be simultaneously used to transform any one vertex by the graphics hardware. If this number is 0, then the hardware (or the graphics backend) doesn't support soft-skinned vertices (in which case Panda will animate the vertices in software).
The value returned may not be meaningful until after the graphics context has been fully created (e.g. the window has been opened).

getPipe
GraphicsPipe *GraphicsStateGuardian::get_pipe(void) const;

Description: Returns the graphics pipe on which this GSG was created.

getPreparedObjects
virtual PreparedGraphicsObjects *GraphicsStateGuardian::get_prepared_objects(void);

Description: Returns the set of texture and geom objects that have been prepared with this GSG (and possibly other GSG's that share objects).

getRuntimeColorScale
bool GraphicsStateGuardian::get_runtime_color_scale(void) const;

Description: Returns true if this particular GSG can implement (or would prefer to implement) set color and/or color scale directly, without requiring any munging of vertices or tricks with lighting.

getShaderModel
int GraphicsStateGuardian::get_shader_model(void) const;

Description: Returns the ShaderModel

getSupports3dTexture
bool GraphicsStateGuardian::get_supports_3d_texture(void) const;

Description: Returns true if this GSG can render 3-d (volumetric) textures.

getSupportsBasicShaders
bool GraphicsStateGuardian::get_supports_basic_shaders(void) const;

Description: Returns true if this particular GSG supports arbfp1+arbvp1 or above.

getSupportsCompressedTexture
bool GraphicsStateGuardian::get_supports_compressed_texture(void) const;

Description: Returns true if this GSG can compress textures as it loads them into texture memory, and/or accept pre-compressed textures for storing.

getSupportsCompressedTextureFormat
bool GraphicsStateGuardian::get_supports_compressed_texture_format(Texture::CompressionMode compression) const;

Description: Returns true if this GSG can accept textures pre-compressed in the indicated format.

getSupportsCubeMap
bool GraphicsStateGuardian::get_supports_cube_map(void) const;

Description: Returns true if this GSG can render cube map textures.

getSupportsDepthStencil
bool GraphicsStateGuardian::get_supports_depth_stencil(void) const;

Description: Returns true if this particular GSG supports textures whose format is F_depth_stencil. This only returns true if the GSG supports the full packed depth-stencil functionality.

getSupportsDepthTexture
bool GraphicsStateGuardian::get_supports_depth_texture(void) const;

Description: Returns true if this particular GSG supports textures whose format is F_depth_stencil. This returns true if the GSG supports GL_DEPTH_COMPONENT textures, which are considered a limited but still valid case of F_depth_stencil.

getSupportsGenerateMipmap
bool GraphicsStateGuardian::get_supports_generate_mipmap(void) const;

Description: Returns true if this particular GSG can generate mipmaps for a texture automatically, or if they must be generated in software. If this is true, then mipmaps can safely be enabled for rendered textures (e.g. using the MultitexReducer).

getSupportsRenderTexture
bool GraphicsStateGuardian::get_supports_render_texture(void) const;

Description: Returns true if this particular GSG can render directly into a texture, or false if it must always copy-to-texture at the end of each frame to achieve this effect.

getSupportsShadowFilter
bool GraphicsStateGuardian::get_supports_shadow_filter(void) const;

Description: Returns true if this particular GSG supports the filter mode FT_shadow for depth textures.

getSupportsTexNonPow2
bool GraphicsStateGuardian::get_supports_tex_non_pow2(void) const;

Description: Returns true if this GSG can handle non power of two sized textures.

getSupportsTextureCombine
bool GraphicsStateGuardian::get_supports_texture_combine(void) const;

Description: Returns true if this particular GSG can use the TextureStage::M_combine mode, which includes all of the texture blend modes specified by set_combine_rgb() and/or set_combine_alpha(). If this is false, you must limit yourself to using the simpler blend modes.

getSupportsTextureDot3
bool GraphicsStateGuardian::get_supports_texture_dot3(void) const;

Description: Returns true if this GSG can use the TextureStage::CM_dot3_rgb or CM_dot3_rgba combine modes.

getSupportsTextureSavedResult
bool GraphicsStateGuardian::get_supports_texture_saved_result(void) const;

Description: Returns true if this GSG can use the TextureStage::CS_last_saved_result source, which allows you to save the result of a TextureStage and re-use it for multiple inputs.

getSupportsTwoSidedStencil
bool GraphicsStateGuardian::get_supports_two_sided_stencil(void) const;

Description: Returns true if this particular GSG supports two sided stencil.

getTextureQualityOverride
Texture::QualityLevel GraphicsStateGuardian::get_texture_quality_override(void) const;

Description: Returns the global quality_level override specified by set_texture_quality_override.
This is mainly useful for the tinydisplay software renderer. See Texture::set_quality_level().

getThreadingModel
GraphicsThreadingModel const &GraphicsStateGuardian::get_threading_model(void) const;

Description: Returns the threading model that was used to create this GSG.

isActive
bool GraphicsStateGuardian::is_active(void) const;

Description: Returns the active flag associated with the GraphicsStateGuardian.

isHardware
bool GraphicsStateGuardian::is_hardware(void) const;

Description: Returns true if this GSG appears to be hardware-accelerated, or false if it is known to be software only.

isValid
bool GraphicsStateGuardian::is_valid(void) const;

Description: Returns true if the GSG has been correctly initialized within a graphics context, false if there has been some problem or it hasn't been initialized yet.

needsReset
bool GraphicsStateGuardian::needs_reset(void) const;

Description: Returns true if the gsg is marked as needing a reset.

releaseAll
void GraphicsStateGuardian::release_all(void);

Description: Releases all prepared objects.

releaseAllGeoms
int GraphicsStateGuardian::release_all_geoms(void);

Description: Frees the resources for all geoms associated with this GSG.

releaseAllIndexBuffers
int GraphicsStateGuardian::release_all_index_buffers(void);

Description: Frees the resources for all index buffers associated with this GSG.

releaseAllTextures
int GraphicsStateGuardian::release_all_textures(void);

Description: Frees the resources for all textures associated with this GSG.

releaseAllVertexBuffers
int GraphicsStateGuardian::release_all_vertex_buffers(void);

Description: Frees the resources for all vertex buffers associated with this GSG.

restoreGamma
virtual void GraphicsStateGuardian::restore_gamma(void);

Description: Restore original gamma setting.

setActive
void GraphicsStateGuardian::set_active(bool active);

Description: Sets the active flag associated with the GraphicsStateGuardian. If the GraphicsStateGuardian is marked inactive, nothing is rendered. This is not normally turned off unless there is a problem with the rendering detected at a low level.

setCoordinateSystem
void GraphicsStateGuardian::set_coordinate_system(CoordinateSystem cs);

Description: Changes the coordinate system in effect on this particular gsg. This is also called the "external" coordinate system, since it is the coordinate system used by the scene graph, external to to GSG.
Normally, this will be the default coordinate system, but it might be set differently at runtime.

setGamma
virtual bool GraphicsStateGuardian::set_gamma(float gamma);

Description: Set gamma. Returns true on success.

setShaderModel
void GraphicsStateGuardian::set_shader_model(int shader_model);

Description: Sets the ShaderModel. This will override the auto- detected shader model during GSG reset. Useful for testing lower-end shaders.

setTextureQualityOverride
void GraphicsStateGuardian::set_texture_quality_override(Texture::QualityLevel quality_level);

Description: Specifies the global quality_level to be imposed for all Textures rendered by this GSG. This overrides the value set on individual textures via
Texture::set_quality_level(). Set this to
Texture::QL_default in order to allow the individual texture quality levels to be respected.
This is mainly useful for the tinydisplay software renderer. See Texture::set_quality_level().

getClassType
static TypeHandle GraphicsStateGuardianBase::get_class_type(void);

Undocumented function.

getDefaultGsg
static GraphicsStateGuardianBase *GraphicsStateGuardianBase::get_default_gsg(void);

Description: Returns a pointer to the "default" GSG. This is typically the first GSG created in an application; in a single-window application, it will be the only GSG. This GSG is used to determine default optimization choices for loaded geometry.
The return value may be NULL if a GSG has not been created.

getMaxTextureDimension
virtual int GraphicsStateGuardianBase::get_max_texture_dimension(void) const = 0;

Undocumented function.

getMaxVerticesPerArray
virtual int GraphicsStateGuardianBase::get_max_vertices_per_array(void) const = 0;

Undocumented function.

getMaxVerticesPerPrimitive
virtual int GraphicsStateGuardianBase::get_max_vertices_per_primitive(void) const = 0;

Undocumented function.

getSupportedGeomRendering
virtual int GraphicsStateGuardianBase::get_supported_geom_rendering(void) const = 0;

Undocumented function.

getSupportsMultisample
virtual bool GraphicsStateGuardianBase::get_supports_multisample(void) const = 0;

Undocumented function.

getSupportsOcclusionQuery
virtual bool GraphicsStateGuardianBase::get_supports_occlusion_query(void) const = 0;

Undocumented function.

prefersTriangleStrips
virtual bool GraphicsStateGuardianBase::prefers_triangle_strips(void) const = 0;

Undocumented function.

setDefaultGsg
static void GraphicsStateGuardianBase::set_default_gsg(GraphicsStateGuardianBase *default_gsg);

Description: Specifies a particular GSG to use as the "default" GSG. See get_default_gsg().

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GraphicsStateGuardianBase

    from pandac.PandaModules import GraphicsStateGuardianBase
    Class : GraphicsStateGuardianBase
    Description : This is a base class for the GraphicsStateGuardian class, which is itself a base class for the various GSG's for different platforms. This class contains all the function prototypes to support the double-dispatch of GSG to geoms, transitions, etc. It lives in a separate class in its own package so we can avoid circular build dependency problems.
    GraphicsStateGuardians are not actually writable to bam files, of course, but they may be passed as event parameters, so they inherit from TypedWritableReferenceCount instead of TypedReferenceCount for that convenience.

Inheritance:

    GraphicsStateGuardianBase: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of GraphicsStateGuardianBase:

    getClassType
    getDefaultGsg
    getMaxTextureDimension
    getMaxVerticesPerArray
    getMaxVerticesPerPrimitive
    getSupportedGeomRendering
    getSupportsMultisample
    getSupportsOcclusionQuery
    prefersTriangleStrips
    setDefaultGsg

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle GraphicsStateGuardianBase::get_class_type(void);

Undocumented function.

getDefaultGsg
static GraphicsStateGuardianBase *GraphicsStateGuardianBase::get_default_gsg(void);

Description: Returns a pointer to the "default" GSG. This is typically the first GSG created in an application; in a single-window application, it will be the only GSG. This GSG is used to determine default optimization choices for loaded geometry.
The return value may be NULL if a GSG has not been created.

getMaxTextureDimension
virtual int GraphicsStateGuardianBase::get_max_texture_dimension(void) const = 0;

Undocumented function.

getMaxVerticesPerArray
virtual int GraphicsStateGuardianBase::get_max_vertices_per_array(void) const = 0;

Undocumented function.

getMaxVerticesPerPrimitive
virtual int GraphicsStateGuardianBase::get_max_vertices_per_primitive(void) const = 0;

Undocumented function.

getSupportedGeomRendering
virtual int GraphicsStateGuardianBase::get_supported_geom_rendering(void) const = 0;

Undocumented function.

getSupportsMultisample
virtual bool GraphicsStateGuardianBase::get_supports_multisample(void) const = 0;

Undocumented function.

getSupportsOcclusionQuery
virtual bool GraphicsStateGuardianBase::get_supports_occlusion_query(void) const = 0;

Undocumented function.

prefersTriangleStrips
virtual bool GraphicsStateGuardianBase::prefers_triangle_strips(void) const = 0;

Undocumented function.

setDefaultGsg
static void GraphicsStateGuardianBase::set_default_gsg(GraphicsStateGuardianBase *default_gsg);

Description: Specifies a particular GSG to use as the "default" GSG. See get_default_gsg().

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


GraphicsThreadingModel

    from pandac.PandaModules import GraphicsThreadingModel
    Class : GraphicsThreadingModel
    Description : This represents the user's specification of how a particular frame is handled by the various threads.

Inheritance:

    GraphicsThreadingModel:

Methods of GraphicsThreadingModel:

    GraphicsThreadingModel (Constructor)
    getCullName
    getCullSorting
    getCullStage
    getDrawName
    getDrawStage
    getModel
    isDefault
    isSingleThreaded
    operator =
    output
    setCullName
    setCullSorting
    setDrawName
GraphicsThreadingModel
GraphicsThreadingModel::GraphicsThreadingModel(string const &model = ((string())));

Description:
Description: The threading model accepts a string representing the names of the two threads that will process cull and draw for the given window, separated by a slash. The names are completely arbitrary and are used only to differentiate threads. The two names may be the same, meaning the same thread, or each may be the empty string, which represents the previous thread.
Thus, for example, "cull/draw" indicates that the window will be culled in a thread called "cull", and drawn in a separate thread called "draw". "draw/draw" or simply "draw" indicates the window will be culled and drawn in the same thread, "draw". On the other hand, "/draw" indicates the thread will be culled in the main, or app thread, and drawn in a separate thread named "draw". The empty string, "" or "/", indicates the thread will be culled and drawn in the main thread; that is to say, a single-process model.
Finally, if the threading model begins with a "-" character, then cull and draw are run simultaneously, in the same thread, with no binning or state sorting. It simplifies the cull process but it forces the scene to render in scene graph order; state sorting and alpha sorting is lost.

getCullName
string const &GraphicsThreadingModel::get_cull_name(void) const;

Description: Returns the name of the thread that will handle culling in this model.

getCullSorting
bool GraphicsThreadingModel::get_cull_sorting(void) const;

Description: Returns true if the model involves a separate cull pass, or false if culling happens implicitly, at the same time as draw.

getCullStage
int GraphicsThreadingModel::get_cull_stage(void) const;

Description: Returns the pipeline stage from which the cull thread should access data. This will be 0 if the cull is run in the same thread as app, or 1 if it is its own thread.

getDrawName
string const &GraphicsThreadingModel::get_draw_name(void) const;

Description: Returns the name of the thread that will handle sending the actual graphics primitives to the graphics API in this model.

getDrawStage
int GraphicsThreadingModel::get_draw_stage(void) const;

Description: Returns the pipeline stage from which the draw thread should access data. This will be the same value as get_cull_stage() if cull and draw are run in the same thread, or one more than that value if draw should be in its own thread.

getModel
string GraphicsThreadingModel::get_model(void) const;

Description: Returns the string that describes the threading model. See the constructor.

isDefault
bool GraphicsThreadingModel::is_default(void) const;

Description: Returns true if the threading model is the default, cull-then-draw single-threaded model, or false otherwise.

isSingleThreaded
bool GraphicsThreadingModel::is_single_threaded(void) const;

Description: Returns true if the threading model is a single-threaded model, or false if it involves threads.

operator =
void GraphicsThreadingModel::operator =(GraphicsThreadingModel const &copy);

Description:

output
void GraphicsThreadingModel::output(ostream &out) const;

Description:

setCullName
void GraphicsThreadingModel::set_cull_name(string const &cull_name);

Description: Changes the name of the thread that will handle culling in this model. This won't change any windows that were already created with this model; this only has an effect on newly-opened windows.

setCullSorting
void GraphicsThreadingModel::set_cull_sorting(bool cull_sorting);

Description: Changes the flag that indicates whether the threading model involves a separate cull pass. This won't change any windows that were already created with this model; this only has an effect on newly-opened windows.

setDrawName
void GraphicsThreadingModel::set_draw_name(string const &cull_name);

Description: Changes the name of the thread that will handle drawing in this model. This won't change any windows that were already created with this model; this only has an effect on newly-opened windows.


GraphicsWindow

    from pandac.PandaModules import GraphicsWindow
    Class : GraphicsWindow
    Description : A window, fullscreen or on a desktop, into which a graphics device sends its output for interactive display.

Inheritance:

    GraphicsWindow: GraphicsOutput
    GraphicsOutput: TypedWritableReferenceCount DrawableRegion
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    DrawableRegion:

Methods of GraphicsWindow:

    clearRejectedProperties
    closeIme
    disablePointerEvents
    disablePointerMode
    enablePointerEvents
    enablePointerMode
    getClassType
    getCloseRequestEvent
    getInputDeviceName
    getNumInputDevices
    getPointer
    getProperties
    getRejectedProperties
    getRequestedProperties
    getWindowEvent
    hasKeyboard
    hasPointer
    isClosed
    isFullscreen
    movePointer
    requestProperties
    setCloseRequestEvent
    setWindowEvent

Methods of GraphicsOutput:

    addRenderTexture
    clearChildSort
    clearDeleteFlag
    clearRenderTextures
    countTextures
    getActiveDisplayRegion
    getChildSort
    getClassType
    getDeleteFlag
    getDisplayRegion
    getFbProperties
    getFbXSize
    getFbYSize
    getGsg
    getInverted
    getLeftEyeColorMask
    getName
    getNumActiveDisplayRegions
    getNumDisplayRegions
    getOneShot
    getPipe
    getRedBlueStereo
    getRightEyeColorMask
    getRtmMode
    getScreenshot
    getSort
    getTexture
    getTextureCard
    getTexturePlane
    getXSize
    getYSize
    hasSize
    hasTexture
    isActive
    isStereo
    isValid
    makeCubeMap
    makeDisplayRegion
    makeScreenshotFilename
    makeTextureBuffer
    removeAllDisplayRegions
    removeDisplayRegion
    saveScreenshot
    saveScreenshotDefault
    setActive
    setChildSort
    setInverted
    setOneShot
    setRedBlueStereo
    setSort
    setupRenderTexture
    shareDepthBuffer
    triggerCopy
    unshareDepthBuffer

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of DrawableRegion:

    disableClears
    getClearActive
    getClearColor
    getClearColorActive
    getClearDepth
    getClearDepthActive
    getClearStencil
    getClearStencilActive
    getClearValue
    getPixelFactor
    getPixelZoom
    getRenderbufferType
    isAnyClearActive
    setClearActive
    setClearColor
    setClearColorActive
    setClearDepth
    setClearDepthActive
    setClearStencil
    setClearStencilActive
    setClearValue
    setPixelZoom
    supportsPixelZoom

Constants in GraphicsOutput:

    RTMNone | (RenderTextureMode)
RTMBindOrCopy | (RenderTextureMode)
RTMCopyTexture | (RenderTextureMode)
RTMCopyRam | (RenderTextureMode)
RTMTriggeredCopyTexture | (RenderTextureMode)
RTMTriggeredCopyRam | (RenderTextureMode)
FMRender | (FrameMode)
FMParasite | (FrameMode)
FMRefresh | (FrameMode)

Constants in DrawableRegion:

    RTPStencil | (RenderTexturePlane)
RTPDepthStencil | (RenderTexturePlane)
RTPDepth | (RenderTexturePlane)
RTPColor | (RenderTexturePlane)
RTPAuxRgba0 | (RenderTexturePlane)
RTPAuxRgba1 | (RenderTexturePlane)
RTPAuxRgba2 | (RenderTexturePlane)
RTPAuxRgba3 | (RenderTexturePlane)
RTPAuxHrgba0 | (RenderTexturePlane)
RTPAuxHrgba1 | (RenderTexturePlane)
RTPAuxHrgba2 | (RenderTexturePlane)
RTPAuxHrgba3 | (RenderTexturePlane)
RTPAuxFloat0 | (RenderTexturePlane)
RTPAuxFloat1 | (RenderTexturePlane)
RTPAuxFloat2 | (RenderTexturePlane)
RTPAuxFloat3 | (RenderTexturePlane)
RTPCOUNT | (RenderTexturePlane)
clearRejectedProperties
void GraphicsWindow::clear_rejected_properties(void);

Description: Empties the set of failed properties that will be returned by get_rejected_properties().

closeIme
virtual void GraphicsWindow::close_ime(void);

Description: Forces the ime window to close if any

disablePointerEvents
void GraphicsWindow::disable_pointer_events(int device);

Description: Turn off the generation of pointer events.

disablePointerMode
void GraphicsWindow::disable_pointer_mode(int device);

Description: See GraphicsWindowInputDevice::disable_pointer_mode

enablePointerEvents
void GraphicsWindow::enable_pointer_events(int device);

Description: Turn on the generation of pointer events.

enablePointerMode
void GraphicsWindow::enable_pointer_mode(int device, double speed);

Description: See GraphicsWindowInputDevice::enable_pointer_mode

getClassType
static TypeHandle GraphicsWindow::get_class_type(void);

Undocumented function.

getCloseRequestEvent
string GraphicsWindow::get_close_request_event(void) const;

Description: Returns the name of the event set via set_close_request_event(). If this string is nonempty, then when the user requests to close window, this event will be generated instead. See set_close_request_event().

getInputDeviceName
string GraphicsWindow::get_input_device_name(int device) const;

Mouse and keyboard routines
Description: Returns the name of the nth input device.

getNumInputDevices
int GraphicsWindow::get_num_input_devices(void) const;

Mouse and keyboard routines
Description: Returns the number of separate input devices associated with the window. Typically, a window will have exactly one input device: the keyboard/mouse pair. However, some windows may have no input devices, and others may add additional devices, for instance for a joystick.

getPointer
MouseData GraphicsWindow::get_pointer(int device) const;

Description: Returns the MouseData associated with the nth input device's pointer.

getProperties
WindowProperties const GraphicsWindow::get_properties(void) const;

Description: Returns the current properties of the window.

getRejectedProperties
WindowProperties GraphicsWindow::get_rejected_properties(void) const;

Description: Returns the set of properties that have recently been requested, but could not be applied to the window for some reason. This set of properties will remain unchanged until they are changed by a new failed request, or clear_rejected_properties() is called.

getRequestedProperties
WindowProperties const GraphicsWindow::get_requested_properties(void) const;

Description: Returns the properties of the window that are currently requested. These properties will be applied to the window (if valid) at the next execution of process_events().

getWindowEvent
string GraphicsWindow::get_window_event(void) const;

Description: Returns the name of the event that is generated when this window is modified externally, e.g. to be resized or closed by the user. See set_window_event().

hasKeyboard
bool GraphicsWindow::has_keyboard(int device) const;

Description: Returns true if the nth input device has a keyboard, false otherwise.

hasPointer
bool GraphicsWindow::has_pointer(int device) const;

Description: Returns true if the nth input device has a screen-space pointer (for instance, a mouse), false otherwise.

isClosed
bool GraphicsWindow::is_closed(void) const;

Description: Returns true if the window has not yet been opened, or has been fully closed, false if it is open. The window is not opened immediately after GraphicsEngine::make_window() is called; nor is it closed immediately after GraphicsEngine::remove_window() is called. Either operation may take a frame or two.

isFullscreen
bool GraphicsWindow::is_fullscreen(void) const;

Description: Returns true if the window has been opened as a fullscreen window, false otherwise.

movePointer
virtual bool GraphicsWindow::move_pointer(int device, int x, int y);

Description: Forces the pointer to the indicated position within the window, if possible.
Returns true if successful, false on failure. This may fail if the mouse is not currently within the window, or if the API doesn't support this operation.

requestProperties
void GraphicsWindow::request_properties(WindowProperties const &requested_properties);

Description: Requests a property change on the window. For example, use this method to request a window change size or minimize or something.
The change is not made immediately; rather, the request is saved and will be applied the next time the window task is run (probably at the next frame).

setCloseRequestEvent
void GraphicsWindow::set_close_request_event(string const &close_request_event);

Description: Sets the event that is triggered when the user requests to close the window, e.g. via alt-F4, or clicking on the close box.
The default for each window is for this event to be the empty string, which means the window-close request is handled immediately by Panda (and the window will be closed without the app getting a chance to intervene). If you set this to a nonempty string, then the window is not closed, but instead the event is thrown. It is then up to the app to respond appropriately, for instance by presenting an "are you sure?" dialog box, and eventually calling close_window() when the user is sure.
It is considered poor form to set this string and then not handle the event. This can frustrate the user by making it difficult for him to cleanly shut down the application (and may force the user to hard-kill the app, or reboot the machine).

setWindowEvent
void GraphicsWindow::set_window_event(string const &window_event);

Description: Changes the name of the event that is generated when this window is modified externally, e.g. to be resized or closed by the user.
By default, all windows have the same window event unless they are explicitly changed. When the event is generated, it includes one parameter: the window itself.

addRenderTexture
void GraphicsOutput::add_render_texture(Texture *tex, GraphicsOutput::RenderTextureMode mode, DrawableRegion::RenderTexturePlane bitplane = (RTP_COUNT));

Description: Creates a new Texture object, suitable for rendering the contents of this buffer into, and appends it to the list of render textures.
If tex is not NULL, it is the texture that will be set up for rendering into; otherwise, a new Texture object will be created, in which case you may call get_texture() to retrieve the new texture pointer.
You can specify a bitplane to attach the texture to. the legal choices are:
* RTP_depth_stencil
* RTP_color
* RTP_aux_rgba_0
* RTP_aux_rgba_1
* RTP_aux_rgba_2
* RTP_aux_rgba_3
If you do not specify a bitplane to attach the texture to, this routine will use a default based on the texture's format:
* F_depth_stencil attaches to RTP_depth_stencil
* all other formats attach to RTP_color.
The texture's format will be changed to match the format of the bitplane to which it is attached. For example, if you pass in an F_rgba texture and order that it be attached to RTP_depth_stencil, it will turn into an F_depth_stencil texture.
Also see make_texture_buffer(), which is a higher-level interface for preparing render-to-a-texture mode.

clearChildSort
void GraphicsOutput::clear_child_sort(void);

Description: Resets the sort value of future offscreen buffers created by make_texture_sort() to the default value. See set_child_sort().

clearDeleteFlag
void GraphicsOutput::clear_delete_flag(void);

Description: Resets the delete flag, so the GraphicsOutput will not be automatically deleted before the beginning of the next frame.

clearRenderTextures
void GraphicsOutput::clear_render_textures(void);

Description: If the GraphicsOutput is currently rendering to a texture, then all textures are dissociated from the GraphicsOuput.

countTextures
int GraphicsOutput::count_textures(void) const;

Description: If the GraphicsOutput is set to render into a texture, returns the number of textures that are being rendered into. Normally, the textures would be associated with different buffers - a color texture, a depth texture, and a stencil texture.

getActiveDisplayRegion
PointerTo< DisplayRegion > GraphicsOutput::get_active_display_region(int n) const;

Description: Returns the nth active DisplayRegion of those that have been created within the window. This may return NULL if n is out of bounds; particularly likely if the number of display regions has changed since the last call to get_num_active_display_regions().

getChildSort
int GraphicsOutput::get_child_sort(void) const;

Description: Returns the sort value of future offscreen buffers created by make_texture_sort(). See set_child_sort().

getClassType
static TypeHandle GraphicsOutput::get_class_type(void);

Undocumented function.

getDeleteFlag
bool GraphicsOutput::get_delete_flag(void) const;

Description: Returns the current setting of the delete flag. When this is true, the GraphicsOutput will automatically be removed before the beginning of the next frame by the GraphicsEngine.

getDisplayRegion
PointerTo< DisplayRegion > GraphicsOutput::get_display_region(int n) const;

Description: Returns the nth DisplayRegion of those that have been created within the window. This may return NULL if n is out of bounds; particularly likely if the number of display regions has changed since the last call to get_num_display_regions().

getFbProperties
FrameBufferProperties const &GraphicsOutput::get_fb_properties(void) const;

Description: Returns the framebuffer properties of the window.

getFbXSize
int GraphicsOutput::get_fb_x_size(void) const;

Description: Returns the internal width of the window or buffer. This is almost always the same as get_x_size(), except when a pixel_zoom is in effect--see set_pixel_zoom().

getFbYSize
int GraphicsOutput::get_fb_y_size(void) const;

Description: Returns the internal height of the window or buffer. This is almost always the same as get_y_size(), except when a pixel_zoom is in effect--see set_pixel_zoom().

getGsg
GraphicsStateGuardian *GraphicsOutput::get_gsg(void) const;

Description: Returns the GSG that is associated with this window. There is a one-to-one association between windows and GSG's.
This may return NULL if the graphics context has not yet been created for the window, e.g. before the first frame has rendered; or after the window has been closed.

getInverted
bool GraphicsOutput::get_inverted(void) const;

Description: Returns the current setting of the inverted flag. When this is true, the scene is rendered into the window upside-down, flipped like a mirror along the X axis. See set_inverted().

getLeftEyeColorMask
unsigned int GraphicsOutput::get_left_eye_color_mask(void) const;

Description: Returns the color mask in effect when rendering a left-eye view in red_blue stereo mode. This is one or more bits defined in ColorWriteAttrib::Channels. See set_red_blue_stereo().

getName
string const &GraphicsOutput::get_name(void) const;

Description: Returns the name that was passed to the GraphicsOutput constructor.

getNumActiveDisplayRegions
int GraphicsOutput::get_num_active_display_regions(void) const;

Description: Returns the number of active DisplayRegions that have been created within the window.

getNumDisplayRegions
int GraphicsOutput::get_num_display_regions(void) const;

Description: Returns the number of DisplayRegions that have been created within the window, active or otherwise.

getOneShot
bool GraphicsOutput::get_one_shot(void) const;

Description: Returns the current setting of the one-shot flag. When this is true, the GraphicsOutput will automatically detach its texture (if it has one) and remove itself from the GraphicsEngine after it renders the next frame.

getPipe
GraphicsPipe *GraphicsOutput::get_pipe(void) const;

Description: Returns the GraphicsPipe that this window is associated with. It is possible that the GraphicsPipe might have been deleted while an outstanding PT(GraphicsOutput) prevented all of its children windows from also being deleted; in this unlikely case, get_pipe() may return NULL.

getRedBlueStereo
bool GraphicsOutput::get_red_blue_stereo(void) const;

Description: Returns whether red-blue stereo mode is in effect for this particular window. See set_red_blue_stereo().

getRightEyeColorMask
unsigned int GraphicsOutput::get_right_eye_color_mask(void) const;

Description: Returns the color mask in effect when rendering a right-eye view in red_blue stereo mode. This is one or more bits defined in ColorWriteAttrib::Channels. See set_red_blue_stereo().

getRtmMode
GraphicsOutput::RenderTextureMode GraphicsOutput::get_rtm_mode(int i = (0)) const;

Description: Returns the RenderTextureMode associated with the nth render-texture. Returns RTM_none if there is no such texture.

getScreenshot
bool GraphicsOutput::get_screenshot(PNMImage &image);

Description: Captures the most-recently rendered image from the framebuffer into the indicated PNMImage. Returns true on success, false on failure.

getSort
int GraphicsOutput::get_sort(void) const;

Description: Returns the sorting order of this particular GraphicsOutput. The various GraphicsOutputs within a particular thread will be rendered in the indicated order.

getTexture
Texture *GraphicsOutput::get_texture(int i = (0)) const;

Description: Returns the nth texture into which the GraphicsOutput renders. Returns NULL if there is no such texture.
If the texture is non-NULL, it may be applied to geometry to be rendered for any other windows or outputs that share the same GSG as this GraphicsOutput. The effect is undefined for windows that share a different GSG; usually in these cases the texture will be invalid.

getTextureCard
NodePath GraphicsOutput::get_texture_card(void);

Description: Returns a PandaNode containing a square polygon. The dimensions are (-1,0,-1) to (1,0,1). The texture coordinates are such that the texture of this GraphicsOutput is aligned properly to the polygon. The GraphicsOutput promises to surgically update the Geom inside the PandaNode if necessary to maintain this invariant.
Each invocation of this function returns a freshly- allocated PandaNode. You can therefore safely modify the RenderAttribs of the PandaNode. The PandaNode is initially textured with the texture of this GraphicOutput.

getTexturePlane
DrawableRegion::RenderTexturePlane GraphicsOutput::get_texture_plane(int i = (0)) const;

Description: Returns the RenderTexturePlane associated with the nth render-texture. Returns 0 if there is no such texture.

getXSize
int GraphicsOutput::get_x_size(void) const;

Description: Returns the visible width of the window or buffer, if it is known. In certain cases (e.g. fullscreen windows), the size may not be known until after the object has been fully created. Check has_size() first.
Certain objects (like windows) may change size spontaneously; this method is not thread-safe. To get the size of a window in a thread-safe manner, query get_properties().

getYSize
int GraphicsOutput::get_y_size(void) const;

Description: Returns the visible height of the window or buffer, if it is known. In certain cases (e.g. fullscreen windows), the size may not be known until after the object has been fully created. Check has_size() first.
Certain objects (like windows) may change size spontaneously; this method is not thread-safe. To get the size of a window in a thread-safe manner, query get_properties().

hasSize
bool GraphicsOutput::has_size(void) const;

Description: Returns true if the size of the window/frame buffer is known, false otherwise. In certain cases the size may not be known until after the object has been fully created. Also, certain objects (like windows) may change size spontaneously.

hasTexture
bool GraphicsOutput::has_texture(void) const;

Description: Returns true if the GraphicsOutput is rendering into any textures at all.

isActive
virtual bool GraphicsOutput::is_active(void) const;

Description: Returns true if the window is ready to be rendered into, false otherwise.

isStereo
bool GraphicsOutput::is_stereo(void) const;

Description: Returns Returns true if this window can render stereo DisplayRegions, either through red-blue stereo (see set_red_blue_stereo()) or through true hardware stereo rendering.

isValid
bool GraphicsOutput::is_valid(void) const;

Description: Returns true if the output is fully created and ready for rendering, false otherwise.

makeCubeMap
GraphicsOutput *GraphicsOutput::make_cube_map(string const &name, int size, NodePath &camera_rig, BitMask< unsigned int, 32 > camera_mask = ((get_all_camera_mask())), bool to_ram = (0));

Description: This is similar to make_texture_buffer() in that it allocates a separate buffer suitable for rendering to a texture that can be assigned to geometry in this window, but in this case, the buffer is set up to render the six faces of a cube map.
The buffer is automatically set up with six display regions and six cameras, each of which are assigned the indicated draw_mask and parented to the given camera_rig node (which you should then put in your scene to render the cube map from the appropriate point of view).
You may take the texture associated with the buffer and apply it to geometry, particularly with TexGenAttrib::M_world_cube_map also in effect, to apply a reflection of everything seen by the camera rig.

makeDisplayRegion
DisplayRegion *GraphicsOutput::make_display_region(void);

Description: Creates a new DisplayRegion that covers the entire window.
Description: Creates a new DisplayRegion that covers the indicated sub-rectangle within the window. The range on all parameters is 0..1.

makeScreenshotFilename
static Filename GraphicsOutput::make_screenshot_filename(string const &prefix = ("screenshot"));

Description: Saves a screenshot of the region to a default filename, and returns the filename, or empty string if the screenshot failed. The default filename is generated from the supplied prefix and from the Config variable screenshot-filename, which contains the following strings:
%~p - the supplied prefix %~f - the frame count %~e - the value of screenshot-extension All other % strings in strftime().

makeTextureBuffer
GraphicsOutput *GraphicsOutput::make_texture_buffer(string const &name, int x_size, int y_size, Texture *tex = ((void *)(0)), bool to_ram = (0));

Description: Creates and returns an offscreen buffer for rendering into, the result of which will be a texture suitable for applying to geometry within the scene rendered into this window.
If tex is not NULL, it is the texture that will be set up for rendering into; otherwise, a new Texture object will be created. In either case, the target texture can be retrieved from the return value with buffer->get_texture() (assuming the return value is not NULL).
If to_ram is true, the buffer will be set up to download its contents to the system RAM memory associated with the Texture object, instead of keeping it strictly within texture memory; this is much slower, but it allows using the texture with any GSG.
This will attempt to be smart about maximizing render performance while minimizing framebuffer waste. It might return a GraphicsBuffer set to render directly into a texture, if possible; or it might return a ParasiteBuffer that renders into this window. The return value is NULL if the buffer could not be created for some reason.
When you are done using the buffer, you should remove it with a call to GraphicsEngine::remove_window() (or set the one_shot flag so it removes itself after one frame).

removeAllDisplayRegions
void GraphicsOutput::remove_all_display_regions(void);

Description: Removes all display regions from the window, except the default one that is created with the window.

removeDisplayRegion
bool GraphicsOutput::remove_display_region(DisplayRegion *display_region);

Description: Removes the indicated DisplayRegion from the window, and destructs it if there are no other references.
Returns true if the DisplayRegion is found and removed, false if it was not a part of the window.

saveScreenshot
bool GraphicsOutput::save_screenshot(Filename const &filename, string const &image_comment = (""));

Description: Saves a screenshot of the region to the indicated filename. The image comment is an optional user readable string that will be saved with the header of the image (if the file format supports embedded data; for example jpg allows comments). Returns true on success, false on failure.

saveScreenshotDefault
Filename GraphicsOutput::save_screenshot_default(string const &prefix = ("screenshot"));

Description: Saves a screenshot of the region to a default filename, and returns the filename, or empty string if the screenshot failed. The filename is generated by make_screenshot_filename().

setActive
void GraphicsOutput::set_active(bool active);

Description: Sets the active flag associated with the GraphicsOutput. If the GraphicsOutput is marked inactive, nothing is rendered.

setChildSort
void GraphicsOutput::set_child_sort(int child_sort);

Description: Specifies the sort value of future offscreen buffers created by make_texture_sort().
The purpose of this method is to allow the user to limit the sort value chosen for a buffer created via make_texture_buffer(). Normally, this buffer will be assigned a value of get_sort() - 1, so that it will be rendered before this window is rendered; but sometimes this isn't sufficiently early, especially if other buffers also have a view into the same scene.
If you specify a value here, then new buffers created via make_texture_buffer() will be given that sort value instead of get_sort() - 1.

setInverted
void GraphicsOutput::set_inverted(bool inverted);

Description: Changes the current setting of the inverted flag. When this is true, the scene is rendered into the window upside-down and backwards, that is, inverted as if viewed through a mirror placed on the floor.
This is primarily intended to support DirectX (and a few buggy OpenGL graphics drivers) that perform a framebuffer-to-texture copy upside-down from the usual OpenGL (and Panda) convention. Panda will automatically set this flag for offscreen buffers on hardware that is known to do this, to compensate when rendering offscreen into a texture.

setOneShot
void GraphicsOutput::set_one_shot(bool one_shot);

Description: Changes the current setting of the one-shot flag. When this is true, the GraphicsOutput will automatically detach its texture (if it has one) and remove itself from the GraphicsEngine after it renders the next frame.

setRedBlueStereo
void GraphicsOutput::set_red_blue_stereo(bool red_blue_stereo, unsigned int left_eye_color_mask, unsigned int right_eye_color_mask);

Description: Enables red-blue stereo mode on this particular window. When red-blue stereo mode is in effect, DisplayRegions that have the "left" channel set will render in the red (or specified) channel only, while DisplayRegions that have the "right" channel set will render in the blue (or specified) channel only.
The remaining two parameters specify the particular color channel(s) to associate with each eye. Use the bits defined in ColorWriteAttrib::Channels.
This can be used to achieve a cheesy stereo mode in the absence of hardware-supported stereo.

setSort
void GraphicsOutput::set_sort(int sort);

Description: Adjusts the sorting order of this particular GraphicsOutput, relative to other GraphicsOutputs.

setupRenderTexture
void GraphicsOutput::setup_render_texture(Texture *tex, bool allow_bind, bool to_ram);

Description: This is a deprecated interface that made sense back when GraphicsOutputs could only render into one texture at a time. From now on, use clear_render_textures and add_render_texture instead.

shareDepthBuffer
virtual bool GraphicsOutput::share_depth_buffer(GraphicsOutput *graphics_output);

Description: Will attempt to use the depth buffer of the input graphics_output. The buffer sizes must be exactly the same.

triggerCopy
void GraphicsOutput::trigger_copy(void);

Description: When the GraphicsOutput is in triggered copy mode, this function triggers the copy (at the end of the next frame).

unshareDepthBuffer
virtual void GraphicsOutput::unshare_depth_buffer(void);

Description: Discontinue sharing the depth buffer.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

disableClears
void DrawableRegion::disable_clears(void);

Description: Disables both the color and depth clear. See set_clear_color_active and set_clear_depth_active.

getClearActive
bool DrawableRegion::get_clear_active(int n) const;

Description: Gets the clear-active flag for any bitplane.

getClearColor
LVecBase4f const &DrawableRegion::get_clear_color(void) const;

Description: Returns the current clear color value. This is the value that will be used to clear the color buffer every frame, but only if get_clear_color_active() returns true. If get_clear_color_active() returns false, this is meaningless.

getClearColorActive
bool DrawableRegion::get_clear_color_active(void) const;

Description: Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. See set_clear_color_active().

getClearDepth
float DrawableRegion::get_clear_depth(void) const;

Description: Returns the current clear depth value. This is the value that will be used to clear the depth buffer every frame, but only if get_clear_depth_active() returns true. If get_clear_depth_active() returns false, this is meaningless.

getClearDepthActive
bool DrawableRegion::get_clear_depth_active(void) const;

Description: Returns the current setting of the flag that indicates whether the depth buffer should be cleared every frame. See set_clear_depth_active().

getClearStencil
unsigned int DrawableRegion::get_clear_stencil(void) const;

Description: Returns the current clear stencil value. This is the value that will be used to clear the stencil buffer every frame, but only if get_clear_stencil_active() returns true. If get_clear_stencil_active() returns false, this is meaningless.

getClearStencilActive
bool DrawableRegion::get_clear_stencil_active(void) const;

Description: Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. See set_clear_stencil_active().

getClearValue
LVecBase4f const &DrawableRegion::get_clear_value(int n) const;

Description: Returns the clear value for any bitplane.

getPixelFactor
float DrawableRegion::get_pixel_factor(void) const;

Description: Returns the amount by which the height and width of the region will be scaled internally, based on the zoom factor set by set_pixel_zoom(). This will return 1.0 if the pixel_zoom was not set or if it is not being respected (for instance, because the underlying renderer doesn't support it--see supports_pixel_zoom).

getPixelZoom
float DrawableRegion::get_pixel_zoom(void) const;

Description: Returns the value set by set_pixel_zoom(), regardless of whether it is being respected or not. Also see get_pixel_factor().

getRenderbufferType
static int DrawableRegion::get_renderbuffer_type(int plane);

Description: Returns the RenderBuffer::Type that corresponds to a RenderTexturePlane.

isAnyClearActive
bool DrawableRegion::is_any_clear_active(void) const;

Description: Returns true if any of the clear types (so far there are just color or depth) have been set active, or false if none of them are active and there is no need to clear.

setClearActive
void DrawableRegion::set_clear_active(int n, bool clear_aux_active);

Description: Sets the clear-active flag for any bitplane.

setClearColor
void DrawableRegion::set_clear_color(LVecBase4f const &color);

Description: Sets the clear color to the indicated value. This is the value that will be used to clear the color buffer every frame, but only if get_clear_color_active() returns true. If get_clear_color_active() returns false, this is meaningless.

setClearColorActive
void DrawableRegion::set_clear_color_active(bool clear_color_active);

Description: Toggles the flag that indicates whether the color buffer should be cleared every frame. If this is true, the color buffer will be cleared to the color indicated by set_clear_color(); otherwise, it will be left alone.

setClearDepth
void DrawableRegion::set_clear_depth(float depth);

Description: Sets the clear depth to the indicated value. This is the value that will be used to clear the depth buffer every frame, but only if get_clear_depth_active() returns true. If get_clear_depth_active() returns false, this is meaningless.

setClearDepthActive
void DrawableRegion::set_clear_depth_active(bool clear_depth_active);

Description: Toggles the flag that indicates whether the depth buffer should be cleared every frame. If this is true, the depth buffer will be cleared to the depth value indicated by set_clear_depth(); otherwise, it will be left alone.

setClearStencil
void DrawableRegion::set_clear_stencil(unsigned int stencil);

Description: Sets the clear stencil to the indicated value. This is the value that will be used to clear the stencil buffer every frame, but only if get_clear_color_active() returns true. If get_clear_stencil_active() returns false, this is meaningless.

setClearStencilActive
void DrawableRegion::set_clear_stencil_active(bool clear_stencil_active);

Description: Toggles the flag that indicates whether the stencil buffer should be cleared every frame. If this is true, the stencil buffer will be cleared to the value indicated by set_clear_stencil(); otherwise, it will be left alone.

setClearValue
void DrawableRegion::set_clear_value(int n, LVecBase4f const &color);

Description: Sets the clear value for any bitplane.

setPixelZoom
void DrawableRegion::set_pixel_zoom(float pixel_zoom);

Description: Sets the amount by which the pixels of the region are scaled internally when filling the image interally. Setting this number larger makes the pixels blockier, but may make the rendering faster, particularly for software renderers. Setting this number to 2.0 reduces the number of pixels that have to be filled by the renderer by a factor of 2.0. It doesn't make sense to set this lower than 1.0.
It is possible to set this on either individual DisplayRegions or on overall GraphicsWindows, but you will get better performance for setting it on the window rather than its individual DisplayRegions. Also, you may not set it on a DisplayRegion that doesn't have both clear_color() and clear_depth() enabled.
This property is only supported on renderers for which it is particularly useful--currently, this is the tinydisplay software renderer. Other kinds of renderers allow you to set this property, but ignore it.

supportsPixelZoom
virtual bool DrawableRegion::supports_pixel_zoom(void) const;

Description: Returns true if a call to set_pixel_zoom() will be respected, false if it will be ignored. If this returns false, then get_pixel_factor() will always return 1.0, regardless of what value you specify for set_pixel_zoom().
This may return false if the underlying renderer doesn't support pixel zooming, or if you have called this on a DisplayRegion that doesn't have both set_clear_color() and set_clear_depth() enabled.


GravityWalker

    from direct.controls.GravityWalker import GravityWalker

Inheritance:

    GravityWalker:

Methods of GravityWalker:

    __init__
    addBlastForce
    deleteCollisions
    disableAvatarControls
    displayDebugInfo
    doDeltaPos
    enableAvatarControls
    flushEventHandlers
    getAirborneHeight
    getCollisionsActive
    getIsAirborne
    getSpeeds
    getVelocity
    handleAvatarControls
    initializeCollisions
    oneTimeCollide
    placeOnFloor
    reset
    setAirborneHeightFunc
    setAvatar
    setAvatarPhysicsIndicator
    setCollisionsActive
    setFloorBitMask
    setMayJump
    setPriorParentVector
    setTag
    setupEventSphere
    setupFloorSphere
    setupRay
    setupWallSphere
    setWalkSpeed
    setWallBitMask
    startJumpDelay
    swapFloorBitMask
__init__
def __init__(self, gravity=-32.1740, standableGround=0.707, hardLandingForce=16.0)

Undocumented function.

addBlastForce
def addBlastForce(self, vector)

Undocumented function.

deleteCollisions
def deleteCollisions(self)

Undocumented function.

disableAvatarControls
def disableAvatarControls(self)

Ignore the arrow keys, etc.

displayDebugInfo
def displayDebugInfo(self)

For debug use.

doDeltaPos
def doDeltaPos(self)

Undocumented function.

enableAvatarControls
def enableAvatarControls(self)

Activate the arrow keys, etc.

flushEventHandlers
def flushEventHandlers(self)

Undocumented function.

getAirborneHeight
def getAirborneHeight(self)

Undocumented function.

getCollisionsActive
def getCollisionsActive(self)

Undocumented function.

getIsAirborne
def getIsAirborne(self)

Undocumented function.

getSpeeds
def getSpeeds(self)

Undocumented function.

getVelocity
def getVelocity(self)

Undocumented function.

handleAvatarControls
def handleAvatarControls(self, task)

Check on the arrow keys and update the avatar.

initializeCollisions
def initializeCollisions(self, collisionTraverser, avatarNodePath, avatarRadius=1.4, floorOffset=1.0, reach=1.0)

floorOffset is how high the avatar can reach. I.e. if the avatar walks under a ledge that is <= floorOffset above the ground (a double floor situation), the avatar will step up on to the ledge (instantly).
Set up the avatar collisions

oneTimeCollide
def oneTimeCollide(self)

Makes one quick collision pass for the avatar, for instance as a one-time straighten-things-up operation after collisions have been disabled.

placeOnFloor
def placeOnFloor(self)

Make a reasonable effor to place the avatar on the ground. For example, this is useful when switching away from the current walker.

reset
def reset(self)

Undocumented function.

setAirborneHeightFunc
def setAirborneHeightFunc(self, unused_parameter)

Undocumented function.

setAvatar
def setAvatar(self, avatar)

Undocumented function.

setAvatarPhysicsIndicator
def setAvatarPhysicsIndicator(self, indicator)

indicator is a NodePath

setCollisionsActive
def setCollisionsActive(self, active=1)

Undocumented function.

setFloorBitMask
def setFloorBitMask(self, bitMask)

Undocumented function.

setMayJump
def setMayJump(self, task)

This function's use is internal to this class (maybe I'll add the __ someday). Anyway, if you want to enable or disable jumping in a general way see the ControlManager (don't use this).

setPriorParentVector
def setPriorParentVector(self)

Undocumented function.

setTag
def setTag(self, key, value)

Undocumented function.

setupEventSphere
def setupEventSphere(self, bitmask, avatarRadius)

Set up the collision sphere

setupFloorSphere
def setupFloorSphere(self, bitmask, avatarRadius)

Set up the collision sphere

setupRay
def setupRay(self, bitmask, floorOffset, reach)

Undocumented function.

setupWallSphere
def setupWallSphere(self, bitmask, avatarRadius)

Set up the collision sphere

setWalkSpeed
def setWalkSpeed(self, forward, jump, reverse, rotate)

Undocumented function.

setWallBitMask
def setWallBitMask(self, bitMask)

Undocumented function.

startJumpDelay
def startJumpDelay(self, delay)

Undocumented function.

swapFloorBitMask
def swapFloorBitMask(self, oldMask, newMask)

Undocumented function.


GridParent

    from direct.distributed.GridParent import GridParent

Inheritance:

    GridParent:

Methods of GridParent:

    __init__
    def
    delete
    setGridParent
__init__
def __init__(self, av)

Undocumented function.

def
def defreleaseCellOrigin

Undocumented function.

delete
def delete(self)

Undocumented function.

setGridParent
def setGridParent(self, grid, zoneId, teleport=0)

Undocumented function.


GRPICONDIR

    from direct.pyinst.icon import GRPICONDIR

Inheritance:

    GRPICONDIR:


GRPICONDIRENTRY

    from direct.pyinst.icon import GRPICONDIRENTRY

Inheritance:

    GRPICONDIRENTRY:


HashVal

    from pandac.PandaModules import HashVal
    Class : HashVal
    Description : Stores a 128-bit value that represents the hashed contents (typically MD5) of a file or buffer.

Inheritance:

    HashVal:

Methods of HashVal:

    HashVal (Constructor)
    asBin
    asDec
    asHex
    compareTo
    hashBuffer
    hashFile
    hashRamfile
    hashStream
    hashString
    inputBinary
    inputDec
    inputHex
    mergeWith
    operator !=
    operator <
    operator =
    operator ==
    output
    outputBinary
    outputDec
    outputHex
    readDatagram
    readStream
    setFromBin
    setFromDec
    setFromHex
    writeDatagram
    writeStream
HashVal
HashVal::HashVal(void);

Description:

asBin
string HashVal::as_bin(void) const;

Description: Returns the HashVal as a 16-byte binary string.

asDec
string HashVal::as_dec(void) const;

Description: Returns the HashVal as a string with four decimal numbers.

asHex
string HashVal::as_hex(void) const;

Description: Returns the HashVal as a 32-byte hexadecimal string.

compareTo
int HashVal::compare_to(HashVal const &other) const;

Description:

hashBuffer
void HashVal::hash_buffer(char const *buffer, int length);

Description: Generates the hash value by hashing the indicated data. This method is only defined if we have the OpenSSL library (which provides md5 functionality) available.

hashFile
bool HashVal::hash_file(Filename const &filename);

Description: Generates the hash value from the indicated file. Returns true on success, false if the file cannot be read. This method is only defined if we have the OpenSSL library (which provides md5 functionality) available.

hashRamfile
void HashVal::hash_ramfile(Ramfile const &ramfile);

Description: Generates the hash value by hashing the indicated data. This method is only defined if we have the OpenSSL library (which provides md5 functionality) available.

hashStream
bool HashVal::hash_stream(istream &stream);

Description: Generates the hash value from the indicated file. Returns true on success, false if the file cannot be read. This method is only defined if we have the OpenSSL library (which provides md5 functionality) available.

hashString
void HashVal::hash_string(string const &data);

Description: Generates the hash value by hashing the indicated data. This method is only defined if we have the OpenSSL library (which provides md5 functionality) available.

inputBinary
void HashVal::input_binary(istream &in);

Description: Inputs the HashVal as a binary stream of bytes in order. This is not the same order expected by read_stream().

inputDec
void HashVal::input_dec(istream &in);

Description: Inputs the HashVal as four unsigned decimal integers.

inputHex
void HashVal::input_hex(istream &in);

Description: Inputs the HashVal as a 32-digit hexadecimal number.

mergeWith
void HashVal::merge_with(HashVal const &other);

Description: Generates a new HashVal representing the xor of this one and the other one.

operator !=
bool HashVal::operator !=(HashVal const &other) const;

Description:

operator <
bool HashVal::operator <(HashVal const &other) const;

Description:

operator =
void HashVal::operator =(HashVal const &copy);

Description:

operator ==
bool HashVal::operator ==(HashVal const &other) const;

Description:

output
void HashVal::output(ostream &out) const;

Description:

outputBinary
void HashVal::output_binary(ostream &out) const;

Description: Outputs the HashVal as a binary stream of bytes in order. This is not the same order generated by write_stream().

outputDec
void HashVal::output_dec(ostream &out) const;

Description: Outputs the HashVal as four unsigned decimal integers.

outputHex
void HashVal::output_hex(ostream &out) const;

HAVE_OPENSSL
Description: Outputs the HashVal as a 32-digit hexadecimal number.

readDatagram
void HashVal::read_datagram(DatagramIterator &source);

Description:

readStream
void HashVal::read_stream(StreamReader &source);

Description:

setFromBin
bool HashVal::set_from_bin(string const &text);

Description: Sets the HashVal from a 16-byte binary string. Returns true if successful, false otherwise.

setFromDec
bool HashVal::set_from_dec(string const &text);

Description: Sets the HashVal from a string with four decimal numbers. Returns true if valid, false otherwise.

setFromHex
bool HashVal::set_from_hex(string const &text);

Description: Sets the HashVal from a 32-byte hexademical string. Returns true if successful, false otherwise.

writeDatagram
void HashVal::write_datagram(Datagram &destination) const;

Description:

writeStream
void HashVal::write_stream(StreamWriter &destination) const;

Description:


HeightfieldTesselator

    from pandac.PandaModules import HeightfieldTesselator
    Class : HeightfieldTesselator
    Description : Converts a height field in the form of a greyscale image into a scene consisting of a number of GeomNodes.
    The tesselation uses an LOD algorithm. You supply a "focal point" (X,Y) which tells the tesselator where the bulk of the detail should be concentrated. The intent is that as the player walks around the terrain, you should occasionally move the focal point to wherever the player is. You should not move the focal point every frame: tesselation is not that fast. Also, changing the focal point may cause popping, so it is best to minimize the number of changes. There are a number of parameters that you can use to control tesselation, such as a target polygon count, and a visibility radius.
    The heightfield needs to be a multiple of 128 pixels in each dimension. It does not need to be square, and it does not need to be a power of two. For example, a 384 x 640 heightfield is fine. Be aware that tesselation time is proportional to heightfield area, so if you plan to use a size larger than about 512x512, it may be desirable to benchmark.
    Altering parameters, such as the poly count, the view radius, or the focal point, does not alter any GeomNodes already generated. Parameter changes only affect subsequently-generated GeomNodes. It is possible to cache many different tesselations of the same terrain.

Inheritance:

    HeightfieldTesselator: Namable
    Namable:

Methods of HeightfieldTesselator:

    HeightfieldTesselator (Constructor)
    generate
    getElevation
    heightfield
    setFocalPoint
    setHeightfield
    setHorizontalScale
    setMaxTriangles
    setPolyCount
    setVerticalScale
    setVisibilityRadius

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
HeightfieldTesselator
HeightfieldTesselator::HeightfieldTesselator(string const &name);

Description:

generate
NodePath HeightfieldTesselator::generate(void);

Description: Generates a tree of nodes that represents the heightfield. This can be reparented into the scene.

getElevation
double HeightfieldTesselator::get_elevation(double x, double y);

Description: Fetches the elevation at (x,y), where the input coordinate is specified in pixels. This ignores the current tesselation level and instead provides an accurate number. Linear blending is used for non-integral coordinates.

heightfield
PNMImage &HeightfieldTesselator::heightfield(void);

Description: Returns a reference to the heightfield (a PNMImage) contained inside the HeightfieldTesselator. You can use the reference to alter the heightfield.

setFocalPoint
void HeightfieldTesselator::set_focal_point(int x, int y);

Description: Sets the focal point. The tesselator generates high-resolution terrain around the focal point, and progressively lower and lower resolution terrain as you get farther away. The units are in pixels.

setHeightfield
bool HeightfieldTesselator::set_heightfield(Filename const &filename, PNMFileType *type = ((void *)(0)));

Description: Loads the specified greyscale image file into the heightfield.

setHorizontalScale
void HeightfieldTesselator::set_horizontal_scale(double h);

Description: Sets the horizontal scale. The default scale is 1.0, meaning that each pixel in the heightfield is 1x1 panda units wide.

setMaxTriangles
void HeightfieldTesselator::set_max_triangles(int n);

Description: Sets the max triangles per geom.

setPolyCount
void HeightfieldTesselator::set_poly_count(int n);

Description: Sets the polygon-count target. The tesselator usually manages to come within about 20% of the target, plus or minus.

setVerticalScale
void HeightfieldTesselator::set_vertical_scale(double v);

Description: Sets the vertical scale. The default scale is 255.0, meaning that each as the gray value ranges from (0-1), the elevation ranges from (0-255) feet.

setVisibilityRadius
void HeightfieldTesselator::set_visibility_radius(int r);

Description: Sets the visibility radius. Polygons that are completely outside the radius (relative to the focal point) are cropped away. The cropping is imperfect (all approximations are conservative), so this should be used in conjunction with a far clipping plane, fog, or some other visibility limiting mechanism. The units are in pixels.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


HermiteCurve

    from pandac.PandaModules import HermiteCurve
    Class : HermiteCurve
    Description : A parametric curve defined by a sequence of control vertices, each with an in and out tangent.
    This class is actually implemented as a PiecewiseCurve made up of several CubicCurvesegs, each of which is created using the hermite_basis() method. The HermiteCurve class itself keeps its own list of the CV's that are used to define the curve (since the CubicCurveseg class doesn't retain these).

Inheritance:

    HermiteCurve: PiecewiseCurve
    PiecewiseCurve: ParametricCurve
    ParametricCurve: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of HermiteCurve:

    HermiteCurve (Constructor)
    appendCv
    getClassType
    getCvIn
    getCvName
    getCvOut
    getCvPoint
    getCvTstart
    getCvType
    getNumCvs
    insertCv
    removeAllCvs
    removeCv
    setCvIn
    setCvName
    setCvOut
    setCvPoint
    setCvTstart
    setCvType
    writeCv

Methods of PiecewiseCurve:

    PiecewiseCurve (Constructor)
    getClassType

Methods of ParametricCurve:

    adjustPoint
    adjustPt
    adjustTangent
    calcLength
    findLength
    get2ndtangent
    getClassType
    getCurveType
    getMaxT
    getNumDimensions
    getPoint
    getPt
    getTangent
    isValid
    recompute
    setCurveType
    setNumDimensions
    stitch
    writeEgg

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
HermiteCurve
HermiteCurve::HermiteCurve(void);

Description:
Description: Constructs a Hermite from the indicated (possibly non-hermite) curve.

appendCv
int HermiteCurve::append_cv(int type, float x, float y, float z);

Description: Adds a new CV to the end of the curve. The new CV is given initial in/out tangents of 0. The return value is the index of the new CV.

getClassType
static TypeHandle HermiteCurve::get_class_type(void);

Undocumented function.

getCvIn
LVecBase3f const &HermiteCurve::get_cv_in(int n) const;

Description: Returns the in tangent of the given CV.

getCvName
string HermiteCurve::get_cv_name(int n) const;

Description: Returns the name of the given CV, or NULL.

getCvOut
LVecBase3f const &HermiteCurve::get_cv_out(int n) const;

Description: Returns the out tangent of the given CV.

getCvPoint
LVecBase3f const &HermiteCurve::get_cv_point(int n) const;

Description: Returns the position of the given CV.

getCvTstart
float HermiteCurve::get_cv_tstart(int n) const;

Description: Returns the starting point in parametric space of the given CV.

getCvType
int HermiteCurve::get_cv_type(int n) const;

Description: Returns the given CV's continuity type, HC_CUT, HC_FREE, HC_G1, or HC_SMOOTH, or 0 if there is no such CV.

getNumCvs
int HermiteCurve::get_num_cvs(void) const;

Description: Returns the number of CV's in the curve.

insertCv
int HermiteCurve::insert_cv(float t);

Description: Inserts a new CV at the given parametric point along the curve. If this parametric point is already on the curve, the CV is assigned an index between its two neighbors and the indices of all following CV's are incremented by 1; its in and out tangents are chosen to keep the curve consistent. If the new parametric point is beyond the end of the existing curve, the curve is extended to meet it and the new CV's position, in tangent, and out tangent are set to zero.
The index number of the new CV is returned.

removeAllCvs
void HermiteCurve::remove_all_cvs(void);

Description: Removes all CV's from the curve.

removeCv
bool HermiteCurve::remove_cv(int n);

Description: Removes the given CV from the curve. Returns true if the CV existed, false otherwise.

setCvIn
bool HermiteCurve::set_cv_in(int n, float x, float y, float z);

Description: Changes the given CV's in tangent. Depending on the continuity type, this may also adjust the out tangent.

setCvName
bool HermiteCurve::set_cv_name(int n, char const *name);

Description: Changes the name associated with a particular CV.

setCvOut
bool HermiteCurve::set_cv_out(int n, float x, float y, float z);

Description: Changes the given CV's out tangent. Depending on the continuity type, this may also adjust the in tangent.

setCvPoint
bool HermiteCurve::set_cv_point(int n, float x, float y, float z);

Description: Changes the given CV's position.

setCvTstart
bool HermiteCurve::set_cv_tstart(int n, float tstart);

Description: Changes the given CV's parametric starting time. This may affect the shape of the curve.

setCvType
bool HermiteCurve::set_cv_type(int n, int type);

Description: Changes the given CV's continuity type. Legal values are HC_CUT, HC_FREE, HC_G1, or HC_SMOOTH.
Other than HC_CUT, these have no effect on the actual curve; it remains up to user software to impose the constraints these imply.
HC_CUT implies a disconnection of the curve; HC_FREE imposes no constraints on the tangents; HC_G1 forces the tangents to be collinear, and HC_SMOOTH forces the tangents to be identical. Setting type type to HC_G1 or HC_SMOOTH may adjust the out tangent to match the in tangent.

writeCv
void HermiteCurve::write_cv(ostream &out, int n) const;

Description:

PiecewiseCurve
PiecewiseCurve::PiecewiseCurve(void);

Description:

getClassType
static TypeHandle PiecewiseCurve::get_class_type(void);

Undocumented function.

adjustPoint
virtual bool ParametricCurve::adjust_point(float t, float px, float py, float pz);

Description: Recomputes the curve such that it passes through the point (px, py, pz) at time t, but keeps the same tangent value at that point.

adjustPt
virtual bool ParametricCurve::adjust_pt(float t, float px, float py, float pz, float tx, float ty, float tz);

Description: Recomputes the curve such that it passes through the point (px, py, pz) with the tangent (tx, ty, tz).

adjustTangent
virtual bool ParametricCurve::adjust_tangent(float t, float tx, float ty, float tz);

Description: Recomputes the curve such that it has the tangent (tx, ty, tz) at time t, but keeps the same position at the point.

calcLength
float ParametricCurve::calc_length(void) const;

Description: Approximates the length of the entire curve to within a few decimal places.
Description: Approximates the length of the curve segment from parametric time 'from' to time 'to'.

findLength
float ParametricCurve::find_length(float start_t, float length_offset) const;

Description: Returns the parametric value corresponding to the indicated distance along the curve from the starting parametric value.
This is the inverse of calc_length(): rather than determining the length along the curve between two parametric points, it determines the position in parametric time of a point n units along the curve.
The search distance must not be negative.

get2ndtangent
virtual bool ParametricCurve::get_2ndtangent(float t, LVecBase3f &tangent2) const = 0;

Undocumented function.

getClassType
static TypeHandle ParametricCurve::get_class_type(void);

Undocumented function.

getCurveType
int ParametricCurve::get_curve_type(void) const;

Description: Returns the flag indicating the use to which the curve is intended to be put.

getMaxT
virtual float ParametricCurve::get_max_t(void) const;

Description: Returns the upper bound of t for the entire curve. The curve is defined in the range 0.0f <= t <= get_max_t(). This base class function always returns 1.0f; derived classes might override this to return something else.

getNumDimensions
int ParametricCurve::get_num_dimensions(void) const;

Description: Returns the number of significant dimensions in the curve's vertices, as set by a previous call to set_num_dimensions(). This is only a hint as to how the curve is intended to be used; the actual number of dimensions of any curve is always three.

getPoint
virtual bool ParametricCurve::get_point(float t, LVecBase3f &point) const = 0;

Undocumented function.

getPt
virtual bool ParametricCurve::get_pt(float t, LVecBase3f &point, LVecBase3f &tangent) const = 0;

Undocumented function.

getTangent
virtual bool ParametricCurve::get_tangent(float t, LVecBase3f &tangent) const = 0;

Undocumented function.

isValid
virtual bool ParametricCurve::is_valid(void) const;

Description: Returns true if the curve is defined. This base class function always returns true; derived classes might override this to sometimes return false.

recompute
virtual bool ParametricCurve::recompute(void);

Description: Recalculates the curve, if necessary. Returns true if the resulting curve is valid, false otherwise.

setCurveType
void ParametricCurve::set_curve_type(int type);

Description: Sets the flag indicating the use to which the curve is intended to be put. This flag is optional and only serves to provide a hint to the egg reader and writer code; it has no effect on the curve's behavior.
Setting the curve type also sets the num_dimensions to 3 or 1 according to the type.
THis flag may have one of the values PCT_XYZ, PCT_HPR, or PCT_T.

setNumDimensions
void ParametricCurve::set_num_dimensions(int num);

Description: Specifies the number of significant dimensions in the curve's vertices. This should be one of 1, 2, or 3. Normally, XYZ and HPR curves have three dimensions; time curves should always have one dimension. This only serves as a hint to the mopath editor, and also controls how the curve is written out.

stitch
virtual bool ParametricCurve::stitch(ParametricCurve const *a, ParametricCurve const *b);

Description: Regenerates this curve as one long curve: the first curve connected end-to-end with the second one. Either a or b may be the same as 'this'.
Returns true if successful, false on failure or if the curve type does not support stitching.

writeEgg
bool ParametricCurve::write_egg(Filename filename, CoordinateSystem cs = (CS_default));

Description: Writes an egg description of the nurbs curve to the specified output file. Returns true if the file is successfully written.
Description: Writes an egg description of the nurbs curve to the specified output stream. Returns true if the file is successfully written.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


HideInterval

    from pandac.PandaModules import HideInterval
    Class : HideInterval
    Description : An interval that calls NodePath::hide().

Inheritance:

    HideInterval: CInterval
    CInterval: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of HideInterval:

    HideInterval (Constructor)
    getClassType

Methods of CInterval:

    clearToInitial
    finish
    getAutoFinish
    getAutoPause
    getClassType
    getDoneEvent
    getDuration
    getManager
    getName
    getOpenEnded
    getPlayRate
    getState
    getT
    getWantsTCallback
    isPlaying
    isStopped
    loop
    output
    pause
    privDoEvent
    privFinalize
    privInitialize
    privInstant
    privInterrupt
    privReverseFinalize
    privReverseInitialize
    privReverseInstant
    privStep
    resume
    resumeUntil
    setAutoFinish
    setAutoPause
    setDoneEvent
    setManager
    setPlayRate
    setT
    setupPlay
    setupResume
    setupResumeUntil
    setWantsTCallback
    start
    stepPlay
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in CInterval:

    ETInitialize | (EventType)
ETInstant | (EventType)
ETStep | (EventType)
ETFinalize | (EventType)
ETReverseInitialize | (EventType)
ETReverseInstant | (EventType)
ETReverseFinalize | (EventType)
ETInterrupt | (EventType)
SInitial | (State)
SStarted | (State)
SPaused | (State)
SFinal | (State)
HideInterval
HideInterval::HideInterval(NodePath const &node, string const &name = ((string())));

Description:

getClassType
static TypeHandle HideInterval::get_class_type(void);

Undocumented function.

clearToInitial
void CInterval::clear_to_initial(void);

Description: Pauses the interval, if it is playing, and resets its state to its initial state, abandoning any state changes already in progress in the middle of the interval. Calling this is like pausing the interval and discarding it, creating a new one in its place.

finish
void CInterval::finish(void);

Description: Stops the interval from playing and sets it to its final state.

getAutoFinish
bool CInterval::get_auto_finish(void) const;

Description: Returns the state of the 'auto_finish' flag. See set_auto_finish().

getAutoPause
bool CInterval::get_auto_pause(void) const;

Description: Returns the state of the 'auto_pause' flag. See set_auto_pause().

getClassType
static TypeHandle CInterval::get_class_type(void);

Undocumented function.

getDoneEvent
string const &CInterval::get_done_event(void) const;

Description: Returns the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

getDuration
double CInterval::get_duration(void) const;

Description: Returns the duration of the interval in seconds.

getManager
CIntervalManager *CInterval::get_manager(void) const;

Description: Returns the CIntervalManager object which will be responsible for playing this interval. Note that this can only return a C++ object; if the particular CIntervalManager object has been extended in the scripting language, this will return the encapsulated C++ object, not the full extended object.

getName
string const &CInterval::get_name(void) const;

Description: Returns the interval's name.

getOpenEnded
bool CInterval::get_open_ended(void) const;

Description: Returns the state of the "open_ended" flag. This is primarily intended for instantaneous intervals like FunctionIntervals; it indicates true if the interval has some lasting effect that should be applied even if the interval doesn't get started until after its finish time, or false if the interval is a transitive thing that doesn't need to be called late.

getPlayRate
double CInterval::get_play_rate(void) const;

Description: Returns the play rate as set by the last call to start(), loop(), or set_play_rate().

getState
CInterval::State CInterval::get_state(void) const;

Description: Indicates the state the interval believes it is in: whether it has been started, is currently in the middle, or has been finalized.

getT
double CInterval::get_t(void) const;

Description: Returns the current time of the interval: the last value of t passed to priv_initialize(), priv_step(), or priv_finalize().

getWantsTCallback
bool CInterval::get_wants_t_callback(void) const;

Description: Returns the state of the 'wants_t_callback' flag. See set_wants_t_callback().

isPlaying
bool CInterval::is_playing(void) const;

Description: Returns true if the interval is currently playing, false otherwise.

isStopped
bool CInterval::is_stopped(void) const;

Description: Returns true if the interval is in either its initial or final states (but not in a running or paused state).

loop
void CInterval::loop(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play until it is interrupted with finish() or pause(), looping back to start_t when it reaches end_t.
If end_t is less than zero, it indicates the end of the interval.

output
virtual void CInterval::output(ostream &out) const;

Description:

pause
double CInterval::pause(void);

Description: Stops the interval from playing but leaves it in its current state. It may later be resumed from this point by calling resume().

privDoEvent
void CInterval::priv_do_event(double t, CInterval::EventType event);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: Calls the appropriate event function indicated by the EventType.

privFinalize
virtual void CInterval::priv_finalize(void);

Description: This is called to stop an interval, forcing it to whatever state it would be after it played all the way through. It's generally invoked by set_final_t().

privInitialize
virtual void CInterval::priv_initialize(double t);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: This replaces the first call to priv_step(), and indicates that the interval has just begun. This may be overridden by derived classes that need to do some explicit initialization on the first call.

privInstant
virtual void CInterval::priv_instant(void);

Description: This is called in lieu of priv_initialize() .. priv_step() .. priv_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the final state.

privInterrupt
virtual void CInterval::priv_interrupt(void);

Description: This is called while the interval is playing to indicate that it is about to be interrupted; that is, priv_step() will not be called for a length of time. But the interval should remain in its current state in anticipation of being eventually restarted when the calls to priv_step() eventually resume.
The purpose of this function is to allow self-running intervals like sound intervals to stop the actual sound playback during the pause.

privReverseFinalize
virtual void CInterval::priv_reverse_finalize(void);

Description: Called generally following a priv_reverse_initialize(), this indicates the interval should set itself to the initial state.

privReverseInitialize
virtual void CInterval::priv_reverse_initialize(double t);

Description: Similar to priv_initialize(), but this is called when the interval is being played backwards; it indicates that the interval should start at the finishing state and undo any intervening intervals.

privReverseInstant
virtual void CInterval::priv_reverse_instant(void);

Description: This is called in lieu of priv_reverse_initialize() .. priv_step() .. priv_reverse_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the initial state.

privStep
virtual void CInterval::priv_step(double t);

Description: Advances the time on the interval. The time may either increase (the normal case) or decrease (e.g. if the interval is being played by a slider).

resume
void CInterval::resume(void);

Description: Restarts the interval from its current point after a previous call to pause().
Description: Restarts the interval from the indicated point after a previous call to pause().

resumeUntil
void CInterval::resume_until(double end_t);

Description: Restarts the interval from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setAutoFinish
void CInterval::set_auto_finish(bool auto_finish);

Description: Changes the state of the 'auto_finish' flag. If this is true, the interval may be arbitrarily finished when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setAutoPause
void CInterval::set_auto_pause(bool auto_pause);

Description: Changes the state of the 'auto_pause' flag. If this is true, the interval may be arbitrarily interrupted when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setDoneEvent
void CInterval::set_done_event(string const &event);

Description: Sets the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

setManager
void CInterval::set_manager(CIntervalManager *manager);

Description: Indicates the CIntervalManager object which will be responsible for playing this interval. This defaults to the global CIntervalManager; you should need to change this only if you have special requirements for playing this interval.

setPlayRate
void CInterval::set_play_rate(double play_rate);

Description: Changes the play rate of the interval. If the interval is already started, this changes its speed on-the-fly. Note that since play_rate is a parameter to start() and loop(), the next call to start() or loop() will reset this parameter.

setT
void CInterval::set_t(double t);

Description: Explicitly sets the time within the interval. Normally, you would use start() .. finish() to let the time play normally, but this may be used to set the time to some particular value.

setupPlay
void CInterval::setup_play(double start_time, double end_time, double play_rate, bool do_loop);

Description: Called to prepare the interval for automatic timed playback, e.g. via a Python task. The interval will be played from start_t to end_t, at a time factor specified by play_rate. start_t must always be less than end_t (except for the exception for end_t == -1, below), but if play_rate is negative the interval will be played backwards.
Specify end_t of -1 to play the entire interval from start_t.
Call step_play() repeatedly to execute the interval.

setupResume
void CInterval::setup_resume(void);

Description: Called to prepare the interval for restarting at the current point within the interval after an interruption.

setupResumeUntil
void CInterval::setup_resume_until(double end_t);

Description: Called to prepare the interval for restarting from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setWantsTCallback
void CInterval::set_wants_t_callback(bool wants_t_callback);

Description: Changes the state of the 'wants_t_callback' flag. If this is true, the interval will be returned by CIntervalManager::get_event() each time the interval's time value has been changed, regardless of whether it has any external events.

start
void CInterval::start(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play to the end and stop.
If end_t is less than zero, it indicates the end of the interval.

stepPlay
bool CInterval::step_play(void);

Description: Should be called once per frame to execute the automatic timed playback begun with setup_play().
Returns true if the interval should continue, false if it is done and should stop.

write
virtual void CInterval::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


HierarchyException

    from direct.showbase.PythonUtil import HierarchyException

Inheritance:

    HierarchyException:

Methods of HierarchyException:

    __init__
    __repr__
    __str__
__init__
def __init__(self, owner, description)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

__str__
def __str__(self)

Undocumented function.


HotkeyBreaker

    from direct.showbase.PythonUtil import HotkeyBreaker

Inheritance:

    HotkeyBreaker:

Methods of HotkeyBreaker:

    __init__
    addBreakKey
    breakFunc
    clearBreakPt
    removeBreakKey
    setBreakPt
__init__
def __init__(self, breakKeys=[])

Undocumented function.

addBreakKey
def addBreakKey(self, breakKey)

Undocumented function.

breakFunc
def breakFunc(self, breakKey)

Undocumented function.

clearBreakPt
def clearBreakPt(self, breakKey)

Undocumented function.

removeBreakKey
def removeBreakKey(self, breakKey)

Undocumented function.

setBreakPt
def setBreakPt(self, breakKey=None, persistent=False)

Undocumented function.


HprInterval

    from direct.interval.FunctionInterval import HprInterval

Inheritance:

    HprInterval:

Methods of HprInterval:

    __init__
__init__
def __init__(self, nodePath, hpr, duration=0.0, name=None, other=None)

__init__(nodePath, hpr, duration, name)


HprLerpFunctor

    from pandac.PandaModules import HprLerpFunctor
    evil bad bad evil HPR
    Class : HprLerpFunctor
    Description : Class for Lerping between orientations in space

Inheritance:

    HprLerpFunctor: SimpleLerpFunctor< LVecBase3f >
    SimpleLerpFunctor< LVecBase3f >: LerpFunctor
    LerpFunctor: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of HprLerpFunctor:

    HprLerpFunctor (Constructor)
    getClassType
    takeLongest
    takeShortest

Methods of SimpleLerpFunctor< LVecBase3f >:

    getClassType
    getEnd
    getStart
    interpolate

Methods of LerpFunctor:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
HprLerpFunctor
HprLerpFunctor::HprLerpFunctor(NodePath np, LVecBase3f start, LVecBase3f end);

Undocumented function.

getClassType
static TypeHandle HprLerpFunctor::get_class_type(void);

now for typehandle stuff

takeLongest
void HprLerpFunctor::take_longest(void);

Undocumented function.

takeShortest
void HprLerpFunctor::take_shortest(void);

Undocumented function.

getClassType
static TypeHandle ::SimpleLerpFunctor< LVecBase3f >::get_class_type(void);

Undocumented function.

getEnd
LVecBase3f const &::SimpleLerpFunctor< LVecBase3f >::get_end(void) const;

Undocumented function.

getStart
LVecBase3f const &::SimpleLerpFunctor< LVecBase3f >::get_start(void) const;

Undocumented function.

interpolate
LVecBase3f ::SimpleLerpFunctor< LVecBase3f >::interpolate(float );

Undocumented function.

getClassType
static TypeHandle LerpFunctor::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


HprScaleInterval

    from direct.interval.FunctionInterval import HprScaleInterval

Inheritance:

    HprScaleInterval:

Methods of HprScaleInterval:

    __init__
__init__
def __init__(self, nodePath, hpr, scale, duration=0.0, name=None, other=None)

__init__(nodePath, hpr, scale, duration, other, name)


HprScaleLerpFunctor

    from pandac.PandaModules import HprScaleLerpFunctor
    Class : HprScaleLerpFunctor
    Description : Class for Lerping between orientation and scale

Inheritance:

    HprScaleLerpFunctor: LerpFunctor
    LerpFunctor: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of HprScaleLerpFunctor:

    HprScaleLerpFunctor (Constructor)
    getClassType
    takeLongest
    takeShortest

Methods of LerpFunctor:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
HprScaleLerpFunctor
HprScaleLerpFunctor::HprScaleLerpFunctor(NodePath np, LVecBase3f hstart, LVecBase3f hend, LVecBase3f sstart, LVecBase3f send);

Undocumented function.

getClassType
static TypeHandle HprScaleLerpFunctor::get_class_type(void);

now for typehandle stuff

takeLongest
void HprScaleLerpFunctor::take_longest(void);

Undocumented function.

takeShortest
void HprScaleLerpFunctor::take_shortest(void);

Undocumented function.

getClassType
static TypeHandle LerpFunctor::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


HTTPChannel

    from pandac.PandaModules import HTTPChannel
    Class : HTTPChannel
    Description : A single channel of communication from an HTTPClient. This is similar to the concept of a 'connection', except that HTTP is technically connectionless; in fact, a channel may represent one unbroken connection or it may transparently close and reopen a new connection with each request.
    A channel is conceptually a single thread of I/O. One document at a time may be requested using a channel; a new document may (in general) not be requested from the same HTTPChannel until the first document has been fully retrieved.

Inheritance:

    HTTPChannel: VirtualFile
    VirtualFile: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of HTTPChannel:

    beginConnectTo
    beginGetDocument
    beginGetHeader
    beginGetSubdocument
    beginPostForm
    clearExtraHeaders
    connectTo
    deleteDocument
    downloadToFile
    downloadToRam
    getAllowProxy
    getBlockingConnect
    getBytesDownloaded
    getBytesRequested
    getClassType
    getConnection
    getConnectTimeout
    getDocument
    getDocumentSpec
    getDownloadThrottle
    getFirstByteDelivered
    getFirstByteRequested
    getHeader
    getHeaderValue
    getHttpTimeout
    getHttpVersion
    getHttpVersionString
    getLastByteDelivered
    getLastByteRequested
    getMaxBytesPerSecond
    getMaxUpdatesPerSecond
    getNumRedirectTrail
    getOptions
    getPersistentConnection
    getProxyRealm
    getProxyTunnel
    getRedirect
    getRedirectTrail
    getStatusCode
    getStatusString
    getSubdocument
    getTrace
    getUrl
    getWwwRealm
    isConnectionReady
    isDownloadComplete
    isFileSizeKnown
    isValid
    postForm
    preserveStatus
    putDocument
    readBody
    reset
    run
    sendExtraHeader
    setAllowProxy
    setBlockingConnect
    setConnectTimeout
    setDownloadThrottle
    setExpectedFileSize
    setHttpTimeout
    setMaxBytesPerSecond
    setMaxUpdatesPerSecond
    setPersistentConnection
    setProxyTunnel
    writeHeaders

Methods of VirtualFile:

    closeReadFile
    getClassType
    getFilename
    getFileSize
    getFileSystem
    getOriginalFilename
    getTimestamp
    isDirectory
    isRegularFile
    ls
    lsAll
    openReadFile
    output
    readFile
    scanDirectory

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in HTTPChannel:

    SCIncomplete | (StatusCode)
SCInternalError | (StatusCode)
SCNoConnection | (StatusCode)
SCTimeout | (StatusCode)
SCLostConnection | (StatusCode)
SCNonHttpResponse | (StatusCode)
SCInvalidHttp | (StatusCode)
SCSocksInvalidVersion | (StatusCode)
SCSocksNoAcceptableLoginMethod | (StatusCode)
SCSocksRefused | (StatusCode)
SCSocksNoConnection | (StatusCode)
SCSslInternalFailure | (StatusCode)
SCSslNoHandshake | (StatusCode)
SCHttpErrorWatermark | (StatusCode)
SCSslInvalidServerCertificate | (StatusCode)
SCSslUnexpectedServer | (StatusCode)
SCDownloadOpenError | (StatusCode)
SCDownloadWriteError | (StatusCode)
SCDownloadInvalidRange | (StatusCode)
beginConnectTo
void HTTPChannel::begin_connect_to(DocumentSpec const &url);

Description: Begins a non-blocking request to establish a direct connection to the server and port indicated by the URL. No HTTP requests will be issued beyond what is necessary to establish the connection. When run() has finished, you may call is_connection_ready() to determine if the connection was successfully established.
If successful, the connection may then be taken to use for whatever purposes you like by calling get_connection().
This establishes a nonblocking I/O socket. Also see connect_to().

beginGetDocument
void HTTPChannel::begin_get_document(DocumentSpec const &url);

Description: Begins a non-blocking request to retrieve a given document. This method will return immediately, even before a connection to the server has necessarily been established; you must then call run() from time to time until the return value of run() is false. Then you may check is_valid() and get_status_code() to determine the status of your request.
If a previous request had been pending, that request is discarded.

beginGetHeader
void HTTPChannel::begin_get_header(DocumentSpec const &url);

Description: Begins a non-blocking request to retrieve a given header. See begin_get_document() and get_header().

beginGetSubdocument
void HTTPChannel::begin_get_subdocument(DocumentSpec const &url, unsigned int first_byte, unsigned int last_byte);

Description: Begins a non-blocking request to retrieve only the specified byte range of the indicated document. If last_byte is 0, it stands for the last byte of the document. When a subdocument is requested, get_file_size() and get_bytes_downloaded() will report the number of bytes of the subdocument, not of the complete document.

beginPostForm
void HTTPChannel::begin_post_form(DocumentSpec const &url, string const &body);

Description: Posts form data to a particular URL and retrieves the response, all using non-blocking I/O. See begin_get_document() and post_form().
It is important to note that you *must* call run() repeatedly after calling this method until run() returns false, and you may not call any other document posting or retrieving methods using the HTTPChannel object in the interim, or your form data may not get posted.

clearExtraHeaders
void HTTPChannel::clear_extra_headers(void);

Description: Resets the extra headers that were previously added via calls to send_extra_header().

connectTo
bool HTTPChannel::connect_to(DocumentSpec const &url);

Description: Establish a direct connection to the server and port indicated by the URL, but do not issue any HTTP requests. If successful, the connection may then be taken to use for whatever purposes you like by calling get_connection().
This establishes a blocking I/O socket. Also see begin_connect_to().

deleteDocument
bool HTTPChannel::delete_document(DocumentSpec const &url);

Description: Requests the server to remove the indicated URL.

downloadToFile
bool HTTPChannel::download_to_file(Filename const &filename, bool subdocument_resumes = (1));

Description: Specifies the name of a file to download the resulting document to. This should be called immediately after get_document() or begin_get_document() or related functions.
In the case of the blocking I/O methods like get_document(), this function will download the entire document to the file and return true if it was successfully downloaded, false otherwise.
In the case of non-blocking I/O methods like begin_get_document(), this function simply indicates an intention to download to the indicated file. It returns true if the file can be opened for writing, false otherwise, but the contents will not be completely downloaded until run() has returned false. At this time, it is possible that a communications error will have left a partial file, so is_download_complete() may be called to test this.
If subdocument_resumes is true and the document in question was previously requested as a subdocument (i.e. get_subdocument() with a first_byte value greater than zero), this will automatically seek to the appropriate byte within the file for writing the output. In this case, the file must already exist and must have at least first_byte bytes in it. If subdocument_resumes is false, a subdocument will always be downloaded beginning at the first byte of the file.

downloadToRam
bool HTTPChannel::download_to_ram(Ramfile *ramfile, bool subdocument_resumes = (1));

Description: Specifies a Ramfile object to download the resulting document to. This should be called immediately after get_document() or begin_get_document() or related functions.
In the case of the blocking I/O methods like get_document(), this function will download the entire document to the Ramfile and return true if it was successfully downloaded, false otherwise.
In the case of non-blocking I/O methods like begin_get_document(), this function simply indicates an intention to download to the indicated Ramfile. It returns true if the file can be opened for writing, false otherwise, but the contents will not be completely downloaded until run() has returned false. At this time, it is possible that a communications error will have left a partial file, so is_download_complete() may be called to test this.
If subdocument_resumes is true and the document in question was previously requested as a subdocument (i.e. get_subdocument() with a first_byte value greater than zero), this will automatically seek to the appropriate byte within the Ramfile for writing the output. In this case, the Ramfile must already have at least first_byte bytes in it.

getAllowProxy
bool HTTPChannel::get_allow_proxy(void) const;

Description: If this is true (the normal case), the HTTPClient will be consulted for information about the proxy to be used for each connection via this HTTPChannel. If this has been set to false by the user, then all connections will be made directly, regardless of the proxy settings indicated on the HTTPClient.

getBlockingConnect
bool HTTPChannel::get_blocking_connect(void) const;

Description: If this flag is true, a socket connect will block even for nonblocking I/O calls like begin_get_document(), begin_connect_to(), etc. If false, a socket connect will not block for nonblocking I/O calls, but will block for blocking I/O calls (get_document(), connect_to(), etc.).

getBytesDownloaded
unsigned int HTTPChannel::get_bytes_downloaded(void) const;

Description: Returns the number of bytes downloaded during the last (or current) download_to_file() or download_to_ram operation(). This can be used in conjunction with get_file_size() to report the percent complete (but be careful, since get_file_size() may return 0 if the server has not told us the size of the file).

getBytesRequested
unsigned int HTTPChannel::get_bytes_requested(void) const;

Description: When download throttling is in effect (set_download_throttle() has been set to true) and non-blocking I/O methods (like begin_get_document()) are used, this returns the number of bytes "requested" from the server so far: that is, the theoretical maximum value for get_bytes_downloaded(), if the server has been keeping up with our demand.
If this number is less than get_bytes_downloaded(), then the server has not been supplying bytes fast enough to meet our own download throttle rate.
When download throttling is not in effect, or when the blocking I/O methods (like get_document(), etc.) are used, this returns 0.

getClassType
static TypeHandle HTTPChannel::get_class_type(void);

Undocumented function.

getConnection
SocketStream *HTTPChannel::get_connection(void);

Description: Returns the connection that was established via a previous call to connect_to() or begin_connect_to(), or NULL if the connection attempt failed or if those methods have not recently been called.
This stream has been allocated from the free store. It is the user's responsibility to delete this pointer when finished with it.

getConnectTimeout
double HTTPChannel::get_connect_timeout(void) const;

Description: Returns the length of time, in seconds, to wait for a new nonblocking socket to connect. See set_connect_timeout().

getDocument
bool HTTPChannel::get_document(DocumentSpec const &url);

Description: Opens the named document for reading, if available. Returns true if successful, false otherwise.

getDocumentSpec
DocumentSpec const &HTTPChannel::get_document_spec(void) const;

Description: Returns the DocumentSpec associated with the most recent document. This includes its actual URL (following redirects) along with the identity tag and last-modified date, if supplied by the server.
This structure may be saved and used to retrieve the same version of the document later, or to conditionally retrieve a newer version if it is available.

getDownloadThrottle
bool HTTPChannel::get_download_throttle(void) const;

Description: Returns whether the nonblocking downloads will be bandwidth-limited. See set_download_throttle().

getFirstByteDelivered
unsigned int HTTPChannel::get_first_byte_delivered(void) const;

Description: Returns the first byte of the file (that will be) delivered by the server in response to the current request. Normally, this is the same as get_first_byte_requested(), but some servers will ignore a subdocument request and always return the whole file, in which case this value will be 0, regardless of what was requested to get_subdocument().

getFirstByteRequested
unsigned int HTTPChannel::get_first_byte_requested(void) const;

Description: Returns the first byte of the file requested by the request. This will normally be 0 to indicate that the file is being requested from the beginning, but if the file was requested via a get_subdocument() call, this will contain the first_byte parameter from that call.

getHeader
bool HTTPChannel::get_header(DocumentSpec const &url);

Description: Like get_document(), except only the header associated with the document is retrieved. This may be used to test for existence of the document; it might also return the size of the document (if the server gives us this information).

getHeaderValue
string HTTPChannel::get_header_value(string const &key) const;

Description: Returns the HTML header value associated with the indicated key, or empty string if the key was not defined in the message returned by the server.

getHttpTimeout
double HTTPChannel::get_http_timeout(void) const;

Description: Returns the length of time, in seconds, to wait for the HTTP server to respond to our request. See set_http_timeout().

getHttpVersion
HTTPEnum::HTTPVersion HTTPChannel::get_http_version(void) const;

Description: Returns the HTTP version number returned by the server, as one of the HTTPClient enumerated types, e.g. HTTPClient::HV_11.

getHttpVersionString
string const &HTTPChannel::get_http_version_string(void) const;

Description: Returns the HTTP version number returned by the server, formatted as a string, e.g. "HTTP/1.1".

getLastByteDelivered
unsigned int HTTPChannel::get_last_byte_delivered(void) const;

Description: Returns the last byte of the file (that will be) delivered by the server in response to the current request. Normally, this is the same as get_last_byte_requested(), but some servers will ignore a subdocument request and always return the whole file, in which case this value will be 0, regardless of what was requested to get_subdocument().

getLastByteRequested
unsigned int HTTPChannel::get_last_byte_requested(void) const;

Description: Returns the last byte of the file requested by the request. This will normally be 0 to indicate that the file is being requested to its last byte, but if the file was requested via a get_subdocument() call, this will contain the last_byte parameter from that call.

getMaxBytesPerSecond
double HTTPChannel::get_max_bytes_per_second(void) const;

Description: Returns the maximum number of bytes per second that may be consumed by this channel when get_download_throttle() is true.

getMaxUpdatesPerSecond
double HTTPChannel::get_max_updates_per_second(void) const;

Description: Returns the maximum number of times per second that run() will do anything at all, when get_download_throttle() is true.

getNumRedirectTrail
int HTTPChannel::get_num_redirect_trail(void) const;

Description: If the document automatically followed one or more redirects, this will return the number of redirects that were automatically followed. Use get_redirect_trail() to retrieve each URL in sequence.

getOptions
bool HTTPChannel::get_options(DocumentSpec const &url);

Description: Sends an OPTIONS message to the server, which should query the available options, possibly in relation to a specified URL.

getPersistentConnection
bool HTTPChannel::get_persistent_connection(void) const;

Description: Returns whether the HTTPChannel should try to keep the connection to the server open and reuse that connection for multiple documents, or whether it should close the connection and open a new one for each request. See set_persistent_connection().

getProxyRealm
string const &HTTPChannel::get_proxy_realm(void) const;

Description: If the document failed to connect because of a 407 (Proxy authorization required), this method will return the "realm" returned by the proxy. This string may be presented to the user to request an associated username and password (which then should be stored in HTTPClient::set_username()).

getProxyTunnel
bool HTTPChannel::get_proxy_tunnel(void) const;

Description: Returns true if connections always tunnel through a proxy, or false (the normal case) if we allow the proxy to serve up documents. See set_proxy_tunnel().

getRedirect
URLSpec const &HTTPChannel::get_redirect(void) const;

Description: If the document failed with a redirect code (300 series), this will generally contain the new URL the server wants us to try. In many cases, the client will automatically follow redirects; if these are succesful the client will return a successful code and get_redirect() will return empty, but get_url() will return the new, redirected URL.

getRedirectTrail
URLSpec const &HTTPChannel::get_redirect_trail(int n) const;

Description: Use in conjunction with get_num_redirect_trail() to extract the chain of URL's that the channel was automatically redirected through to arrive at the final document.

getStatusCode
int HTTPChannel::get_status_code(void) const;

Description: Returns the HTML return code from the document retrieval request. This will be in the 200 range if the document is successfully retrieved, or some other value in the case of an error.
Some proxy errors during an https-over-proxy request would return the same status code as a different error that occurred on the host server. To differentiate these cases, status codes that are returned by the proxy during the CONNECT phase (except code 407) are incremented by 1000.

getStatusString
string HTTPChannel::get_status_string(void) const;

Description: Returns the string as returned by the server describing the status code for humans. This may or may not be meaningful.

getSubdocument
bool HTTPChannel::get_subdocument(DocumentSpec const &url, unsigned int first_byte, unsigned int last_byte);

Description: Retrieves only the specified byte range of the indicated document. If last_byte is 0, it stands for the last byte of the document. When a subdocument is requested, get_file_size() and get_bytes_downloaded() will report the number of bytes of the subdocument, not of the complete document.

getTrace
bool HTTPChannel::get_trace(DocumentSpec const &url);

Description: Sends a TRACE message to the server, which should return back the same message as the server received it, allowing inspection of proxy hops, etc.

getUrl
URLSpec const &HTTPChannel::get_url(void) const;

Description: Returns the URL that was used to retrieve the most recent document: whatever URL was last passed to get_document() or get_header(). If a redirect has transparently occurred, this will return the new, redirected URL (the actual URL at which the document was located).

getWwwRealm
string const &HTTPChannel::get_www_realm(void) const;

Description: If the document failed to connect because of a 401 (Authorization required), this method will return the "realm" returned by the server in which the requested document must be authenticated. This string may be presented to the user to request an associated username and password (which then should be stored in HTTPClient::set_username()).

isConnectionReady
bool HTTPChannel::is_connection_ready(void) const;

Description: Returns true if a connection has been established to the named server in a previous call to connect_to() or begin_connect_to(), false otherwise.

isDownloadComplete
bool HTTPChannel::is_download_complete(void) const;

Description: Returns true when a download_to() or download_to_ram() has executed and the file has been fully downloaded. If this still returns false after processing has completed, there was an error in transmission.
Note that simply testing is_download_complete() does not prove that the requested document was succesfully retrieved--you might have just downloaded the "404 not found" stub (for instance) that a server would provide in response to some error condition. You should also check is_valid() to prove that the file you expected has been successfully retrieved.

isFileSizeKnown
bool HTTPChannel::is_file_size_known(void) const;

Description: Returns true if the size of the file we are currently retrieving was told us by the server and thus is reliably known, or false if the size reported by get_file_size() represents an educated guess (possibly as set by set_expected_file_size(), or as inferred from a chunked transfer encoding in progress).

isValid
bool HTTPChannel::is_valid(void) const;

Description: Returns true if the last-requested document was successfully retrieved and is ready to be read, false otherwise.

postForm
bool HTTPChannel::post_form(DocumentSpec const &url, string const &body);

Description: Posts form data to a particular URL and retrieves the response.

preserveStatus
void HTTPChannel::preserve_status(void);

Description: Preserves the previous status code (presumably a failure) from the previous connection attempt. If the subsequent connection attempt also fails, the returned status code will be the better of the previous code and the current code.
This can be called to daisy-chain subsequent attempts to download the same document from different servers. After all servers have been attempted, the final status code will reflect the attempt that most nearly succeeded.

putDocument
bool HTTPChannel::put_document(DocumentSpec const &url, string const &body);

Description: Uploads the indicated body to the server to replace the indicated URL, if the server allows this.

readBody
ISocketStream *HTTPChannel::read_body(void);

Description: Returns a newly-allocated istream suitable for reading the body of the document. This may only be called immediately after a call to get_document() or post_form(), or after a call to run() has returned false.
The user is responsible for deleting the returned istream later.

reset
void HTTPChannel::reset(void);

Description: Stops whatever file transaction is currently in progress, closes the connection, and resets to begin anew. You shouldn't ever need to call this, since the channel should be able to reset itself cleanly between requests, but it is provided in case you are an especially nervous type.
Don't call this after every request unless you set set_persistent_connection() to false, since calling reset() rudely closes the connection regardless of whether we have told the server we intend to keep it open or not.

run
bool HTTPChannel::run(void);

Description: This must be called from time to time when non-blocking I/O is in use. It checks for data coming in on the socket and writes data out to the socket when possible, and does whatever processing is required towards completing the current task.
The return value is true if the task is still pending (and run() will need to be called again in the future), or false if the current task is complete.

sendExtraHeader
void HTTPChannel::send_extra_header(string const &key, string const &value);

Description: Specifies an additional key: value pair that is added into the header sent to the server with the next request. This is passed along with no interpretation by the HTTPChannel code. You may call this repeatedly to append multiple headers.
This is persistent for one request only; it must be set again for each new request.

setAllowProxy
void HTTPChannel::set_allow_proxy(bool allow_proxy);

Description: If this is true (the normal case), the HTTPClient will be consulted for information about the proxy to be used for each connection via this HTTPChannel. If this has been set to false by the user, then all connections will be made directly, regardless of the proxy settings indicated on the HTTPClient.

setBlockingConnect
void HTTPChannel::set_blocking_connect(bool blocking_connect);

Description: If this flag is true, a socket connect will block even for nonblocking I/O calls like begin_get_document(), begin_connect_to(), etc. If false, a socket connect will not block for nonblocking I/O calls, but will block for blocking I/O calls (get_document(), connect_to(), etc.). Setting this true is useful when you want to use non-blocking I/O once you have established the connection, but you don't want to bother with polling for the initial connection. It's also useful when you don't particularly care about non-blocking I/O, but you need to respect timeouts like connect_timeout and http_timeout.

setConnectTimeout
void HTTPChannel::set_connect_timeout(double timeout_seconds);

Description: Sets the maximum length of time, in seconds, that the channel will wait before giving up on establishing a TCP connection.
At present, this is used only for the nonblocking interfaces (e.g. begin_get_document(), begin_connect_to()), but it is used whether set_blocking_connect() is true or false.

setDownloadThrottle
void HTTPChannel::set_download_throttle(bool download_throttle);

Description: Specifies whether nonblocking downloads (via download_to_file() or download_to_ram()) will be limited so as not to use all available bandwidth.
If this is true, when a download has been started on this channel it will be invoked no more frequently than get_max_updates_per_second(), and the total bandwidth used by the download will be no more than get_max_bytes_per_second(). If this is false, downloads will proceed as fast as the server can send the data.
This only has effect on the nonblocking I/O methods like begin_get_document(), etc. The blocking methods like get_document() always use as much CPU and bandwidth as they can get.

setExpectedFileSize
void HTTPChannel::set_expected_file_size(unsigned int file_size);

Description: This may be called immediately after a call to get_document() or some related function to specify the expected size of the document we are retrieving, if we happen to know. This is used as the return value to get_file_size() only in the case that the server does not tell us the actual file size.

setHttpTimeout
void HTTPChannel::set_http_timeout(double timeout_seconds);

Description: Sets the maximum length of time, in seconds, that the channel will wait for the HTTP server to finish sending its response to our request.
The timer starts counting after the TCP connection has been established (see set_connect_timeout(), above) and the request has been sent.
At present, this is used only for the nonblocking interfaces (e.g. begin_get_document(), begin_connect_to()), but it is used whether set_blocking_connect() is true or false.

setMaxBytesPerSecond
void HTTPChannel::set_max_bytes_per_second(double max_bytes_per_second);

Description: When bandwidth throttling is in effect (see set_download_throttle()), this specifies the maximum number of bytes per second that may be consumed by this channel.

setMaxUpdatesPerSecond
void HTTPChannel::set_max_updates_per_second(double max_updates_per_second);

Description: When bandwidth throttling is in effect (see set_download_throttle()), this specifies the maximum number of times per second that run() will attempt to do any downloading at all.

setPersistentConnection
void HTTPChannel::set_persistent_connection(bool persistent_connection);

Description: Indicates whether the HTTPChannel should try to keep the connection to the server open and reuse that connection for multiple documents, or whether it should close the connection and open a new one for each request. Set this true to keep the connections around when possible, false to recycle them.
It makes most sense to set this false when the HTTPChannel will be used only once to retrieve a single document, true when you will be using the same HTTPChannel object to retrieve multiple documents.

setProxyTunnel
void HTTPChannel::set_proxy_tunnel(bool proxy_tunnel);

Description: Normally, a proxy is itself asked for ordinary URL's, and the proxy decides whether to hand the client a cached version of the document or to contact the server for a fresh version. The proxy may also modify the headers and transfer encoding on the way.
If this is set to true, then instead of asking for URL's from the proxy, we will ask the proxy to open a connection to the server (for instance, on port 80); if the proxy honors this request, then we contact the server directly through this connection to retrieve the document. If the proxy does not honor the connect request, then the retrieve operation fails.
SSL connections (e.g. https), and connections through a Socks proxy, are always tunneled, regardless of the setting of this flag.

writeHeaders
void HTTPChannel::write_headers(ostream &out) const;

Description: Outputs a list of all headers defined by the server to the indicated output stream.

closeReadFile
void VirtualFile::close_read_file(istream *stream) const;

Description: Closes a file opened by a previous call to open_read_file(). This really just deletes the istream pointer, but it is recommended to use this interface instead of deleting it explicitly, to help work around compiler issues.

getClassType
static TypeHandle VirtualFile::get_class_type(void);

Undocumented function.

getFilename
virtual Filename VirtualFile::get_filename(void) const = 0;

Undocumented function.

getFileSize
virtual int VirtualFile::get_file_size(istream *stream) const;

Description: Returns the current size on disk (or wherever it is) of the already-open file. Pass in the stream that was returned by open_read_file(); some implementations may require this stream to determine the size.
Description: Returns the current size on disk (or wherever it is) of the file before it has been opened.

getFileSystem
virtual VirtualFileSystem *VirtualFile::get_file_system(void) const = 0;

Undocumented function.

getOriginalFilename
Filename const &VirtualFile::get_original_filename(void) const;

Description: Returns the original filename as it was used to locate this VirtualFile. This is usually, but not always, the same string returned by get_filename().

getTimestamp
virtual unsigned int VirtualFile::get_timestamp(void) const;

Description: Returns a time_t value that represents the time the file was last modified, to within whatever precision the operating system records this information (on a Windows95 system, for instance, this may only be accurate to within 2 seconds).
If the timestamp cannot be determined, either because it is not supported by the operating system or because there is some error (such as file not found), returns 0.

isDirectory
virtual bool VirtualFile::is_directory(void) const;

Description: Returns true if this file represents a directory (and scan_directory() may be called), false otherwise.

isRegularFile
virtual bool VirtualFile::is_regular_file(void) const;

Description: Returns true if this file represents a regular file (and read_file() may be called), false otherwise.

ls
void VirtualFile::ls(ostream &out = (cout)) const;

Description: If the file represents a directory, lists its contents.

lsAll
void VirtualFile::ls_all(ostream &out = (cout)) const;

Description: If the file represents a directory, recursively lists its contents and those of all subdirectories.

openReadFile
virtual istream *VirtualFile::open_read_file(bool auto_unwrap) const;

Description: Opens the file for reading. Returns a newly allocated istream on success (which you should eventually delete when you are done reading). Returns NULL on failure.

output
void VirtualFile::output(ostream &out) const;

Description:

readFile
string VirtualFile::read_file(bool auto_unwrap) const;

Description: Returns the entire contents of the file as a string.
Description: Fills up the indicated string with the contents of the file, if it is a regular file. Returns true on success, false otherwise.
Description: Fills up the indicated pvector with the contents of the file, if it is a regular file. Returns true on success, false otherwise.
Description: Fills up the indicated pvector with the contents of the just-opened file. Returns true on success, false otherwise. If the pvector was not empty on entry, the data read from the file will be appended onto it.
Description: As in read_file() with two parameters, above, but only reads up to max_bytes bytes from the file.

scanDirectory
PointerTo< VirtualFileList > VirtualFile::scan_directory(void) const;

Description: If the file represents a directory (that is, is_directory() returns true), this returns the list of files within the directory at the current time. Returns NULL if the file is not a directory or if the directory cannot be read.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


HTTPClient

    from pandac.PandaModules import HTTPClient
    Class : HTTPClient
    Description : Handles contacting an HTTP server and retrieving a document. Each HTTPClient object represents a separate context; it is up to the programmer whether one HTTPClient should be used to retrieve all documents, or a separate one should be created each time.

Inheritance:

    HTTPClient:

Methods of HTTPClient:

    HTTPClient (Constructor)
    addDirectHost
    addExpectedServer
    addProxy
    base64Decode
    base64Encode
    clearAllCookies
    clearCookie
    clearDirectHost
    clearExpectedServers
    clearProxy
    copyCookiesFrom
    getCipherList
    getCookie
    getDirectHostSpec
    getDocument
    getHeader
    getHttpVersion
    getHttpVersionString
    getProxiesForUrl
    getProxySpec
    getTryAllDirect
    getUsername
    getVerifySsl
    hasCookie
    initRandomSeed
    loadCertificates
    loadClientCertificate
    makeChannel
    operator =
    parseHttpVersionString
    postForm
    sendCookies
    setCipherList
    setClientCertificateFilename
    setClientCertificatePassphrase
    setClientCertificatePem
    setCookie
    setDirectHostSpec
    setHttpVersion
    setProxySpec
    setTryAllDirect
    setUsername
    setVerifySsl
    writeCookies

Constants in HTTPClient:

    VSNoVerify | (VerifySSL)
VSNoDateCheck | (VerifySSL)
VSNormal | (VerifySSL)
HTTPClient
HTTPClient::HTTPClient(void);

Description:

addDirectHost
void HTTPClient::add_direct_host(string const &hostname);

Description: Adds the indicated name to the set of hostnames that are connected to directly, without using a proxy. This name may be either a DNS name or an IP address, and it may include the * as a wildcard character.

addExpectedServer
bool HTTPClient::add_expected_server(string const &server_attributes);

Description: Adds the indicated string as a definition of a valid server to contact via https. If no servers have been been added, an https connection will be allowed to any server. If at least one server has been added, an https connection will be allowed to any of the named servers, but none others.
The string passed in defines a subset of the server properties that are to be insisted on, using the X509 naming convention, e.g. O=WDI/OU=VRStudio/CN=ttown.
It makes sense to use this in conjunction with set_verify_ssl(), which insists that the https connection uses a verifiable certificate.

addProxy
void HTTPClient::add_proxy(string const &scheme, URLSpec const &proxy);

Description: Adds the indicated proxy host as a proxy for communications on the given scheme. Usually the scheme is "http" or "https". It may be the empty string to indicate a general proxy. The proxy string may be the empty URL to indicate a direct connection.

base64Decode
static string HTTPClient::base64_decode(string const &s);

Description: Implements HTTPAuthorization::base64_decode(). This is provided here just as a convenient place to publish it for access by the scripting language; C++ code should probably use HTTPAuthorization directly.

base64Encode
static string HTTPClient::base64_encode(string const &s);

Description: Implements HTTPAuthorization::base64_encode(). This is provided here just as a convenient place to publish it for access by the scripting language; C++ code should probably use HTTPAuthorization directly.

clearAllCookies
void HTTPClient::clear_all_cookies(void);

Description: Removes the all stored cookies from the client.

clearCookie
bool HTTPClient::clear_cookie(HTTPCookie const &cookie);

Description: Removes the cookie with the matching domain/path/name from the client's list of cookies. Returns true if it was removed, false if the cookie was not matched.

clearDirectHost
void HTTPClient::clear_direct_host(void);

Description: Resets the set of direct hosts to empty. Subsequent calls to add_direct_host() may be made to build up the list of hosts that do not require a proxy connection.

clearExpectedServers
void HTTPClient::clear_expected_servers(void);

Description: Clears the set of expected servers; the HTTPClient will allow an https connection to any server.

clearProxy
void HTTPClient::clear_proxy(void);

Description: Resets the proxy spec to empty. Subsequent calls to add_proxy() may be made to build up the set of proxy servers.

copyCookiesFrom
void HTTPClient::copy_cookies_from(HTTPClient const &other);

Description: Copies all the cookies from the indicated HTTPClient into this one. Existing cookies in this client are not affected, unless they are shadowed by the new cookies.

getCipherList
string const &HTTPClient::get_cipher_list(void) const;

Description: Returns the set of ciphers as set by set_cipher_list(). See set_cipher_list().

getCookie
HTTPCookie HTTPClient::get_cookie(HTTPCookie const &cookie) const;

Description: Looks up and returns the cookie in the client matching the given cookie's domain/path/name. If there is no matching cookie, returns an empty cookie.

getDirectHostSpec
string HTTPClient::get_direct_host_spec(void) const;

Description: Returns the set of hosts that should be connected to directly, without using a proxy, as a semicolon-separated list of hostnames that may contain wildcard characters ("*").

getDocument
PointerTo< HTTPChannel > HTTPClient::get_document(URLSpec const &url);

Description: Opens the named document for reading. Returns a new HTTPChannel object whether the document is successfully read or not; you can test is_valid() and get_return_code() to determine whether the document was retrieved.

getHeader
PointerTo< HTTPChannel > HTTPClient::get_header(URLSpec const &url);

Description: Like get_document(), except only the header associated with the document is retrieved. This may be used to test for existence of the document; it might also return the size of the document (if the server gives us this information).

getHttpVersion
HTTPEnum::HTTPVersion HTTPClient::get_http_version(void) const;

Description: Returns the client's current setting for HTTP version. See set_http_version().

getHttpVersionString
string HTTPClient::get_http_version_string(void) const;

Description: Returns the current HTTP version setting as a string, e.g. "HTTP/1.0" or "HTTP/1.1".

getProxiesForUrl
void HTTPClient::get_proxies_for_url(URLSpec const &url, vector< URLSpec > &proxies) const;

Description: Fills up the indicated vector with the list of URLSpec objects, in the order in which they should be tried, that are appropriate proxies to try for the indicated URL. The empty URL is returned for a direct connection.
It is the user's responsibility to empty this vector before calling this method; otherwise, the proxy URL's will simply be appended to the existing list.
Description: Returns a semicolon-delimited list of proxies, in the order in which they should be tried, that are appropriate for the indicated URL. The keyword DIRECT indicates a direct connection should be tried.

getProxySpec
string HTTPClient::get_proxy_spec(void) const;

Description: Returns the complete set of proxies to use for all schemes. This is a string of the form specified by set_proxy_spec(), above. Note that the string returned by this function may not be exactly the same as the string passed into set_proxy_spec(), since the string is regenerated from the internal storage structures and may therefore be reordered.

getTryAllDirect
bool HTTPClient::get_try_all_direct(void) const;

Description: Returns whether a failed connection through a proxy will be followed up by a direct connection attempt, false otherwise.

getUsername
string HTTPClient::get_username(string const &server, string const &realm) const;

Description: Returns the username:password string set for this server/realm pair, or empty string if nothing has been set. See set_username().

getVerifySsl
HTTPClient::VerifySSL HTTPClient::get_verify_ssl(void) const;

Description: Returns whether the client will insist on verifying the identity of the servers it connects to via SSL (that is, https). See set_verify_ssl().

hasCookie
bool HTTPClient::has_cookie(HTTPCookie const &cookie) const;

Description: Returns true if there is a cookie in the client matching the given cookie's domain/path/name, false otherwise.

initRandomSeed
static void HTTPClient::init_random_seed(void);

Description: This may be called once, presumably at the beginning of an application, to initialize OpenSSL's random seed. On Windows, it is particularly important to call this at startup if you are going to be perfoming any https operations or otherwise use encryption, since the Windows algorithm for getting a random seed takes 2-3 seconds at startup, but can take 30 seconds or more after you have opened a 3-D graphics window and started rendering.
There is no harm in calling this method multiple times, or in not calling it at all.

loadCertificates
bool HTTPClient::load_certificates(Filename const &filename);

Description: Reads the certificate(s) (delimited by -----BEGIN CERTIFICATE----- and -----END CERTIFICATE-----) from the indicated file and makes them known as trusted public keys for validating future connections. Returns true on success, false otherwise.

loadClientCertificate
bool HTTPClient::load_client_certificate(void);

Description: Attempts to load the certificate named by set_client_certificate_filename() immediately, and returns true if successful, false otherwise.
Normally this need not be explicitly called, since it will be called automatically if the server requests a certificate, but it may be useful to determine ahead of time if the certificate can be loaded correctly.

makeChannel
PointerTo< HTTPChannel > HTTPClient::make_channel(bool persistent_connection);

Description: Returns a new HTTPChannel object that may be used for reading multiple documents using the same connection, for greater network efficiency than calling HTTPClient::get_document() repeatedly (which would force a new connection for each document).
Also, HTTPChannel has some additional, less common interface methods than the basic interface methods that exist on HTTPClient; if you wish to call any of these methods you must first obtain an HTTPChannel.
Pass true for persistent_connection to gain this network efficiency. If, on the other hand, your intention is to use the channel to retrieve only one document, then pass false to inform the server that we will be dropping the connection after the first document.

operator =
void HTTPClient::operator =(HTTPClient const &copy);

Description:

parseHttpVersionString
static HTTPEnum::HTTPVersion HTTPClient::parse_http_version_string(string const &version);

Description: Matches the string representing a particular HTTP version against any of the known versions and returns the appropriate enumerated value, or HV_other if the version is unknown.

postForm
PointerTo< HTTPChannel > HTTPClient::post_form(URLSpec const &url, string const &body);

Description: Posts form data to a particular URL and retrieves the response. Returns a new HTTPChannel object whether the document is successfully read or not; you can test is_valid() and get_return_code() to determine whether the document was retrieved.

sendCookies
void HTTPClient::send_cookies(ostream &out, URLSpec const &url);

Description: Writes to the indicated ostream a "Cookie" header line for sending the cookies appropriate to the indicated URL along with an HTTP request. This also removes expired cookies.

setCipherList
void HTTPClient::set_cipher_list(string const &cipher_list);

Description: Specifies the set of ciphers that are to be made available for SSL connections. This is a string as described in the ciphers(1) man page of the OpenSSL documentation (or see http://www.openssl.org/docs/apps/ciphers.html ). If this is not specified, the default is provided by the Config file. You may also specify "DEFAULT" to use the built-in OpenSSL default value.

setClientCertificateFilename
void HTTPClient::set_client_certificate_filename(Filename const &filename);

Description: Sets the filename of the pem-formatted file that will be read for the client public and private keys if an SSL server requests a certificate. Either this or set_client_certificate_pem() may be used to specify a client certificate.

setClientCertificatePassphrase
void HTTPClient::set_client_certificate_passphrase(string const &passphrase);

Description: Sets the passphrase used to decrypt the private key in the certificate named by set_client_certificate_filename() or set_client_certificate_pem().

setClientCertificatePem
void HTTPClient::set_client_certificate_pem(string const &pem);

Description: Sets the pem-formatted contents of the certificate that will be parsed for the client public and private keys if an SSL server requests a certificate. Either this or set_client_certificate_filename() may be used to specify a client certificate.

setCookie
void HTTPClient::set_cookie(HTTPCookie const &cookie);

Description: Stores the indicated cookie in the client's list of cookies, as if it had been received from a server.

setDirectHostSpec
void HTTPClient::set_direct_host_spec(string const &direct_host_spec);

Description: Specifies the set of hosts that should be connected to directly, without using a proxy. This is a semicolon-separated list of hostnames that may contain wildcard characters ("*").

setHttpVersion
void HTTPClient::set_http_version(HTTPEnum::HTTPVersion version);

Description: Specifies the version of HTTP that the client uses to identify itself to the server. The default is HV_11, or HTTP 1.0; you can set this to HV_10 (HTTP 1.0) to request the server use the older interface.

setProxySpec
void HTTPClient::set_proxy_spec(string const &proxy_spec);

Description: Specifies the complete set of proxies to use for all schemes. This is either a semicolon-delimited set of hostname:ports, or a semicolon-delimited set of pairs of the form "scheme=hostname:port", or a combination. Use the keyword DIRECT, or an empty string, to represent a direct connection. A particular scheme and/or proxy host may be listed more than once. This is a convenience function that can be used in place of explicit calls to add_proxy() for each scheme/proxy pair.

setTryAllDirect
void HTTPClient::set_try_all_direct(bool try_all_direct);

Description: If this is set true, then after a connection attempt through a proxy fails, we always try a direct connection, regardless of whether the host is listed on the direct_host_spec list. If this is false, a direct attempt is not made when we have a proxy in effect, even if the proxy fails.

setUsername
void HTTPClient::set_username(string const &server, string const &realm, string const &username);

Description: Specifies the username:password string corresponding to a particular server and/or realm, when demanded by the server. Either or both of the server or realm may be empty; if so, they match anything. Also, the server may be set to the special string "*proxy", which will match any proxy server.
If the username is set to the empty string, this clears the password for the particular server/realm pair.

setVerifySsl
void HTTPClient::set_verify_ssl(HTTPClient::VerifySSL verify_ssl);

Description: Specifies whether the client will insist on verifying the identity of the servers it connects to via SSL (that is, https).
The parameter value is an enumerated type which indicates the level of security to which the client will insist upon.

writeCookies
void HTTPClient::write_cookies(ostream &out) const;

Description: Outputs the complete list of cookies stored on the client, for all domains, including the expired cookies (which will normally not be sent back to a host).


HTTPCookie

    from pandac.PandaModules import HTTPCookie
    Class : HTTPCookie
    Description : A cookie sent from an HTTP server to be stored on the client and returned when the path and/or domain matches.

Inheritance:

    HTTPCookie:

Methods of HTTPCookie:

    HTTPCookie (Constructor)
    clearExpires
    getDomain
    getExpires
    getName
    getPath
    getSecure
    getValue
    hasExpires
    isExpired
    matchesUrl
    operator <
    output
    parseSetCookie
    setDomain
    setExpires
    setName
    setPath
    setSecure
    setValue
    updateFrom
HTTPCookie
HTTPCookie::HTTPCookie(void);

Description: Constructs an empty cookie.
Description: Constructs a cookie according to the indicated string, presumably the tag of a Set-Cookie header. There is no way to detect a formatting error in the string with this constructor.
Description: Constructs a cookie with the indicated name, path, and domain values, but no other data. This is most useful for looking up an existing cookie in the HTTPClient.

clearExpires
void HTTPCookie::clear_expires(void);

Description: Removes the expiration date on the cookie.

getDomain
string const &HTTPCookie::get_domain(void) const;

Description:

getExpires
HTTPDate HTTPCookie::get_expires(void) const;

Description: Returns the expiration date of the cookie if it is set, or an invalid date if it is not.

getName
string const &HTTPCookie::get_name(void) const;

Description: Returns the name of the cookie. This is the key value specified by the server.

getPath
string const &HTTPCookie::get_path(void) const;

Description: Returns the prefix of the URL paths on the server for which this cookie will be sent.

getSecure
bool HTTPCookie::get_secure(void) const;

Description: Returns true if the server has indicated this is a "secure" cookie which should only be sent over an HTTPS channel.

getValue
string const &HTTPCookie::get_value(void) const;

Description: Returns the value of the cookie. This is the arbitrary string associated with the cookie's name, as specified by the server.

hasExpires
bool HTTPCookie::has_expires(void) const;

Description: Returns true if the cookie has an expiration date, false otherwise.

isExpired
bool HTTPCookie::is_expired(HTTPDate const &now = ((now()))) const;

Description: Returns true if the cookie's expiration date is before the indicated date, false otherwise.

matchesUrl
bool HTTPCookie::matches_url(URLSpec const &url) const;

Description: Returns true if the cookie is appropriate to send with the indicated URL request, false otherwise.

operator <
bool HTTPCookie::operator <(HTTPCookie const &other) const;

Description: The sorting operator allows the cookies to be stored in a single dictionary; it returns nonequal only if the cookies are different in name, path, or domain.

output
void HTTPCookie::output(ostream &out) const;

Description:

parseSetCookie
bool HTTPCookie::parse_set_cookie(string const &format, URLSpec const &url);

Description: Separates out the parameter/value pairs of the Set-Cookie header and assigns the values of the cookie appropriate. Returns true if the header is parsed correctly, false if something is not understood.

setDomain
void HTTPCookie::set_domain(string const &domain);

Description:

setExpires
void HTTPCookie::set_expires(HTTPDate const &expires);

Description:

setName
void HTTPCookie::set_name(string const &name);

Description:

setPath
void HTTPCookie::set_path(string const &path);

Description:

setSecure
void HTTPCookie::set_secure(bool flag);

Description:

setValue
void HTTPCookie::set_value(string const &value);

Description:

updateFrom
void HTTPCookie::update_from(HTTPCookie const &other);

Description: Assuming the operator < method, above, has already evaluated these two cookies as equal, then assign the remaining values (value, expiration date, secure flag) from the indicated cookie. This is guaranteed not to change the ordering of the cookie in a set, and so can be used to update an existing cookie within a set with new values.


HTTPDate

    from pandac.PandaModules import HTTPDate
    Class : HTTPDate
    Description : A container for an HTTP-legal time/date indication. This can accept a string from an HTTP header and will decode it into a C time_t value; conversely, it can accept a time_t value and encode it for output as a string.

Inheritance:

    HTTPDate:

Methods of HTTPDate:

    HTTPDate (Constructor)
    compareTo
    getString
    getTime
    input
    isValid
    now
    operator !=
    operator +
    operator +=
    operator -
    operator -=
    operator <
    operator =
    operator ==
    operator >
    output
HTTPDate
HTTPDate::HTTPDate(void);

Description:
Description: Decodes the string into a sensible date. Returns 0 (!is_valid()) if the string cannot be correctly decoded.

compareTo
int HTTPDate::compare_to(HTTPDate const &other) const;

Description: Returns a number less than zero if this HTTPDate sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent.

getString
string HTTPDate::get_string(void) const;

Description:

getTime
unsigned int HTTPDate::get_time(void) const;

Description: Returns the date as a C time_t value.

input
bool HTTPDate::input(istream &in);

Description:

isValid
bool HTTPDate::is_valid(void) const;

Description: Returns true if the date is meaningful, or false if it is -1 (which generally indicates the source string could not be parsed.)

now
static HTTPDate HTTPDate::now(void);

Description: Returns an HTTPDate that represents the current time and date.

operator !=
bool HTTPDate::operator !=(HTTPDate const &other) const;

Description:

operator +
HTTPDate HTTPDate::operator +(int seconds) const;

Description:

operator +=
void HTTPDate::operator +=(int seconds);

Description:

operator -
HTTPDate HTTPDate::operator -(int seconds) const;

Description:

operator -=
void HTTPDate::operator -=(int seconds);

Description:

operator <
bool HTTPDate::operator <(HTTPDate const &other) const;

Description:

operator =
void HTTPDate::operator =(HTTPDate const &copy);

Description:

operator ==
bool HTTPDate::operator ==(HTTPDate const &other) const;

Description:

operator >
bool HTTPDate::operator >(HTTPDate const &other) const;

Description:

output
void HTTPDate::output(ostream &out) const;

Description:


HTTPEntityTag

    from pandac.PandaModules import HTTPEntityTag
    Class : HTTPEntityTag
    Description : A container for an "entity tag" from an HTTP server. This is used to identify a particular version of a document or resource, particularly useful for verifying caches.

Inheritance:

    HTTPEntityTag:

Methods of HTTPEntityTag:

    HTTPEntityTag (Constructor)
    compareTo
    getString
    getTag
    isWeak
    operator !=
    operator <
    operator =
    operator ==
    output
    strongEquiv
    weakEquiv
HTTPEntityTag
HTTPEntityTag::HTTPEntityTag(void);

Description:
Description: This constructor accepts an explicit weak flag and a literal (not quoted) tag string.
Description: This constructor accepts a string as formatted from an HTTP server (e.g. the tag is quoted, with an optional W/ prefix.)

compareTo
int HTTPEntityTag::compare_to(HTTPEntityTag const &other) const;

Description: Returns a number less than zero if this HTTPEntityTag sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent.

getString
string HTTPEntityTag::get_string(void) const;

Description: Returns the entity tag formatted for sending to an HTTP server (the tag is quoted, with a conditional W/ prefix).

getTag
string const &HTTPEntityTag::get_tag(void) const;

Description: Returns the tag as a literal string.

isWeak
bool HTTPEntityTag::is_weak(void) const;

Description: Returns true if the entity tag is marked as "weak". A consistent weak entity tag does not guarantee that its resource has not changed in any way, but it does promise that the resource has not changed in any semantically meaningful way.

operator !=
bool HTTPEntityTag::operator !=(HTTPEntityTag const &other) const;

Description:

operator <
bool HTTPEntityTag::operator <(HTTPEntityTag const &other) const;

Description:

operator =
void HTTPEntityTag::operator =(HTTPEntityTag const &copy);

Description:

operator ==
bool HTTPEntityTag::operator ==(HTTPEntityTag const &other) const;

Description: The == operator tests object equivalence; see also strong_equiv() and weak_equiv() for the two kinds of HTTP equivalence.

output
void HTTPEntityTag::output(ostream &out) const;

Description:

strongEquiv
bool HTTPEntityTag::strong_equiv(HTTPEntityTag const &other) const;

Description: Returns true if the two tags have "strong" equivalence: they are the same tag, and both are "strong".

weakEquiv
bool HTTPEntityTag::weak_equiv(HTTPEntityTag const &other) const;

Description: Returns true if the two tags have "weak" equivalence: they are the same tag, and one or both may be "weak".


HTTPEnum

    from pandac.PandaModules import HTTPEnum
    Class : HTTPEnum
    Description : This class is just used as a namespace wrapper for some of the enumerated types used by various classes within the HTTPClient family.

Inheritance:

    HTTPEnum:

Constants in HTTPEnum:

    HV09 | (HTTPVersion)
HV10 | (HTTPVersion)
HV11 | (HTTPVersion)
HVOther | (HTTPVersion)
MOptions | (Method)
MGet | (Method)
MHead | (Method)
MPost | (Method)
MPut | (Method)
MDelete | (Method)
MTrace | (Method)
MConnect | (Method)


ICONDIRENTRY

    from direct.pyinst.icon import ICONDIRENTRY

Inheritance:

    ICONDIRENTRY:


ICONDIRHEADER

    from direct.pyinst.icon import ICONDIRHEADER

Inheritance:

    ICONDIRHEADER:


IconFile

    from direct.pyinst.icon import IconFile

Inheritance:

    IconFile:

Methods of IconFile:

    __init__
    grp_icon_dir
    grp_icondir_entries
__init__
def __init__(self, path)

Undocumented function.

grp_icon_dir
def grp_icon_dir(self)

Undocumented function.

grp_icondir_entries
def grp_icondir_entries(self)

Undocumented function.


IgnoreInterval

    from direct.interval.FunctionInterval import IgnoreInterval

Inheritance:

    IgnoreInterval:

Methods of IgnoreInterval:

    __init__
__init__
def __init__(self, dirObj, event, name=None)

__init__(dirObj, event, name)


Importer

    from direct.pyinst.imputil import Importer
    Base class for replacing standard import functions.

Inheritance:

    Importer:

Methods of Importer:

    _determine_import_context
    _finish_import
    _import_fromlist
    _import_hook
    _import_one
    _import_top_module
    _is_package
    _load_tail
    _reload_hook
    get_code
    install
_determine_import_context
def _determine_import_context(self, globals)

Returns the context in which a module should be imported.
The context could be a loaded (package) module and the imported module will be looked for within that package. The context could also be None, meaning there is no context -- the module should be looked for as a "top-level" module.

_finish_import
def _finish_import(self, top, tail, fromlist)

Undocumented function.

_import_fromlist
def _import_fromlist(self, package, fromlist)

Import any sub-modules in the "from" list.

_import_hook
def _import_hook(self, name, globals=None, locals=None, fromlist=None)

Python calls this hook to locate and import a module.
This method attempts to load the (dotted) module name. If it cannot find it, then it delegates the import to the next import hook in the chain (where "next" is defined as the import hook that was in place at the time this Importer instance was installed).

_import_one
def _import_one(self, parent, modname, fqname)

Import a single module.

_import_top_module
def _import_top_module(self, parent, name)

Locate the top of the import tree (relative or absolute).
parent defines the context in which the import should occur. See _determine_import_context() for details.
Returns a tuple (module, tail). module is the loaded (top-level) module, or None if the module is not found. tail is the remaining portion of the dotted name.

_is_package
def _is_package(self, module_dict)

Determine if a given module (dictionary) specifies a package.
The package status is in the module-level name __ispkg__. The module must also have been imported by self, so that we can reliably apply semantic meaning to __ispkg__.
weaken the test to issubclass(Importer)?

_load_tail
def _load_tail(self, m, tail)

Import the rest of the modules, down from the top-level module.
Returns the last module in the dotted list of modules.

_reload_hook
def _reload_hook(self, module)

Python calls this hook to reload a module.

get_code
def get_code(self, parent, modname, fqname)

Find and retrieve the code for the given module.
parent specifies a parent module to define a context for importing. It may be None, indicating no particular context for the search.
modname specifies a single module (not dotted) within the parent.
fqname specifies the fully-qualified module name. This is a (potentially) dotted name from the "root" of the module namespace down to the modname. If there is no parent, then modname==fqname.
This method should return None, a 2-tuple, or a 3-tuple.
* If the module was not found, then None should be returned.
* The first item of the 2- or 3-tuple should be the integer 0 or 1,
specifying whether the module that was found is a package or not.
* The second item is the code object for the module (it will be
executed within the new module's namespace). This item can also be a fully-loaded module object (e.g. loaded from a shared lib).
* If present, the third item is a dictionary of name/value pairs that
will be inserted into new module before the code object is executed. This provided in case the module's code expects certain values (such as where the module was found). When the second item is a module object, then these names/values will be inserted *after* the module has been loaded/initialized.

install
def install(self)

Undocumented function.


IndexBufferContext

    from pandac.PandaModules import IndexBufferContext
    Class : IndexBufferContext
    Description : This is a special class object that holds all the information returned by a particular GSG to indicate the vertex data array's internal context identifier.
    This allows the GSG to cache the vertex data array in whatever way makes sense. For instance, DirectX can allocate a vertex buffer for the array. OpenGL can create a buffer object.

Inheritance:

    IndexBufferContext: BufferContext
    BufferContext: SavedContext
    SavedContext: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of IndexBufferContext:

    changedSize
    changedUsageHint
    getClassType
    getData
    wasModified

Methods of BufferContext:

    getClassType
    getDataSizeBytes
    getModified

Methods of SavedContext:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
changedSize
bool IndexBufferContext::changed_size(GeomPrimitivePipelineReader const *reader) const;

Description: Returns true if the data has changed size since the last time mark_loaded() was called.

changedUsageHint
bool IndexBufferContext::changed_usage_hint(GeomPrimitivePipelineReader const *reader) const;

Description: Returns true if the data has changed its usage hint since the last time mark_loaded() was called.

getClassType
static TypeHandle IndexBufferContext::get_class_type(void);

Undocumented function.

getData
GeomPrimitive *IndexBufferContext::get_data(void) const;

Description: Returns the pointer to the client-side array data object.

wasModified
bool IndexBufferContext::was_modified(GeomPrimitivePipelineReader const *reader) const;

Description: Returns true if the data has been modified since the last time mark_loaded() was called.

getClassType
static TypeHandle BufferContext::get_class_type(void);

Undocumented function.

getDataSizeBytes
unsigned int BufferContext::get_data_size_bytes(void) const;

Description: Returns the number of bytes previously reported for the data object. This is used to track changes in the data object's allocated size; if it changes from this, we need to create a new buffer. This is also used to track memory utilization in PStats.

getModified
UpdateSeq BufferContext::get_modified(void) const;

Description: Returns the UpdateSeq that was recorded the last time mark_loaded() was called.

getClassType
static TypeHandle SavedContext::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


IndirectInterval

    from direct.interval.IndirectInterval import IndirectInterval
    This class can be used to play samples of another interval, so that only a subset of the interval is played, or the time is compressed, or some such nonsense.
    It keeps a reference to the interval itself and repeatedly calls setT() on it, rather than actually starting the interval or copying its members like Sequence() or Parallel(). This means two IndirectIntervals that operate on the same nested interval may have some interaction that you should be aware of.

Inheritance:

    IndirectInterval:

Methods of IndirectInterval:

    __calcT
    __init__
    privFinalize
    privInitialize
    privInstant
    privInterrupt
    privReverseFinalize
    privReverseInitialize
    privReverseInstant
    privStep
__calcT
def __calcT(self, t)

Undocumented function.

__init__
def __init__(self, interval, startT=0, endT=None, playRate=1, duration=None, blendType='noBlend', name=None)

Undocumented function.

privFinalize
def privFinalize(self)

Undocumented function.

privInitialize
def privInitialize(self, t)

Undocumented function.

privInstant
def privInstant(self)

Undocumented function.

privInterrupt
def privInterrupt(self)

Undocumented function.

privReverseFinalize
def privReverseFinalize(self)

Undocumented function.

privReverseInitialize
def privReverseInitialize(self, t)

Undocumented function.

privReverseInstant
def privReverseInstant(self)

Undocumented function.

privStep
def privStep(self, t)

Undocumented function.


Indirection

    from direct.showbase.ContainerLeakDetector import Indirection
    Represents the indirection that brings you from a container to an element of the container. Stored as a string to be used as part of an eval, or as a key to be looked up in a dict. Each dictionary dereference is individually eval'd since the dict key might have been garbage-collected TODO: store string components that are duplicates of strings in the actual system so that Python will keep one copy and reduce memory usage

Inheritance:

    Indirection:

Methods of Indirection:

    __init__
    __repr__
    _getNonWeakDictKey
    acquire
    dereferenceDictKey
    destroy
    getString
    isDictKey
    release
__init__
def __init__(self, evalStr=None, dictKey=NoDictKey)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

_getNonWeakDictKey
def _getNonWeakDictKey(self)

Undocumented function.

acquire
def acquire(self)

Undocumented function.

dereferenceDictKey
def dereferenceDictKey(self, parentDict)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getString
def getString(self, prevIndirection=None, nextIndirection=None)

Undocumented function.

isDictKey
def isDictKey(self)

Undocumented function.

release
def release(self)

Undocumented function.


InkblotVideo

    from pandac.PandaModules import InkblotVideo
    Class : InkblotVideo
    Description : A cellular automaton that generates an amusing pattern of swirling colors.

Inheritance:

    InkblotVideo: MovieVideo
    MovieVideo: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of InkblotVideo:

    InkblotVideo (Constructor)
    getClassType
    open

Methods of MovieVideo:

    MovieVideo (Constructor)
    get
    getClassType
    getFilename
    open

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
InkblotVideo
InkblotVideo::InkblotVideo(int x, int y, int fps);

Description: xxx

getClassType
static TypeHandle InkblotVideo::get_class_type(void);

Undocumented function.

open
virtual PointerTo< MovieVideoCursor > InkblotVideo::open(void);

Description: Open this video, returning a MovieVideoCursor.

MovieVideo
MovieVideo::MovieVideo(string const &name = ("Blank Video"));

Description: This constructor returns a null video stream --- a stream of plain blue and white frames that last one second each. To get more interesting video, you need to construct a subclass of this class.

get
static PointerTo< MovieVideo > MovieVideo::get(Filename const &name);

Description: Obtains a MovieVideo that references a file.

getClassType
static TypeHandle MovieVideo::get_class_type(void);

Undocumented function.

getFilename
Filename const &MovieVideo::get_filename(void) const;

Filename: movieVideo.I Created by: jyelon (02Jul07)
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."
Description: Returns the movie's filename. A movie is not guaranteed to have a filename, if not, then this function returns a null filename.

open
virtual PointerTo< MovieVideoCursor > MovieVideo::open(void);

Description: Open this video, returning a MovieVideoCursor.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


InkblotVideoCursor

    from pandac.PandaModules import InkblotVideoCursor
    Class : InkblotVideoCursor
    Description : A cellular automaton that generates an amusing pattern of swirling colors.

Inheritance:

    InkblotVideoCursor: MovieVideoCursor
    MovieVideoCursor: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of InkblotVideoCursor:

    InkblotVideoCursor (Constructor)
    getClassType

Methods of MovieVideoCursor:

    MovieVideoCursor (Constructor)
    aborted
    canSeek
    canSeekFast
    fetchIntoBitbucket
    fetchIntoTexture
    fetchIntoTextureAlpha
    fetchIntoTextureRgb
    getClassType
    getNumComponents
    getSource
    lastStart
    length
    nextStart
    ready
    setupTexture
    sizeX
    sizeY
    streaming

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
InkblotVideoCursor
InkblotVideoCursor::InkblotVideoCursor(InkblotVideo *src);

Description: xxx

getClassType
static TypeHandle InkblotVideoCursor::get_class_type(void);

Undocumented function.

MovieVideoCursor
MovieVideoCursor::MovieVideoCursor(MovieVideo *src);

Description: This constructor returns a null video stream --- a stream of plain blue and white frames that last one second each. To get more interesting video, you need to construct a subclass of this class.

aborted
bool MovieVideoCursor::aborted(void) const;

Description: Returns true if the video has aborted prematurely. For example, this could occur if the Movie was actually an internet TV station, and the connection was lost. Reaching the normal end of the video does not constitute an 'abort' condition.

canSeek
bool MovieVideoCursor::can_seek(void) const;

Description: Returns true if the movie can seek. If this is true, seeking is still not guaranteed to be fast: for some movies, seeking is implemented by rewinding to the beginning and then fast-forwarding to the desired location. Even if the movie cannot seek, the fetch methods can still advance to an arbitrary location by reading frames and discarding them. However, to move backward, can_seek must return true.

canSeekFast
bool MovieVideoCursor::can_seek_fast(void) const;

Description: Returns true if seek operations are constant time.

fetchIntoBitbucket
virtual void MovieVideoCursor::fetch_into_bitbucket(double time);

Description: Discards the next video frame. Still sets last_start and next_start.
See fetch_into_buffer for more details.

fetchIntoTexture
virtual void MovieVideoCursor::fetch_into_texture(double time, Texture *t, int page);

Description: Reads the specified video frame into the specified texture.
See fetch_into_buffer for more details.

fetchIntoTextureAlpha
virtual void MovieVideoCursor::fetch_into_texture_alpha(double time, Texture *t, int page, int alpha_src);

Description: Reads the specified video frame into the alpha channel of the supplied texture. The RGB channels of the texture are not touched.
See fetch_into_buffer for more details.

fetchIntoTextureRgb
virtual void MovieVideoCursor::fetch_into_texture_rgb(double time, Texture *t, int page);

Description: Reads the specified video frame into the RGB channels of the supplied texture. The alpha channel of the texture is not touched.
See fetch_into_buffer for more details.

getClassType
static TypeHandle MovieVideoCursor::get_class_type(void);

Undocumented function.

getNumComponents
int MovieVideoCursor::get_num_components(void) const;

Description: Returns 4 if the movie has an alpha channel, 3 otherwise.

getSource
PointerTo< MovieVideo > MovieVideoCursor::get_source(void) const;

Filename: movieVideoCursor.I Created by: jyelon (02Jul07)
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."
Description: Get the MovieVideo which this cursor references.

lastStart
double MovieVideoCursor::last_start(void) const;

Description: Returns the start time of the last frame you read.
MovieVideoCursor streams have variable frame rates. Each frame will specify how long it is to be displayed. These lengths may not be equal from frame to frame.

length
double MovieVideoCursor::length(void) const;

Description: Returns the length of the movie.
Some kinds of Movie, such as internet TV station, might not have a predictable length. In that case, the length will be set to a very large number: 1.0E10. If the internet TV station goes offline, the video or audio stream will set its abort flag. Reaching the end of the movie (ie, the specified length) normally does not cause the abort flag to be set.
The video and audio streams produced by get_video and get_audio are always of unlimited duration - you can always read another video frame or another audio sample. This is true even if the specified length is reached, or an abort is flagged. If either stream runs out of data, it will synthesize blank video frames and silent audio samples as necessary to satisfy read requests.
Some AVI files have incorrect length values encoded into them - usually, they're a second or two long or short. When playing such an AVI using the Movie class, you may see a slightly truncated video, or a slightly elongated video (padded with black frames). There are utilities out there to fix the length values in AVI files.

nextStart
double MovieVideoCursor::next_start(void) const;

Description: Returns the start time of the next frame you can read.
MovieVideoCursor streams have variable frame rates. Each frame will specify how long it is to be displayed. These lengths may not be equal from frame to frame.

ready
bool MovieVideoCursor::ready(void) const;

Description: Returns true if the cursor is a streaming source, and if a video frame is ready to be read. For non- streaming sources, this is always false.

setupTexture
void MovieVideoCursor::setup_texture(Texture *tex) const;

Description: Set up the specified Texture object to contain content from this movie. This should be called once, not every frame.

sizeX
int MovieVideoCursor::size_x(void) const;

Description: Get the horizontal size of the movie.

sizeY
int MovieVideoCursor::size_y(void) const;

Description: Get the vertical size of the movie.

streaming
bool MovieVideoCursor::streaming(void) const;

Description: Returns true if the video frames are being "pushed" at us by something that operates at its own speed - for example, a webcam. In this case, the frames come when they're ready to come. Attempting to read too soon will produce nothing, reading too late will cause frames to be dropped. In this case, the ready flag can be used to determine whether or not a frame is ready for reading.
When streaming, you should still pay attention to last_start, but the value of next_start is only a guess.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


InputState

    from direct.controls.InputState import InputState
    InputState is for tracking the on/off state of some events. The initial usage is to watch some keyboard keys so that another task can poll the key states. By the way, in general polling is not a good idea, but it is useful in some situations. Know when to use it:) If in doubt, don't use this class and listen for events instead.

Inheritance:

    InputState:

Methods of InputState:

    __init__
    _ignore
    _unforce
    debugPrint
    delete
    force
    getEventName
    isSet
    releaseInputs
    set
    watch
    watchWithModifiers
__init__
def __init__(self)

Undocumented function.

_ignore
def _ignore(self, token)

Undo a watch(). Don't call this directly, call release() on the token that watch() returned.

_unforce
def _unforce(self, token)

Stop forcing a value. Don't call this directly, call release() on your token.

debugPrint
def debugPrint(self, message)

for debugging

delete
def delete(self)

Undocumented function.

force
def force(self, name, value, inputSource)

Force isSet(name) to return 'value'.
This returns a token; hold onto the token and call token.release() when you no longer want to force the state.
example: set up token=inputState.force('forward', True, inputSource='myForwardForcer') ... tear down token.release()

getEventName
def getEventName(self, name)

Undocumented function.

isSet
def isSet(self, name, inputSource=None)

returns True/False

releaseInputs
def releaseInputs(self, name)

Undocumented function.

set
def set(self, name, isActive, inputSource=None)

Undocumented function.

watch
def watch(self, name, eventOn, eventOff, startState=False, inputSource=None)

This returns a token; hold onto the token and call token.release() when you no longer want to watch for these events.
set up token = inputState.watch('forward', 'w', 'w-up', inputSource=inputState.WASD) ... tear down token.release()

watchWithModifiers
def watchWithModifiers(self, name, event, startState=False, inputSource=None)

Undocumented function.


InputStateForceToken

    from direct.controls.InputState import InputStateForceToken

Inheritance:

    InputStateForceToken:

Methods of InputStateForceToken:

    release
release
def release(self)

Undocumented function.


InputStateToken

    from direct.controls.InputState import InputStateToken

Inheritance:

    InputStateToken:

Methods of InputStateToken:

    __hash__
    __init__
    invalidate
    isValid
    release
__hash__
def __hash__(self)

Undocumented function.

__init__
def __init__(self, inputState)

Undocumented function.

invalidate
def invalidate(self)

Undocumented function.

isValid
def isValid(self)

Undocumented function.

release
def release(self)

Undocumented function.


InputStateTokenGroup

    from direct.controls.InputState import InputStateTokenGroup

Inheritance:

    InputStateTokenGroup:

Methods of InputStateTokenGroup:

    __init__
    addToken
    release
__init__
def __init__(self)

Undocumented function.

addToken
def addToken(self, token)

Undocumented function.

release
def release(self)

Undocumented function.


InputStateWatchToken

    from direct.controls.InputState import InputStateWatchToken

Inheritance:

    InputStateWatchToken:

Methods of InputStateWatchToken:

    release
release
def release(self)

Undocumented function.


Inspector

    from direct.tkpanels.Inspector import Inspector

Inheritance:

    Inspector:

Methods of Inspector:

    __init__
    __str__
    getLastPartNumber
    initializePartNames
    initializePartsList
    inspectorFor
    namedParts
    objectType
    partNames
    partNumber
    privatePartNumber
    selectedPart
    stringForPartNumber
    title
__init__
def __init__(self, anObject)

Undocumented function.

__str__
def __str__(self)

Undocumented function.

getLastPartNumber
def getLastPartNumber(self)

Undocumented function.

initializePartNames
def initializePartNames(self)

Undocumented function.

initializePartsList
def initializePartsList(self)

Undocumented function.

inspectorFor
def inspectorFor(self, part)

Undocumented function.

namedParts
def namedParts(self)

Undocumented function.

objectType
def objectType(self)

Undocumented function.

partNames
def partNames(self)

Undocumented function.

partNumber
def partNumber(self, partNumber)

Undocumented function.

privatePartNumber
def privatePartNumber(self, partNumber)

Undocumented function.

selectedPart
def selectedPart(self)

Undocumented function.

stringForPartNumber
def stringForPartNumber(self, partNumber)

Undocumented function.

title
def title(self)

Subclasses may override.


InspectorWindow

    from direct.tkpanels.Inspector import InspectorWindow

Inheritance:

    InspectorWindow:

Methods of InspectorWindow:

    __init__
    createListWidget
    createMenus
    createPopupMenu
    createTextWidgets
    createViews
    dive
    evalCommand
    fillList
    inspect
    inspectedObject
    inspectorForSelectedPart
    listSelectionChanged
    open
    pop
    popOrDive
    popupMenu
    selectedIndex
    selectedPart
    setTitle
    showHelp
    topInspector
    update
__init__
def __init__(self, inspector)

Undocumented function.

createListWidget
def createListWidget(self)

Undocumented function.

createMenus
def createMenus(self)

Undocumented function.

createPopupMenu
def createPopupMenu(self, part, menuList)

Undocumented function.

createTextWidgets
def createTextWidgets(self)

Undocumented function.

createViews
def createViews(self)

Undocumented function.

dive
def dive(self)

Undocumented function.

evalCommand
def evalCommand(self, event)

Eval text in commandWidget

fillList
def fillList(self)

Undocumented function.

inspect
def inspect(self)

Undocumented function.

inspectedObject
def inspectedObject(self)

Undocumented function.

inspectorForSelectedPart
def inspectorForSelectedPart(self)

Undocumented function.

listSelectionChanged
def listSelectionChanged(self, event)

Undocumented function.

open
def open(self)

Undocumented function.

pop
def pop(self)

Undocumented function.

popOrDive
def popOrDive(self, event)

The list has been double-clicked. If the selection is 'self' then pop, otherwise dive into the selected part

popupMenu
def popupMenu(self, event)

Undocumented function.

selectedIndex
def selectedIndex(self)

Undocumented function.

selectedPart
def selectedPart(self)

Undocumented function.

setTitle
def setTitle(self)

Undocumented function.

showHelp
def showHelp(self)

Undocumented function.

topInspector
def topInspector(self)

Undocumented function.

update
def update(self)

Undocumented function.


InstallTarget

    from direct.pyinst.Builder import InstallTarget

Inheritance:

    InstallTarget:

Methods of InstallTarget:

    __init__
    edit
    gather
__init__
def __init__(self, cfg, sectnm, cnvrts)

Undocumented function.

edit
def edit(self)

Undocumented function.

gather
def gather(self)

Undocumented function.


InstanceInspector

    from direct.tkpanels.Inspector import InstanceInspector

Inheritance:

    InstanceInspector:

Methods of InstanceInspector:

    namedParts
    title
namedParts
def namedParts(self)

Undocumented function.

title
def title(self)

Undocumented function.


InstanceMethodInspector

    from direct.tkpanels.Inspector import InstanceMethodInspector

Inheritance:

    InstanceMethodInspector:

Methods of InstanceMethodInspector:

    title
title
def title(self)

Undocumented function.


InterestHandle

    from direct.distributed.DoInterestManager import InterestHandle
    This class helps to ensure that valid handles get passed in to DoInterestManager funcs

Inheritance:

    InterestHandle:

Methods of InterestHandle:

    __eq__
    __init__
    __repr__
    asInt
__eq__
def __eq__(self, other)

Undocumented function.

__init__
def __init__(self, id)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

asInt
def asInt(self)

Undocumented function.


InterestState

    from direct.distributed.DoInterestManager import InterestState

Inheritance:

    InterestState:

Methods of InterestState:

    __init__
    __repr__
    addEvent
    clearEvents
    getEvents
    isPendingDelete
    sendEvents
    setDesc
__init__
def __init__(self, desc, state, context, event, parentId, zoneIdList, eventCounter, auto=False)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

addEvent
def addEvent(self, event)

Undocumented function.

clearEvents
def clearEvents(self)

Undocumented function.

getEvents
def getEvents(self)

Undocumented function.

isPendingDelete
def isPendingDelete(self)

Undocumented function.

sendEvents
def sendEvents(self)

Undocumented function.

setDesc
def setDesc(self, desc)

Undocumented function.


InterestWatcher

    from direct.distributed.InterestWatcher import InterestWatcher
    Object that observes all interests adds/removes over a period of time, and sends out an event when all of those interests have closed

Inheritance:

    InterestWatcher:

Methods of InterestWatcher:

    __init__
    _handleInterestCloseEvent
    _handleInterestOpenEvent
    destroy
    getDoneEvent
    getName
    startCollect
    stopCollect
__init__
def __init__(self, interestMgr, name, doneEvent=None, recurse=True, start=True, mustCollect=False, doCollectionMgr=None)

Undocumented function.

_handleInterestCloseEvent
def _handleInterestCloseEvent(self, event, parentId, zoneIdList)

Undocumented function.

_handleInterestOpenEvent
def _handleInterestOpenEvent(self, event)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getDoneEvent
def getDoneEvent(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

startCollect
def startCollect(self, mustCollect=False)

Undocumented function.

stopCollect
def stopCollect(self)

Undocumented function.


InternalName

    from pandac.PandaModules import InternalName
    Class : InternalName
    Description : Encodes a string name in a hash table, mapping it to a pointer. This is used to tokenify names so they may be used efficiently in low-level Panda structures, for instance to differentiate the multiple sets of texture coordinates that might be stored on a Geom.
    InternalNames are hierarchical, with the '.' used by convention as a separator character. You can construct a single InternalName as a composition of one or more other names, or by giving it a source string directly.

Inheritance:

    InternalName: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of InternalName:

    append
    findAncestor
    getAncestor
    getAspectRatio
    getBasename
    getBinormal
    getBinormalName
    getCamera
    getClassType
    getColor
    getError
    getIndex
    getModel
    getMorph
    getName
    getNetBasename
    getNormal
    getParent
    getRoot
    getRotate
    getSize
    getTangent
    getTangentName
    getTexcoord
    getTexcoordName
    getTop
    getTransformBlend
    getTransformIndex
    getTransformWeight
    getVertex
    getView
    getWorld
    make
    output
    unref

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
append
PointerTo< InternalName > InternalName::append(string const &basename);

Description: Constructs a new InternalName based on this name, with the indicated string following it. This is a cheaper way to construct a hierarchical name than InternalName::make(parent->get_name() + ".basename").

findAncestor
int InternalName::find_ancestor(string const &basename) const;

Description: Returns the index of the ancestor with the indicated basename, or -1 if no ancestor has that basename. Returns 0 if this name has the basename.
This index value may be passed to get_ancestor() or get_net_basename() to retrieve more information about the indicated name.

getAncestor
InternalName const *InternalName::get_ancestor(int n) const;

Description: Returns the ancestor with the indicated index number. 0 is this name itself, 1 is the name's parent, 2 is the parent's parent, and so on. If there are not enough ancestors, returns the root InternalName.

getAspectRatio
static PointerTo< InternalName > InternalName::get_aspect_ratio(void);

Description: Returns the standard InternalName "aspect_ratio". This is the column header for the floating-point aspect ratio value, which is used to define non-square points. This number is the ratio x / y, where y is the point size (above).

getBasename
string const &InternalName::get_basename(void) const;

Description: Return the name represented by just this particular InternalName object, ignoring its parents names. This is everything after the rightmost dot.

getBinormal
static PointerTo< InternalName > InternalName::get_binormal(void);

Description: Returns the standard InternalName "binormal". This is the column header for the tangent vector associated with each vertex, which is a unit vector usually perpendicular to both the normal and the tangent, and in the direction of the V texture coordinate change. It is used for deriving bump maps.

getBinormalName
static PointerTo< InternalName > InternalName::get_binormal_name(string const &name);

Description: Returns the InternalName "binormal.name", where name is the supplied string. This is the column header for the binormal associated with the named texture coordinate set.

getCamera
static PointerTo< InternalName > InternalName::get_camera(void);

Description: Returns the standard InternalName "camera". This is used as a keyword in the shader subsystem.

getClassType
static TypeHandle InternalName::get_class_type(void);

Undocumented function.

getColor
static PointerTo< InternalName > InternalName::get_color(void);

Description: Returns the standard InternalName "color". This is the column header for the 4-component color value for each vertex.

getError
static PointerTo< InternalName > InternalName::get_error(void);

Some predefined built-in names.
Description: Returns the standard InternalName "error".

getIndex
static PointerTo< InternalName > InternalName::get_index(void);

Description: Returns the standard InternalName "index". This is the column header for the integer vertex index. It is not used in the vertex data itself, but is used in the GeomPrimitive structure to index into the vertex data.

getModel
static PointerTo< InternalName > InternalName::get_model(void);

Description: Returns the standard InternalName "model". This is used as a keyword in the shader subsystem.

getMorph
static PointerTo< InternalName > InternalName::get_morph(InternalName *column, string const &slider);

Description: Returns an InternalName derived from the given base column name and the given slider name, which is the column header for the offset vector that should be applied to the base column name when the named morph slider is engaged.
Each morph slider requires a set of n morph columns, one for each base column it applies to.

getName
string InternalName::get_name(void) const;

Description: Returns the complete name represented by the InternalName and all of its parents.

getNetBasename
string InternalName::get_net_basename(int n) const;

Description: Returns the basename of this name prefixed by the indicated number of ancestors. 0 is this name's basename, 1 is parent.basename, 2 is grandparent.parent.basename, and so on.

getNormal
static PointerTo< InternalName > InternalName::get_normal(void);

Description: Returns the standard InternalName "normal". This is the column header for the 3-d lighting normal for each vertex.

getParent
InternalName *InternalName::get_parent(void) const;

Description: Return the parent of this InternalName. All names have a parent, except the root name.

getRoot
static PointerTo< InternalName > InternalName::get_root(void);

Some predefined built-in names.
Description: Returns the standard root InternalName. This is the root of all other InternalNames. It has no name itself, and it is the only InternalName with no parent.

getRotate
static PointerTo< InternalName > InternalName::get_rotate(void);

Description: Returns the standard InternalName "rotate". This is the column header for the floating-point rotate value, which represents a number of degrees counter-clockwise to rotate each point or point sprite.

getSize
static PointerTo< InternalName > InternalName::get_size(void);

Description: Returns the standard InternalName "size". This is the column header for the floating-point size value, which overrides the thickness parameter of the RenderModeAttrib on a per-vertex (e.g. per-point) basis.

getTangent
static PointerTo< InternalName > InternalName::get_tangent(void);

Description: Returns the standard InternalName "tangent". This is the column header for the tangent vector associated with each vertex, which is a unit vector usually perpendicular to the normal and in the direction of the U texture coordinate change. It is used for deriving bump maps.

getTangentName
static PointerTo< InternalName > InternalName::get_tangent_name(string const &name);

Description: Returns the InternalName "tangent.name", where name is the supplied string. This is the column header for the tangent associated with the named texture coordinate set.

getTexcoord
static PointerTo< InternalName > InternalName::get_texcoord(void);

Description: Returns the standard InternalName "texcoord". This is the column header for the default texture coordinate set for each vertex. It is also used for identifying the default texture coordinate set in a TextureStage.

getTexcoordName
static PointerTo< InternalName > InternalName::get_texcoord_name(string const &name);

Description: Returns the InternalName "texcoord.name", where name is the supplied string. This is the column header for the named texture coordinate set for each vertex. It is also used for identifying the named texture coordinate set in a TextureStage.

getTop
InternalName const *InternalName::get_top(void) const;

Description: Returns the oldest ancestor in the InternalName's chain, not counting the root. This will be the first name in the string, e.g. "texcoord.foo.bar" will return the InternalName "texcoord".

getTransformBlend
static PointerTo< InternalName > InternalName::get_transform_blend(void);

Description: Returns the standard InternalName "transform_blend". This is the column header for the integer transform_blend index, which is used to define vertex animation on the CPU by indexing to a particular vertex weighting from the TransformBlendTable.

getTransformIndex
static PointerTo< InternalName > InternalName::get_transform_index(void);

Description: Returns the standard InternalName "transform_index". This is the column header for the n-component transform_index value, which is used in conjuntion with "transform_weight" to define vertex animation on the graphics card. The transform_index value specifies the nth transform, by lookup in the TransformTable. The transform_index column may be omitted, in which case the nth transform is the nth entry in the table.

getTransformWeight
static PointerTo< InternalName > InternalName::get_transform_weight(void);

Description: Returns the standard InternalName "transform_weight". This is the column header for the n-component transform_weight value, which is used in conjuntion with "transform_index" to define vertex animation on the graphics card. The transform_weight value specifies the weight of the nth transform. By convention, there are 1 fewer weight values than transforms, since the weights are assumed to sum to 1 (and the last value is therefore implicit).

getVertex
static PointerTo< InternalName > InternalName::get_vertex(void);

Description: Returns the standard InternalName "vertex". This is the column header for the 3-d or 4-d vertex position information for each vertex.

getView
static PointerTo< InternalName > InternalName::get_view(void);

Description: Returns the standard InternalName "view". This is used as a keyword in the shader subsystem.

getWorld
static PointerTo< InternalName > InternalName::get_world(void);

Description: Returns the standard InternalName "world". This is used as a keyword in the shader subsystem.

make
static PointerTo< InternalName > InternalName::make(string const &name);

Description: The public interface for constructing an InternalName pointer. This will return a new InternalName representing the indicated name, if this is the first time the particular name has been requested; if the name is already in use, it will return the existing pointer.
If the string contains the '.' character, the string will be divided at the dots and the so-defined hierarchy of names will be registered. This is handled transparently.
Description: Make using a string and an integer. Concatenates the two.

output
void InternalName::output(ostream &out) const;

Description:

unref
bool InternalName::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from its parent's table when its reference count goes to zero.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


InternalNameCollection

    from pandac.PandaModules import InternalNameCollection
    Class : InternalNameCollection
    Description :

Inheritance:

    InternalNameCollection:

Methods of InternalNameCollection:

    InternalNameCollection (Constructor)
    addName
    addNamesFrom
    clear
    getName
    getNumNames
    hasName
    operator =
    operator []
    output
    removeDuplicateNames
    removeName
    removeNamesFrom
    write
InternalNameCollection
InternalNameCollection::InternalNameCollection(void);

Description:

addName
void InternalNameCollection::add_name(InternalName *name);

Description: Adds a new InternalName to the collection.

addNamesFrom
void InternalNameCollection::add_names_from(InternalNameCollection const &other);

Description: Adds all the InternalNames indicated in the other collection to this name. The other names are simply appended to the end of the names in this list; duplicates are not automatically removed.

clear
void InternalNameCollection::clear(void);

Description: Removes all InternalNames from the collection.

getName
InternalName *InternalNameCollection::get_name(int index) const;

Description: Returns the nth InternalName in the collection.

getNumNames
int InternalNameCollection::get_num_names(void) const;

Description: Returns the number of InternalNames in the collection.

hasName
bool InternalNameCollection::has_name(InternalName *name) const;

Description: Returns true if the indicated InternalName appears in this collection, false otherwise.

operator =
void InternalNameCollection::operator =(InternalNameCollection const &copy);

Description:

operator []
InternalName *InternalNameCollection::operator [](int index) const;

Description: Returns the nth InternalName in the collection. This is the same as get_name(), but it may be a more convenient way to access it.

output
void InternalNameCollection::output(ostream &out) const;

Description: Writes a brief one-line description of the InternalNameCollection to the indicated output stream.

removeDuplicateNames
void InternalNameCollection::remove_duplicate_names(void);

Description: Removes any duplicate entries of the same InternalNames on this collection. If a InternalName appears multiple times, the first appearance is retained; subsequent appearances are removed.

removeName
bool InternalNameCollection::remove_name(InternalName *name);

Description: Removes the indicated InternalName from the collection. Returns true if the name was removed, false if it was not a member of the collection.

removeNamesFrom
void InternalNameCollection::remove_names_from(InternalNameCollection const &other);

Description: Removes from this collection all of the InternalNames listed in the other collection.

write
void InternalNameCollection::write(ostream &out, int indent_level = (0)) const;

Description: Writes a complete multi-line description of the InternalNameCollection to the indicated output stream.


Interval

    from direct.interval.Interval import Interval
    Interval class: Base class for timeline functionality

Inheritance:

    Interval:

Methods of Interval:

    __init__
    __playTask
    __removeTask
    __repr__
    __spawnTask
    clearToInitial
    finish
    getDoneEvent
    getDuration
    getLoop
    getName
    getOpenEnded
    getPlayRate
    getState
    getT
    intervalDone
    isPaused
    isPlaying
    isStopped
    loop
    pause
    popupControls
    privDoEvent
    privFinalize
    privInitialize
    privInstant
    privInterrupt
    privPostEvent
    privReverseFinalize
    privReverseInitialize
    privReverseInstant
    privStep
    resume
    resumeUntil
    setDoneEvent
    setLoop
    setPlayRate
    setT
    setupPlay
    setupResume
    start
    stepPlay
__init__
def __init__(self, name, duration, openEnded=1)

Undocumented function.

__playTask
def __playTask(self, task)

Undocumented function.

__removeTask
def __removeTask(self)

Undocumented function.

__repr__
def __repr__(self, indent=0)

Undocumented function.

__spawnTask
def __spawnTask(self)

Undocumented function.

clearToInitial
def clearToInitial(self)

Undocumented function.

finish
def finish(self)

Undocumented function.

getDoneEvent
def getDoneEvent(self)

Undocumented function.

getDuration
def getDuration(self)

Undocumented function.

getLoop
def getLoop(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

getOpenEnded
def getOpenEnded(self)

Undocumented function.

getPlayRate
def getPlayRate(self)

Returns the play rate as set by the last call to start(), loop(), or setPlayRate().

getState
def getState(self)

Undocumented function.

getT
def getT(self)

Undocumented function.

intervalDone
def intervalDone(self)

Undocumented function.

isPaused
def isPaused(self)

Undocumented function.

isPlaying
def isPlaying(self)

Undocumented function.

isStopped
def isStopped(self)

Undocumented function.

loop
def loop(self, startT=0.0, endT=-1.0, playRate=1.0)

Undocumented function.

pause
def pause(self)

Undocumented function.

popupControls
def popupControls(self, tl=None)

Popup control panel for interval.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.

privFinalize
def privFinalize(self)

Undocumented function.

privInitialize
def privInitialize(self, t)

Undocumented function.

privInstant
def privInstant(self)

Undocumented function.

privInterrupt
def privInterrupt(self)

Undocumented function.

privPostEvent
def privPostEvent(self)

Undocumented function.

privReverseFinalize
def privReverseFinalize(self)

Undocumented function.

privReverseInitialize
def privReverseInitialize(self, t)

Undocumented function.

privReverseInstant
def privReverseInstant(self)

Undocumented function.

privStep
def privStep(self, t)

Undocumented function.

resume
def resume(self, startT=None)

Undocumented function.

resumeUntil
def resumeUntil(self, endT)

Undocumented function.

setDoneEvent
def setDoneEvent(self, event)

Undocumented function.

setLoop
def setLoop(self, loop=1)

Undocumented function.

setPlayRate
def setPlayRate(self, playRate)

Changes the play rate of the interval. If the interval is already started, this changes its speed on-the-fly. Note that since playRate is a parameter to start() and loop(), the next call to start() or loop() will reset this parameter.

setT
def setT(self, t)

Undocumented function.

setupPlay
def setupPlay(self, startT, endT, playRate, doLoop)

Undocumented function.

setupResume
def setupResume(self)

Undocumented function.

start
def start(self, startT=0.0, endT=-1.0, playRate=1.0)

Undocumented function.

stepPlay
def stepPlay(self)

Undocumented function.


IntervalManager

    from direct.interval.IntervalManager import IntervalManager

Inheritance:

    IntervalManager:

Methods of IntervalManager:

    __doPythonCallbacks
    __init__
    __storeInterval
    addInterval
    finishIntervalsMatching
    getInterval
    getIntervalsMatching
    interrupt
    pauseIntervalsMatching
    removeInterval
    step
__doPythonCallbacks
def __doPythonCallbacks(self)

Undocumented function.

__init__
def __init__(self, globalPtr=0)

Undocumented function.

__storeInterval
def __storeInterval(self, interval, index)

Undocumented function.

addInterval
def addInterval(self, interval)

Undocumented function.

finishIntervalsMatching
def finishIntervalsMatching(self, pattern)

Undocumented function.

getInterval
def getInterval(self, name)

Undocumented function.

getIntervalsMatching
def getIntervalsMatching(self, pattern)

Undocumented function.

interrupt
def interrupt(self)

Undocumented function.

pauseIntervalsMatching
def pauseIntervalsMatching(self, pattern)

Undocumented function.

removeInterval
def removeInterval(self, interval)

Undocumented function.

step
def step(self)

Undocumented function.


ios

    from pandac.PandaModules import ios

Inheritance:

    ios: ios_base
    ios_base:

Methods of ios:

    bad
    clear
    eof
    fail
    good

Constants in ios_base:

    beg | (seekdir)
cur | (seekdir)
end | (seekdir)
bad
bool ios::bad(void) const;

Undocumented function.

clear
void ios::clear(void);

Undocumented function.

eof
bool ios::eof(void) const;

Undocumented function.

fail
bool ios::fail(void) const;

Undocumented function.

good
bool ios::good(void) const;

Undocumented function.


iostream

    from pandac.PandaModules import iostream

Inheritance:

    iostream: istream ostream
    istream: ios
    ios: ios_base
    ios_base:
    ostream: ios

Methods of iostream:

    flush

Methods of istream:

    get
    seekg
    tellg

Methods of ios:

    bad
    clear
    eof
    fail
    good

Methods of ostream:

    flush
    put
    seekp
    tellp

Constants in ios_base:

    beg | (seekdir)
cur | (seekdir)
end | (seekdir)
flush
void iostream::flush(void);

Undocumented function.

get
int istream::get(void);

Undocumented function.

seekg
void istream::seekg(unsigned long int pos);

Undocumented function.

tellg
unsigned long int istream::tellg(void);

Undocumented function.

bad
bool ios::bad(void) const;

Undocumented function.

clear
void ios::clear(void);

Undocumented function.

eof
bool ios::eof(void) const;

Undocumented function.

fail
bool ios::fail(void) const;

Undocumented function.

good
bool ios::good(void) const;

Undocumented function.

flush
void ostream::flush(void);

Undocumented function.

put
void ostream::put(char c);

Undocumented function.

seekp
void ostream::seekp(unsigned long int pos);

Undocumented function.

tellp
unsigned long int ostream::tellp(void);

Undocumented function.


ios_base

    from pandac.PandaModules import ios_base
    We don't care (much) about the actual definition of the various iostream classes, but we do need to know the classnames that are available. We need to expose one method in each class to force it to publish. But we'd like to expose some of these methods anyway, so no problem.

Inheritance:

    ios_base:

Constants in ios_base:

    beg | (seekdir)
cur | (seekdir)
end | (seekdir)


ISocketStream

    from pandac.PandaModules import ISocketStream
    Class : ISocketStream
    Description : This is a base class for istreams implemented in Panda that read from a (possibly non-blocking) socket. It adds is_closed(), which can be called after an eof condition to check whether the socket has been closed, or whether more data may be available later.

Inheritance:

    ISocketStream: istream SSReader
    istream: ios
    ios: ios_base
    ios_base:
    SSReader:

Methods of ISocketStream:

    close
    getReadState
    isClosed

Methods of istream:

    get
    seekg
    tellg

Methods of ios:

    bad
    clear
    eof
    fail
    good

Methods of SSReader:

    close
    isClosed
    receiveDatagram

Constants in ISocketStream:

    RSInitial | (ReadState)
RSReading | (ReadState)
RSComplete | (ReadState)
RSError | (ReadState)

Constants in ios_base:

    beg | (seekdir)
cur | (seekdir)
end | (seekdir)
close
virtual void ISocketStream::close(void) = 0;

Undocumented function.

getReadState
virtual ISocketStream::ReadState ISocketStream::get_read_state(void) = 0;

Undocumented function.

isClosed
virtual bool ISocketStream::is_closed(void) = 0;

Undocumented function.

get
int istream::get(void);

Undocumented function.

seekg
void istream::seekg(unsigned long int pos);

Undocumented function.

tellg
unsigned long int istream::tellg(void);

Undocumented function.

bad
bool ios::bad(void) const;

Undocumented function.

clear
void ios::clear(void);

Undocumented function.

eof
bool ios::eof(void) const;

Undocumented function.

fail
bool ios::fail(void) const;

Undocumented function.

good
bool ios::good(void) const;

Undocumented function.

close
virtual void SSReader::close(void) = 0;

Undocumented function.

isClosed
virtual bool SSReader::is_closed(void) = 0;

Undocumented function.

receiveDatagram
bool SSReader::receive_datagram(Datagram &dg);

Description: Receives a datagram over the socket by expecting a little-endian 16-bit byte count as a prefix. If the socket stream is non-blocking, may return false if the data is not available; otherwise, returns false only if the socket closes.


istream

    from pandac.PandaModules import istream

Inheritance:

    istream: ios
    ios: ios_base
    ios_base:

Methods of istream:

    get
    seekg
    tellg

Methods of ios:

    bad
    clear
    eof
    fail
    good

Constants in ios_base:

    beg | (seekdir)
cur | (seekdir)
end | (seekdir)
get
int istream::get(void);

Undocumented function.

seekg
void istream::seekg(unsigned long int pos);

Undocumented function.

tellg
unsigned long int istream::tellg(void);

Undocumented function.

bad
bool ios::bad(void) const;

Undocumented function.

clear
void ios::clear(void);

Undocumented function.

eof
bool ios::eof(void) const;

Undocumented function.

fail
bool ios::fail(void) const;

Undocumented function.

good
bool ios::good(void) const;

Undocumented function.


Job

    from direct.showbase.Job import Job

Inheritance:

    Job:

Methods of Job:

    __init__
    _cleanupGenerator
    _getGenerator
    _getJobId
    destroy
    finished
    getFinishedEvent
    getJobName
    getPriority
    printingBegin
    printingEnd
    resume
    run
    setPriority
    suspend
__init__
def __init__(self, name)

Undocumented function.

_cleanupGenerator
def _cleanupGenerator(self)

Undocumented function.

_getGenerator
def _getGenerator(self)

Undocumented function.

_getJobId
def _getJobId(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

finished
def finished(self)

Undocumented function.

getFinishedEvent
def getFinishedEvent(self)

Undocumented function.

getJobName
def getJobName(self)

Undocumented function.

getPriority
def getPriority(self)

Undocumented function.

printingBegin
def printingBegin(self)

Undocumented function.

printingEnd
def printingEnd(self)

Undocumented function.

resume
def resume(self)

if self._printing: we may be suspended/resumed multiple times per frame, that gets spammy if we need to pick out the output of a job, put a prefix onto each line of the output print 'JOB:%s:RESUME' % self._name

run
def run(self)

Undocumented function.

setPriority
def setPriority(self, priority)

Undocumented function.

suspend
def suspend(self)

if self._printing: print 'JOB:%s:SUSPEND' % self._name pass


JobManager

    from direct.showbase.JobManager import JobManager
    Similar to the taskMgr but designed for tasks that are CPU-intensive and/or not time-critical. Jobs run in a fixed timeslice that the JobManager is allotted each frame.

Inheritance:

    JobManager:

Methods of JobManager:

    __init__
    __repr__
    _getSortedPriorities
    _process
    add
    def
    destroy
    finish
    getTimeslice
    remove
    setTimeslice
__init__
def __init__(self, timeslice=None)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

_getSortedPriorities
def _getSortedPriorities(self)

Undocumented function.

_process
def _process(self, task=None)

Undocumented function.

add
def add(self, job)

Undocumented function.

def
def defgetDefaultTimeslice

Undocumented function.

destroy
def destroy(self)

Undocumented function.

finish
def finish(self, job)

Undocumented function.

getTimeslice
def getTimeslice(self)

Undocumented function.

remove
def remove(self, job)

Undocumented function.

setTimeslice
def setTimeslice(self, timeslice)

Undocumented function.


JointVertexTransform

    from pandac.PandaModules import JointVertexTransform
    Class : JointVertexTransform
    Description : This is a specialization on VertexTransform that returns the transform necessary to move vertices as if they were assigned to the indicated joint. The geometry itself should be parented to the scene graph at the level of the character's root joint; that is, it should not be parented under a node directly animated by any joints.
    Multiple combinations of these with different weights are used to implement soft-skinned vertices for an animated character.

Inheritance:

    JointVertexTransform: VertexTransform
    VertexTransform: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of JointVertexTransform:

    JointVertexTransform (Constructor)
    getClassType
    getJoint

Methods of VertexTransform:

    accumulateMatrix
    getClassType
    getGlobalModified
    getMatrix
    getModified
    getNextModified
    multMatrix
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
JointVertexTransform
JointVertexTransform::JointVertexTransform(CharacterJoint *joint);

Description: Constructs an invalid object; used only by the bam loader.
Description: Constructs a new object that converts vertices from the indicated joint's coordinate space, into the other indicated joint's space.

getClassType
static TypeHandle JointVertexTransform::get_class_type(void);

Undocumented function.

getJoint
CharacterJoint const *JointVertexTransform::get_joint(void) const;

Description: Returns the joint for which this object returns the transform.

accumulateMatrix
virtual void VertexTransform::accumulate_matrix(LMatrix4f &accum, float weight) const;

Description: Adds the value of this transform's matrix, modified by the indicated weight, into the indicated accumulation matrix. This is used to compute the result of several blended transforms.

getClassType
static TypeHandle VertexTransform::get_class_type(void);

Undocumented function.

getGlobalModified
static UpdateSeq VertexTransform::get_global_modified(Thread *current_thread);

Description: Returns the currently highest VertexTransform::get_modified() value in the world. This can be used as a quick way to determine if any VertexTransforms have changed value recently.

getMatrix
virtual void VertexTransform::get_matrix(LMatrix4f &matrix) const = 0;

Undocumented function.

getModified
UpdateSeq VertexTransform::get_modified(Thread *current_thread) const;

Description: Returns a sequence number that's guaranteed to change at least every time the value reported by get_matrix() changes.

getNextModified
static UpdateSeq VertexTransform::get_next_modified(Thread *current_thread);

Description: Returns a monotonically increasing sequence. Each time this is called, a new sequence number is returned, higher than the previous value.
This is used to ensure that all VertexTransform::get_modified() calls return an increasing number in the same space, so that TransformBlend::get_modified() is easy to determine. It is similar to Geom::get_modified(), but it is in a different space.

multMatrix
virtual void VertexTransform::mult_matrix(LMatrix4f &result, LMatrix4f const &previous) const;

Description: Premultiplies this transform's matrix with the indicated previous matrix, so that the result is the net composition of the given transform with this transform. The result is stored in the parameter "result", which should not be the same matrix as previous.

output
virtual void VertexTransform::output(ostream &out) const;

Description:

write
virtual void VertexTransform::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


KeyboardButton

    from pandac.PandaModules import KeyboardButton
    Class : KeyboardButton
    Description : This class is just used as a convenient namespace for grouping all of these handy functions that return buttons which map to standard keyboard keys.

Inheritance:

    KeyboardButton:

Methods of KeyboardButton:

    alt
    asciiKey
    backspace
    capsLock
    control
    del
    down
    end
    enter
    escape
    f1
    f10
    f11
    f12
    f13
    f14
    f15
    f16
    f2
    f3
    f4
    f5
    f6
    f7
    f8
    f9
    help
    home
    insert
    lalt
    lcontrol
    left
    lshift
    meta
    numLock
    pageDown
    pageUp
    pause
    printScreen
    ralt
    rcontrol
    right
    rshift
    scrollLock
    shift
    shiftLock
    space
    tab
    up
alt
static ButtonHandle KeyboardButton::alt(void);

Undocumented function.

asciiKey
static ButtonHandle KeyboardButton::ascii_key(char ascii_equivalent);

Description: Returns the ButtonHandle associated with the particular ASCII character, if there is one, or ButtonHandle::none() if there is not.
Description: Returns the ButtonHandle associated with the particular ASCII character (taken from the first character of the indicated string), if there is one, or ButtonHandle::none() if there is not.

backspace
static ButtonHandle KeyboardButton::backspace(void);

Undocumented function.

capsLock
static ButtonHandle KeyboardButton::caps_lock(void);

Undocumented function.

control
static ButtonHandle KeyboardButton::control(void);

Undocumented function.

del
static ButtonHandle KeyboardButton::del(void);

Undocumented function.

down
static ButtonHandle KeyboardButton::down(void);

Undocumented function.

end
static ButtonHandle KeyboardButton::end(void);

Undocumented function.

enter
static ButtonHandle KeyboardButton::enter(void);

Undocumented function.

escape
static ButtonHandle KeyboardButton::escape(void);

Undocumented function.

f1
static ButtonHandle KeyboardButton::f1(void);

Undocumented function.

f10
static ButtonHandle KeyboardButton::f10(void);

Undocumented function.

f11
static ButtonHandle KeyboardButton::f11(void);

Undocumented function.

f12
static ButtonHandle KeyboardButton::f12(void);

Undocumented function.

f13
static ButtonHandle KeyboardButton::f13(void);

PC keyboards don't have these four buttons, but Macs do.

f14
static ButtonHandle KeyboardButton::f14(void);

PC keyboards don't have these four buttons, but Macs do.

f15
static ButtonHandle KeyboardButton::f15(void);

Undocumented function.

f16
static ButtonHandle KeyboardButton::f16(void);

Undocumented function.

f2
static ButtonHandle KeyboardButton::f2(void);

Undocumented function.

f3
static ButtonHandle KeyboardButton::f3(void);

Undocumented function.

f4
static ButtonHandle KeyboardButton::f4(void);

Undocumented function.

f5
static ButtonHandle KeyboardButton::f5(void);

Undocumented function.

f6
static ButtonHandle KeyboardButton::f6(void);

Undocumented function.

f7
static ButtonHandle KeyboardButton::f7(void);

Undocumented function.

f8
static ButtonHandle KeyboardButton::f8(void);

Undocumented function.

f9
static ButtonHandle KeyboardButton::f9(void);

Undocumented function.

help
static ButtonHandle KeyboardButton::help(void);

delete is a C++ keyword.

home
static ButtonHandle KeyboardButton::home(void);

Undocumented function.

insert
static ButtonHandle KeyboardButton::insert(void);

Undocumented function.

lalt
static ButtonHandle KeyboardButton::lalt(void);

Undocumented function.

lcontrol
static ButtonHandle KeyboardButton::lcontrol(void);

Undocumented function.

left
static ButtonHandle KeyboardButton::left(void);

Undocumented function.

lshift
static ButtonHandle KeyboardButton::lshift(void);

Undocumented function.

meta
static ButtonHandle KeyboardButton::meta(void);

Undocumented function.

numLock
static ButtonHandle KeyboardButton::num_lock(void);

Undocumented function.

pageDown
static ButtonHandle KeyboardButton::page_down(void);

Undocumented function.

pageUp
static ButtonHandle KeyboardButton::page_up(void);

Undocumented function.

pause
static ButtonHandle KeyboardButton::pause(void);

Undocumented function.

printScreen
static ButtonHandle KeyboardButton::print_screen(void);

Undocumented function.

ralt
static ButtonHandle KeyboardButton::ralt(void);

Undocumented function.

rcontrol
static ButtonHandle KeyboardButton::rcontrol(void);

Undocumented function.

right
static ButtonHandle KeyboardButton::right(void);

Undocumented function.

rshift
static ButtonHandle KeyboardButton::rshift(void);

Undocumented function.

scrollLock
static ButtonHandle KeyboardButton::scroll_lock(void);

Undocumented function.

shift
static ButtonHandle KeyboardButton::shift(void);

Undocumented function.

shiftLock
static ButtonHandle KeyboardButton::shift_lock(void);

Undocumented function.

space
static ButtonHandle KeyboardButton::space(void);

Undocumented function.

tab
static ButtonHandle KeyboardButton::tab(void);

Undocumented function.

up
static ButtonHandle KeyboardButton::up(void);

Undocumented function.


LandingPage

    from direct.http.LandingPage import LandingPage

Inheritance:

    LandingPage:

Methods of LandingPage:

    __init__
    addQuickStat
    addTab
    getDescription
    getFooter
    getHeader
    getMainPage
    getMenu
    getQuickStatsTable
    getServicesPage
    getStyleSheet
    incrementQuickStat
    populateMainPage
    setContactInfo
    setDescription
    setTitle
    skin
    updateQuickStat
__init__
def __init__(self)

Undocumented function.

addQuickStat
def addQuickStat(self, item, value, position)

Undocumented function.

addTab
def addTab(self, title, uri)

Undocumented function.

getDescription
def getDescription(self)

Undocumented function.

getFooter
def getFooter(self)

Undocumented function.

getHeader
def getHeader(self, activeTab="Main")

Undocumented function.

getMainPage
def getMainPage(self)

Undocumented function.

getMenu
def getMenu(self, activeTab)

Undocumented function.

getQuickStatsTable
def getQuickStatsTable(self)

Undocumented function.

getServicesPage
def getServicesPage(self, uriToHandler)

Undocumented function.

getStyleSheet
def getStyleSheet(self)

Undocumented function.

incrementQuickStat
def incrementQuickStat(self, item)

Undocumented function.

populateMainPage
def populateMainPage(self, body)

Undocumented function.

setContactInfo
def setContactInfo(self, info)

Undocumented function.

setDescription
def setDescription(self, desc)

Undocumented function.

setTitle
def setTitle(self, title)

Undocumented function.

skin
def skin(self, body, uri)

Undocumented function.

updateQuickStat
def updateQuickStat(self, item, value)

Undocumented function.


LeakDetector

    from direct.showbase.LeakDetectors import LeakDetector

Inheritance:

    LeakDetector:

Methods of LeakDetector:

    __init__
    destroy
    getLeakDetectorKey
__init__
def __init__(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getLeakDetectorKey
def getLeakDetectorKey(self)

Undocumented function.


LEAvatar

    from direct.leveleditor.LevelEditor import LEAvatar

Inheritance:

    LEAvatar:

Methods of LEAvatar:

    __init__
    getAutoRun
__init__
def __init__(self, cr, chatMgr, chatAssistant, passMessagesThrough=False)

Undocumented function.

getAutoRun
def getAutoRun(self)

Undocumented function.


Lens

    from pandac.PandaModules import Lens
    Class : Lens
    Description : A base class for any number of different kinds of lenses, linear and otherwise. Presently, this includes perspective and orthographic lenses.
    A Lens object is the main part of a Camera node (defined in sgraph), which defines the fundamental interface to point-of-view for rendering. Lenses are also used in other contexts, however; for instance, a Spotlight is also defined using a lens.

Inheritance:

    Lens: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of Lens:

    clear
    clearKeystone
    clearViewMat
    extrude
    extrudeVec
    getAspectRatio
    getChangeEvent
    getClassType
    getConvergenceDistance
    getCoordinateSystem
    getDefaultFar
    getDefaultNear
    getFar
    getFilmMat
    getFilmMatInv
    getFilmOffset
    getFilmSize
    getFocalLength
    getFov
    getHfov
    getInterocularDistance
    getKeystone
    getLensMat
    getLensMatInv
    getMinFov
    getNear
    getNodalPoint
    getProjectionMat
    getProjectionMatInv
    getUpVector
    getVfov
    getViewHpr
    getViewMat
    getViewVector
    isLinear
    isOrthographic
    isPerspective
    makeBounds
    makeCopy
    makeGeometry
    output
    project
    recomputeAll
    setAspectRatio
    setChangeEvent
    setConvergenceDistance
    setCoordinateSystem
    setFar
    setFilmOffset
    setFilmSize
    setFocalLength
    setFov
    setFrustumFromCorners
    setInterocularDistance
    setKeystone
    setMinFov
    setNear
    setNearFar
    setViewHpr
    setViewMat
    setViewVector
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in Lens:

    SCMono | (StereoChannel)
SCLeft | (StereoChannel)
SCRight | (StereoChannel)
SCStereo | (StereoChannel)
FCRoll | (FromCorners)
FCCameraPlane | (FromCorners)
FCOffAxis | (FromCorners)
FCAspectRatio | (FromCorners)
FCShear | (FromCorners)
FCKeystone | (FromCorners)
clear
void Lens::clear(void);

Description: Resets all lens parameters to their initial default settings.

clearKeystone
void Lens::clear_keystone(void);

Description: Disables the lens keystone correction.

clearViewMat
void Lens::clear_view_mat(void);

Description: Resets the lens transform to identity.

extrude
bool Lens::extrude(LPoint2f const &point2d, LPoint3f &near_point, LPoint3f &far_point) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the corresponding vector in space that maps to this point, if such a vector can be determined. The vector is returned by indicating the points on the near plane and far plane that both map to the indicated 2-d point.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

extrudeVec
bool Lens::extrude_vec(LPoint2f const &point2d, LVector3f &vec3d) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the vector that corresponds to the view direction. This will be parallel to the normal on the surface (the far plane) corresponding to the lens shape at this point.
See the comment block on Lens::extrude_vec_impl() for a more in-depth comment on the meaning of this vector.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

getAspectRatio
float Lens::get_aspect_ratio(void) const;

Description: Returns the aspect ratio of the Lens. This is determined based on the indicated film size; see set_film_size().

getChangeEvent
string const &Lens::get_change_event(void) const;

Description: Returns the name of the event that will be generated whenever any properties of this particular Lens have changed.

getClassType
static TypeHandle Lens::get_class_type(void);

Undocumented function.

getConvergenceDistance
float Lens::get_convergence_distance(void) const;

Description: See set_convergence_distance().

getCoordinateSystem
CoordinateSystem Lens::get_coordinate_system(void) const;

Description: Returns the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

getDefaultFar
static float Lens::get_default_far(void);

Description: Returns the default far plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getDefaultNear
static float Lens::get_default_near(void);

Description: Returns the default near plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getFar
float Lens::get_far(void) const;

Description: Returns the position of the far plane (or cylinder, sphere, whatever).

getFilmMat
LMatrix4f const &Lens::get_film_mat(void) const;

Description: Returns the matrix that transforms from a point behind the lens to a point on the film.

getFilmMatInv
LMatrix4f const &Lens::get_film_mat_inv(void) const;

Description: Returns the matrix that transforms from a point on the film to a point behind the lens.

getFilmOffset
LVector2f const &Lens::get_film_offset(void) const;

Description: Returns the horizontal and vertical offset amounts of this Lens. See set_film_offset().

getFilmSize
LVecBase2f const &Lens::get_film_size(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_film_size().

getFocalLength
float Lens::get_focal_length(void) const;

Description: Returns the focal length of the lens. This may have been set explicitly by a previous call to set_focal_length(), or it may be computed based on the lens' fov and film_size. For certain kinds of lenses, the focal length has no meaning.

getFov
LVecBase2f const &Lens::get_fov(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_fov().

getHfov
float Lens::get_hfov(void) const;

Description: Returns the horizontal component of fov only. See get_fov().

getInterocularDistance
float Lens::get_interocular_distance(void) const;

Description: See set_interocular_distance().

getKeystone
LVecBase2f const &Lens::get_keystone(void) const;

Description: Returns the keystone correction specified for the lens.

getLensMat
LMatrix4f const &Lens::get_lens_mat(void) const;

Description: Returns the matrix that transforms from a point in front of the lens to a point in space.

getLensMatInv
LMatrix4f const &Lens::get_lens_mat_inv(void) const;

Description: Returns the matrix that transforms from a point in space to a point in front of the lens.

getMinFov
float Lens::get_min_fov(void) const;

Description: Returns the field of view of the narrowest dimension of the window. See set_min_fov().

getNear
float Lens::get_near(void) const;

Description: Returns the position of the near plane (or cylinder, sphere, whatever).

getNodalPoint
LPoint3f Lens::get_nodal_point(void) const;

Description: Returns the center point of the lens: the point from which the lens is viewing.

getProjectionMat
LMatrix4f const &Lens::get_projection_mat(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the complete transformation matrix from a 3-d point in space to a point on the film, if such a matrix exists, or the identity matrix if the lens is nonlinear.

getProjectionMatInv
LMatrix4f const &Lens::get_projection_mat_inv(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the matrix that transforms from a 2-d point on the film to a 3-d vector in space, if such a matrix exists.

getUpVector
LVector3f const &Lens::get_up_vector(void) const;

Description: Returns the axis perpendicular to the camera's view vector that indicates the "up" direction.

getVfov
float Lens::get_vfov(void) const;

Description: Returns the vertical component of fov only. See get_fov().

getViewHpr
LVecBase3f const &Lens::get_view_hpr(void) const;

Description: Returns the direction in which the lens is facing.

getViewMat
LMatrix4f const &Lens::get_view_mat(void) const;

Description: Returns the direction in which the lens is facing.

getViewVector
LVector3f const &Lens::get_view_vector(void) const;

Description: Returns the axis along which the lens is facing.

isLinear
virtual bool Lens::is_linear(void) const;

Description: Returns true if the lens represents a linear projection (e.g. PerspectiveLens, OrthographicLens), and therefore there is a valid matrix returned by get_projection_mat(), or false otherwise.

isOrthographic
virtual bool Lens::is_orthographic(void) const;

Description: Returns true if the lens represents a orthographic projection (i.e. it is a OrthographicLens), false otherwise.

isPerspective
virtual bool Lens::is_perspective(void) const;

Description: Returns true if the lens represents a perspective projection (i.e. it is a PerspectiveLens), false otherwise.

makeBounds
virtual PointerTo< BoundingVolume > Lens::make_bounds(void) const;

Description: Allocates and returns a new BoundingVolume that encloses the frustum used for this kind of lens, if possible. If a suitable bounding volume cannot be created, returns NULL.

makeCopy
virtual PointerTo< Lens > Lens::make_copy(void) const = 0;

Undocumented function.

makeGeometry
virtual PointerTo< Geom > Lens::make_geometry(void);

Description: Allocates and returns a new Geom that can be rendered to show a visible representation of the frustum used for this kind of lens, if it makes sense to do so. If a visible representation cannot be created, returns NULL.

output
virtual void Lens::output(ostream &out) const;

Description:

project
bool Lens::project(LPoint3f const &point3d, LPoint3f &point2d) const;

Description: Given a 3-d point in space, determine the 2-d point this maps to, in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner.
Returns true if the 3-d point is in front of the lens and within the viewing frustum (in which case point2d is filled in), or false otherwise (in which case point2d will be filled in with something, which may or may not be meaningful).
The z coordinate will also be set to a value in the range (-1, 1), where 1 represents a point on the near plane, and -1 represents a point on the far plane.

recomputeAll
void Lens::recompute_all(void);

Description: Forces all internal parameters of the Lens to be recomputed. Normally, this should never need to be called; it is provided only to assist in debugging.

setAspectRatio
void Lens::set_aspect_ratio(float aspect_ratio);

Description: Sets the aspect ratio of the lens. This is the ratio of the height to the width of the generated image. Setting this overrides the two-parameter fov or film size setting.

setChangeEvent
void Lens::set_change_event(string const &event);

Description: Sets the name of the event that will be generated whenever any properties of the Lens have changed. If this is not set for a particular lens, no event will be generated.
The event is thrown with one parameter, the lens itself. This can be used to automatically track changes to camera fov, etc. in the application.

setConvergenceDistance
void Lens::set_convergence_distance(float convergence_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setCoordinateSystem
void Lens::set_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

setFar
void Lens::set_far(float far_distance);

Description: Defines the position of the far plane (or cylinder, sphere, whatever). Points farther from the lens than this may not be rendered.

setFilmOffset
void Lens::set_film_offset(float x, float y);

Description: Sets the horizontal and vertical offset amounts of this Lens. These are both in the same units specified in set_film_size().
This can be used to establish an off-axis lens.

setFilmSize
void Lens::set_film_size(float width);

Description: Sets the size and shape of the "film" within the lens. This both establishes the units used by calls like set_focal_length(), and establishes the aspect ratio of the frame.
In a physical camera, the field of view of a lens is determined by the lens' focal length and by the size of the film area exposed by the lens. For instance, a 35mm camera exposes a rectangle on the film about 24mm x 36mm, which means a 50mm lens gives about a 40-degree horizontal field of view.
In the virtual camera, you may set the film size to any units here, and specify a focal length in the same units to simulate the same effect. Or, you may ignore this parameter, and specify the field of view and aspect ratio of the lens directly.
Description: Sets the horizontal size of the film without changing its shape. The aspect ratio remains unchanged; this computes the vertical size of the film to automatically maintain the aspect ratio.

setFocalLength
void Lens::set_focal_length(float focal_length);

Description: Sets the focal length of the lens. This may adjust the field-of-view correspondingly, and is an alternate way to specify field of view.
For certain kinds of lenses (e.g. OrthographicLens), the focal length has no meaning.

setFov
void Lens::set_fov(float fov);

Description: Sets the field of view of the lens in both dimensions. This establishes both the field of view and the aspect ratio of the lens. This is one way to specify the field of view of a lens; set_focal_length() is another way.
For certain kinds of lenses (like OrthoLens), the field of view has no meaning.
Description: Sets the horizontal field of view of the lens without changing the aspect ratio. The vertical field of view is adjusted to maintain the same aspect ratio.
For certain kinds of lenses (like OrthographicLens), the field of view has no meaning.

setFrustumFromCorners
void Lens::set_frustum_from_corners(LVecBase3f const &ul, LVecBase3f const &ur, LVecBase3f const &ll, LVecBase3f const &lr, int flags);

Description: Sets up the lens to use the frustum defined by the four indicated points. This is most useful for a PerspectiveLens, but it may be called for other kinds of lenses as well.
The frustum will be rooted at the origin (or by whatever translation might have been specified in a previous call to set_view_mat).
It is legal for the four points not to be arranged in a rectangle; if this is the case, the frustum will be fitted as tightly as possible to cover all four points.
The flags parameter contains the union of one or more of the following bits to control the behavior of this function:
FC_roll - If this is included, the camera may be rotated so that its up vector is perpendicular to the top line. Otherwise, the standard up vector is used.
FC_camera_plane - This allows the camera plane to be adjusted to be as nearly perpendicular to the center of the frustum as possible. Without this bit, the orientation camera plane is defined by position of the four points (which should all be coplanar). With this bit, the camera plane is arbitarary, and may be chosen so that the four points do not themselves lie in the camera plane (but the points will still be within the frustum).
FC_off_axis - This allows the resulting frustum to be off-axis to get the tightest possible fit. Without this bit, the viewing axis will be centered within the frustum, but there may be more wasted space along the edges.
FC_aspect_ratio - This allows the frustum to be scaled non-proportionately in the vertical and horizontal dimensions, if necessary, to get a tighter fit. Without this bit, the current aspect ratio will be preserved.
FC_shear - This allows the frustum to be sheared, if necessary, to get the tightest possible fit. This may result in a parallelogram-based frustum, which will give a slanted appearance to the rendered image. Without this bit, the frustum will be rectangle-based.
In general, if 0 is passed in as the value for flags, the generated frustum will be a loose fit but sane; if -1 is passed in, it will be a tighter fit and possibly screwy.

setInterocularDistance
void Lens::set_interocular_distance(float interocular_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setKeystone
void Lens::set_keystone(LVecBase2f const &keystone);

Description: Indicates the ratio of keystone correction to perform on the lens, in each of three axes. This will build a special non-affine scale factor into the projection matrix that will compensate for keystoning of a projected image; this can be used to compensate for a projector that for physical reasons cannot be aimed directly at it screen.
The default value is taken from the default-keystone Config variable. 0, 0 indicates no keystone correction; specify a small value (usually in the range -1 .. 1) in either the x or y position to generate a keystone correction in that axis.

setMinFov
void Lens::set_min_fov(float min_fov);

Description: Sets the field of view of the smallest dimension of the window. If the window is wider than it is tall, this specifies the vertical field of view; if it is taller than it is wide, this specifies the horizontal field of view.
In many cases, this is preferable to setting either the horizontal or vertical field of view explicitly. Setting this parameter means that pulling the window wider will widen the field of view, which is usually what you expect to happen.

setNear
void Lens::set_near(float near_distance);

Description: Defines the position of the near plane (or cylinder, sphere, whatever). Points closer to the lens than this may not be rendered.

setNearFar
void Lens::set_near_far(float near_distance, float far_distance);

Description: Simultaneously changes the near and far planes.

setViewHpr
void Lens::set_view_hpr(float h, float p, float r);

Description: Sets the direction in which the lens is facing. Normally, this is down the forward axis (usually the Y axis), but it may be rotated. This is only one way of specifying the rotation; you may also specify an explicit vector in which to look, or you may give a complete transformation matrix.

setViewMat
void Lens::set_view_mat(LMatrix4f const &view_mat);

Description: Sets an arbitrary transformation on the lens. This replaces the individual transformation components like set_view_hpr().
Setting a transformation here will have a slightly different effect than putting one on the LensNode that contains this lens. In particular, lighting and other effects computations will still be performed on the lens in its untransformed (facing forward) position, but the actual projection matrix will be transformed by this matrix.

setViewVector
void Lens::set_view_vector(float x, float y, float z, float i, float j, float k);

Description: Specifies the direction in which the lens is facing by giving an axis to look along, and a perpendicular (or at least non-parallel) up axis.
See also set_view_hpr().

write
virtual void Lens::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LensNode

    from pandac.PandaModules import LensNode
    Class : LensNode
    Description : A node that contains a Lens. The most important example of this kind of node is a Camera, but other kinds of nodes also contain a lens (for instance, a Spotlight).

Inheritance:

    LensNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of LensNode:

    LensNode (Constructor)
    copyLens
    getClassType
    getLens
    hideFrustum
    isInView
    setLens
    showFrustum

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
LensNode
LensNode::LensNode(string const &name);

Description:

copyLens
void LensNode::copy_lens(Lens const &lens);

Description: Sets up the LensNode using a copy of the indicated Lens. If the original Lens is changed or destroyed, this LensNode is not affected.

getClassType
static TypeHandle LensNode::get_class_type(void);

Undocumented function.

getLens
Lens *LensNode::get_lens(void) const;

Description: Returns a pointer to the particular Lens associated with this LensNode, or NULL if there is not yet a Lens associated.

hideFrustum
void LensNode::hide_frustum(void);

Description: Disables the drawing of the lens's frustum to aid in visualization.

isInView
bool LensNode::is_in_view(LPoint3f const &pos);

Description: Returns true if the given point is within the bounds of the lens of the LensNode (i.e. if the camera can see the point).

setLens
void LensNode::set_lens(Lens *lens);

Description: Sets up the LensNode using this particular Lens pointer. If the lens is subsequently modified, the LensNode properties immediately reflect the change.

showFrustum
void LensNode::show_frustum(void);

Description: Enables the drawing of the lens's frustum to aid in visualization. This actually creates a GeomNode which is parented to the LensNode.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Lerp

    from pandac.PandaModules import Lerp

Inheritance:

    Lerp: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of Lerp:

    Lerp (Constructor)
    getClassType
    getEndEvent
    getFunctor
    getStepSize
    getT
    isDone
    operator =
    setEndEvent
    setStepSize
    setT
    step

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
Lerp
Lerp::Lerp(LerpFunctor *func, float endt, LerpBlendType *blend);

Undocumented function.

getClassType
static TypeHandle Lerp::get_class_type(void);

now for typehandle stuff

getEndEvent
string Lerp::get_end_event(void) const;

Undocumented function.

getFunctor
LerpFunctor *Lerp::get_functor(void) const;

Undocumented function.

getStepSize
float Lerp::get_step_size(void) const;

Undocumented function.

getT
float Lerp::get_t(void) const;

Undocumented function.

isDone
bool Lerp::is_done(void) const;

Undocumented function.

operator =
Lerp &Lerp::operator =(Lerp const &);

Undocumented function.

setEndEvent
void Lerp::set_end_event(string const &);

Undocumented function.

setStepSize
void Lerp::set_step_size(float );

Undocumented function.

setT
void Lerp::set_t(float );

Undocumented function.

step
void Lerp::step(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LerpAnimInterval

    from direct.interval.ActorInterval import LerpAnimInterval

Inheritance:

    LerpAnimInterval:

Methods of LerpAnimInterval:

    __init__
__init__
def __init__(self, actor, duration, startAnim, endAnim, startWeight=0.0, endWeight=1.0, blendType='noBlend', name=None, partName=None, lodName=None)

Undocumented function.


LerpBlendType

    from pandac.PandaModules import LerpBlendType

Inheritance:

    LerpBlendType: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LerpBlendType:

    getClassType
    operator ()

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle LerpBlendType::get_class_type(void);

now for typehandle stuff

operator ()
virtual float LerpBlendType::operator ()(float ) = 0;

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LerpColorInterval

    from direct.interval.LerpInterval import LerpColorInterval

Inheritance:

    LerpColorInterval:

Methods of LerpColorInterval:

    __init__
__init__
def __init__(self, nodePath, duration, color, startColor=None, other=None, blendType='noBlend', bakeInStart=1, name=None)

Undocumented function.


LerpColorScaleInterval

    from direct.interval.LerpInterval import LerpColorScaleInterval

Inheritance:

    LerpColorScaleInterval:

Methods of LerpColorScaleInterval:

    __init__
__init__
def __init__(self, nodePath, duration, colorScale, startColorScale=None, other=None, blendType='noBlend', bakeInStart=1, name=None)

Undocumented function.


LerpFunc

    from direct.interval.LerpInterval import LerpFunc

Inheritance:

    LerpFunc:

Methods of LerpFunc:

    __init__
__init__
def __init__(self, *args, **kw)

Undocumented function.


LerpFuncNS

    from direct.interval.LerpInterval import LerpFuncNS

Inheritance:

    LerpFuncNS:

Methods of LerpFuncNS:

    __init__
__init__
def __init__(self, *args, **kw)

Undocumented function.


LerpFunctionInterval

    from direct.interval.LerpInterval import LerpFunctionInterval
    Class used to execute a function over time. Function can access fromData and toData to perform blend. If fromData and toData not specified, will execute the given function passing in values ranging from 0 to 1

Inheritance:

    LerpFunctionInterval:

Methods of LerpFunctionInterval:

    __init__
    privStep
__init__
def __init__(self, function, duration=0.0, fromData=0, toData=1, blendType='noBlend', extraArgs=[], name=None)

__init__(function, duration, fromData, toData, name)

privStep
def privStep(self, t)

Undocumented function.


LerpFunctionNoStateInterval

    from direct.interval.LerpInterval import LerpFunctionNoStateInterval
    Class used to execute a function over time. Function can access fromData and toData to perform blend. If fromData and toData not specified, will execute the given function passing in values ranging from 0 to 1

Inheritance:

    LerpFunctionNoStateInterval:

Methods of LerpFunctionNoStateInterval:

    __init__
    privStep
__init__
def __init__(self, function, duration=0.0, fromData=0, toData=1, blendType='noBlend', extraArgs=[], name=None)

__init__(function, duration, fromData, toData, name)

privStep
def privStep(self, t)

Undocumented function.


LerpFunctor

    from pandac.PandaModules import LerpFunctor

Inheritance:

    LerpFunctor: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LerpFunctor:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle LerpFunctor::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LerpHprInterval

    from direct.interval.LerpInterval import LerpHprInterval

Inheritance:

    LerpHprInterval:

Methods of LerpHprInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, hpr, startHpr=None, startQuat=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpHprScaleInterval

    from direct.interval.LerpInterval import LerpHprScaleInterval

Inheritance:

    LerpHprScaleInterval:

Methods of LerpHprScaleInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, hpr, scale, startHpr=None, startQuat=None, startScale=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpNodePathInterval

    from direct.interval.LerpInterval import LerpNodePathInterval

Inheritance:

    LerpNodePathInterval:

Methods of LerpNodePathInterval:

    __init__
    anyCallable
    setupParam
__init__
def __init__(self, name, duration, blendType, bakeInStart, fluid, nodePath, other)

Undocumented function.

anyCallable
def anyCallable(self, *params)

Undocumented function.

setupParam
def setupParam(self, func, param)

Undocumented function.


LerpPosHprInterval

    from direct.interval.LerpInterval import LerpPosHprInterval

Inheritance:

    LerpPosHprInterval:

Methods of LerpPosHprInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, pos, hpr, startPos=None, startHpr=None, startQuat=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpPosHprScaleInterval

    from direct.interval.LerpInterval import LerpPosHprScaleInterval

Inheritance:

    LerpPosHprScaleInterval:

Methods of LerpPosHprScaleInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, pos, hpr, scale, startPos=None, startHpr=None, startQuat=None, startScale=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpPosHprScaleShearInterval

    from direct.interval.LerpInterval import LerpPosHprScaleShearInterval

Inheritance:

    LerpPosHprScaleShearInterval:

Methods of LerpPosHprScaleShearInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, pos, hpr, scale, shear, startPos=None, startHpr=None, startQuat=None, startScale=None, startShear=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpPosInterval

    from direct.interval.LerpInterval import LerpPosInterval

Inheritance:

    LerpPosInterval:

Methods of LerpPosInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, pos, startPos=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpPosQuatInterval

    from direct.interval.LerpInterval import LerpPosQuatInterval

Inheritance:

    LerpPosQuatInterval:

Methods of LerpPosQuatInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, pos, quat=None, startPos=None, startHpr=None, startQuat=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None, hpr=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpPosQuatScaleInterval

    from direct.interval.LerpInterval import LerpPosQuatScaleInterval

Inheritance:

    LerpPosQuatScaleInterval:

Methods of LerpPosQuatScaleInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, pos, quat=None, scale=None, startPos=None, startHpr=None, startQuat=None, startScale=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None, hpr=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpPosQuatScaleShearInterval

    from direct.interval.LerpInterval import LerpPosQuatScaleShearInterval

Inheritance:

    LerpPosQuatScaleShearInterval:

Methods of LerpPosQuatScaleShearInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, pos, quat=None, scale=None, shear=None, startPos=None, startHpr=None, startQuat=None, startScale=None, startShear=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None, hpr=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpQuatInterval

    from direct.interval.LerpInterval import LerpQuatInterval

Inheritance:

    LerpQuatInterval:

Methods of LerpQuatInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, quat=None, startHpr=None, startQuat=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None, hpr=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpQuatScaleInterval

    from direct.interval.LerpInterval import LerpQuatScaleInterval

Inheritance:

    LerpQuatScaleInterval:

Methods of LerpQuatScaleInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, quat=None, scale=None, hpr=None, startHpr=None, startQuat=None, startScale=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpScaleInterval

    from direct.interval.LerpInterval import LerpScaleInterval

Inheritance:

    LerpScaleInterval:

Methods of LerpScaleInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, scale, startScale=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpShearInterval

    from direct.interval.LerpInterval import LerpShearInterval

Inheritance:

    LerpShearInterval:

Methods of LerpShearInterval:

    __init__
    privDoEvent
__init__
def __init__(self, nodePath, duration, shear, startShear=None, other=None, blendType='noBlend', bakeInStart=1, fluid=0, name=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.


LerpTexOffsetInterval

    from direct.interval.LerpInterval import LerpTexOffsetInterval

Inheritance:

    LerpTexOffsetInterval:

Methods of LerpTexOffsetInterval:

    __init__
__init__
def __init__(self, nodePath, duration, texOffset, startTexOffset=None, other=None, blendType='noBlend', textureStage=None, bakeInStart=1, name=None)

Undocumented function.


LerpTexRotateInterval

    from direct.interval.LerpInterval import LerpTexRotateInterval

Inheritance:

    LerpTexRotateInterval:

Methods of LerpTexRotateInterval:

    __init__
__init__
def __init__(self, nodePath, duration, texRotate, startTexRotate=None, other=None, blendType='noBlend', textureStage=None, bakeInStart=1, name=None)

Undocumented function.


LerpTexScaleInterval

    from direct.interval.LerpInterval import LerpTexScaleInterval

Inheritance:

    LerpTexScaleInterval:

Methods of LerpTexScaleInterval:

    __init__
__init__
def __init__(self, nodePath, duration, texScale, startTexScale=None, other=None, blendType='noBlend', textureStage=None, bakeInStart=1, name=None)

Undocumented function.


LevelAttribute

    from direct.leveleditor.LevelEditor import LevelAttribute
    Class which encapsulates a pie menu and a set of items

Inheritance:

    LevelAttribute:

Methods of LevelAttribute:

    __init__
    add
    getCount
    getCurrent
    getDict
    getList
    getMenu
    setCurrent
    setDict
    setList
    setMenu
__init__
def __init__(self, name)

Undocumented function.

add
def add(self, item)

Undocumented function.

getCount
def getCount(self)

Undocumented function.

getCurrent
def getCurrent(self)

Undocumented function.

getDict
def getDict(self)

Undocumented function.

getList
def getList(self)

Undocumented function.

getMenu
def getMenu(self)

Undocumented function.

setCurrent
def setCurrent(self, newValue, fEvent=1)

Undocumented function.

setDict
def setDict(self, dict)

Undocumented function.

setList
def setList(self, list)

Undocumented function.

setMenu
def setMenu(self, menu)

Undocumented function.


LevelEditor

    from direct.leveleditor.LevelEditor import LevelEditor
    Class used to create a Toontown LevelEditor object

Inheritance:

    LevelEditor:

Methods of LevelEditor:

    __getitem__
    __init__
    addFlatBuilding
    addGroup
    addLandmark
    addProp
    addReplicationHooks
    addStreet
    addStreetUnits
    addToLandmarkBlock
    addVisGroup
    adjustPropChildren
    appendColorToColorPaletteFile
    autoPositionCleanup
    autoPositionGrid
    avatarAnimate
    calcLongStreetLength
    clearPageUpDown
    clearPathHighlights
    clearZoneColors
    clearZoneLabels
    collisionsOff
    collisionsOn
    colorZones
    computeWallNum
    configureDriveModeCollisionData
    consolidateStreetBuildings
    convertToLandmarkBlocks
    createBattleCells
    createCornice
    createDoor
    createInsertionMarker
    createLevelMaps
    createMap
    createNewGroup
    createSign
    createSuitPaths
    createToplevel
    createWindows
    cvsAdd
    cvsCommitAll
    cvsUpdate
    cvsUpdateAll
    deleteToplevel
    deselectedNodePathHook
    destroy
    disable
    disableMouse
    drawBattleCell
    drawSuitEdge
    drawSuitPoint
    duplicateFlatBuilding
    editDNAVisGroups
    enable
    enableMouse
    enterZone
    extractGroupName
    findBldgEndPoint
    findDNANode
    findDNAParent
    findDNARoot
    findHighestLandmarkBlock
    findParentVisGroup
    findPointOrCell
    findSuitEdge
    getAttribute
    getBattleCellFromNodePath
    getBldg
    getBlockFromName
    getBuildingWidth
    getCurrent
    getDict
    getDNAData
    getDNAParent
    getDNATarget
    getDNAToplevel
    getDNAVisGroups
    getEditMode
    getFlatBuildingMode
    getGridIntersectionPoint
    getGridSnapIntersectionPoint
    getGroupNum
    getLandmarkBuildingMode
    getLastAngle
    getList
    getMenu
    getNextLandmarkBlock
    getNextSnapPoint
    getNPParent
    getNPToplevel
    getRandomDictionaryEntry
    getRandomHeightList
    getRandomWallWidth
    getRandomWindowCount
    getSnapPoint
    getSuitPointFromNodePath
    getWall
    getWallIntersectionPoint
    getWindowCount
    hasAttribute
    hideAllVisibles
    hideBattleCells
    hideSuitPaths
    highlightConnected
    highlightConnectedRec
    initDNANode
    initNodePath
    initVisibilityData
    insertionMarkerTask
    jumpToInsertionPoint
    keyboardRotateSelected
    keyboardTranslateSelected
    keyboardXformSelected
    labelZones
    landmarkBlockRemove
    lerpCameraP
    levelHandleMouse3
    levelHandleMouse3Up
    loadDNAFromFile
    loadSpecifiedDNAFile
    loadStreetCurve
    makeLongStreet
    makeNewBuildingGroup
    makeSideStreets
    makeStreetAlongCurve
    outputDNA
    outputDNADefaultFile
    pageDown
    pageUp
    pdbBreak
    placeBattleCell
    placeSuitPoint
    remove
    removeCornice
    removeDoor
    removeLandmarkDoor
    removeNodePathHook
    removeSign
    removeWindows
    renameFloorPolys
    reparent
    reparentStreetBuildings
    replace
    replaceSelected
    reset
    resetBattleCellMarkers
    resetPathMarkers
    revertLandmarkBlock
    saveBaselineStyle
    saveBuildingStyle
    saveColor
    saveStyle
    saveToSpecifiedDNAFile
    saveWallStyle
    selectedNodePathHook
    selectMap
    setActiveParent
    setBuildingStyle
    setBuildingType
    setBuildingWidth
    setColor
    setCurrent
    setDNATargetCode
    setDNATargetColor
    setDNATargetOrientation
    setEditMode
    setGroupNum
    setLastAngle
    setName
    setRandomBuildingStyle
    setWallStyle
    setWindowCount
    showAllVisibles
    showBattleCells
    showGrid
    showSuitPaths
    spawnInsertionMarkerTask
    switchToDriveMode
    toggleCollisions
    toggleMapVis
    toggleShowLandmarkBlock
    toggleVisibility
    toggleZoneColors
    traversalOff
    traversalOn
    updateBarricadeDict
    updatePose
    updateSelectedPose
    useDirectFly
    useDriveMode
    visibilityOff
    visibilityOn
__getitem__
def __getitem__(self, attribute)

Return top level entry in attribute dictionary

__init__
def __init__(self, hoods=hoods)

Undocumented function.

addFlatBuilding
def addFlatBuilding(self, buildingType)

Undocumented function.

addGroup
def addGroup(self, nodePath)

Add a new DNA Node Group to the specified Node Path

addLandmark
def addLandmark(self, landmarkType, specialType)

Undocumented function.

addProp
def addProp(self, propType)

Undocumented function.

addReplicationHooks
def addReplicationHooks(self, dnaNode)

Undocumented function.

addStreet
def addStreet(self, streetType)

Undocumented function.

addStreetUnits
def addStreetUnits(self, streetLength)

Undocumented function.

addToLandmarkBlock
def addToLandmarkBlock(self)

Undocumented function.

addVisGroup
def addVisGroup(self, nodePath)

Add a new DNA Group to the specified Node Path

adjustPropChildren
def adjustPropChildren(self, nodePath, maxPropOffset=-4)

Undocumented function.

appendColorToColorPaletteFile
def appendColorToColorPaletteFile(self, color)

Undocumented function.

autoPositionCleanup
def autoPositionCleanup(self, state)

Undocumented function.

autoPositionGrid
def autoPositionGrid(self, fLerp=1)

Undocumented function.

avatarAnimate
def avatarAnimate(self, task=None)

Undocumented function.

calcLongStreetLength
def calcLongStreetLength(self, bldgs)

Undocumented function.

clearPageUpDown
def clearPageUpDown(self)

Undocumented function.

clearPathHighlights
def clearPathHighlights(self)

Undocumented function.

clearZoneColors
def clearZoneColors(self)

Undocumented function.

clearZoneLabels
def clearZoneLabels(self)

Undocumented function.

collisionsOff
def collisionsOff(self)

Undocumented function.

collisionsOn
def collisionsOn(self)

Undocumented function.

colorZones
def colorZones(self)

Undocumented function.

computeWallNum
def computeWallNum(self, aDNAFlatBuilding, hitPt)

Given a hitPt, return wall number if cursor is over building Return -1 if cursor is outside of building

configureDriveModeCollisionData
def configureDriveModeCollisionData(self)

Set up the local avatar for collisions

consolidateStreetBuildings
def consolidateStreetBuildings(self)

Undocumented function.

convertToLandmarkBlocks
def convertToLandmarkBlocks(self, block, dnaRoot)

Find all the buildings without landmark blocks and assign them one.

createBattleCells
def createBattleCells(self)

Undocumented function.

createCornice
def createCornice(self)

Undocumented function.

createDoor
def createDoor(self, type)

Undocumented function.

createInsertionMarker
def createInsertionMarker(self)

Undocumented function.

createLevelMaps
def createLevelMaps(self)

Load up the various neighborhood maps

createMap
def createMap(self, neighborhood)

Undocumented function.

createNewGroup
def createNewGroup(self, type='dna')

Undocumented function.

createSign
def createSign(self)

Undocumented function.

createSuitPaths
def createSuitPaths(self)

Undocumented function.

createToplevel
def createToplevel(self, dnaNode, nodePath=None)

Undocumented function.

createWindows
def createWindows(self)

Undocumented function.

cvsAdd
def cvsAdd(self, filename)

Undocumented function.

cvsCommitAll
def cvsCommitAll(self)

Undocumented function.

cvsUpdate
def cvsUpdate(self, filename)

Undocumented function.

cvsUpdateAll
def cvsUpdateAll(self)

Undocumented function.

deleteToplevel
def deleteToplevel(self)

Undocumented function.

deselectedNodePathHook
def deselectedNodePathHook(self, nodePath)

Undocumented function.

destroy
def destroy(self)

Disable level editor and destroy node path

disable
def disable(self)

Disable level editing and hide level

disableMouse
def disableMouse(self)

Disable Pie Menu interaction

drawBattleCell
def drawBattleCell(self, cell, parent)

Undocumented function.

drawSuitEdge
def drawSuitEdge(self, edge, parent)

Undocumented function.

drawSuitPoint
def drawSuitPoint(self, suitPoint, pos, type, parent)

Undocumented function.

duplicateFlatBuilding
def duplicateFlatBuilding(self, oldDNANode)

Undocumented function.

editDNAVisGroups
def editDNAVisGroups(self)

Undocumented function.

enable
def enable(self)

Enable level editing and show level

enableMouse
def enableMouse(self)

Enable Pie Menu interaction (and disable player camera control)

enterZone
def enterZone(self, newZone)

Undocumented function.

extractGroupName
def extractGroupName(self, groupFullName)

Undocumented function.

findBldgEndPoint
def findBldgEndPoint(self, bldgWidth, curve, currT, currPoint, startT=None, endT=None, tolerance=0.1, rd=0)

Undocumented function.

findDNANode
def findDNANode(self, nodePath)

Find node path's DNA Object in DNAStorage (if any)

findDNAParent
def findDNAParent(self, nodePath)

Walk up a node path's ancestry looking for its DNA Root

findDNARoot
def findDNARoot(self, nodePath)

Walk up a node path's ancestry looking for its DNA Root

findHighestLandmarkBlock
def findHighestLandmarkBlock(self, dnaRoot, npRoot)

Undocumented function.

findParentVisGroup
def findParentVisGroup(self, nodePath)

Find the containing vis group

findPointOrCell
def findPointOrCell(self, nodePath)

Walk up a node path's ancestry to see if its a suit point marker or a battle cell marker

findSuitEdge
def findSuitEdge(self, nodePath)

Walk up a node path's ancestry looking for a suit edge

getAttribute
def getAttribute(self, attribute)

Return specified attribute for current neighborhood

getBattleCellFromNodePath
def getBattleCellFromNodePath(self, nodePath)

Given a node path, attempt to find the battle cell, nodePath pair in the cellDict. If it is there, return the cell. If we cannot find it, return None. TODO: a reverse lookup cellDict would speed this up quite a bit

getBldg
def getBldg(self, bldgIndex, bldgs, forceDuplicate=False)

Undocumented function.

getBlockFromName
def getBlockFromName(self, name)

Undocumented function.

getBuildingWidth
def getBuildingWidth(self, bldg)

Undocumented function.

getCurrent
def getCurrent(self, attribute)

Return neighborhood's current selection for specified attribute

getDict
def getDict(self, attribute)

Return neighborhood's Dictionary for specified attribute

getDNAData
def getDNAData(self)

Undocumented function.

getDNAParent
def getDNAParent(self)

Undocumented function.

getDNATarget
def getDNATarget(self)

Undocumented function.

getDNAToplevel
def getDNAToplevel(self)

Undocumented function.

getDNAVisGroups
def getDNAVisGroups(self, nodePath)

Find the highest level vis groups in the scene graph

getEditMode
def getEditMode(self)

Undocumented function.

getFlatBuildingMode
def getFlatBuildingMode(self, dnaObject, modifiers)

Undocumented function.

getGridIntersectionPoint
def getGridIntersectionPoint(self)

Return point of intersection between ground plane and line from cam through mouse. Return false, if nothing selected

getGridSnapIntersectionPoint
def getGridSnapIntersectionPoint(self)

Return point of intersection between ground plane and line from cam through mouse. Return false, if nothing selected. Snap to grid.

getGroupNum
def getGroupNum(self)

Undocumented function.

getLandmarkBuildingMode
def getLandmarkBuildingMode(self, dnaObject, modifiers)

Undocumented function.

getLastAngle
def getLastAngle(self)

Undocumented function.

getList
def getList(self, attribute)

Return neighborhood's List for specified attribute

getMenu
def getMenu(self, attribute)

Return neighborhood's Pie Menu object for specified attribute

getNextLandmarkBlock
def getNextLandmarkBlock(self)

Undocumented function.

getNextSnapPoint
def getNextSnapPoint(self)

Pull next pos hpr deltas off of snap list then rotate list

getNPParent
def getNPParent(self)

Undocumented function.

getNPToplevel
def getNPToplevel(self)

Undocumented function.

getRandomDictionaryEntry
def getRandomDictionaryEntry(self, dict)

Undocumented function.

getRandomHeightList
def getRandomHeightList(self, buildingHeight)

Undocumented function.

getRandomWallWidth
def getRandomWallWidth(self)

Undocumented function.

getRandomWindowCount
def getRandomWindowCount(self)

Undocumented function.

getSnapPoint
def getSnapPoint(self, code)

Undocumented function.

getSuitPointFromNodePath
def getSuitPointFromNodePath(self, nodePath)

Given a node path, attempt to find the point, nodePath pair in the pointDict. If it is there, return the point. If we cannot find it, return None. TODO: a reverse lookup pointDict would speed this up quite a bit

getWall
def getWall(self, dnaFlatBuilding, wallNum)

Undocumented function.

getWallIntersectionPoint
def getWallIntersectionPoint(self, selectedNode)

Return point of intersection between building's wall and line from cam through mouse.

getWindowCount
def getWindowCount(self, dnaWall)

Undocumented function.

hasAttribute
def hasAttribute(self, attribute)

Return specified attribute for current neighborhood

hideAllVisibles
def hideAllVisibles(self)

Undocumented function.

hideBattleCells
def hideBattleCells(self)

Undocumented function.

hideSuitPaths
def hideSuitPaths(self)

Undocumented function.

highlightConnected
def highlightConnected(self, nodePath=None, fReversePath=0)

Undocumented function.

highlightConnectedRec
def highlightConnectedRec(self, suitPoint, fReversePath)

Undocumented function.

initDNANode
def initDNANode(self, dnaNode)

This method adds a new DNA object to the scene and adds hooks that allow duplicate copies of this DNA node to be added using the space bar. For DNAFlatBuildings, a new copy with random style is generated by hitting the insert key.

initNodePath
def initNodePath(self, dnaNode, hotKey=None)

Update DNA to reflect latest style choices and then generate new node path and add it to the scene graph

initVisibilityData
def initVisibilityData(self)

Undocumented function.

insertionMarkerTask
def insertionMarkerTask(self, state)

Undocumented function.

jumpToInsertionPoint
def jumpToInsertionPoint(self)

Move selected object to insertion point

keyboardRotateSelected
def keyboardRotateSelected(self, arrowDirection)

Rotate selected objects using arrow keys

keyboardTranslateSelected
def keyboardTranslateSelected(self, arrowDirection)

Undocumented function.

keyboardXformSelected
def keyboardXformSelected(self, arrowDirection, mode)

Undocumented function.

labelZones
def labelZones(self)

Undocumented function.

landmarkBlockRemove
def landmarkBlockRemove(self, dna, nodePath)

Undocumented function.

lerpCameraP
def lerpCameraP(self, p, time)

lerp the camera P over time (used by the battle)

levelHandleMouse3
def levelHandleMouse3(self, modifiers)

Undocumented function.

levelHandleMouse3Up
def levelHandleMouse3Up(self)

Undocumented function.

loadDNAFromFile
def loadDNAFromFile(self, filename)

Undocumented function.

loadSpecifiedDNAFile
def loadSpecifiedDNAFile(self)

Undocumented function.

loadStreetCurve
def loadStreetCurve(self)

Undocumented function.

makeLongStreet
def makeLongStreet(self)

Undocumented function.

makeNewBuildingGroup
def makeNewBuildingGroup(self, sequenceNum, side, curveName)

Undocumented function.

makeSideStreets
def makeSideStreets(self, curves)

Each side in a sidestreet MUST be in 1 building group, otherwise the 2nd half of a building group could be very far away. This would cause the stashing and unstashing code to go off kilter.

makeStreetAlongCurve
def makeStreetAlongCurve(self)

Undocumented function.

outputDNA
def outputDNA(self, filename)

Undocumented function.

outputDNADefaultFile
def outputDNADefaultFile(self)

Undocumented function.

pageDown
def pageDown(self)

Undocumented function.

pageUp
def pageUp(self)

Undocumented function.

pdbBreak
def pdbBreak(self)

Undocumented function.

placeBattleCell
def placeBattleCell(self)

Undocumented function.

placeSuitPoint
def placeSuitPoint(self)

Undocumented function.

remove
def remove(self, dnaNode, nodePath)

Delete DNA and Node relation from DNA Store and remove the node path from the scene graph.

removeCornice
def removeCornice(self, cornice, parent)

Undocumented function.

removeDoor
def removeDoor(self, door, parent)

Undocumented function.

removeLandmarkDoor
def removeLandmarkDoor(self, door, parent)

Undocumented function.

removeNodePathHook
def removeNodePathHook(self, nodePath)

Undocumented function.

removeSign
def removeSign(self, sign, parent)

Undocumented function.

removeWindows
def removeWindows(self, windows, parent)

Undocumented function.

renameFloorPolys
def renameFloorPolys(self, nodeList)

Undocumented function.

reparent
def reparent(self, nodePath, oldParent, newParent)

Move node path (and its DNA) to active parent

reparentStreetBuildings
def reparentStreetBuildings(self, nodePath)

Undocumented function.

replace
def replace(self, nodePath, dnaNode)

Replace a node path with the results of a DNANode traversal

replaceSelected
def replaceSelected(self)

Undocumented function.

reset
def reset(self, fDeleteToplevel=1, fCreateToplevel=1, fUpdateExplorer=1)

Reset level and re-initialize main class variables Pass in the new top level group

resetBattleCellMarkers
def resetBattleCellMarkers(self)

Undocumented function.

resetPathMarkers
def resetPathMarkers(self)

Undocumented function.

revertLandmarkBlock
def revertLandmarkBlock(self, block)

un-block flat buildings (set them to block zero).

saveBaselineStyle
def saveBaselineStyle(self)

Undocumented function.

saveBuildingStyle
def saveBuildingStyle(self)

Undocumented function.

saveColor
def saveColor(self)

Undocumented function.

saveStyle
def saveStyle(self, filename, style)

Undocumented function.

saveToSpecifiedDNAFile
def saveToSpecifiedDNAFile(self)

Undocumented function.

saveWallStyle
def saveWallStyle(self)

Undocumented function.

selectedNodePathHook
def selectedNodePathHook(self, nodePath)

Hook called upon selection of a node path used to restrict selection to DNA Objects. Press control to select any type of DNA Object, with no control key pressed, hook selects only DNA Root objects

selectMap
def selectMap(self, neighborhood)

Undocumented function.

setActiveParent
def setActiveParent(self, nodePath=None)

Set NPParent and DNAParent to node path and its DNA

setBuildingStyle
def setBuildingStyle(self, style)

Undocumented function.

setBuildingType
def setBuildingType(self, type)

Undocumented function.

setBuildingWidth
def setBuildingWidth(self, width)

Undocumented function.

setColor
def setColor(self, nodePath, r, g, b, a)

This is used to set color of dnaNode subparts

setCurrent
def setCurrent(self, attribute, newCurrent)

Set neighborhood's current selection for specified attribute

setDNATargetCode
def setDNATargetCode(self, type, code)

Undocumented function.

setDNATargetColor
def setDNATargetColor(self, color)

Undocumented function.

setDNATargetOrientation
def setDNATargetOrientation(self, orientation)

Undocumented function.

setEditMode
def setEditMode(self, neighborhood)

Undocumented function.

setGroupNum
def setGroupNum(self, num)

Undocumented function.

setLastAngle
def setLastAngle(self, angle)

Undocumented function.

setName
def setName(self, nodePath, newName)

Set name of nodePath's DNA (if it exists)

setRandomBuildingStyle
def setRandomBuildingStyle(self, dnaNode, name='building')

Initialize a new DNA Flat building to a random building style

setWallStyle
def setWallStyle(self, style)

Undocumented function.

setWindowCount
def setWindowCount(self, count)

Undocumented function.

showAllVisibles
def showAllVisibles(self)

Undocumented function.

showBattleCells
def showBattleCells(self)

Undocumented function.

showGrid
def showGrid(self, flag)

toggle direct grid

showSuitPaths
def showSuitPaths(self)

Undocumented function.

spawnInsertionMarkerTask
def spawnInsertionMarkerTask(self)

Undocumented function.

switchToDriveMode
def switchToDriveMode(self, state)

Disable direct camera manipulation and enable player drive mode

toggleCollisions
def toggleCollisions(self)

Undocumented function.

toggleMapVis
def toggleMapVis(self, flag)

Undocumented function.

toggleShowLandmarkBlock
def toggleShowLandmarkBlock(self)

Undocumented function.

toggleVisibility
def toggleVisibility(self)

Undocumented function.

toggleZoneColors
def toggleZoneColors(self)

Undocumented function.

traversalOff
def traversalOff(self)

Undocumented function.

traversalOn
def traversalOn(self)

Undocumented function.

updateBarricadeDict
def updateBarricadeDict(self, side, barricadeOrigNum, curBldgGroupIndex)

Undocumented function.

updatePose
def updatePose(self, dnaObject, nodePath)

Update a DNA Object's pos, hpr, and scale based upon node path's current pose

updateSelectedPose
def updateSelectedPose(self, nodePathList)

Update the DNA database to reflect selected objects current positions

useDirectFly
def useDirectFly(self)

Disable player camera controls/enable direct camera control

useDriveMode
def useDriveMode(self)

Lerp down to eye level then switch to Drive mode

visibilityOff
def visibilityOff(self)

Undocumented function.

visibilityOn
def visibilityOn(self)

Undocumented function.


LevelEditorPanel

    from direct.leveleditor.LevelEditor import LevelEditorPanel

Inheritance:

    LevelEditorPanel:

Methods of LevelEditorPanel:

    __init__
    addBaseline
    addBaselineItem
    addFlatBuilding
    addLandmark
    addProp
    addSignGraphic
    addStreet
    adjustBaselineFlag
    deleteSignItem
    findSignFromDNARoot
    selectSignBaseline
    selectSignBaselineItem
    setAllCaps
    setBaselineString
    setBattleCellType
    setBigFirstLetter
    setCurrentColor
    setDNATargetRoll
    setDNATargetScaleX
    setDNATargetScaleZ
    setDNATargetX
    setDNATargetZ
    setDropShadow
    setFlatBuildingHeight
    setFlatBuildingType
    setLandmarkSpecialType
    setLandmarkType
    setPropType
    setResetColor
    setSignBaselineCurve
    setSignBaselineKern
    setSignBaselineStomp
    setSignBaselineStumble
    setSignBaselineStyle
    setSignBaselineWiggle
    setSignBaslineFont
    setStreetModuleType
    setSuitPointType
    signBaselineTrace
    signPanelSync
    toggleBalloon
    toggleBattleCells
    toggleGrid
    toggleHprSnap
    toggleMapVis
    toggleMaya
    toggleSuitPaths
    toggleXyzSnap
    toggleZoneLabels
    updateHeightList
    updateInfo
    updateSelectedObjColor
    updateSelectedWallWidth
    updateSignPage
__init__
def __init__(self, levelEditor, parent=None, **kw)

Undocumented function.

addBaseline
def addBaseline(self)

Undocumented function.

addBaselineItem
def addBaselineItem(self)

Undocumented function.

addFlatBuilding
def addFlatBuilding(self)

Undocumented function.

addLandmark
def addLandmark(self)

Undocumented function.

addProp
def addProp(self)

Undocumented function.

addSignGraphic
def addSignGraphic(self, code)

Create a new baseline with a graphic and add it to the current sign

addStreet
def addStreet(self)

Undocumented function.

adjustBaselineFlag
def adjustBaselineFlag(self, newValue, flagChar)

Undocumented function.

deleteSignItem
def deleteSignItem(self)

Delete the selected sign or sign baseline

findSignFromDNARoot
def findSignFromDNARoot(self)

Undocumented function.

selectSignBaseline
def selectSignBaseline(self, val)

Undocumented function.

selectSignBaselineItem
def selectSignBaselineItem(self, val)

Undocumented function.

setAllCaps
def setAllCaps(self)

Undocumented function.

setBaselineString
def setBaselineString(self, val)

Undocumented function.

setBattleCellType
def setBattleCellType(self, name)

Undocumented function.

setBigFirstLetter
def setBigFirstLetter(self)

Undocumented function.

setCurrentColor
def setCurrentColor(self, colorVec, fUpdate=0)

Undocumented function.

setDNATargetRoll
def setDNATargetRoll(self, val)

Undocumented function.

setDNATargetScaleX
def setDNATargetScaleX(self, val)

Undocumented function.

setDNATargetScaleZ
def setDNATargetScaleZ(self, val)

Undocumented function.

setDNATargetX
def setDNATargetX(self, val)

Undocumented function.

setDNATargetZ
def setDNATargetZ(self, val)

Undocumented function.

setDropShadow
def setDropShadow(self)

Undocumented function.

setFlatBuildingHeight
def setFlatBuildingHeight(self)

Undocumented function.

setFlatBuildingType
def setFlatBuildingType(self, name)

Undocumented function.

setLandmarkSpecialType
def setLandmarkSpecialType(self, type)

Undocumented function.

setLandmarkType
def setLandmarkType(self, name)

Undocumented function.

setPropType
def setPropType(self, name)

Undocumented function.

setResetColor
def setResetColor(self, colorVec)

Undocumented function.

setSignBaselineCurve
def setSignBaselineCurve(self, val)

Undocumented function.

setSignBaselineKern
def setSignBaselineKern(self, val)

Undocumented function.

setSignBaselineStomp
def setSignBaselineStomp(self, val)

Undocumented function.

setSignBaselineStumble
def setSignBaselineStumble(self, val)

Undocumented function.

setSignBaselineStyle
def setSignBaselineStyle(self, val)

Undocumented function.

setSignBaselineWiggle
def setSignBaselineWiggle(self, val)

Undocumented function.

setSignBaslineFont
def setSignBaslineFont(self, val)

Undocumented function.

setStreetModuleType
def setStreetModuleType(self, name)

Undocumented function.

setSuitPointType
def setSuitPointType(self, name)

Undocumented function.

signBaselineTrace
def signBaselineTrace(self, a, b, mode)

Undocumented function.

signPanelSync
def signPanelSync(self)

Undocumented function.

toggleBalloon
def toggleBalloon(self)

Undocumented function.

toggleBattleCells
def toggleBattleCells(self)

Undocumented function.

toggleGrid
def toggleGrid(self)

Undocumented function.

toggleHprSnap
def toggleHprSnap(self)

Undocumented function.

toggleMapVis
def toggleMapVis(self)

Undocumented function.

toggleMaya
def toggleMaya(self)

Undocumented function.

toggleSuitPaths
def toggleSuitPaths(self)

Undocumented function.

toggleXyzSnap
def toggleXyzSnap(self)

Undocumented function.

toggleZoneLabels
def toggleZoneLabels(self)

Undocumented function.

updateHeightList
def updateHeightList(self, height)

Undocumented function.

updateInfo
def updateInfo(self, page)

Undocumented function.

updateSelectedObjColor
def updateSelectedObjColor(self, color)

Undocumented function.

updateSelectedWallWidth
def updateSelectedWallWidth(self, strVal)

Undocumented function.

updateSignPage
def updateSignPage(self)

Undocumented function.


LevelStyleManager

    from direct.leveleditor.LevelEditor import LevelStyleManager
    Class which reads in style files and manages class variables

Inheritance:

    LevelStyleManager:

Methods of LevelStyleManager:

    __init__
    createBaselineStyleAttributes
    createBaselineStyleDictionary
    createBaselineStyleMenu
    createBaselineStyleSample
    createBuildingStyleAttributes
    createBuildingStyleDictionary
    createBuildingStyleMenu
    createBuildingStyleSample
    createColorAttributes
    createColorDictionary
    createColorMenu
    createColorMenus
    createDNAAttributes
    createDNAPieMenu
    createMiscAttribute
    createMiscAttributes
    createTextPieMenu
    createWallStyleAttributes
    createWallStyleDictionary
    createWallStyleMenu
    createWallStyleSample
    extractBaselineStyle
    extractWallStyle
    getAttribute
    getCatalogCode
    getCatalogCodes
    getCatalogCodesSuffix
    getColorDictionary
    getEditMode
    getStyleFileData
    hasAttribute
    initializeBaselineStyleDictionary
    initializeBuildingStyleDictionary
    initializeWallStyleDictionary
    printFlatBuildingStyle
    printWallStyle
    setDNAFlatBuildingStyle
    setDNAWallStyle
    setEditMode
__init__
def __init__(self)

Undocumented function.

createBaselineStyleAttributes
def createBaselineStyleAttributes(self)

Create a baselineStyle entry in the attribute dictionary This will be a dictionary of style attributes, one per neighborhood

createBaselineStyleDictionary
def createBaselineStyleDictionary(self, neighborhood)

Create a dictionary of baseline styles for a neighborhood

createBaselineStyleMenu
def createBaselineStyleMenu(self, neighborhood, dictionary)

Create a baseline style pie menu

createBaselineStyleSample
def createBaselineStyleSample(self, baselineStyle)

Create a style sample using the DNA info in the style

createBuildingStyleAttributes
def createBuildingStyleAttributes(self)

Create a buildingStyle entry in the attribute dictionary This will be a dictionary of style attributes, one per neighborhood This information is sorted and stored by num walls, building height, and building type (e.g. 10_20, or 10_10_10).

createBuildingStyleDictionary
def createBuildingStyleDictionary(self, neighborhood)

Create a dictionary of wall styles for a neighborhood

createBuildingStyleMenu
def createBuildingStyleMenu(self, neighborhood, dictionary)

Create a wall style pie menu

createBuildingStyleSample
def createBuildingStyleSample(self, bldgStyle)

Create a style sample using the DNA info in the style

createColorAttributes
def createColorAttributes(self)

Undocumented function.

createColorDictionary
def createColorDictionary(self, neighborhood)

Undocumented function.

createColorMenu
def createColorMenu(self, menuName, colorList, radius=0.7, sf=2.0)

Undocumented function.

createColorMenus
def createColorMenus(self, neighborhood, dictionary)

Undocumented function.

createDNAAttributes
def createDNAAttributes(self)

Undocumented function.

createDNAPieMenu
def createDNAPieMenu(self, dnaType, dnaList, radius=0.7, sf=1.0)

Undocumented function.

createMiscAttribute
def createMiscAttribute(self, miscType, miscList, sf=3.0)

Undocumented function.

createMiscAttributes
def createMiscAttributes(self)

Undocumented function.

createTextPieMenu
def createTextPieMenu(self, dnaType, textList, radius=0.7, sf=1.0)

Undocumented function.

createWallStyleAttributes
def createWallStyleAttributes(self)

Create a wallStyle entry in the attribute dictionary This will be a dictionary of style attributes, one per neighborhood

createWallStyleDictionary
def createWallStyleDictionary(self, neighborhood)

Create a dictionary of wall styles for a neighborhood

createWallStyleMenu
def createWallStyleMenu(self, neighborhood, dictionary)

Create a wall style pie menu

createWallStyleSample
def createWallStyleSample(self, wallStyle)

Create a style sample using the DNA info in the style

extractBaselineStyle
def extractBaselineStyle(self, styleData)

Pull out one style from a list of style data. Will keep processing data until endBaselineStyle of end of data is reached. Returns a baseline style and remaining styleData.

extractWallStyle
def extractWallStyle(self, styleData)

Pull out one style from a list of style data. Will keep processing data until endWallStyle of end of data is reached. Returns a wall style and remaining styleData.

getAttribute
def getAttribute(self, attribute)

Return specified attribute for current neighborhood

getCatalogCode
def getCatalogCode(self, category, i)

Undocumented function.

getCatalogCodes
def getCatalogCodes(self, category)

Undocumented function.

getCatalogCodesSuffix
def getCatalogCodesSuffix(self, category, suffix)

Undocumented function.

getColorDictionary
def getColorDictionary(self, colorData)

Undocumented function.

getEditMode
def getEditMode(self)

Get current neighborhood editing mode

getStyleFileData
def getStyleFileData(self, filename)

Open the specified file and strip out unwanted whitespace and empty lines. Return file as list, one file line per element.

hasAttribute
def hasAttribute(self, attribute)

Return specified attribute for current neighborhood

initializeBaselineStyleDictionary
def initializeBaselineStyleDictionary(self, styleData, neighborhood)

Fill in the baseline style dictionary with data from the style file

initializeBuildingStyleDictionary
def initializeBuildingStyleDictionary(self, styleData, neighborhood)

Fill in the building style dictionary with data from the style file

initializeWallStyleDictionary
def initializeWallStyleDictionary(self, styleData, neighborhood)

Fill in the wall style dictionary with data from the style file

printFlatBuildingStyle
def printFlatBuildingStyle(self, building)

Undocumented function.

printWallStyle
def printWallStyle(self, wall)

Undocumented function.

setDNAFlatBuildingStyle
def setDNAFlatBuildingStyle(self, fb, bldgStyle, width=10.0, heightList=None, name='building')

Set DNAFlatBuilding style.

setDNAWallStyle
def setDNAWallStyle(self, wall, style, height=10.0, width=None)

Set DNAWall to input style.

setEditMode
def setEditMode(self, mode)

Set current neighborhood editing mode


Light

    from pandac.PandaModules import Light
    Class : Light
    Description : The abstract interface to all kinds of lights. The actual light objects also inherit from PandaNode, and can therefore be added to the scene graph at some arbitrary point to define the coordinate system of effect.

Inheritance:

    Light: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of Light:

    asNode
    getClassPriority
    getClassType
    getColor
    getPriority
    setColor
    setPriority

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
asNode
virtual PandaNode *Light::as_node(void) = 0;

Undocumented function.

getClassPriority
virtual int Light::get_class_priority(void) const = 0;

Undocumented function.

getClassType
static TypeHandle Light::get_class_type(void);

Undocumented function.

getColor
LVecBase4f const &Light::get_color(void) const;

Description: Returns the basic color of the light.

getPriority
int Light::get_priority(void) const;

Description: Returns the priority associated with this light. See set_priority().

setColor
void Light::set_color(LVecBase4f const &color);

Description: Sets the basic color of the light.

setPriority
void Light::set_priority(int priority);

Description: Changes the relative importance of this light relative to the other lights that are applied simultaneously.
The priority number is used to decide which of the requested lights are to be selected for rendering when more lights are requested than the hardware will support. The highest-priority n lights are selected for rendering.
This is similar to TextureStage::set_priority().

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LightAttrib

    from pandac.PandaModules import LightAttrib
    Class : LightAttrib
    Description : Indicates which set of lights should be considered "on" to illuminate geometry at this level and below. A LightAttrib can either add lights or remove lights from the total set of "on" lights.

Inheritance:

    LightAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LightAttrib:

    addLight
    addOffLight
    addOnLight
    filterToMax
    getClassType
    getLight
    getMostImportantLight
    getNumLights
    getNumOffLights
    getNumOnLights
    getOffLight
    getOnLight
    getOperation
    hasAllOff
    hasLight
    hasOffLight
    hasOnLight
    isIdentity
    make
    makeAllOff
    removeLight
    removeOffLight
    removeOnLight

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in LightAttrib:

    OSet | (Operation)
OAdd | (Operation)
ORemove | (Operation)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
addLight
ConstPointerTo< RenderAttrib > LightAttrib::add_light(Light *light) const;

Description: Returns a new LightAttrib, just like this one, but with the indicated light added to the list of lights.
This method is now deprecated. Use add_on_light() or add_off_light() instead.

addOffLight
ConstPointerTo< RenderAttrib > LightAttrib::add_off_light(NodePath const &light) const;

Description: Returns a new LightAttrib, just like this one, but with the indicated light added to the list of lights turned off by this attrib.

addOnLight
ConstPointerTo< RenderAttrib > LightAttrib::add_on_light(NodePath const &light) const;

Description: Returns a new LightAttrib, just like this one, but with the indicated light added to the list of lights turned on by this attrib.

filterToMax
ConstPointerTo< LightAttrib > LightAttrib::filter_to_max(int max_lights) const;

Description: Returns a new LightAttrib, very much like this one, but with the number of on_lights reduced to be no more than max_lights. The number of off_lights in the new LightAttrib is undefined.
The number of AmbientLights is not included in the count. All AmbientLights in the original attrib are always included in the result, regardless of the value of max_lights.

getClassType
static TypeHandle LightAttrib::get_class_type(void);

Undocumented function.

getLight
Light *LightAttrib::get_light(int n) const;

Description: Returns the nth light listed in the attribute.
This method is now deprecated. LightAttribs nowadays have a separate list of on_lights and off_lights, so this method doesn't make sense. Query the lists independently.

getMostImportantLight
NodePath LightAttrib::get_most_important_light(void) const;

Description: Returns the most important light (that is, the light with the highest priority) in the LightAttrib, excluding any ambient lights. Returns an empty NodePath if no non-ambient lights are found.

getNumLights
int LightAttrib::get_num_lights(void) const;

Description: Returns the number of lights listed in the attribute.
This method is now deprecated. LightAttribs nowadays have a separate list of on_lights and off_lights, so this method doesn't make sense. Query the lists independently.

getNumOffLights
int LightAttrib::get_num_off_lights(void) const;

Description: Returns the number of lights that are turned off by the attribute.

getNumOnLights
int LightAttrib::get_num_on_lights(void) const;

Description: Returns the number of lights that are turned on by the attribute.

getOffLight
NodePath LightAttrib::get_off_light(int n) const;

Description: Returns the nth light turned off by the attribute, sorted in arbitrary (pointer) order.

getOnLight
NodePath LightAttrib::get_on_light(int n) const;

Description: Returns the nth light turned on by the attribute, sorted in render order.

getOperation
LightAttrib::Operation LightAttrib::get_operation(void) const;

Description: Returns the basic operation type of the LightAttrib. If this is O_set, the lights listed here completely replace any lights that were already on. If this is O_add, the lights here are added to the set of of lights that were already on, and if O_remove, the lights here are removed from the set of lights that were on.
This method is now deprecated. LightAttribs nowadays have a separate list of on_lights and off_lights, so this method doesn't make sense. Query the lists independently.

hasAllOff
bool LightAttrib::has_all_off(void) const;

Description: Returns true if this attrib turns off all lights (although it may also turn some on).

hasLight
bool LightAttrib::has_light(Light *light) const;

Description: Returns true if the indicated light is listed in the attrib, false otherwise.
This method is now deprecated. LightAttribs nowadays have a separate list of on_lights and off_lights, so this method doesn't make sense. Query the lists independently.

hasOffLight
bool LightAttrib::has_off_light(NodePath const &light) const;

Description: Returns true if the indicated light is turned off by the attrib, false otherwise.

hasOnLight
bool LightAttrib::has_on_light(NodePath const &light) const;

Description: Returns true if the indicated light is turned on by the attrib, false otherwise.

isIdentity
bool LightAttrib::is_identity(void) const;

Description: Returns true if this is an identity attrib: it does not change the set of lights in use.

make
static ConstPointerTo< RenderAttrib > LightAttrib::make(LightAttrib::Operation op, Light *light);

The following is the new, more general interface to the LightAttrib.
Description: Constructs a new LightAttrib object that turns on (or off, according to op) the indicated light(s).
This method is now deprecated. Use add_on_light() or add_off_light() instead.
Description: Constructs a new LightAttrib object that turns on (or off, according to op) the indicate light(s).
Description: Constructs a new LightAttrib object that does nothing.

makeAllOff
static ConstPointerTo< RenderAttrib > LightAttrib::make_all_off(void);

The following is the new, more general interface to the LightAttrib.
Description: Constructs a new LightAttrib object that turns off all lights (and hence disables lighting).

removeLight
ConstPointerTo< RenderAttrib > LightAttrib::remove_light(Light *light) const;

Description: Returns a new LightAttrib, just like this one, but with the indicated light removed from the list of lights.
This method is now deprecated. Use remove_on_light() or remove_off_light() instead.

removeOffLight
ConstPointerTo< RenderAttrib > LightAttrib::remove_off_light(NodePath const &light) const;

Description: Returns a new LightAttrib, just like this one, but with the indicated light removed from the list of lights turned off by this attrib.

removeOnLight
ConstPointerTo< RenderAttrib > LightAttrib::remove_on_light(NodePath const &light) const;

Description: Returns a new LightAttrib, just like this one, but with the indicated light removed from the list of lights turned on by this attrib.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LightLensNode

    from pandac.PandaModules import LightLensNode
    Class : LightLensNode
    Description : A derivative of Light and of LensNode.

Inheritance:

    LightLensNode: Light LensNode
    Light: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:
    LensNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    Namable:
    LinkedListNode:

Methods of LightLensNode:

    getClassType
    output
    write

Methods of Light:

    asNode
    getClassPriority
    getClassType
    getColor
    getPriority
    setColor
    setPriority

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of LensNode:

    LensNode (Constructor)
    copyLens
    getClassType
    getLens
    hideFrustum
    isInView
    setLens
    showFrustum

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
getClassType
static TypeHandle LightLensNode::get_class_type(void);

Undocumented function.

output
virtual void LightLensNode::output(ostream &out) const;

We have to explicitly publish these because they resolve the multiple inheritance.
Description:

write
virtual void LightLensNode::write(ostream &out, int indent_level = (0)) const;

We have to explicitly publish these because they resolve the multiple inheritance.
Description:

asNode
virtual PandaNode *Light::as_node(void) = 0;

Undocumented function.

getClassPriority
virtual int Light::get_class_priority(void) const = 0;

Undocumented function.

getClassType
static TypeHandle Light::get_class_type(void);

Undocumented function.

getColor
LVecBase4f const &Light::get_color(void) const;

Description: Returns the basic color of the light.

getPriority
int Light::get_priority(void) const;

Description: Returns the priority associated with this light. See set_priority().

setColor
void Light::set_color(LVecBase4f const &color);

Description: Sets the basic color of the light.

setPriority
void Light::set_priority(int priority);

Description: Changes the relative importance of this light relative to the other lights that are applied simultaneously.
The priority number is used to decide which of the requested lights are to be selected for rendering when more lights are requested than the hardware will support. The highest-priority n lights are selected for rendering.
This is similar to TextureStage::set_priority().

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

LensNode
LensNode::LensNode(string const &name);

Description:

copyLens
void LensNode::copy_lens(Lens const &lens);

Description: Sets up the LensNode using a copy of the indicated Lens. If the original Lens is changed or destroyed, this LensNode is not affected.

getClassType
static TypeHandle LensNode::get_class_type(void);

Undocumented function.

getLens
Lens *LensNode::get_lens(void) const;

Description: Returns a pointer to the particular Lens associated with this LensNode, or NULL if there is not yet a Lens associated.

hideFrustum
void LensNode::hide_frustum(void);

Description: Disables the drawing of the lens's frustum to aid in visualization.

isInView
bool LensNode::is_in_view(LPoint3f const &pos);

Description: Returns true if the given point is within the bounds of the lens of the LensNode (i.e. if the camera can see the point).

setLens
void LensNode::set_lens(Lens *lens);

Description: Sets up the LensNode using this particular Lens pointer. If the lens is subsequently modified, the LensNode properties immediately reflect the change.

showFrustum
void LensNode::show_frustum(void);

Description: Enables the drawing of the lens's frustum to aid in visualization. This actually creates a GeomNode which is parented to the LensNode.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


LightNode

    from pandac.PandaModules import LightNode
    Class : LightNode
    Description : A derivative of Light and of PandaNode. All kinds of Light except Spotlight (which must inherit from LensNode instead) inherit from this class.

Inheritance:

    LightNode: Light PandaNode
    Light: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    Namable:
    LinkedListNode:

Methods of LightNode:

    getClassType
    output
    write

Methods of Light:

    asNode
    getClassPriority
    getClassType
    getColor
    getPriority
    setColor
    setPriority

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
getClassType
static TypeHandle LightNode::get_class_type(void);

Undocumented function.

output
virtual void LightNode::output(ostream &out) const;

We have to explicitly publish these because they resolve the multiple inheritance.
Description:

write
virtual void LightNode::write(ostream &out, int indent_level = (0)) const;

We have to explicitly publish these because they resolve the multiple inheritance.
Description:

asNode
virtual PandaNode *Light::as_node(void) = 0;

Undocumented function.

getClassPriority
virtual int Light::get_class_priority(void) const = 0;

Undocumented function.

getClassType
static TypeHandle Light::get_class_type(void);

Undocumented function.

getColor
LVecBase4f const &Light::get_color(void) const;

Description: Returns the basic color of the light.

getPriority
int Light::get_priority(void) const;

Description: Returns the priority associated with this light. See set_priority().

setColor
void Light::set_color(LVecBase4f const &color);

Description: Sets the basic color of the light.

setPriority
void Light::set_priority(int priority);

Description: Changes the relative importance of this light relative to the other lights that are applied simultaneously.
The priority number is used to decide which of the requested lights are to be selected for rendering when more lights are requested than the hardware will support. The highest-priority n lights are selected for rendering.
This is similar to TextureStage::set_priority().

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


LightRampAttrib

    from pandac.PandaModules import LightRampAttrib
    Class : LightRampAttrib
    Description : A Light Ramp is any unary operator that takes a rendered pixel as input, and adjusts the brightness of that pixel. For example, gamma correction is a kind of light ramp. So is HDR tone mapping. So is cartoon shading. See the constructors for an explanation of each kind of ramp.

Inheritance:

    LightRampAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LightRampAttrib:

    getClassType
    getLevel
    getMode
    getThreshold
    makeDefault
    makeDoubleThreshold
    makeHdr0
    makeHdr1
    makeHdr2
    makeIdentity
    makeSingleThreshold

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in LightRampAttrib:

    LRTDefault | (LightRampMode)
LRTIdentity | (LightRampMode)
LRTSingleThreshold | (LightRampMode)
LRTDoubleThreshold | (LightRampMode)
LRTHdr0 | (LightRampMode)
LRTHdr1 | (LightRampMode)
LRTHdr2 | (LightRampMode)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle LightRampAttrib::get_class_type(void);

Undocumented function.

getLevel
float LightRampAttrib::get_level(int n) const;

Description: Returns the nth lighting level.

getMode
LightRampAttrib::LightRampMode LightRampAttrib::get_mode(void) const;

Description: Returns the LightRampAttrib mode.

getThreshold
float LightRampAttrib::get_threshold(int n) const;

Description: Returns the nth threshold level.

makeDefault
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_default(void);

Description: Constructs a new LightRampAttrib object. This is the standard OpenGL lighting ramp, which clamps the final light total to the 0-1 range.

makeDoubleThreshold
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_double_threshold(float thresh0, float lev0, float thresh1, float lev1);

Description: Constructs a new LightRampAttrib object. This causes the luminance of the diffuse lighting contribution to be quantized using two thresholds:
if (original_luminance > threshold1) { luminance = level1; } else if (original_luminance > threshold0) { luminance = level0; } else { luminance = 0.0; }

makeHdr0
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_hdr0(void);

Description: Constructs a new LightRampAttrib object. This causes an HDR tone mapping operation to be applied.
Normally, brightness values greater than 1 cannot be distinguished from each other, causing very brightly lit objects to wash out white and all detail to be erased. HDR tone mapping remaps brightness values in the range 0-infinity into the range (0,1), making it possible to distinguish detail in scenes whose brightness exceeds 1.
However, the monitor has finite contrast. Normally, all of that contrast is used to represent brightnesses in the range 0-1. The HDR0 tone mapping operator 'steals' one quarter of that contrast to represent brightnesses in the range 1-infinity.
FINAL_RGB = (RGB^3 + RGB^2 + RGB) / (RGB^3 + RGB^2 + RGB + 1)

makeHdr1
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_hdr1(void);

Description: Constructs a new LightRampAttrib object. This causes an HDR tone mapping operation to be applied.
Normally, brightness values greater than 1 cannot be distinguished from each other, causing very brightly lit objects to wash out white and all detail to be erased. HDR tone mapping remaps brightness values in the range 0-infinity into the range (0,1), making it possible to distinguish detail in scenes whose brightness exceeds 1.
However, the monitor has finite contrast. Normally, all of that contrast is used to represent brightnesses in the range 0-1. The HDR1 tone mapping operator 'steals' one third of that contrast to represent brightnesses in the range 1-infinity.
FINAL_RGB = (RGB^2 + RGB) / (RGB^2 + RGB + 1)

makeHdr2
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_hdr2(void);

Description: Constructs a new LightRampAttrib object. This causes an HDR tone mapping operation to be applied.
Normally, brightness values greater than 1 cannot be distinguished from each other, causing very brightly lit objects to wash out white and all detail to be erased. HDR tone mapping remaps brightness values in the range 0-infinity into the range (0,1), making it possible to distinguish detail in scenes whose brightness exceeds 1.
However, the monitor has finite contrast. Normally, all of that contrast is used to represent brightnesses in the range 0-1. The HDR2 tone mapping operator 'steals' one half of that contrast to represent brightnesses in the range 1-infinity.
FINAL_RGB = (RGB) / (RGB + 1)

makeIdentity
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_identity(void);

Description: Constructs a new LightRampAttrib object. This differs from the usual OpenGL lighting model in that it does not clamp the final lighting total to (0,1).

makeSingleThreshold
static ConstPointerTo< RenderAttrib > LightRampAttrib::make_single_threshold(float thresh0, float lev0);

Description: Constructs a new LightRampAttrib object. This causes the luminance of the diffuse lighting contribution to be quantized using a single threshold:
if (original_luminance > threshold0) { luminance = level0; } else { luminance = 0.0; }

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LinearControlForce

    from pandac.PandaModules import LinearControlForce
    Class : LinearControlForce
    Description : Simple directed vector force. This force is different from the others in that it can be global and still only affect a single object. That might not make sense for a physics simulation, but it's very handy for a game. I.e. this is the force applied by user on the selected object.

Inheritance:

    LinearControlForce: LinearForce
    LinearForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LinearControlForce:

    LinearControlForce (Constructor)
    clearPhysicsObject
    getClassType
    getLocalVector
    getPhysicsObject
    setPhysicsObject
    setVector

Methods of LinearForce:

    getAmplitude
    getClassType
    getMassDependent
    getVector
    getVectorMasks
    makeCopy
    setAmplitude
    setMassDependent
    setVectorMasks
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
LinearControlForce
LinearControlForce::LinearControlForce(PhysicsObject const *po = (0), float a = (1), bool mass = (0));

Description : Vector Constructor
Description : Copy Constructor

clearPhysicsObject
void LinearControlForce::clear_physics_object(void);

Filename: linearControlForce.I Created by: Dave Schuyler (2006)
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."
Description : encapsulating wrapper

getClassType
static TypeHandle LinearControlForce::get_class_type(void);

Undocumented function.

getLocalVector
LVector3f LinearControlForce::get_local_vector(void) const;

Description :

getPhysicsObject
ConstPointerTo< PhysicsObject > LinearControlForce::get_physics_object(void) const;

Description : piecewise encapsulating wrapper

setPhysicsObject
void LinearControlForce::set_physics_object(PhysicsObject const *po);

Description : encapsulating wrapper

setVector
void LinearControlForce::set_vector(LVector3f const &v);

Description : encapsulating wrapper
Description : piecewise encapsulating wrapper

getAmplitude
float LinearForce::get_amplitude(void) const;

Undocumented function.

getClassType
static TypeHandle LinearForce::get_class_type(void);

Undocumented function.

getMassDependent
bool LinearForce::get_mass_dependent(void) const;

Undocumented function.

getVector
LVector3f LinearForce::get_vector(PhysicsObject const *po);

Undocumented function.

getVectorMasks
LVector3f LinearForce::get_vector_masks(void);

Undocumented function.

makeCopy
virtual LinearForce *LinearForce::make_copy(void) = 0;

Undocumented function.

setAmplitude
void LinearForce::set_amplitude(float const a);

Undocumented function.

setMassDependent
void LinearForce::set_mass_dependent(bool m);

Undocumented function.

setVectorMasks
void LinearForce::set_vector_masks(bool x, bool y, bool z);

Undocumented function.

write
virtual void LinearForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LinearCylinderVortexForce

    from pandac.PandaModules import LinearCylinderVortexForce
    Class : LinearCylinderVortexForce
    Description : Defines a cylinder inside of which all forces are tangential to the theta of the particle wrt the z-axis in local coord. space. This happens by assigning the force a node by which the cylinder is transformed. Be warned- this will suck anything that it can reach directly into orbit and will NOT let go.

Inheritance:

    LinearCylinderVortexForce: LinearForce
    LinearForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LinearCylinderVortexForce:

    LinearCylinderVortexForce (Constructor)
    getClassType
    getCoef
    getLength
    getRadius
    setCoef
    setLength
    setRadius

Methods of LinearForce:

    getAmplitude
    getClassType
    getMassDependent
    getVector
    getVectorMasks
    makeCopy
    setAmplitude
    setMassDependent
    setVectorMasks
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
LinearCylinderVortexForce
LinearCylinderVortexForce::LinearCylinderVortexForce(float radius = (1), float length = (0), float coef = (1), float a = (1), bool md = (0));

Description : Simple Constructor
Description : copy Constructor

getClassType
static TypeHandle LinearCylinderVortexForce::get_class_type(void);

Undocumented function.

getCoef
float LinearCylinderVortexForce::get_coef(void) const;

Undocumented function.

getLength
float LinearCylinderVortexForce::get_length(void) const;

Undocumented function.

getRadius
float LinearCylinderVortexForce::get_radius(void) const;

Undocumented function.

setCoef
void LinearCylinderVortexForce::set_coef(float coef);

Undocumented function.

setLength
void LinearCylinderVortexForce::set_length(float length);

Undocumented function.

setRadius
void LinearCylinderVortexForce::set_radius(float radius);

Undocumented function.

getAmplitude
float LinearForce::get_amplitude(void) const;

Undocumented function.

getClassType
static TypeHandle LinearForce::get_class_type(void);

Undocumented function.

getMassDependent
bool LinearForce::get_mass_dependent(void) const;

Undocumented function.

getVector
LVector3f LinearForce::get_vector(PhysicsObject const *po);

Undocumented function.

getVectorMasks
LVector3f LinearForce::get_vector_masks(void);

Undocumented function.

makeCopy
virtual LinearForce *LinearForce::make_copy(void) = 0;

Undocumented function.

setAmplitude
void LinearForce::set_amplitude(float const a);

Undocumented function.

setMassDependent
void LinearForce::set_mass_dependent(bool m);

Undocumented function.

setVectorMasks
void LinearForce::set_vector_masks(bool x, bool y, bool z);

Undocumented function.

write
virtual void LinearForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LinearDistanceForce

    from pandac.PandaModules import LinearDistanceForce
    Class : LinearDistanceForce
    Description : Pure virtual class for sinks and sources

Inheritance:

    LinearDistanceForce: LinearForce
    LinearForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LinearDistanceForce:

    getClassType
    getFalloffType
    getForceCenter
    getRadius
    getScalarTerm
    setFalloffType
    setForceCenter
    setRadius

Methods of LinearForce:

    getAmplitude
    getClassType
    getMassDependent
    getVector
    getVectorMasks
    makeCopy
    setAmplitude
    setMassDependent
    setVectorMasks
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in LinearDistanceForce:

    FTONEOVERR | (FalloffType)
FTONEOVERRSQUARED | (FalloffType)
FTONEOVERRCUBED | (FalloffType)
getClassType
static TypeHandle LinearDistanceForce::get_class_type(void);

Undocumented function.

getFalloffType
LinearDistanceForce::FalloffType LinearDistanceForce::get_falloff_type(void) const;

Description : falloff_type query

getForceCenter
LPoint3f LinearDistanceForce::get_force_center(void) const;

Description : force_center query

getRadius
float LinearDistanceForce::get_radius(void) const;

Description : radius query

getScalarTerm
float LinearDistanceForce::get_scalar_term(void) const;

Description : calculate the term based on falloff

setFalloffType
void LinearDistanceForce::set_falloff_type(LinearDistanceForce::FalloffType ft);

Description : falloff_type encapsulating wrap

setForceCenter
void LinearDistanceForce::set_force_center(LPoint3f const &p);

Description : set the force center

setRadius
void LinearDistanceForce::set_radius(float r);

Description : set the radius

getAmplitude
float LinearForce::get_amplitude(void) const;

Undocumented function.

getClassType
static TypeHandle LinearForce::get_class_type(void);

Undocumented function.

getMassDependent
bool LinearForce::get_mass_dependent(void) const;

Undocumented function.

getVector
LVector3f LinearForce::get_vector(PhysicsObject const *po);

Undocumented function.

getVectorMasks
LVector3f LinearForce::get_vector_masks(void);

Undocumented function.

makeCopy
virtual LinearForce *LinearForce::make_copy(void) = 0;

Undocumented function.

setAmplitude
void LinearForce::set_amplitude(float const a);

Undocumented function.

setMassDependent
void LinearForce::set_mass_dependent(bool m);

Undocumented function.

setVectorMasks
void LinearForce::set_vector_masks(bool x, bool y, bool z);

Undocumented function.

write
virtual void LinearForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LinearEulerIntegrator

    from pandac.PandaModules import LinearEulerIntegrator

Inheritance:

    LinearEulerIntegrator: LinearIntegrator
    LinearIntegrator: BaseIntegrator
    BaseIntegrator:

Methods of LinearEulerIntegrator:

    LinearEulerIntegrator (Constructor)
LinearEulerIntegrator
LinearEulerIntegrator::LinearEulerIntegrator(void);

Description : constructor


LinearForce

    from pandac.PandaModules import LinearForce

Inheritance:

    LinearForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LinearForce:

    getAmplitude
    getClassType
    getMassDependent
    getVector
    getVectorMasks
    makeCopy
    setAmplitude
    setMassDependent
    setVectorMasks
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getAmplitude
float LinearForce::get_amplitude(void) const;

Undocumented function.

getClassType
static TypeHandle LinearForce::get_class_type(void);

Undocumented function.

getMassDependent
bool LinearForce::get_mass_dependent(void) const;

Undocumented function.

getVector
LVector3f LinearForce::get_vector(PhysicsObject const *po);

Undocumented function.

getVectorMasks
LVector3f LinearForce::get_vector_masks(void);

Undocumented function.

makeCopy
virtual LinearForce *LinearForce::make_copy(void) = 0;

Undocumented function.

setAmplitude
void LinearForce::set_amplitude(float const a);

Undocumented function.

setMassDependent
void LinearForce::set_mass_dependent(bool m);

Undocumented function.

setVectorMasks
void LinearForce::set_vector_masks(bool x, bool y, bool z);

Undocumented function.

write
virtual void LinearForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LinearFrictionForce

    from pandac.PandaModules import LinearFrictionForce
    Class : LinearFrictionForce
    Description : Friction-based drag force

Inheritance:

    LinearFrictionForce: LinearForce
    LinearForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LinearFrictionForce:

    LinearFrictionForce (Constructor)
    getClassType
    getCoef
    setCoef

Methods of LinearForce:

    getAmplitude
    getClassType
    getMassDependent
    getVector
    getVectorMasks
    makeCopy
    setAmplitude
    setMassDependent
    setVectorMasks
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
LinearFrictionForce
LinearFrictionForce::LinearFrictionForce(float coef = (1), float a = (1), bool m = (0));

Description : Constructor
Description : copy constructor

getClassType
static TypeHandle LinearFrictionForce::get_class_type(void);

Undocumented function.

getCoef
float LinearFrictionForce::get_coef(void) const;

Undocumented function.

setCoef
void LinearFrictionForce::set_coef(float coef);

Undocumented function.

getAmplitude
float LinearForce::get_amplitude(void) const;

Undocumented function.

getClassType
static TypeHandle LinearForce::get_class_type(void);

Undocumented function.

getMassDependent
bool LinearForce::get_mass_dependent(void) const;

Undocumented function.

getVector
LVector3f LinearForce::get_vector(PhysicsObject const *po);

Undocumented function.

getVectorMasks
LVector3f LinearForce::get_vector_masks(void);

Undocumented function.

makeCopy
virtual LinearForce *LinearForce::make_copy(void) = 0;

Undocumented function.

setAmplitude
void LinearForce::set_amplitude(float const a);

Undocumented function.

setMassDependent
void LinearForce::set_mass_dependent(bool m);

Undocumented function.

setVectorMasks
void LinearForce::set_vector_masks(bool x, bool y, bool z);

Undocumented function.

write
virtual void LinearForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LinearIntegrator

    from pandac.PandaModules import LinearIntegrator
    Class : LinearIntegrator
    Description : Pure virtual base class for physical modeling. Takes physically modelable objects and applies forces to them.

Inheritance:

    LinearIntegrator: BaseIntegrator
    BaseIntegrator:


LinearJitterForce

    from pandac.PandaModules import LinearJitterForce

Inheritance:

    LinearJitterForce: LinearRandomForce
    LinearRandomForce: LinearForce
    LinearForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LinearJitterForce:

    LinearJitterForce (Constructor)
    getClassType

Methods of LinearRandomForce:

    getClassType

Methods of LinearForce:

    getAmplitude
    getClassType
    getMassDependent
    getVector
    getVectorMasks
    makeCopy
    setAmplitude
    setMassDependent
    setVectorMasks
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
LinearJitterForce
LinearJitterForce::LinearJitterForce(float a = (1), bool m = (0));

Description : constructor
Description : copy constructor

getClassType
static TypeHandle LinearJitterForce::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle LinearRandomForce::get_class_type(void);

Undocumented function.

getAmplitude
float LinearForce::get_amplitude(void) const;

Undocumented function.

getClassType
static TypeHandle LinearForce::get_class_type(void);

Undocumented function.

getMassDependent
bool LinearForce::get_mass_dependent(void) const;

Undocumented function.

getVector
LVector3f LinearForce::get_vector(PhysicsObject const *po);

Undocumented function.

getVectorMasks
LVector3f LinearForce::get_vector_masks(void);

Undocumented function.

makeCopy
virtual LinearForce *LinearForce::make_copy(void) = 0;

Undocumented function.

setAmplitude
void LinearForce::set_amplitude(float const a);

Undocumented function.

setMassDependent
void LinearForce::set_mass_dependent(bool m);

Undocumented function.

setVectorMasks
void LinearForce::set_vector_masks(bool x, bool y, bool z);

Undocumented function.

write
virtual void LinearForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LinearNoiseForce

    from pandac.PandaModules import LinearNoiseForce
    Class : LinearNoiseForce
    Description : Repeating noise force vector.

Inheritance:

    LinearNoiseForce: LinearRandomForce
    LinearRandomForce: LinearForce
    LinearForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LinearNoiseForce:

    LinearNoiseForce (Constructor)
    getClassType

Methods of LinearRandomForce:

    getClassType

Methods of LinearForce:

    getAmplitude
    getClassType
    getMassDependent
    getVector
    getVectorMasks
    makeCopy
    setAmplitude
    setMassDependent
    setVectorMasks
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
LinearNoiseForce
LinearNoiseForce::LinearNoiseForce(float a = (1), bool m = (0));

Description : constructor
Description : copy constructor

getClassType
static TypeHandle LinearNoiseForce::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle LinearRandomForce::get_class_type(void);

Undocumented function.

getAmplitude
float LinearForce::get_amplitude(void) const;

Undocumented function.

getClassType
static TypeHandle LinearForce::get_class_type(void);

Undocumented function.

getMassDependent
bool LinearForce::get_mass_dependent(void) const;

Undocumented function.

getVector
LVector3f LinearForce::get_vector(PhysicsObject const *po);

Undocumented function.

getVectorMasks
LVector3f LinearForce::get_vector_masks(void);

Undocumented function.

makeCopy
virtual LinearForce *LinearForce::make_copy(void) = 0;

Undocumented function.

setAmplitude
void LinearForce::set_amplitude(float const a);

Undocumented function.

setMassDependent
void LinearForce::set_mass_dependent(bool m);

Undocumented function.

setVectorMasks
void LinearForce::set_vector_masks(bool x, bool y, bool z);

Undocumented function.

write
virtual void LinearForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LinearRandomForce

    from pandac.PandaModules import LinearRandomForce
    Class : LinearRandomForce
    Description : Pure virtual, parent to noiseForce and jitterForce

Inheritance:

    LinearRandomForce: LinearForce
    LinearForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LinearRandomForce:

    getClassType

Methods of LinearForce:

    getAmplitude
    getClassType
    getMassDependent
    getVector
    getVectorMasks
    makeCopy
    setAmplitude
    setMassDependent
    setVectorMasks
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle LinearRandomForce::get_class_type(void);

Undocumented function.

getAmplitude
float LinearForce::get_amplitude(void) const;

Undocumented function.

getClassType
static TypeHandle LinearForce::get_class_type(void);

Undocumented function.

getMassDependent
bool LinearForce::get_mass_dependent(void) const;

Undocumented function.

getVector
LVector3f LinearForce::get_vector(PhysicsObject const *po);

Undocumented function.

getVectorMasks
LVector3f LinearForce::get_vector_masks(void);

Undocumented function.

makeCopy
virtual LinearForce *LinearForce::make_copy(void) = 0;

Undocumented function.

setAmplitude
void LinearForce::set_amplitude(float const a);

Undocumented function.

setMassDependent
void LinearForce::set_mass_dependent(bool m);

Undocumented function.

setVectorMasks
void LinearForce::set_vector_masks(bool x, bool y, bool z);

Undocumented function.

write
virtual void LinearForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LinearSinkForce

    from pandac.PandaModules import LinearSinkForce
    Class : LinearSinkForce
    Description : Attractor force. Think black hole.

Inheritance:

    LinearSinkForce: LinearDistanceForce
    LinearDistanceForce: LinearForce
    LinearForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LinearSinkForce:

    LinearSinkForce (Constructor)
    getClassType

Methods of LinearDistanceForce:

    getClassType
    getFalloffType
    getForceCenter
    getRadius
    getScalarTerm
    setFalloffType
    setForceCenter
    setRadius

Methods of LinearForce:

    getAmplitude
    getClassType
    getMassDependent
    getVector
    getVectorMasks
    makeCopy
    setAmplitude
    setMassDependent
    setVectorMasks
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in LinearDistanceForce:

    FTONEOVERR | (FalloffType)
FTONEOVERRSQUARED | (FalloffType)
FTONEOVERRCUBED | (FalloffType)
LinearSinkForce
LinearSinkForce::LinearSinkForce(LPoint3f const &p, LinearDistanceForce::FalloffType f, float r, float a = (1), bool m = (1));

Description : Simple constructor
Description : copy constructor

getClassType
static TypeHandle LinearSinkForce::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle LinearDistanceForce::get_class_type(void);

Undocumented function.

getFalloffType
LinearDistanceForce::FalloffType LinearDistanceForce::get_falloff_type(void) const;

Description : falloff_type query

getForceCenter
LPoint3f LinearDistanceForce::get_force_center(void) const;

Description : force_center query

getRadius
float LinearDistanceForce::get_radius(void) const;

Description : radius query

getScalarTerm
float LinearDistanceForce::get_scalar_term(void) const;

Description : calculate the term based on falloff

setFalloffType
void LinearDistanceForce::set_falloff_type(LinearDistanceForce::FalloffType ft);

Description : falloff_type encapsulating wrap

setForceCenter
void LinearDistanceForce::set_force_center(LPoint3f const &p);

Description : set the force center

setRadius
void LinearDistanceForce::set_radius(float r);

Description : set the radius

getAmplitude
float LinearForce::get_amplitude(void) const;

Undocumented function.

getClassType
static TypeHandle LinearForce::get_class_type(void);

Undocumented function.

getMassDependent
bool LinearForce::get_mass_dependent(void) const;

Undocumented function.

getVector
LVector3f LinearForce::get_vector(PhysicsObject const *po);

Undocumented function.

getVectorMasks
LVector3f LinearForce::get_vector_masks(void);

Undocumented function.

makeCopy
virtual LinearForce *LinearForce::make_copy(void) = 0;

Undocumented function.

setAmplitude
void LinearForce::set_amplitude(float const a);

Undocumented function.

setMassDependent
void LinearForce::set_mass_dependent(bool m);

Undocumented function.

setVectorMasks
void LinearForce::set_vector_masks(bool x, bool y, bool z);

Undocumented function.

write
virtual void LinearForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LinearSourceForce

    from pandac.PandaModules import LinearSourceForce
    Class : LinearSourceForce
    Description : Repellant force.

Inheritance:

    LinearSourceForce: LinearDistanceForce
    LinearDistanceForce: LinearForce
    LinearForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LinearSourceForce:

    LinearSourceForce (Constructor)
    getClassType

Methods of LinearDistanceForce:

    getClassType
    getFalloffType
    getForceCenter
    getRadius
    getScalarTerm
    setFalloffType
    setForceCenter
    setRadius

Methods of LinearForce:

    getAmplitude
    getClassType
    getMassDependent
    getVector
    getVectorMasks
    makeCopy
    setAmplitude
    setMassDependent
    setVectorMasks
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in LinearDistanceForce:

    FTONEOVERR | (FalloffType)
FTONEOVERRSQUARED | (FalloffType)
FTONEOVERRCUBED | (FalloffType)
LinearSourceForce
LinearSourceForce::LinearSourceForce(LPoint3f const &p, LinearDistanceForce::FalloffType f, float r, float a = (1), bool mass = (1));

Description : Simple constructor
Description : copy constructor

getClassType
static TypeHandle LinearSourceForce::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle LinearDistanceForce::get_class_type(void);

Undocumented function.

getFalloffType
LinearDistanceForce::FalloffType LinearDistanceForce::get_falloff_type(void) const;

Description : falloff_type query

getForceCenter
LPoint3f LinearDistanceForce::get_force_center(void) const;

Description : force_center query

getRadius
float LinearDistanceForce::get_radius(void) const;

Description : radius query

getScalarTerm
float LinearDistanceForce::get_scalar_term(void) const;

Description : calculate the term based on falloff

setFalloffType
void LinearDistanceForce::set_falloff_type(LinearDistanceForce::FalloffType ft);

Description : falloff_type encapsulating wrap

setForceCenter
void LinearDistanceForce::set_force_center(LPoint3f const &p);

Description : set the force center

setRadius
void LinearDistanceForce::set_radius(float r);

Description : set the radius

getAmplitude
float LinearForce::get_amplitude(void) const;

Undocumented function.

getClassType
static TypeHandle LinearForce::get_class_type(void);

Undocumented function.

getMassDependent
bool LinearForce::get_mass_dependent(void) const;

Undocumented function.

getVector
LVector3f LinearForce::get_vector(PhysicsObject const *po);

Undocumented function.

getVectorMasks
LVector3f LinearForce::get_vector_masks(void);

Undocumented function.

makeCopy
virtual LinearForce *LinearForce::make_copy(void) = 0;

Undocumented function.

setAmplitude
void LinearForce::set_amplitude(float const a);

Undocumented function.

setMassDependent
void LinearForce::set_mass_dependent(bool m);

Undocumented function.

setVectorMasks
void LinearForce::set_vector_masks(bool x, bool y, bool z);

Undocumented function.

write
virtual void LinearForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LinearUserDefinedForce

    from pandac.PandaModules import LinearUserDefinedForce
    Class : LinearUserDefinedForce
    Description : a programmable force that takes an evaluator fn.
    NOTE : AS OF Interrogate => Squeak, this class does NOT get FFI'd due to the function pointer bug, and is currently NOT getting interrogated. Change this in the makefile when the time is right or this class becomes needed...

Inheritance:

    LinearUserDefinedForce: LinearForce
    LinearForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LinearUserDefinedForce:

    LinearUserDefinedForce (Constructor)
    getClassType
    setProc

Methods of LinearForce:

    getAmplitude
    getClassType
    getMassDependent
    getVector
    getVectorMasks
    makeCopy
    setAmplitude
    setMassDependent
    setVectorMasks
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
LinearUserDefinedForce
LinearUserDefinedForce::LinearUserDefinedForce(LVector3f (*proc)(PhysicsObject const *) = ((void *)(0)), float a = (1), bool md = (0));

Description : constructor
Description : copy constructor

getClassType
static TypeHandle LinearUserDefinedForce::get_class_type(void);

Undocumented function.

setProc
void LinearUserDefinedForce::set_proc(LVector3f (*proc)(PhysicsObject const *));

Undocumented function.

getAmplitude
float LinearForce::get_amplitude(void) const;

Undocumented function.

getClassType
static TypeHandle LinearForce::get_class_type(void);

Undocumented function.

getMassDependent
bool LinearForce::get_mass_dependent(void) const;

Undocumented function.

getVector
LVector3f LinearForce::get_vector(PhysicsObject const *po);

Undocumented function.

getVectorMasks
LVector3f LinearForce::get_vector_masks(void);

Undocumented function.

makeCopy
virtual LinearForce *LinearForce::make_copy(void) = 0;

Undocumented function.

setAmplitude
void LinearForce::set_amplitude(float const a);

Undocumented function.

setMassDependent
void LinearForce::set_mass_dependent(bool m);

Undocumented function.

setVectorMasks
void LinearForce::set_vector_masks(bool x, bool y, bool z);

Undocumented function.

write
virtual void LinearForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LinearVectorForce

    from pandac.PandaModules import LinearVectorForce
    Class : LinearVectorForce
    Description : Simple directed vector force. Suitable for gravity, non-turbulent wind, etc...

Inheritance:

    LinearVectorForce: LinearForce
    LinearForce: BaseForce
    BaseForce: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of LinearVectorForce:

    LinearVectorForce (Constructor)
    getClassType
    getLocalVector
    setVector

Methods of LinearForce:

    getAmplitude
    getClassType
    getMassDependent
    getVector
    getVectorMasks
    makeCopy
    setAmplitude
    setMassDependent
    setVectorMasks
    write

Methods of BaseForce:

    getActive
    getClassType
    getForceNode
    getForceNodePath
    isLinear
    output
    setActive
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
LinearVectorForce
LinearVectorForce::LinearVectorForce(LVector3f const &vec, float a = (1), bool mass = (0));

Description : Vector Constructor
Description : Default/Piecewise constructor
Description : Copy Constructor

getClassType
static TypeHandle LinearVectorForce::get_class_type(void);

Undocumented function.

getLocalVector
LVector3f LinearVectorForce::get_local_vector(void) const;

Description :

setVector
void LinearVectorForce::set_vector(LVector3f const &v);

Description : encapsulating wrapper
Description : piecewise encapsulating wrapper

getAmplitude
float LinearForce::get_amplitude(void) const;

Undocumented function.

getClassType
static TypeHandle LinearForce::get_class_type(void);

Undocumented function.

getMassDependent
bool LinearForce::get_mass_dependent(void) const;

Undocumented function.

getVector
LVector3f LinearForce::get_vector(PhysicsObject const *po);

Undocumented function.

getVectorMasks
LVector3f LinearForce::get_vector_masks(void);

Undocumented function.

makeCopy
virtual LinearForce *LinearForce::make_copy(void) = 0;

Undocumented function.

setAmplitude
void LinearForce::set_amplitude(float const a);

Undocumented function.

setMassDependent
void LinearForce::set_mass_dependent(bool m);

Undocumented function.

setVectorMasks
void LinearForce::set_vector_masks(bool x, bool y, bool z);

Undocumented function.

write
virtual void LinearForce::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getActive
bool BaseForce::get_active(void) const;

Undocumented function.

getClassType
static TypeHandle BaseForce::get_class_type(void);

Undocumented function.

getForceNode
ForceNode *BaseForce::get_force_node(void) const;

Undocumented function.

getForceNodePath
NodePath BaseForce::get_force_node_path(void) const;

Undocumented function.

isLinear
virtual bool BaseForce::is_linear(void) const = 0;

Undocumented function.

output
virtual void BaseForce::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setActive
void BaseForce::set_active(bool active);

Undocumented function.

write
virtual void BaseForce::write(ostream &out, int indent_level = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LineEmitter

    from pandac.PandaModules import LineEmitter
    Class : LineEmitter
    Description : Describes a linear region in which particles are generated.

Inheritance:

    LineEmitter: BaseParticleEmitter
    BaseParticleEmitter: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of LineEmitter:

    LineEmitter (Constructor)
    getEndpoint1
    getEndpoint2
    setEndpoint1
    setEndpoint2

Methods of BaseParticleEmitter:

    generate
    getAmplitude
    getAmplitudeSpread
    getEmissionType
    getExplicitLaunchVector
    getOffsetForce
    getRadiateOrigin
    makeCopy
    output
    setAmplitude
    setAmplitudeSpread
    setEmissionType
    setExplicitLaunchVector
    setOffsetForce
    setRadiateOrigin
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleEmitter:

    ETEXPLICIT | (emissionType)
ETRADIATE | (emissionType)
ETCUSTOM | (emissionType)
LineEmitter
LineEmitter::LineEmitter(void);

Description : constructor

getEndpoint1
LPoint3f LineEmitter::get_endpoint1(void) const;

Description : endpoint accessor

getEndpoint2
LPoint3f LineEmitter::get_endpoint2(void) const;

Description : endpoint accessor

setEndpoint1
void LineEmitter::set_endpoint1(LPoint3f const &point);

Description : endpoint assignment

setEndpoint2
void LineEmitter::set_endpoint2(LPoint3f const &point);

Description : endpoint assignment

generate
void BaseParticleEmitter::generate(LPoint3f &pos, LVector3f &vel);

Description : parent generation function

getAmplitude
float BaseParticleEmitter::get_amplitude(void) const;

Description : amplitude query

getAmplitudeSpread
float BaseParticleEmitter::get_amplitude_spread(void) const;

Description : amplitude spread query

getEmissionType
BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type(void) const;

Description : emission type query

getExplicitLaunchVector
LVector3f BaseParticleEmitter::get_explicit_launch_vector(void) const;

Description : query for explicit emission launch vector

getOffsetForce
LVector3f BaseParticleEmitter::get_offset_force(void) const;

Description : user-defined force

getRadiateOrigin
LPoint3f BaseParticleEmitter::get_radiate_origin(void) const;

Description : query for explicit emission launch vector

makeCopy
virtual BaseParticleEmitter *BaseParticleEmitter::make_copy(void) = 0;

Undocumented function.

output
virtual void BaseParticleEmitter::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAmplitude
void BaseParticleEmitter::set_amplitude(float a);

Description : amplitude assignment

setAmplitudeSpread
void BaseParticleEmitter::set_amplitude_spread(float as);

Description : amplitude spread assignment

setEmissionType
void BaseParticleEmitter::set_emission_type(BaseParticleEmitter::emissionType et);

Description : emission type assignment

setExplicitLaunchVector
void BaseParticleEmitter::set_explicit_launch_vector(LVector3f const &elv);

this is a constant force applied to all particles
Description : assignment of explicit emission launch vector

setOffsetForce
void BaseParticleEmitter::set_offset_force(LVector3f const &of);

Description : user-defined force

setRadiateOrigin
void BaseParticleEmitter::set_radiate_origin(LPoint3f const &ro);

this is a constant force applied to all particles
Description : assignment of radiate emission origin point

write
virtual void BaseParticleEmitter::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LineNodePath

    from direct.directtools.DirectGeometry import LineNodePath

Inheritance:

    LineNodePath:

Methods of LineNodePath:

    __init__
    create
    drawArrow
    drawArrow2d
    drawLines
    drawTo
    getCurrentPosition
    getNumVertices
    getVertex
    getVertexColor
    isEmpty
    moveTo
    reset
    setColor
    setThickness
    setVertex
    setVertexColor
__init__
def __init__(self, parent=None, name=None, thickness=1.0, colorVec=VBase4(1))

Undocumented function.

create
def create(self, frameAccurate=0)

Undocumented function.

drawArrow
def drawArrow(self, sv, ev, arrowAngle, arrowLength)

Do the work of moving the cursor around to draw an arrow from sv to ev. Hack: the arrows take the z value of the end point

drawArrow2d
def drawArrow2d(self, sv, ev, arrowAngle, arrowLength)

Do the work of moving the cursor around to draw an arrow from sv to ev. Hack: the arrows take the z value of the end point

drawLines
def drawLines(self, lineList)

Given a list of lists of points, draw a separate line for each list

drawTo
def drawTo(self, *_args)

Undocumented function.

getCurrentPosition
def getCurrentPosition(self)

Undocumented function.

getNumVertices
def getNumVertices(self)

Undocumented function.

getVertex
def getVertex(self, index)

Undocumented function.

getVertexColor
def getVertexColor(self)

Undocumented function.

isEmpty
def isEmpty(self)

Undocumented function.

moveTo
def moveTo(self, *_args)

Undocumented function.

reset
def reset(self)

Undocumented function.

setColor
def setColor(self, *_args)

Undocumented function.

setThickness
def setThickness(self, thickness)

Undocumented function.

setVertex
def setVertex(self, *_args)

Undocumented function.

setVertexColor
def setVertexColor(self, vertex, *_args)

Undocumented function.


LineParticleRenderer

    from pandac.PandaModules import LineParticleRenderer
    Class : LineParticleRenderer
    Description : renders a line from last position to current position -- good for rain, sparks, etc.

Inheritance:

    LineParticleRenderer: BaseParticleRenderer
    BaseParticleRenderer: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of LineParticleRenderer:

    LineParticleRenderer (Constructor)
    getHeadColor
    getLineScaleFactor
    getTailColor
    setHeadColor
    setLineScaleFactor
    setTailColor

Methods of BaseParticleRenderer:

    getAlphaMode
    getIgnoreScale
    getRenderNode
    getRenderNodePath
    getUserAlpha
    output
    setAlphaMode
    setColorBlendMode
    setIgnoreScale
    setUserAlpha
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleRenderer:

    PRALPHANONE | (ParticleRendererAlphaMode)
PRALPHAOUT | (ParticleRendererAlphaMode)
PRALPHAIN | (ParticleRendererAlphaMode)
PRALPHAINOUT | (ParticleRendererAlphaMode)
PRALPHAUSER | (ParticleRendererAlphaMode)
PRNOTINITIALIZEDYET | (ParticleRendererAlphaMode)
PPNOBLEND | (ParticleRendererBlendMethod)
PPBLENDLINEAR | (ParticleRendererBlendMethod)
PPBLENDCUBIC | (ParticleRendererBlendMethod)
LineParticleRenderer
LineParticleRenderer::LineParticleRenderer(void);

Description : Default Constructor
Description : Constructor
Description : Copy Constructor

getHeadColor
LVecBase4f const &LineParticleRenderer::get_head_color(void) const;

Undocumented function.

getLineScaleFactor
float LineParticleRenderer::get_line_scale_factor(void) const;

Description : accessor

getTailColor
LVecBase4f const &LineParticleRenderer::get_tail_color(void) const;

Undocumented function.

setHeadColor
void LineParticleRenderer::set_head_color(LVecBase4f const &c);

Undocumented function.

setLineScaleFactor
void LineParticleRenderer::set_line_scale_factor(float sf);

Description : accessor

setTailColor
void LineParticleRenderer::set_tail_color(LVecBase4f const &c);

Undocumented function.

getAlphaMode
BaseParticleRenderer::ParticleRendererAlphaMode BaseParticleRenderer::get_alpha_mode(void) const;

Undocumented function.

getIgnoreScale
bool BaseParticleRenderer::get_ignore_scale(void) const;

Description : Returns the "ignore scale" flag. See set_ignore_scale().

getRenderNode
GeomNode *BaseParticleRenderer::get_render_node(void) const;

Class : Published
Description : Query the geomnode pointer

getRenderNodePath
NodePath BaseParticleRenderer::get_render_node_path(void) const;

Class : Published
Description : Query the geomnode pointer

getUserAlpha
float BaseParticleRenderer::get_user_alpha(void) const;

Description : gets alpha for "user" alpha mode

output
virtual void BaseParticleRenderer::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAlphaMode
void BaseParticleRenderer::set_alpha_mode(BaseParticleRenderer::ParticleRendererAlphaMode am);

Undocumented function.

setColorBlendMode
void BaseParticleRenderer::set_color_blend_mode(ColorBlendAttrib::Mode bm, ColorBlendAttrib::Operand oa = (O_zero), ColorBlendAttrib::Operand ob = (O_zero));

Description : sets the ColorBlendAttrib on the _render_node

setIgnoreScale
void BaseParticleRenderer::set_ignore_scale(bool ignore_scale);

Description : Sets the "ignore scale" flag. When this is true, particles will be drawn as if they had no scale, regardless of whatever scale might be inherited from above the render node in the scene graph.
This flag is mainly useful to support legacy code that was written for a very early version of Panda, whose sprite particle renderer had a bug that incorrectly ignored the inherited scale.

setUserAlpha
void BaseParticleRenderer::set_user_alpha(float ua);

Description : sets alpha for "user" alpha mode

write
virtual void BaseParticleRenderer::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LineSegs

    from pandac.PandaModules import LineSegs
    Class : LineSegs
    Description : Encapsulates creation of a series of connected or disconnected line segments or points, for drawing paths or rays. This class doesn't attempt to be the smartest it could possibly be; it's intended primarily as a visualization and editing tool.

Inheritance:

    LineSegs: Namable
    Namable:

Methods of LineSegs:

    LineSegs (Constructor)
    create
    drawTo
    getCurrentPosition
    getNumVertices
    getVertex
    getVertexColor
    isEmpty
    moveTo
    reset
    setColor
    setThickness
    setVertex
    setVertexColor

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
LineSegs
LineSegs::LineSegs(string const &name = ("lines"));

Description: Constructs a LineSegs object, which can be used to create any number of disconnected lines or points of various thicknesses and colors through the visible scene. After creating the object, call move_to() and draw_to() repeatedly to describe the path, then call create() to create a GeomNode which will render the described path.

create
GeomNode *LineSegs::create(bool dynamic = (0));

Description: Creates a new GeomNode that will render the series of line segments and points described via calls to move_to() and draw_to(). The lines and points are created with the color and thickness established by calls to set_color() and set_thick().
If dynamic is true, the line segments will be created with the dynamic Geom setting, optimizing them for runtime vertex animation.
Description: Appends to an existing GeomNode a new Geom that will render the series of line segments and points described via calls to move_to() and draw_to(). The lines and points are created with the color and thickness established by calls to set_color() and set_thick().

drawTo
void LineSegs::draw_to(float x, float y, float z);

Description: Draws a line segment from the pen's last position (the last call to move_to or draw_to) to the indicated point. move_to() and draw_to() only update tables; the actual drawing is performed when create() is called.

getCurrentPosition
LPoint3f const &LineSegs::get_current_position(void);

Description: Returns the pen's current position. The next call to draw_to() will draw a line segment from this point.

getNumVertices
int LineSegs::get_num_vertices(void) const;

Functions to move the line vertices after they have been created.
Description: Returns the total number of line segment and point vertices generated by the last call to create(). The positions of these vertices may be read and adjusted through get_vertex() and set_vertex().

getVertex
LPoint3f LineSegs::get_vertex(int n) const;

Description: Returns the nth point or vertex of the line segment sequence generated by the last call to create(). The first move_to() generates vertex 0; subsequent move_to() and draw_to() calls generate consecutively higher vertex numbers.

getVertexColor
LVecBase4f LineSegs::get_vertex_color(int vertex) const;

Description: Returns the color of the nth point or vertex.

isEmpty
bool LineSegs::is_empty(void);

Description: Returns true if move_to() or draw_to() have not been called since the last reset() or create(), false otherwise.

moveTo
void LineSegs::move_to(float x, float y, float z);

Description: Moves the pen to the given point without drawing a line. When followed by draw_to(), this marks the first point of a line segment; when followed by move_to() or create(), this creates a single point.

reset
void LineSegs::reset(void);

Description: Removes any lines in progress and resets to the initial empty state.

setColor
void LineSegs::set_color(float r, float g, float b, float a = (1));

Description: Establishes the color that will be assigned to all vertices created by future calls to move_to() and draw_to().

setThickness
void LineSegs::set_thickness(float thick);

Description: Establishes the line thickness or point size in pixels that will be assigned to all lines and points created by future calls to create().

setVertex
void LineSegs::set_vertex(int n, LPoint3f const &vert);

Description: Moves the nth point or vertex of the line segment sequence generated by the last call to create(). The first move_to() generates vertex 0; subsequent move_to() and draw_to() calls generate consecutively higher vertex numbers.

setVertexColor
void LineSegs::set_vertex_color(int vertex, LVecBase4f const &c);

Description: Changes the vertex color of the nth point or vertex. See set_vertex().

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


LineStream

    from pandac.PandaModules import LineStream
    Class : LineStream
    Description : This is a special ostream that writes to a memory buffer, like ostrstream. However, its contents can be continuously extracted as a sequence of lines of text.
    Unlike ostrstream, which can only be extracted from once (and then the buffer freezes and it can no longer be written to), the LineStream is not otherwise affected when a line of text is extracted. More text can still be written to it and continuously extracted.

Inheritance:

    LineStream: ostream
    ostream: ios
    ios: ios_base
    ios_base:

Methods of LineStream:

    LineStream (Constructor)
    getLine
    hasNewline
    isTextAvailable

Methods of ostream:

    flush
    put
    seekp
    tellp

Methods of ios:

    bad
    clear
    eof
    fail
    good

Constants in ios_base:

    beg | (seekdir)
cur | (seekdir)
end | (seekdir)
LineStream
LineStream::LineStream(void);

Description:

getLine
string LineStream::get_line(void);

Description: Extracts and returns the next line (or partial line) of text available in the LineStream object. Once the line has been extracted, you may call has_newline() to determine whether or not there was an explicit newline character written following this line.

hasNewline
bool LineStream::has_newline(void) const;

Description: Returns true if the line of text most recently returned by get_line() was written out with a terminating newline, or false if a newline character has not yet been written to the LineStream.

isTextAvailable
bool LineStream::is_text_available(void) const;

Description: Returns true if there is at least one line of text (or even a partial line) available in the LineStream object. If this returns true, the line may then be retrieved via get_line().

flush
void ostream::flush(void);

Undocumented function.

put
void ostream::put(char c);

Undocumented function.

seekp
void ostream::seekp(unsigned long int pos);

Undocumented function.

tellp
unsigned long int ostream::tellp(void);

Undocumented function.

bad
bool ios::bad(void) const;

Undocumented function.

clear
void ios::clear(void);

Undocumented function.

eof
bool ios::eof(void) const;

Undocumented function.

fail
bool ios::fail(void) const;

Undocumented function.

good
bool ios::good(void) const;

Undocumented function.


LMatrix3d

    from pandac.PandaModules import LMatrix3d
    Class : LMatrix3
    Description : This is a 3-by-3 transform matrix. It typically will represent either a rotation-and-scale (no translation) matrix in 3-d, or a full affine matrix (rotation, scale, translation) in 2-d, e.g. for a texture matrix.

Inheritance:

    LMatrix3d:

Methods of LMatrix3d:

    LMatrix3d (Constructor)
    addHash
    almostEqual
    compareTo
    convertMat
    determinant
    fill
    getCell
    getClassType
    getCol
    getCol2
    getData
    getHash
    getNumComponents
    getRow
    getRow2
    identMat
    invertFrom
    invertInPlace
    invertTransposeFrom
    isNan
    multiply
    operator !=
    operator ()
    operator *
    operator *=
    operator +=
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator delete
    operator new
    output
    pythonRepr
    rotateMat
    rotateMatNormaxis
    scaleMat
    scaleShearMat
    set
    setCell
    setCol
    setRotateMat
    setRotateMatNormaxis
    setRow
    setScaleMat
    setScaleShearMat
    setShearMat
    setTranslateMat
    shearMat
    translateMat
    transposeFrom
    transposeInPlace
    validatePtr
    write
    xform
    xformPoint
    xformVec
    xformVecGeneral
LMatrix3d
LMatrix3d::LMatrix3d(void);

Description:

addHash
unsigned int LMatrix3d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

almostEqual
bool LMatrix3d::almost_equal(LMatrix3d const &other, double threshold) const;

We don't have a scale_mat() that takes a single uniform scale parameter, because it would be ambiguous whether we mean a 2-d or a 3-d scale.
Description: Returns true if two matrices are memberwise equal within a default tolerance based on the numeric type.
Description: Returns true if two matrices are memberwise equal within a specified tolerance.

compareTo
int LMatrix3d::compare_to(LMatrix3d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts matrices lexicographically, componentwise. Returns a number less than 0 if this matrix sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

convertMat
static LMatrix3d const &LMatrix3d::convert_mat(CoordinateSystem from, CoordinateSystem to);

Description: Returns a matrix that transforms from the indicated coordinate system to the indicated coordinate system.

determinant
double LMatrix3d::determinant(void) const;

Description: Returns the determinant of the matrix.

fill
void LMatrix3d::fill(double fill_value);

Description: Sets each element of the matrix to the indicated fill_value. This is of questionable value, but is sometimes useful when initializing to zero.

getCell
double LMatrix3d::get_cell(int row, int col) const;

Description: Returns a particular element of the matrix.

getClassType
static TypeHandle LMatrix3d::get_class_type(void);

Undocumented function.

getCol
LVecBase3d LMatrix3d::get_col(int col) const;

Description: Returns the indicated column of the matrix as a three-component vector.

getCol2
LVecBase2d LMatrix3d::get_col2(int col) const;

Description: Returns the indicated column of the matrix as a two-component vector, ignoring the last row.

getData
double const *LMatrix3d::get_data(void) const;

Description: Returns the address of the first of the nine data elements in the matrix. The remaining elements occupy the next eight positions in row-major order.

getHash
unsigned int LMatrix3d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LMatrix3d::get_num_components(void) const;

Description: Returns the number of elements in the matrix, nine.

getRow
LVecBase3d LMatrix3d::get_row(int row) const;

these versions inline better
Description: Returns the indicated row of the matrix as a three-component vector.

getRow2
LVecBase2d LMatrix3d::get_row2(int row) const;

Description: Returns the indicated row of the matrix as a two-component vector, ignoring the last column.

identMat
static LMatrix3d const &LMatrix3d::ident_mat(void);

Filename: lmatrix3_src.I Created by: drose (29Jan99)
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."
Description: Returns an identity matrix.
This function definition must appear first, since some inline functions below take advantage of it.

invertFrom
bool LMatrix3d::invert_from(LMatrix3d const &other);

Description: Computes the inverse of the other matrix, and stores the result in this matrix. This is a fully general operation and makes no assumptions about the type of transform represented by the matrix.
The other matrix must be a different object than this matrix. However, if you need to invert a matrix in place, see invert_in_place.
The return value is true if the matrix was successfully inverted, false if the was a singularity.

invertInPlace
bool LMatrix3d::invert_in_place(void);

Description: Inverts the current matrix. Returns true if the inverse is successful, false if the matrix was singular.

invertTransposeFrom
bool LMatrix3d::invert_transpose_from(LMatrix3d const &other);

Description: Simultaneously computes the inverse of the indicated matrix, and then the transpose of that inverse.

isNan
bool LMatrix3d::is_nan(void) const;

Description: Returns true if any component of the matrix is not-a-number, false otherwise.

multiply
void LMatrix3d::multiply(LMatrix3d const &other1, LMatrix3d const &other2);

this = other1 * other2

operator !=
bool LMatrix3d::operator !=(LMatrix3d const &other) const;

Description:

operator ()
double &LMatrix3d::operator ()(int row, int col);

Description:

operator *
LMatrix3d LMatrix3d::operator *(LMatrix3d const &other) const;

Description:

operator *=
LMatrix3d &LMatrix3d::operator *=(LMatrix3d const &other);

Description:
Description: Performs a memberwise scale.

operator +=
LMatrix3d &LMatrix3d::operator +=(LMatrix3d const &other);

Description: Performs a memberwise addition between two matrices.

operator -=
LMatrix3d &LMatrix3d::operator -=(LMatrix3d const &other);

Description: Performs a memberwise subtraction between two matrices.

operator /
LMatrix3d LMatrix3d::operator /(double scalar) const;

Description:

operator /=
LMatrix3d &LMatrix3d::operator /=(double scalar);

Description: Performs a memberwise scale.

operator <
bool LMatrix3d::operator <(LMatrix3d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LMatrix3d &LMatrix3d::operator =(LMatrix3d const &other);

Description:

operator ==
bool LMatrix3d::operator ==(LMatrix3d const &other) const;

Description:

operator delete
void LMatrix3d::operator delete(void *ptr);

Undocumented function.

operator new
void *LMatrix3d::operator new(unsigned int size);

Undocumented function.

output
void LMatrix3d::output(ostream &out) const;

Description:

pythonRepr
void LMatrix3d::python_repr(ostream &out, string const &class_name) const;

Description:

rotateMat
static LMatrix3d LMatrix3d::rotate_mat(double angle);

Description: Returns a matrix that rotates by the given angle in degrees counterclockwise.
Description: Returns a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector.

rotateMatNormaxis
static LMatrix3d LMatrix3d::rotate_mat_normaxis(double angle, LVecBase3d const &axis, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. Assumes axis has been normalized.

scaleMat
static LMatrix3d LMatrix3d::scale_mat(LVecBase2d const &scale);

Description: Returns a matrix that applies the indicated scale in each of the two axes.
Description: Returns a matrix that applies the indicated scale in each of the three axes.

scaleShearMat
static LMatrix3d LMatrix3d::scale_shear_mat(LVecBase3d const &scale, LVecBase3d const &shear, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that applies the indicated scale and shear.

set
void LMatrix3d::set(double e00, double e01, double e02, double e10, double e11, double e12, double e20, double e21, double e22);

Description:

setCell
void LMatrix3d::set_cell(int row, int col, double value);

Description: Changes a particular element of the matrix.

setCol
void LMatrix3d::set_col(int col, LVecBase3d const &v);

Description: Replaces the indicated column of the matrix from a three-component vector.
Description: Replaces the indicated column of the matrix from a two-component vector, ignoring the last row.

setRotateMat
void LMatrix3d::set_rotate_mat(double angle);

The following named constructors return 3x3 matrices suitable for scale/rotate transforms in 3-d coordinate space.
Description: Fills mat with a matrix that rotates by the given angle in degrees counterclockwise.
Description: Fills mat with a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector.

setRotateMatNormaxis
void LMatrix3d::set_rotate_mat_normaxis(double angle, LVecBase3d const &axis, CoordinateSystem cs = (CS_default));

Description: Fills mat with a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. Assumes axis has been normalized.

setRow
void LMatrix3d::set_row(int row, LVecBase3d const &v);

Description: Replaces the indicated row of the matrix from a three-component vector.
Description: Replaces the indicated row of the matrix from a two-component vector, ignoring the last column.

setScaleMat
void LMatrix3d::set_scale_mat(LVecBase2d const &scale);

Description: Fills mat with a matrix that applies the indicated scale in each of the two axes.
Description: Fills mat with a matrix that applies the indicated scale in each of the three axes.

setScaleShearMat
void LMatrix3d::set_scale_shear_mat(LVecBase3d const &scale, LVecBase3d const &shear, CoordinateSystem cs = (CS_default));

Description: Fills mat with a matrix that applies the indicated scale and shear.

setShearMat
void LMatrix3d::set_shear_mat(LVecBase3d const &shear, CoordinateSystem cs = (CS_default));

Description: Fills mat with a matrix that applies the indicated shear in each of the three planes.

setTranslateMat
void LMatrix3d::set_translate_mat(LVecBase2d const &trans);

Description: Fills mat with a matrix that applies the indicated translation.

shearMat
static LMatrix3d LMatrix3d::shear_mat(LVecBase3d const &shear, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that applies the indicated shear in each of the three planes.

translateMat
static LMatrix3d LMatrix3d::translate_mat(LVecBase2d const &trans);

Description: Returns a matrix that applies the indicated translation.

transposeFrom
void LMatrix3d::transpose_from(LMatrix3d const &other);

Description:

transposeInPlace
void LMatrix3d::transpose_in_place(void);

Description:

validatePtr
static bool LMatrix3d::validate_ptr(void const *ptr);

Undocumented function.

write
void LMatrix3d::write(ostream &out, int indent_level = (0)) const;

Description:

xform
LVecBase3d LMatrix3d::xform(LVecBase3d const &v) const;

Description: 3-component vector or point times matrix.

xformPoint
LVecBase2d LMatrix3d::xform_point(LVecBase2d const &v) const;

Description: The matrix transforms a 2-component point (including translation component) and returns the result. This assumes the matrix is an affine transform.

xformVec
LVecBase2d LMatrix3d::xform_vec(LVecBase2d const &v) const;

Description: The matrix transforms a 2-component vector (without translation component) and returns the result. This assumes the matrix is an affine transform.
Description: The matrix transforms a 3-component vector and returns the result. This assumes the matrix is an orthonormal transform.
In practice, this is the same computation as xform().

xformVecGeneral
LVecBase3d LMatrix3d::xform_vec_general(LVecBase3d const &v) const;

Description: The matrix transforms a 3-component vector (without translation component) and returns the result, as a fully general operation.


LMatrix3f

    from pandac.PandaModules import LMatrix3f
    Class : LMatrix3
    Description : This is a 3-by-3 transform matrix. It typically will represent either a rotation-and-scale (no translation) matrix in 3-d, or a full affine matrix (rotation, scale, translation) in 2-d, e.g. for a texture matrix.

Inheritance:

    LMatrix3f:

Methods of LMatrix3f:

    LMatrix3f (Constructor)
    addHash
    almostEqual
    compareTo
    convertMat
    determinant
    fill
    getCell
    getClassType
    getCol
    getCol2
    getData
    getHash
    getNumComponents
    getRow
    getRow2
    identMat
    invertFrom
    invertInPlace
    invertTransposeFrom
    isNan
    multiply
    operator !=
    operator ()
    operator *
    operator *=
    operator +=
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator delete
    operator new
    output
    pythonRepr
    rotateMat
    rotateMatNormaxis
    scaleMat
    scaleShearMat
    set
    setCell
    setCol
    setRotateMat
    setRotateMatNormaxis
    setRow
    setScaleMat
    setScaleShearMat
    setShearMat
    setTranslateMat
    shearMat
    translateMat
    transposeFrom
    transposeInPlace
    validatePtr
    write
    xform
    xformPoint
    xformVec
    xformVecGeneral
LMatrix3f
LMatrix3f::LMatrix3f(void);

Description:

addHash
unsigned int LMatrix3f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

almostEqual
bool LMatrix3f::almost_equal(LMatrix3f const &other, float threshold) const;

We don't have a scale_mat() that takes a single uniform scale parameter, because it would be ambiguous whether we mean a 2-d or a 3-d scale.
Description: Returns true if two matrices are memberwise equal within a default tolerance based on the numeric type.
Description: Returns true if two matrices are memberwise equal within a specified tolerance.

compareTo
int LMatrix3f::compare_to(LMatrix3f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts matrices lexicographically, componentwise. Returns a number less than 0 if this matrix sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

convertMat
static LMatrix3f const &LMatrix3f::convert_mat(CoordinateSystem from, CoordinateSystem to);

Description: Returns a matrix that transforms from the indicated coordinate system to the indicated coordinate system.

determinant
float LMatrix3f::determinant(void) const;

Description: Returns the determinant of the matrix.

fill
void LMatrix3f::fill(float fill_value);

Description: Sets each element of the matrix to the indicated fill_value. This is of questionable value, but is sometimes useful when initializing to zero.

getCell
float LMatrix3f::get_cell(int row, int col) const;

Description: Returns a particular element of the matrix.

getClassType
static TypeHandle LMatrix3f::get_class_type(void);

Undocumented function.

getCol
LVecBase3f LMatrix3f::get_col(int col) const;

Description: Returns the indicated column of the matrix as a three-component vector.

getCol2
LVecBase2f LMatrix3f::get_col2(int col) const;

Description: Returns the indicated column of the matrix as a two-component vector, ignoring the last row.

getData
float const *LMatrix3f::get_data(void) const;

Description: Returns the address of the first of the nine data elements in the matrix. The remaining elements occupy the next eight positions in row-major order.

getHash
unsigned int LMatrix3f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LMatrix3f::get_num_components(void) const;

Description: Returns the number of elements in the matrix, nine.

getRow
LVecBase3f LMatrix3f::get_row(int row) const;

these versions inline better
Description: Returns the indicated row of the matrix as a three-component vector.

getRow2
LVecBase2f LMatrix3f::get_row2(int row) const;

Description: Returns the indicated row of the matrix as a two-component vector, ignoring the last column.

identMat
static LMatrix3f const &LMatrix3f::ident_mat(void);

Filename: lmatrix3_src.I Created by: drose (29Jan99)
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."
Description: Returns an identity matrix.
This function definition must appear first, since some inline functions below take advantage of it.

invertFrom
bool LMatrix3f::invert_from(LMatrix3f const &other);

Description: Computes the inverse of the other matrix, and stores the result in this matrix. This is a fully general operation and makes no assumptions about the type of transform represented by the matrix.
The other matrix must be a different object than this matrix. However, if you need to invert a matrix in place, see invert_in_place.
The return value is true if the matrix was successfully inverted, false if the was a singularity.

invertInPlace
bool LMatrix3f::invert_in_place(void);

Description: Inverts the current matrix. Returns true if the inverse is successful, false if the matrix was singular.

invertTransposeFrom
bool LMatrix3f::invert_transpose_from(LMatrix3f const &other);

Description: Simultaneously computes the inverse of the indicated matrix, and then the transpose of that inverse.

isNan
bool LMatrix3f::is_nan(void) const;

Description: Returns true if any component of the matrix is not-a-number, false otherwise.

multiply
void LMatrix3f::multiply(LMatrix3f const &other1, LMatrix3f const &other2);

this = other1 * other2

operator !=
bool LMatrix3f::operator !=(LMatrix3f const &other) const;

Description:

operator ()
float &LMatrix3f::operator ()(int row, int col);

Description:

operator *
LMatrix3f LMatrix3f::operator *(LMatrix3f const &other) const;

Description:

operator *=
LMatrix3f &LMatrix3f::operator *=(LMatrix3f const &other);

Description:
Description: Performs a memberwise scale.

operator +=
LMatrix3f &LMatrix3f::operator +=(LMatrix3f const &other);

Description: Performs a memberwise addition between two matrices.

operator -=
LMatrix3f &LMatrix3f::operator -=(LMatrix3f const &other);

Description: Performs a memberwise subtraction between two matrices.

operator /
LMatrix3f LMatrix3f::operator /(float scalar) const;

Description:

operator /=
LMatrix3f &LMatrix3f::operator /=(float scalar);

Description: Performs a memberwise scale.

operator <
bool LMatrix3f::operator <(LMatrix3f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LMatrix3f &LMatrix3f::operator =(LMatrix3f const &other);

Description:

operator ==
bool LMatrix3f::operator ==(LMatrix3f const &other) const;

Description:

operator delete
void LMatrix3f::operator delete(void *ptr);

Undocumented function.

operator new
void *LMatrix3f::operator new(unsigned int size);

Undocumented function.

output
void LMatrix3f::output(ostream &out) const;

Description:

pythonRepr
void LMatrix3f::python_repr(ostream &out, string const &class_name) const;

Description:

rotateMat
static LMatrix3f LMatrix3f::rotate_mat(float angle);

Description: Returns a matrix that rotates by the given angle in degrees counterclockwise.
Description: Returns a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector.

rotateMatNormaxis
static LMatrix3f LMatrix3f::rotate_mat_normaxis(float angle, LVecBase3f const &axis, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. Assumes axis has been normalized.

scaleMat
static LMatrix3f LMatrix3f::scale_mat(LVecBase2f const &scale);

Description: Returns a matrix that applies the indicated scale in each of the two axes.
Description: Returns a matrix that applies the indicated scale in each of the three axes.

scaleShearMat
static LMatrix3f LMatrix3f::scale_shear_mat(LVecBase3f const &scale, LVecBase3f const &shear, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that applies the indicated scale and shear.

set
void LMatrix3f::set(float e00, float e01, float e02, float e10, float e11, float e12, float e20, float e21, float e22);

Description:

setCell
void LMatrix3f::set_cell(int row, int col, float value);

Description: Changes a particular element of the matrix.

setCol
void LMatrix3f::set_col(int col, LVecBase3f const &v);

Description: Replaces the indicated column of the matrix from a three-component vector.
Description: Replaces the indicated column of the matrix from a two-component vector, ignoring the last row.

setRotateMat
void LMatrix3f::set_rotate_mat(float angle);

The following named constructors return 3x3 matrices suitable for scale/rotate transforms in 3-d coordinate space.
Description: Fills mat with a matrix that rotates by the given angle in degrees counterclockwise.
Description: Fills mat with a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector.

setRotateMatNormaxis
void LMatrix3f::set_rotate_mat_normaxis(float angle, LVecBase3f const &axis, CoordinateSystem cs = (CS_default));

Description: Fills mat with a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. Assumes axis has been normalized.

setRow
void LMatrix3f::set_row(int row, LVecBase3f const &v);

Description: Replaces the indicated row of the matrix from a three-component vector.
Description: Replaces the indicated row of the matrix from a two-component vector, ignoring the last column.

setScaleMat
void LMatrix3f::set_scale_mat(LVecBase2f const &scale);

Description: Fills mat with a matrix that applies the indicated scale in each of the two axes.
Description: Fills mat with a matrix that applies the indicated scale in each of the three axes.

setScaleShearMat
void LMatrix3f::set_scale_shear_mat(LVecBase3f const &scale, LVecBase3f const &shear, CoordinateSystem cs = (CS_default));

Description: Fills mat with a matrix that applies the indicated scale and shear.

setShearMat
void LMatrix3f::set_shear_mat(LVecBase3f const &shear, CoordinateSystem cs = (CS_default));

Description: Fills mat with a matrix that applies the indicated shear in each of the three planes.

setTranslateMat
void LMatrix3f::set_translate_mat(LVecBase2f const &trans);

Description: Fills mat with a matrix that applies the indicated translation.

shearMat
static LMatrix3f LMatrix3f::shear_mat(LVecBase3f const &shear, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that applies the indicated shear in each of the three planes.

translateMat
static LMatrix3f LMatrix3f::translate_mat(LVecBase2f const &trans);

Description: Returns a matrix that applies the indicated translation.

transposeFrom
void LMatrix3f::transpose_from(LMatrix3f const &other);

Description:

transposeInPlace
void LMatrix3f::transpose_in_place(void);

Description:

validatePtr
static bool LMatrix3f::validate_ptr(void const *ptr);

Undocumented function.

write
void LMatrix3f::write(ostream &out, int indent_level = (0)) const;

Description:

xform
LVecBase3f LMatrix3f::xform(LVecBase3f const &v) const;

Description: 3-component vector or point times matrix.

xformPoint
LVecBase2f LMatrix3f::xform_point(LVecBase2f const &v) const;

Description: The matrix transforms a 2-component point (including translation component) and returns the result. This assumes the matrix is an affine transform.

xformVec
LVecBase2f LMatrix3f::xform_vec(LVecBase2f const &v) const;

Description: The matrix transforms a 2-component vector (without translation component) and returns the result. This assumes the matrix is an affine transform.
Description: The matrix transforms a 3-component vector and returns the result. This assumes the matrix is an orthonormal transform.
In practice, this is the same computation as xform().

xformVecGeneral
LVecBase3f LMatrix3f::xform_vec_general(LVecBase3f const &v) const;

Description: The matrix transforms a 3-component vector (without translation component) and returns the result, as a fully general operation.


LMatrix4d

    from pandac.PandaModules import LMatrix4d
    Filename: lmatrix4_src.h Created by: drose (15Jan99)
    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."
    Class : LMatrix4
    Description : This is a 4-by-4 transform matrix.

Inheritance:

    LMatrix4d:

Methods of LMatrix4d:

    LMatrix4d (Constructor)
    addHash
    almostEqual
    begin
    compareTo
    convertMat
    end
    fill
    getCell
    getClassType
    getCol
    getCol3
    getData
    getHash
    getNumComponents
    getRow
    getRow3
    getUpper3
    identMat
    invertAffineFrom
    invertFrom
    invertInPlace
    isNan
    multiply
    onesMat
    operator !=
    operator ()
    operator *
    operator *=
    operator +=
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator delete
    operator new
    output
    pythonRepr
    rotateMat
    rotateMatNormaxis
    scaleMat
    scaleShearMat
    set
    setCell
    setCol
    setRotateMat
    setRotateMatNormaxis
    setRow
    setScaleMat
    setScaleShearMat
    setShearMat
    setTranslateMat
    setUpper3
    shearMat
    translateMat
    transposeFrom
    transposeInPlace
    validatePtr
    write
    xform
    xformPoint
    xformVec
    xformVecGeneral
    yToZUpMat
    zerosMat
    zToYUpMat
LMatrix4d
LMatrix4d::LMatrix4d(void);

Construct a 4x4 matrix given a 3x3 rotation matrix and an optional translation component.
Description:

addHash
unsigned int LMatrix4d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

almostEqual
bool LMatrix4d::almost_equal(LMatrix4d const &other, double threshold) const;

Description: Returns true if two matrices are memberwise equal within a default tolerance based on the numeric type.
Description: Returns true if two matrices are memberwise equal within a specified tolerance.

begin
double const *LMatrix4d::begin(void);

Description: Returns an iterator that may be used to traverse the elements of the matrix, STL-style.

compareTo
int LMatrix4d::compare_to(LMatrix4d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts matrices lexicographically, componentwise. Returns a number less than 0 if this matrix sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

convertMat
static LMatrix4d const &LMatrix4d::convert_mat(CoordinateSystem from, CoordinateSystem to);

Description: Returns a matrix that transforms from the indicated coordinate system to the indicated coordinate system.

end
double const *LMatrix4d::end(void);

Description: Returns an iterator that may be used to traverse the elements of the matrix, STL-style.

fill
void LMatrix4d::fill(double fill_value);

Description: Sets each element of the matrix to the indicated fill_value. This is of questionable value, but is sometimes useful when initializing to zero.

getCell
double LMatrix4d::get_cell(int row, int col) const;

Description: Returns a particular element of the matrix.

getClassType
static TypeHandle LMatrix4d::get_class_type(void);

Undocumented function.

getCol
LVecBase4d LMatrix4d::get_col(int col) const;

Description: Retrieves the indicated column of the matrix as a 4-component vector.

getCol3
LVecBase3d LMatrix4d::get_col3(int col) const;

Description: Retrieves the indicated column of the matrix as a 3-component vector, ignoring the last row.

getData
double const *LMatrix4d::get_data(void) const;

Description: Returns the address of the first of the nine data elements in the matrix. The remaining elements occupy the next eight positions in row-major order.

getHash
unsigned int LMatrix4d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LMatrix4d::get_num_components(void) const;

Description: Returns the number of elements in the matrix, 16.

getRow
LVecBase4d LMatrix4d::get_row(int row) const;

these versions inline better
Description: Retrieves the indicated row of the matrix as a 4-component vector.

getRow3
LVecBase3d LMatrix4d::get_row3(int row) const;

these versions inline better
Description: Retrieves the row column of the matrix as a 3-component vector, ignoring the last column.

getUpper3
LMatrix3d LMatrix4d::get_upper_3(void) const;

Get and set the upper 3x3 rotation matrix.
Description: Retrieves the upper 3x3 submatrix.

identMat
static LMatrix4d const &LMatrix4d::ident_mat(void);

Filename: lmatrix4_src.I Created by: drose (15Jan99)
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."
Description: Returns an identity matrix.
This function definition must appear first, since some inline functions below take advantage of it.

invertAffineFrom
bool LMatrix4d::invert_affine_from(LMatrix4d const &other);

Description: Performs an invert of the indicated matrix, storing the result in this matrix. The calculation is only correct of the other matrix represents an affine transform.
The other matrix must be a different object than this matrix. However, if you need to invert a matrix in place, see invert_in_place.
The return value is true if the matrix was successfully inverted, false if the was a singularity.
bugbug: we could optimize this for rotation/scale/translation matrices (transpose upper 3x3 and take negative of translation component)

invertFrom
bool LMatrix4d::invert_from(LMatrix4d const &other);

Description: Computes the inverse of the other matrix, and stores the result in this matrix. This is a fully general operation and makes no assumptions about the type of transform represented by the matrix.
The other matrix must be a different object than this matrix. However, if you need to invert a matrix in place, see invert_in_place.
The return value is true if the matrix was successfully inverted, false if the was a singularity.

invertInPlace
bool LMatrix4d::invert_in_place(void);

Description: Inverts the current matrix. Returns true if the inverse is successful, false if the matrix was singular.

isNan
bool LMatrix4d::is_nan(void) const;

Description: Returns true if any component of the matrix is not-a-number, false otherwise.

multiply
void LMatrix4d::multiply(LMatrix4d const &other1, LMatrix4d const &other2);

this = other1 * other2

onesMat
static LMatrix4d const &LMatrix4d::ones_mat(void);

Description: Returns an matrix filled with ones.

operator !=
bool LMatrix4d::operator !=(LMatrix4d const &other) const;

Description:

operator ()
double &LMatrix4d::operator ()(int row, int col);

Description:

operator *
LMatrix4d LMatrix4d::operator *(LMatrix4d const &other) const;

Description:

operator *=
LMatrix4d &LMatrix4d::operator *=(LMatrix4d const &other);

Description:

operator +=
LMatrix4d &LMatrix4d::operator +=(LMatrix4d const &other);

Description: Performs a memberwise addition between two matrices.

operator -=
LMatrix4d &LMatrix4d::operator -=(LMatrix4d const &other);

Description: Performs a memberwise addition between two matrices.

operator /
LMatrix4d LMatrix4d::operator /(double scalar) const;

Description:

operator /=
LMatrix4d &LMatrix4d::operator /=(double scalar);

Description:

operator <
bool LMatrix4d::operator <(LMatrix4d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LMatrix4d &LMatrix4d::operator =(LMatrix4d const &other);

Description:

operator ==
bool LMatrix4d::operator ==(LMatrix4d const &other) const;

Description:

operator delete
void LMatrix4d::operator delete(void *ptr);

Undocumented function.

operator new
void *LMatrix4d::operator new(unsigned int size);

Undocumented function.

output
void LMatrix4d::output(ostream &out) const;

Description:

pythonRepr
void LMatrix4d::python_repr(ostream &out, string const &class_name) const;

Description:

rotateMat
static LMatrix4d LMatrix4d::rotate_mat(double angle, LVecBase3d const &axis, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector.

rotateMatNormaxis
static LMatrix4d LMatrix4d::rotate_mat_normaxis(double angle, LVecBase3d const &axis, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. Assumes axis has been prenormalized.

scaleMat
static LMatrix4d LMatrix4d::scale_mat(LVecBase3d const &scale);

Description: Returns a matrix that applies the indicated scale in each of the three axes.
Description: Returns a matrix that applies the indicated uniform scale.

scaleShearMat
static LMatrix4d LMatrix4d::scale_shear_mat(LVecBase3d const &scale, LVecBase3d const &shear, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that applies the indicated scale and shear.

set
void LMatrix4d::set(double e00, double e01, double e02, double e03, double e10, double e11, double e12, double e13, double e20, double e21, double e22, double e23, double e30, double e31, double e32, double e33);

Description:

setCell
void LMatrix4d::set_cell(int row, int col, double value);

Description: Changes a particular element of the matrix.

setCol
void LMatrix4d::set_col(int col, LVecBase4d const &v);

Description: Replaces the indicated column of the matrix.
Description: Replaces the indicated column of the matrix with the indicated 3-component vector, ignoring the last row.

setRotateMat
void LMatrix4d::set_rotate_mat(double angle, LVecBase3d const &axis, CoordinateSystem cs = (CS_default));

Description: Sets mat to a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector.

setRotateMatNormaxis
void LMatrix4d::set_rotate_mat_normaxis(double angle, LVecBase3d const &axis, CoordinateSystem cs = (CS_default));

Description: Fills mat with a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. Assumes axis has been prenormalized.

setRow
void LMatrix4d::set_row(int row, LVecBase4d const &v);

Description: Replaces the indicated row of the matrix.
Description: Replaces the indicated row of the matrix with the indicated 3-component vector, ignoring the last column.

setScaleMat
void LMatrix4d::set_scale_mat(LVecBase3d const &scale);

Description: Fills mat with a matrix that applies the indicated scale in each of the three axes.

setScaleShearMat
void LMatrix4d::set_scale_shear_mat(LVecBase3d const &scale, LVecBase3d const &shear, CoordinateSystem cs = (CS_default));

Description: Fills mat with a matrix that applies the indicated scale and shear.

setShearMat
void LMatrix4d::set_shear_mat(LVecBase3d const &shear, CoordinateSystem cs = (CS_default));

Description: Fills mat with a matrix that applies the indicated shear in each of the three planes.

setTranslateMat
void LMatrix4d::set_translate_mat(LVecBase3d const &trans);

Description: Fills mat with a matrix that applies the indicated translation.

setUpper3
void LMatrix4d::set_upper_3(LMatrix3d const &upper3);

Get and set the upper 3x3 rotation matrix.
Description: Sets the upper 3x3 submatrix.

shearMat
static LMatrix4d LMatrix4d::shear_mat(LVecBase3d const &shear, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that applies the indicated shear in each of the three planes.

translateMat
static LMatrix4d LMatrix4d::translate_mat(LVecBase3d const &trans);

Description: Returns a matrix that applies the indicated translation.

transposeFrom
void LMatrix4d::transpose_from(LMatrix4d const &other);

Description:

transposeInPlace
void LMatrix4d::transpose_in_place(void);

Description:

validatePtr
static bool LMatrix4d::validate_ptr(void const *ptr);

Undocumented function.

write
void LMatrix4d::write(ostream &out, int indent_level = (0)) const;

HAVE_PYTHON
Description:

xform
LVecBase4d LMatrix4d::xform(LVecBase4d const &v) const;

Description: 4-component vector or point times matrix. This is a fully general operation.

xformPoint
LVecBase3d LMatrix4d::xform_point(LVecBase3d const &v) const;

Description: The matrix transforms a 3-component point (including translation component) and returns the result. This assumes the matrix is an affine transform.

xformVec
LVecBase3d LMatrix4d::xform_vec(LVecBase3d const &v) const;

Description: The matrix transforms a 3-component vector (without translation component) and returns the result. This assumes the matrix is an orthonormal transform.

xformVecGeneral
LVecBase3d LMatrix4d::xform_vec_general(LVecBase3d const &v) const;

Description: The matrix transforms a 3-component vector (without translation component) and returns the result, as a fully general operation.

yToZUpMat
static LMatrix4d const &LMatrix4d::y_to_z_up_mat(void);

Description: Returns a matrix that transforms from the Y-up coordinate system to the Z-up coordinate system.

zerosMat
static LMatrix4d const &LMatrix4d::zeros_mat(void);

Description: Returns an matrix filled with zeros.

zToYUpMat
static LMatrix4d const &LMatrix4d::z_to_y_up_mat(void);

Description: Returns a matrix that transforms from the Y-up coordinate system to the Z-up coordinate system.


LMatrix4f

    from pandac.PandaModules import LMatrix4f
    Filename: lmatrix4_src.h Created by: drose (15Jan99)
    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."
    Class : LMatrix4
    Description : This is a 4-by-4 transform matrix.

Inheritance:

    LMatrix4f:

Methods of LMatrix4f:

    LMatrix4f (Constructor)
    addHash
    almostEqual
    begin
    compareTo
    convertMat
    end
    fill
    getCell
    getClassType
    getCol
    getCol3
    getData
    getHash
    getNumComponents
    getRow
    getRow3
    getUpper3
    identMat
    invertAffineFrom
    invertFrom
    invertInPlace
    isNan
    multiply
    onesMat
    operator !=
    operator ()
    operator *
    operator *=
    operator +=
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator delete
    operator new
    output
    pythonRepr
    rotateMat
    rotateMatNormaxis
    scaleMat
    scaleShearMat
    set
    setCell
    setCol
    setRotateMat
    setRotateMatNormaxis
    setRow
    setScaleMat
    setScaleShearMat
    setShearMat
    setTranslateMat
    setUpper3
    shearMat
    translateMat
    transposeFrom
    transposeInPlace
    validatePtr
    write
    xform
    xformPoint
    xformVec
    xformVecGeneral
    yToZUpMat
    zerosMat
    zToYUpMat
LMatrix4f
LMatrix4f::LMatrix4f(void);

Construct a 4x4 matrix given a 3x3 rotation matrix and an optional translation component.
Description:

addHash
unsigned int LMatrix4f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

almostEqual
bool LMatrix4f::almost_equal(LMatrix4f const &other, float threshold) const;

Description: Returns true if two matrices are memberwise equal within a default tolerance based on the numeric type.
Description: Returns true if two matrices are memberwise equal within a specified tolerance.

begin
float const *LMatrix4f::begin(void);

Description: Returns an iterator that may be used to traverse the elements of the matrix, STL-style.

compareTo
int LMatrix4f::compare_to(LMatrix4f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts matrices lexicographically, componentwise. Returns a number less than 0 if this matrix sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

convertMat
static LMatrix4f const &LMatrix4f::convert_mat(CoordinateSystem from, CoordinateSystem to);

Description: Returns a matrix that transforms from the indicated coordinate system to the indicated coordinate system.

end
float const *LMatrix4f::end(void);

Description: Returns an iterator that may be used to traverse the elements of the matrix, STL-style.

fill
void LMatrix4f::fill(float fill_value);

Description: Sets each element of the matrix to the indicated fill_value. This is of questionable value, but is sometimes useful when initializing to zero.

getCell
float LMatrix4f::get_cell(int row, int col) const;

Description: Returns a particular element of the matrix.

getClassType
static TypeHandle LMatrix4f::get_class_type(void);

Undocumented function.

getCol
LVecBase4f LMatrix4f::get_col(int col) const;

Description: Retrieves the indicated column of the matrix as a 4-component vector.

getCol3
LVecBase3f LMatrix4f::get_col3(int col) const;

Description: Retrieves the indicated column of the matrix as a 3-component vector, ignoring the last row.

getData
float const *LMatrix4f::get_data(void) const;

Description: Returns the address of the first of the nine data elements in the matrix. The remaining elements occupy the next eight positions in row-major order.

getHash
unsigned int LMatrix4f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LMatrix4f::get_num_components(void) const;

Description: Returns the number of elements in the matrix, 16.

getRow
LVecBase4f LMatrix4f::get_row(int row) const;

these versions inline better
Description: Retrieves the indicated row of the matrix as a 4-component vector.

getRow3
LVecBase3f LMatrix4f::get_row3(int row) const;

these versions inline better
Description: Retrieves the row column of the matrix as a 3-component vector, ignoring the last column.

getUpper3
LMatrix3f LMatrix4f::get_upper_3(void) const;

Get and set the upper 3x3 rotation matrix.
Description: Retrieves the upper 3x3 submatrix.

identMat
static LMatrix4f const &LMatrix4f::ident_mat(void);

Filename: lmatrix4_src.I Created by: drose (15Jan99)
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."
Description: Returns an identity matrix.
This function definition must appear first, since some inline functions below take advantage of it.

invertAffineFrom
bool LMatrix4f::invert_affine_from(LMatrix4f const &other);

Description: Performs an invert of the indicated matrix, storing the result in this matrix. The calculation is only correct of the other matrix represents an affine transform.
The other matrix must be a different object than this matrix. However, if you need to invert a matrix in place, see invert_in_place.
The return value is true if the matrix was successfully inverted, false if the was a singularity.
bugbug: we could optimize this for rotation/scale/translation matrices (transpose upper 3x3 and take negative of translation component)

invertFrom
bool LMatrix4f::invert_from(LMatrix4f const &other);

Description: Computes the inverse of the other matrix, and stores the result in this matrix. This is a fully general operation and makes no assumptions about the type of transform represented by the matrix.
The other matrix must be a different object than this matrix. However, if you need to invert a matrix in place, see invert_in_place.
The return value is true if the matrix was successfully inverted, false if the was a singularity.

invertInPlace
bool LMatrix4f::invert_in_place(void);

Description: Inverts the current matrix. Returns true if the inverse is successful, false if the matrix was singular.

isNan
bool LMatrix4f::is_nan(void) const;

Description: Returns true if any component of the matrix is not-a-number, false otherwise.

multiply
void LMatrix4f::multiply(LMatrix4f const &other1, LMatrix4f const &other2);

this = other1 * other2

onesMat
static LMatrix4f const &LMatrix4f::ones_mat(void);

Description: Returns an matrix filled with ones.

operator !=
bool LMatrix4f::operator !=(LMatrix4f const &other) const;

Description:

operator ()
float &LMatrix4f::operator ()(int row, int col);

Description:

operator *
LMatrix4f LMatrix4f::operator *(LMatrix4f const &other) const;

Description:

operator *=
LMatrix4f &LMatrix4f::operator *=(LMatrix4f const &other);

Description:

operator +=
LMatrix4f &LMatrix4f::operator +=(LMatrix4f const &other);

Description: Performs a memberwise addition between two matrices.

operator -=
LMatrix4f &LMatrix4f::operator -=(LMatrix4f const &other);

Description: Performs a memberwise addition between two matrices.

operator /
LMatrix4f LMatrix4f::operator /(float scalar) const;

Description:

operator /=
LMatrix4f &LMatrix4f::operator /=(float scalar);

Description:

operator <
bool LMatrix4f::operator <(LMatrix4f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LMatrix4f &LMatrix4f::operator =(LMatrix4f const &other);

Description:

operator ==
bool LMatrix4f::operator ==(LMatrix4f const &other) const;

Description:

operator delete
void LMatrix4f::operator delete(void *ptr);

Undocumented function.

operator new
void *LMatrix4f::operator new(unsigned int size);

Undocumented function.

output
void LMatrix4f::output(ostream &out) const;

Description:

pythonRepr
void LMatrix4f::python_repr(ostream &out, string const &class_name) const;

Description:

rotateMat
static LMatrix4f LMatrix4f::rotate_mat(float angle, LVecBase3f const &axis, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector.

rotateMatNormaxis
static LMatrix4f LMatrix4f::rotate_mat_normaxis(float angle, LVecBase3f const &axis, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. Assumes axis has been prenormalized.

scaleMat
static LMatrix4f LMatrix4f::scale_mat(LVecBase3f const &scale);

Description: Returns a matrix that applies the indicated scale in each of the three axes.
Description: Returns a matrix that applies the indicated uniform scale.

scaleShearMat
static LMatrix4f LMatrix4f::scale_shear_mat(LVecBase3f const &scale, LVecBase3f const &shear, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that applies the indicated scale and shear.

set
void LMatrix4f::set(float e00, float e01, float e02, float e03, float e10, float e11, float e12, float e13, float e20, float e21, float e22, float e23, float e30, float e31, float e32, float e33);

Description:

setCell
void LMatrix4f::set_cell(int row, int col, float value);

Description: Changes a particular element of the matrix.

setCol
void LMatrix4f::set_col(int col, LVecBase4f const &v);

Description: Replaces the indicated column of the matrix.
Description: Replaces the indicated column of the matrix with the indicated 3-component vector, ignoring the last row.

setRotateMat
void LMatrix4f::set_rotate_mat(float angle, LVecBase3f const &axis, CoordinateSystem cs = (CS_default));

Description: Sets mat to a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector.

setRotateMatNormaxis
void LMatrix4f::set_rotate_mat_normaxis(float angle, LVecBase3f const &axis, CoordinateSystem cs = (CS_default));

Description: Fills mat with a matrix that rotates by the given angle in degrees counterclockwise about the indicated vector. Assumes axis has been prenormalized.

setRow
void LMatrix4f::set_row(int row, LVecBase4f const &v);

Description: Replaces the indicated row of the matrix.
Description: Replaces the indicated row of the matrix with the indicated 3-component vector, ignoring the last column.

setScaleMat
void LMatrix4f::set_scale_mat(LVecBase3f const &scale);

Description: Fills mat with a matrix that applies the indicated scale in each of the three axes.

setScaleShearMat
void LMatrix4f::set_scale_shear_mat(LVecBase3f const &scale, LVecBase3f const &shear, CoordinateSystem cs = (CS_default));

Description: Fills mat with a matrix that applies the indicated scale and shear.

setShearMat
void LMatrix4f::set_shear_mat(LVecBase3f const &shear, CoordinateSystem cs = (CS_default));

Description: Fills mat with a matrix that applies the indicated shear in each of the three planes.

setTranslateMat
void LMatrix4f::set_translate_mat(LVecBase3f const &trans);

Description: Fills mat with a matrix that applies the indicated translation.

setUpper3
void LMatrix4f::set_upper_3(LMatrix3f const &upper3);

Get and set the upper 3x3 rotation matrix.
Description: Sets the upper 3x3 submatrix.

shearMat
static LMatrix4f LMatrix4f::shear_mat(LVecBase3f const &shear, CoordinateSystem cs = (CS_default));

Description: Returns a matrix that applies the indicated shear in each of the three planes.

translateMat
static LMatrix4f LMatrix4f::translate_mat(LVecBase3f const &trans);

Description: Returns a matrix that applies the indicated translation.

transposeFrom
void LMatrix4f::transpose_from(LMatrix4f const &other);

Description:

transposeInPlace
void LMatrix4f::transpose_in_place(void);

Description:

validatePtr
static bool LMatrix4f::validate_ptr(void const *ptr);

Undocumented function.

write
void LMatrix4f::write(ostream &out, int indent_level = (0)) const;

HAVE_PYTHON
Description:

xform
LVecBase4f LMatrix4f::xform(LVecBase4f const &v) const;

Description: 4-component vector or point times matrix. This is a fully general operation.

xformPoint
LVecBase3f LMatrix4f::xform_point(LVecBase3f const &v) const;

Description: The matrix transforms a 3-component point (including translation component) and returns the result. This assumes the matrix is an affine transform.

xformVec
LVecBase3f LMatrix4f::xform_vec(LVecBase3f const &v) const;

Description: The matrix transforms a 3-component vector (without translation component) and returns the result. This assumes the matrix is an orthonormal transform.

xformVecGeneral
LVecBase3f LMatrix4f::xform_vec_general(LVecBase3f const &v) const;

Description: The matrix transforms a 3-component vector (without translation component) and returns the result, as a fully general operation.

yToZUpMat
static LMatrix4f const &LMatrix4f::y_to_z_up_mat(void);

Description: Returns a matrix that transforms from the Y-up coordinate system to the Z-up coordinate system.

zerosMat
static LMatrix4f const &LMatrix4f::zeros_mat(void);

Description: Returns an matrix filled with zeros.

zToYUpMat
static LMatrix4f const &LMatrix4f::z_to_y_up_mat(void);

Description: Returns a matrix that transforms from the Y-up coordinate system to the Z-up coordinate system.


Loader

    from direct.showbase.Loader import Loader
    Load models, textures, sounds, and code.

Inheritance:

    Loader:

Methods of Loader:

    __asyncFlattenDone
    __gotAsyncObject
    __init__
    asyncFlattenStrong
    cancelRequest
    destroy
    isRequestPending
    load3DTexture
    loadCubeMap
    loadFont
    loadModel
    loadModelCopy
    loadModelNode
    loadModelOnce
    loadMusic
    loadSfx
    loadShader
    loadSound
    loadTexture
    unloadModel
    unloadSfx
    unloadShader
    unloadTexture
__asyncFlattenDone
def __asyncFlattenDone(self, models, gotList, callback, origModelList, extraArgs)

The asynchronous flatten operation has completed; quietly drop in the new models.

__gotAsyncObject
def __gotAsyncObject(self, request)

A model or sound file or some such thing has just been loaded asynchronously by the sub-thread. Add it to the list of loaded objects, and call the appropriate callback when it's time.

__init__
def __init__(self, base)

Undocumented function.

asyncFlattenStrong
def asyncFlattenStrong(self, model, inPlace=True, callback=None, extraArgs=[])

Performs a model.flattenStrong() operation in a sub-thread (if threading is compiled into Panda). The model may be a single NodePath, or it may be a list of NodePaths.
Each model is duplicated and flattened in the sub-thread.
If inPlace is True, then when the flatten operation completes, the newly flattened copies are automatically dropped into the scene graph, in place the original models.
If a callback is specified, then it is called after the operation is finished, receiving the flattened model (or a list of flattened models).

cancelRequest
def cancelRequest(self, cb)

Cancels an aysynchronous loading or flatten request issued earlier. The callback associated with the request will not be called after cancelRequest() has been performed.

destroy
def destroy(self)

Undocumented function.

isRequestPending
def isRequestPending(self, cb)

Returns true if an asynchronous loading or flatten request issued earlier is still pending, or false if it has completed or been cancelled.

load3DTexture
def load3DTexture(self, texturePattern, readMipmaps=False)

texturePattern is a string that contains a sequence of one or more '#' characters, which will be filled in with the sequence number.
Returns a 3-D Texture object, suitable for rendering volumetric textures, if successful, or None if not.

loadCubeMap
def loadCubeMap(self, texturePattern, readMipmaps=False)

texturePattern is a string that contains a sequence of one or more '#' characters, which will be filled in with the sequence number.
Returns a six-face cube map Texture object if successful, or None if not.

loadFont
def loadFont(self, modelPath, spaceAdvance=None, pointSize=None, pixelsPerUnit=None, scaleFactor=None, textureMargin=None, polyMargin=None, minFilter=None, magFilter=None, anisotropicDegree=None, lineHeight=None)

modelPath is a string.
This loads a special model as a TextFont object, for rendering text with a TextNode. A font file must be either a special egg file (or bam file) generated with egg-mkfont, or a standard font file (like a TTF file) that is supported by FreeType.

loadModel
def loadModel(self, modelPath, loaderOptions=None, noCache=None, allowInstance=False, callback=None, extraArgs=[])

Attempts to load a model or models from one or more relative pathnames. If the input modelPath is a string (a single model pathname), the return value will be a NodePath to the model loaded if the load was successful, or None otherwise. If the input modelPath is a list of pathnames, the return value will be a list of NodePaths and/or Nones.
loaderOptions may optionally be passed in to control details about the way the model is searched and loaded. See the LoaderOptions class for more.
The default is to look in the ModelPool (RAM) cache first, and return a copy from that if the model can be found there. If the bam cache is enabled (via the model-cache-dir config variable), then that will be consulted next, and if both caches fail, the file will be loaded from disk. If noCache is True, then neither cache will be consulted or updated.
If callback is not None, then the model load will be performed asynchronously. In this case, loadModel() will initiate a background load and return immediately. The return value will be an object that may later be passed to loader.cancelRequest() to cancel the asynchronous request. At some later point, when the requested model(s) have finished loading, the callback function will be invoked with the n loaded models passed as its parameter list. It is possible that the callback will be invoked immediately, even before loadModel() returns.
True asynchronous model loading requires Panda to have been compiled with threading support enabled (you can test Thread.isThreadingSupported()). In the absence of threading support, the asynchronous interface still exists and still behaves exactly as described, except that loadModel() might not return immediately.

loadModelCopy
def loadModelCopy(self, modelPath, loaderOptions=None)

loadModelCopy(self, string) Attempt to load a model from modelPool, if not present then attempt to load it from disk. Return a nodepath to a copy of the model if successful or None otherwise

loadModelNode
def loadModelNode(self, modelPath)

modelPath is a string.
This is like loadModelOnce in that it loads a model from the modelPool, but it does not then instance it to hidden and it returns a Node instead of a NodePath. This is particularly useful for special models like fonts that you don't care about where they're parented to, and you don't want a NodePath anyway--it prevents accumulation of instances of the font model under hidden.
However, if you're loading a font, see loadFont(), below.

loadModelOnce
def loadModelOnce(self, modelPath)

modelPath is a string.
Attempt to load a model from modelPool, if not present then attempt to load it from disk. Return a nodepath to the model if successful or None otherwise

loadMusic
def loadMusic(self, *args, **kw)

Loads one or more sound files, specifically designated as a "music" file (that is, uses the musicManager to load the sound). There is no distinction between sound effect files and music files other than the particular AudioManager used to load the sound file, but this distinction allows the sound effects and/or the music files to be adjusted as a group, independently of the other group.

loadSfx
def loadSfx(self, *args, **kw)

Loads one or more sound files, specifically designated as a "sound effect" file (that is, uses the sfxManager to load the sound). There is no distinction between sound effect files and music files other than the particular AudioManager used to load the sound file, but this distinction allows the sound effects and/or the music files to be adjusted as a group, independently of the other group.

loadShader
def loadShader(self, shaderPath)

Undocumented function.

loadSound
def loadSound(self, manager, soundPath, positional=False, callback=None, extraArgs=[])

Loads one or more sound files, specifying the particular AudioManager that should be used to load them. The soundPath may be either a single filename, or a list of filenames. If a callback is specified, the loading happens in the background, just as in loadModel(); otherwise, the loading happens before loadSound() returns.

loadTexture
def loadTexture(self, texturePath, alphaPath=None, readMipmaps=False)

texturePath is a string.
Attempt to load a texture from the given file path using TexturePool class. Returns None if not found

unloadModel
def unloadModel(self, model)

model is the return value of loadModel(). For backward compatibility, it may also be the filename that was passed to loadModel(), though this requires a disk search.

unloadSfx
def unloadSfx(self, sfx)

Undocumented function.

unloadShader
def unloadShader(self, shaderPath)

Undocumented function.

unloadTexture
def unloadTexture(self, texture)

Removes the previously-loaded texture from the cache, so that when the last reference to it is gone, it will be released. This also means that the next time the same texture is loaded, it will be re-read from disk (and duplicated in texture memory if there are still outstanding references to it).
The texture parameter may be the return value of any previous call to loadTexture(), load3DTexture(), or loadCubeMap().


LoaderFileType

    from pandac.PandaModules import LoaderFileType
    Class : LoaderFileType
    Description : This is the base class for a family of scene-graph file types that the Loader supports. Each kind of loader that's available should define a corresponding LoaderFileType object and register itself.

Inheritance:

    LoaderFileType: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of LoaderFileType:

    getAdditionalExtensions
    getAllowDiskCache
    getAllowRamCache
    getClassType
    getExtension
    getName
    supportsCompressed

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
getAdditionalExtensions
virtual string LoaderFileType::get_additional_extensions(void) const;

Description: Returns a space-separated list of extension, in addition to the one returned by get_extension(), that are recognized by this loader.

getAllowDiskCache
virtual bool LoaderFileType::get_allow_disk_cache(LoaderOptions const &options) const;

Description: Returns true if the loader flags allow retrieving the model from the on-disk bam cache (if it is enabled), false otherwise.

getAllowRamCache
virtual bool LoaderFileType::get_allow_ram_cache(LoaderOptions const &options) const;

Description: Returns true if the loader flags allow retrieving the model from the in-memory ModelPool cache, false otherwise.

getClassType
static TypeHandle LoaderFileType::get_class_type(void);

Undocumented function.

getExtension
virtual string LoaderFileType::get_extension(void) const = 0;

Undocumented function.

getName
virtual string LoaderFileType::get_name(void) const = 0;

Undocumented function.

supportsCompressed
virtual bool LoaderFileType::supports_compressed(void) const;

Description: Returns true if this file type can transparently load compressed files (with a .pz extension), false otherwise.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


LoaderFileTypeRegistry

    from pandac.PandaModules import LoaderFileTypeRegistry
    Class : LoaderFileTypeRegistry
    Description : This class maintains the set of all known LoaderFileTypes in the universe.

Inheritance:

    LoaderFileTypeRegistry:

Methods of LoaderFileTypeRegistry:

    getGlobalPtr
    getNumTypes
    getType
    getTypeFromExtension
    write
getGlobalPtr
static LoaderFileTypeRegistry *LoaderFileTypeRegistry::get_global_ptr(void);

Description: Returns a pointer to the global LoaderFileTypeRegistry object.

getNumTypes
int LoaderFileTypeRegistry::get_num_types(void) const;

Description: Returns the total number of types registered.

getType
LoaderFileType *LoaderFileTypeRegistry::get_type(int n) const;

Description: Returns the nth type registered.

getTypeFromExtension
LoaderFileType *LoaderFileTypeRegistry::get_type_from_extension(string const &extension);

Description: Determines the type of the file based on the indicated extension (without a leading dot). Returns NULL if the extension matches no known file types.

write
void LoaderFileTypeRegistry::write(ostream &out, int indent_level = (0)) const;

Description: Writes a list of supported file types to the indicated output stream, one per line.


LoaderOptions

    from pandac.PandaModules import LoaderOptions
    Class : LoaderOptions
    Description : Specifies parameters that may be passed to the loader.

Inheritance:

    LoaderOptions:

Methods of LoaderOptions:

    LoaderOptions (Constructor)
    getFlags
    operator =
    output
    setFlags

Constants in LoaderOptions:

    LFSearch | (LoaderFlags)
LFReportErrors | (LoaderFlags)
LFConvertSkeleton | (LoaderFlags)
LFConvertChannels | (LoaderFlags)
LFConvertAnim | (LoaderFlags)
LFNoDiskCache | (LoaderFlags)
LFNoRamCache | (LoaderFlags)
LFNoCache | (LoaderFlags)
LFCacheOnly | (LoaderFlags)
LFAllowInstance | (LoaderFlags)
LoaderOptions
LoaderOptions::LoaderOptions(int flags = ((LF_search | LF_report_errors)));

Description:

getFlags
int LoaderOptions::get_flags(void) const;

Description:

operator =
void LoaderOptions::operator =(LoaderOptions const &copy);

Description:

output
void LoaderOptions::output(ostream &out) const;

Description:

setFlags
void LoaderOptions::set_flags(int flags);

Description:


LODNode

    from pandac.PandaModules import LODNode
    Class : LODNode
    Description : A Level-of-Detail node. This selects only one of its children for rendering, according to the distance from the camera and the table indicated in the associated LOD object.

Inheritance:

    LODNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of LODNode:

    LODNode (Constructor)
    addSwitch
    clearForceSwitch
    clearSwitches
    forceSwitch
    getCenter
    getClassType
    getHighestSwitch
    getIn
    getLowestSwitch
    getNumSwitches
    getOut
    hideAllSwitches
    hideSwitch
    isAnyShown
    makeDefaultLod
    setCenter
    setSwitch
    showAllSwitches
    showSwitch
    verifyChildBounds

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
LODNode
LODNode::LODNode(string const &name);

Description:

addSwitch
void LODNode::add_switch(float in, float out);

The sense of in vs. out distances is as if the object were coming towards you from far away: it switches "in" at the far distance, and switches "out" at the close distance. Thus, "in" should be larger than "out".
Description: Adds a switch range to the LODNode. This implies that the corresponding child node has been parented to the node.

clearForceSwitch
void LODNode::clear_force_switch(void);

Description: Undoes the effect of a previous call to force_switch() and releases the LODNode to once again display the normal level.

clearSwitches
void LODNode::clear_switches(void);

Description: Removes the set of switching ranges for the LODNode, presumably in conjunction with removing all of its children. See add_switch().

forceSwitch
void LODNode::force_switch(int index);

Description: Forces the LODNode to show the indicated level instead of the level that would normally be shown based on the distance from the camera.

getCenter
LPoint3f const &LODNode::get_center(void) const;

Description: Returns the center of the LOD. This is the point that is compared to the camera (in camera space) to determine the particular LOD that should be chosen.

getClassType
static TypeHandle LODNode::get_class_type(void);

Undocumented function.

getHighestSwitch
int LODNode::get_highest_switch(void) const;

Description: Returns the index number of the child with the highest level of detail; that is, the one that is designed to be seen from the closest to the camera. This is usually the last child, but it is not necessarily so.

getIn
float LODNode::get_in(int index) const;

Description: Returns the "in" distance of the indicated switch range. This should be larger than the "out" distance of the same range.

getLowestSwitch
int LODNode::get_lowest_switch(void) const;

Description: Returns the index number of the child with the lowest level of detail; that is, the one that is designed to be seen from the farthest away. This is usually the first child, but it is not necessarily so.

getNumSwitches
int LODNode::get_num_switches(void) const;

Description: Returns the number of switch ranges added to the LODNode. This should correspond to the number of children of the node in order for the LODNode to function correctly.

getOut
float LODNode::get_out(int index) const;

Description: Returns the "out" distance of the indicated switch range. This should be smaller than the "in" distance of the same range.

hideAllSwitches
void LODNode::hide_all_switches(void);

Description: Hides all levels, restoring the LODNode to normal operation.

hideSwitch
void LODNode::hide_switch(int index);

Description: Disables a previous call to show_switch().

isAnyShown
bool LODNode::is_any_shown(void) const;

Description: Returns true if any switch has been shown with show_switch(), indicating the LODNode is in debug show mode; or false if it is in the normal mode.

makeDefaultLod
static PointerTo< LODNode > LODNode::make_default_lod(string const &name);

Description: Creates a new LODNode of the type specified by the default-lod-type config variable.

setCenter
void LODNode::set_center(LPoint3f const &center);

Description: Specifies the center of the LOD. This is the point that is compared to the camera (in camera space) to determine the particular LOD that should be chosen.

setSwitch
bool LODNode::set_switch(int index, float in, float out);

Description: Changes the switching range of a particular child of the LODNode. See add_switch().

showAllSwitches
void LODNode::show_all_switches(void);

Description: Shows all levels in their default colors.

showSwitch
void LODNode::show_switch(int index);

Description: This is provided as a debugging aid. show_switch() will put the LODNode into a special mode where rather than computing and drawing the appropriate level of the LOD, a ring is drawn around the LODNode center indicating the switch distances from the camera for the indicated level, and the geometry of the indicated level is drawn in wireframe.
Multiple different levels can be visualized this way at once. Call hide_switch() or hide_all_switches() to undo this mode and restore the LODNode to its normal behavior.

verifyChildBounds
bool LODNode::verify_child_bounds(void) const;

Description: Returns true if the bounding volumes for the geometry of each fhild node entirely fits within the switch_in radius for that child, or false otherwise. It is almost always a mistake for the geometry of an LOD level to be larger than its switch_in radius.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


LODNodeType

    from pandac.PandaModules import LODNodeType

Inheritance:

    LODNodeType:


Logger

    from direct.directnotify.Logger import Logger

Inheritance:

    Logger:

Methods of Logger:

    __closeLogFile
    __getTimeStamp
    __init__
    __openLogFile
    getTimeStamp
    log
    resetStartTime
    setTimeStamp
__closeLogFile
def __closeLogFile(self)

Close the error/warning output file

__getTimeStamp
def __getTimeStamp(self)

Return the offset between current time and log file startTime

__init__
def __init__(self, fileName="log")

Logger constructor

__openLogFile
def __openLogFile(self)

Open a file for logging error/warning messages

getTimeStamp
def getTimeStamp(self)

Return whether or not we are printing time stamps with log entries

log
def log(self, entryString)

log(self, string) Print the given string to the log file

resetStartTime
def resetStartTime(self)

Reset the start time of the log file for time stamps

setTimeStamp
def setTimeStamp(self, bool)

Toggle time stamp printing with log entries on and off


LOrientationd

    from pandac.PandaModules import LOrientationd
    Class : LOrientation
    Description : This is a unit quaternion representing an orientation.

Inheritance:

    LOrientationd: LQuaterniond
    LQuaterniond: LVecBase4d
    LVecBase4d:

Methods of LOrientationd:

    LOrientationd (Constructor)
    getClassType
    operator *

Methods of LQuaterniond:

    LQuaterniond (Constructor)
    almostEqual
    almostSameDirection
    angleDeg
    angleRad
    conjugate
    conjugateFrom
    conjugateInPlace
    extractToMatrix
    getAngle
    getAngleRad
    getAxis
    getAxisNormalized
    getClassType
    getForward
    getHpr
    getI
    getJ
    getK
    getR
    getRight
    getUp
    identQuat
    invertFrom
    invertInPlace
    isAlmostIdentity
    isIdentity
    isSameDirection
    multiply
    normalize
    operator *
    operator *=
    operator +
    operator -
    operator -
    operator /
    output
    pureImaginary
    setFromAxisAngle
    setFromAxisAngleRad
    setFromMatrix
    setHpr
    setI
    setJ
    setK
    setR
    xform

Methods of LVecBase4d:

    LVecBase4d (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
LOrientationd
LOrientationd::LOrientationd(void);

Filename: lorientation_src.I Created by: frang, charles (23Jun00)
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."
Description:
Description: vector + twist
Description: matrix3
Description: matrix4

getClassType
static TypeHandle LOrientationd::get_class_type(void);

Undocumented function.

operator *
LOrientationd LOrientationd::operator *(LRotationd const &other) const;

Description: Orientation * rotation = Orientation Applies a rotation to an orientation.
Description: Orientation * Orientation This is a meaningless operation, and will always simply return the rhs.

LQuaterniond
LQuaterniond::LQuaterniond(void);

Filename: lquaternion_src.I Created by: frang (06Jun00)
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."
Description:

almostEqual
bool LQuaterniond::almost_equal(LQuaterniond const &other) const;

Description: Returns true if two quaternions are memberwise equal within a default tolerance based on the numeric type.
Description: Returns true if two quaternions are memberwise equal within a specified tolerance.

almostSameDirection
bool LQuaterniond::almost_same_direction(LQuaterniond const &other, double threshold) const;

Description: Returns true if two quaternions represent the same rotation within a specified tolerance.

angleDeg
double LQuaterniond::angle_deg(LQuaterniond const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in degrees.

angleRad
double LQuaterniond::angle_rad(LQuaterniond const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in radians.

conjugate
LQuaterniond LQuaterniond::conjugate(void) const;

Description: Returns the complex conjugate of this quat.

conjugateFrom
bool LQuaterniond::conjugate_from(LQuaterniond const &other);

Description: Computes the conjugate of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to get a conjugate of a quat in place, see conjugate_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

conjugateInPlace
bool LQuaterniond::conjugate_in_place(void);

Description: Sets this to be the conjugate of the current quat. Returns true if the successful, false if the quat was singular.

extractToMatrix
void LQuaterniond::extract_to_matrix(LMatrix3d &m) const;

Description: Based on the quat lib from VRPN.

getAngle
double LQuaterniond::get_angle(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in degrees counterclockwise about the axis.
It is necessary to ensure the quaternion has been normalized (for instance, with a call to normalize()) before calling this method.

getAngleRad
double LQuaterniond::get_angle_rad(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in radians counterclockwise about the axis.
It is necessary to ensure the quaternion has been normalized (for instance, with a call to normalize()) before calling this method.

getAxis
LVector3d LQuaterniond::get_axis(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the axis; it is not normalized.

getAxisNormalized
LVector3d LQuaterniond::get_axis_normalized(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the normalized axis.

getClassType
static TypeHandle LQuaterniond::get_class_type(void);

Undocumented function.

getForward
LVector3d LQuaterniond::get_forward(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a forward vector.

getHpr
LVecBase3d LQuaterniond::get_hpr(CoordinateSystem cs = (CS_default)) const;

Description: Extracts the equivalent Euler angles from the unit quaternion.

getI
double LQuaterniond::get_i(void) const;

Description:

getJ
double LQuaterniond::get_j(void) const;

Description:

getK
double LQuaterniond::get_k(void) const;

Description:

getR
double LQuaterniond::get_r(void) const;

Description:

getRight
LVector3d LQuaterniond::get_right(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a right vector.

getUp
LVector3d LQuaterniond::get_up(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as an up vector.

identQuat
static LQuaterniond const &LQuaterniond::ident_quat(void);

Description: Returns an identity quaternion.

invertFrom
bool LQuaterniond::invert_from(LQuaterniond const &other);

Description: Computes the inverse of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to invert a quat in place, see invert_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

invertInPlace
bool LQuaterniond::invert_in_place(void);

Description: Inverts the current quat. Returns true if the inverse is successful, false if the quat was singular.

isAlmostIdentity
bool LQuaterniond::is_almost_identity(double tolerance) const;

Description: Returns true if this quaternion represents the identity transformation within a given tolerance.

isIdentity
bool LQuaterniond::is_identity(void) const;

Description: Returns true if this quaternion represents the identity transformation: no rotation.

isSameDirection
bool LQuaterniond::is_same_direction(LQuaterniond const &other) const;

Description: Returns true if two quaternions represent the same rotation within a default tolerance based on the numeric type.

multiply
LQuaterniond LQuaterniond::multiply(LQuaterniond const &rhs) const;

Description: actual multiply call (non virtual)

normalize
bool LQuaterniond::normalize(void);

Description:

operator *
LQuaterniond LQuaterniond::operator *(double scalar) const;

Description:
Description: Quat * Matrix = matrix

operator *=
LQuaterniond &LQuaterniond::operator *=(LQuaterniond const &);

Description:

operator +
LQuaterniond LQuaterniond::operator +(LQuaterniond const &other) const;

Description:

operator -
LQuaterniond LQuaterniond::operator -(LQuaterniond const &other) const;

Description:

operator -
LQuaterniond LQuaterniond::operator -(LQuaterniond const &other) const;

Description:

operator /
LQuaterniond LQuaterniond::operator /(double scalar) const;

Description:

output
void LQuaterniond::output(ostream &) const;

Description:

pureImaginary
static LQuaterniond LQuaterniond::pure_imaginary(LVector3d const &);

Description:

setFromAxisAngle
void LQuaterniond::set_from_axis_angle(double angle_deg, LVector3d const &axis);

Description: angle_deg is the angle about the axis in degrees. axis must be normalized.

setFromAxisAngleRad
void LQuaterniond::set_from_axis_angle_rad(double angle_rad, LVector3d const &axis);

Description: angle_rad is the angle about the axis in radians. axis must be normalized.

setFromMatrix
void LQuaterniond::set_from_matrix(LMatrix3d const &m);

Description:
Description: Sets the quaternion according to the rotation represented by the matrix. Originally we tried an algorithm presented by Do-While Jones, but that turned out to be broken. This is based on the quat lib from UNC.

setHpr
void LQuaterniond::set_hpr(LVecBase3d const &hpr, CoordinateSystem cs = (CS_default));

Description: Sets the quaternion as the unit quaternion that is equivalent to these Euler angles. (from Real-time Rendering, p.49)

setI
void LQuaterniond::set_i(double i);

Description:

setJ
void LQuaterniond::set_j(double j);

Description:

setK
void LQuaterniond::set_k(double k);

Description:

setR
void LQuaterniond::set_r(double r);

Description:

xform
LVecBase3d LQuaterniond::xform(LVecBase3d const &v) const;

Description: Transforms a 3-d vector by the indicated rotation
Description: Transforms a 4-d vector by the indicated rotation

LVecBase4d
LVecBase4d::LVecBase4d(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4d::add_w(double value);

Description:

addX
void LVecBase4d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4d::add_y(double value);

Description:

addZ
void LVecBase4d::add_z(double value);

Description:

almostEqual
bool LVecBase4d::almost_equal(LVecBase4d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4d::compare_to(LVecBase4d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
double LVecBase4d::dot(LVecBase4d const &other) const;

Description:

fill
void LVecBase4d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4d LVecBase4d::fmax(LVecBase4d const &other);

Description:

fmin
LVecBase4d LVecBase4d::fmin(LVecBase4d const &other);

Description:

getCell
double LVecBase4d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase4d::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4d::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
double LVecBase4d::get_w(void) const;

Description:

getX
double LVecBase4d::get_x(void) const;

Description:

getY
double LVecBase4d::get_y(void) const;

Description:

getZ
double LVecBase4d::get_z(void) const;

Description:

isNan
bool LVecBase4d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4d::operator !=(LVecBase4d const &other) const;

Description:

operator *
LVecBase4d LVecBase4d::operator *(double scalar) const;

Description:

operator *=
void LVecBase4d::operator *=(double scalar);

Description:

operator +
LVecBase4d LVecBase4d::operator +(LVecBase4d const &other) const;

Description:

operator +=
void LVecBase4d::operator +=(LVecBase4d const &other);

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -=
void LVecBase4d::operator -=(LVecBase4d const &other);

Description:

operator /
LVecBase4d LVecBase4d::operator /(double scalar) const;

Description:

operator /=
void LVecBase4d::operator /=(double scalar);

Description:

operator <
bool LVecBase4d::operator <(LVecBase4d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4d &LVecBase4d::operator =(LVecBase4d const &copy);

Description:

operator ==
bool LVecBase4d::operator ==(LVecBase4d const &other) const;

Description:

operator []
double LVecBase4d::operator [](int i) const;

Description:

operator delete
void LVecBase4d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4d::set(double x, double y, double z, double w);

Description:

setCell
void LVecBase4d::set_cell(int i, double value);

Description:

setW
void LVecBase4d::set_w(double value);

Description:

setX
void LVecBase4d::set_x(double value);

Description:

setY
void LVecBase4d::set_y(double value);

Description:

setZ
void LVecBase4d::set_z(double value);

Description:

unitW
static LVecBase4d const &LVecBase4d::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4d const &LVecBase4d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4d const &LVecBase4d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4d const &LVecBase4d::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4d const &LVecBase4d::zero(void);

Description: Returns a zero-length vector.


LOrientationf

    from pandac.PandaModules import LOrientationf
    Class : LOrientation
    Description : This is a unit quaternion representing an orientation.

Inheritance:

    LOrientationf: LQuaternionf
    LQuaternionf: LVecBase4f
    LVecBase4f:

Methods of LOrientationf:

    LOrientationf (Constructor)
    getClassType
    operator *

Methods of LQuaternionf:

    LQuaternionf (Constructor)
    almostEqual
    almostSameDirection
    angleDeg
    angleRad
    conjugate
    conjugateFrom
    conjugateInPlace
    extractToMatrix
    getAngle
    getAngleRad
    getAxis
    getAxisNormalized
    getClassType
    getForward
    getHpr
    getI
    getJ
    getK
    getR
    getRight
    getUp
    identQuat
    invertFrom
    invertInPlace
    isAlmostIdentity
    isIdentity
    isSameDirection
    multiply
    normalize
    operator *
    operator *=
    operator +
    operator -
    operator -
    operator /
    output
    pureImaginary
    setFromAxisAngle
    setFromAxisAngleRad
    setFromMatrix
    setHpr
    setI
    setJ
    setK
    setR
    xform

Methods of LVecBase4f:

    LVecBase4f (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
LOrientationf
LOrientationf::LOrientationf(void);

Filename: lorientation_src.I Created by: frang, charles (23Jun00)
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."
Description:
Description: vector + twist
Description: matrix3
Description: matrix4

getClassType
static TypeHandle LOrientationf::get_class_type(void);

Undocumented function.

operator *
LOrientationf LOrientationf::operator *(LRotationf const &other) const;

Description: Orientation * rotation = Orientation Applies a rotation to an orientation.
Description: Orientation * Orientation This is a meaningless operation, and will always simply return the rhs.

LQuaternionf
LQuaternionf::LQuaternionf(void);

Filename: lquaternion_src.I Created by: frang (06Jun00)
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."
Description:

almostEqual
bool LQuaternionf::almost_equal(LQuaternionf const &other) const;

Description: Returns true if two quaternions are memberwise equal within a default tolerance based on the numeric type.
Description: Returns true if two quaternions are memberwise equal within a specified tolerance.

almostSameDirection
bool LQuaternionf::almost_same_direction(LQuaternionf const &other, float threshold) const;

Description: Returns true if two quaternions represent the same rotation within a specified tolerance.

angleDeg
float LQuaternionf::angle_deg(LQuaternionf const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in degrees.

angleRad
float LQuaternionf::angle_rad(LQuaternionf const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in radians.

conjugate
LQuaternionf LQuaternionf::conjugate(void) const;

Description: Returns the complex conjugate of this quat.

conjugateFrom
bool LQuaternionf::conjugate_from(LQuaternionf const &other);

Description: Computes the conjugate of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to get a conjugate of a quat in place, see conjugate_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

conjugateInPlace
bool LQuaternionf::conjugate_in_place(void);

Description: Sets this to be the conjugate of the current quat. Returns true if the successful, false if the quat was singular.

extractToMatrix
void LQuaternionf::extract_to_matrix(LMatrix3f &m) const;

Description: Based on the quat lib from VRPN.

getAngle
float LQuaternionf::get_angle(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in degrees counterclockwise about the axis.
It is necessary to ensure the quaternion has been normalized (for instance, with a call to normalize()) before calling this method.

getAngleRad
float LQuaternionf::get_angle_rad(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in radians counterclockwise about the axis.
It is necessary to ensure the quaternion has been normalized (for instance, with a call to normalize()) before calling this method.

getAxis
LVector3f LQuaternionf::get_axis(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the axis; it is not normalized.

getAxisNormalized
LVector3f LQuaternionf::get_axis_normalized(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the normalized axis.

getClassType
static TypeHandle LQuaternionf::get_class_type(void);

Undocumented function.

getForward
LVector3f LQuaternionf::get_forward(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a forward vector.

getHpr
LVecBase3f LQuaternionf::get_hpr(CoordinateSystem cs = (CS_default)) const;

Description: Extracts the equivalent Euler angles from the unit quaternion.

getI
float LQuaternionf::get_i(void) const;

Description:

getJ
float LQuaternionf::get_j(void) const;

Description:

getK
float LQuaternionf::get_k(void) const;

Description:

getR
float LQuaternionf::get_r(void) const;

Description:

getRight
LVector3f LQuaternionf::get_right(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a right vector.

getUp
LVector3f LQuaternionf::get_up(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as an up vector.

identQuat
static LQuaternionf const &LQuaternionf::ident_quat(void);

Description: Returns an identity quaternion.

invertFrom
bool LQuaternionf::invert_from(LQuaternionf const &other);

Description: Computes the inverse of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to invert a quat in place, see invert_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

invertInPlace
bool LQuaternionf::invert_in_place(void);

Description: Inverts the current quat. Returns true if the inverse is successful, false if the quat was singular.

isAlmostIdentity
bool LQuaternionf::is_almost_identity(float tolerance) const;

Description: Returns true if this quaternion represents the identity transformation within a given tolerance.

isIdentity
bool LQuaternionf::is_identity(void) const;

Description: Returns true if this quaternion represents the identity transformation: no rotation.

isSameDirection
bool LQuaternionf::is_same_direction(LQuaternionf const &other) const;

Description: Returns true if two quaternions represent the same rotation within a default tolerance based on the numeric type.

multiply
LQuaternionf LQuaternionf::multiply(LQuaternionf const &rhs) const;

Description: actual multiply call (non virtual)

normalize
bool LQuaternionf::normalize(void);

Description:

operator *
LQuaternionf LQuaternionf::operator *(float scalar) const;

Description:
Description: Quat * Matrix = matrix

operator *=
LQuaternionf &LQuaternionf::operator *=(LQuaternionf const &);

Description:

operator +
LQuaternionf LQuaternionf::operator +(LQuaternionf const &other) const;

Description:

operator -
LQuaternionf LQuaternionf::operator -(LQuaternionf const &other) const;

Description:

operator -
LQuaternionf LQuaternionf::operator -(LQuaternionf const &other) const;

Description:

operator /
LQuaternionf LQuaternionf::operator /(float scalar) const;

Description:

output
void LQuaternionf::output(ostream &) const;

Description:

pureImaginary
static LQuaternionf LQuaternionf::pure_imaginary(LVector3f const &);

Description:

setFromAxisAngle
void LQuaternionf::set_from_axis_angle(float angle_deg, LVector3f const &axis);

Description: angle_deg is the angle about the axis in degrees. axis must be normalized.

setFromAxisAngleRad
void LQuaternionf::set_from_axis_angle_rad(float angle_rad, LVector3f const &axis);

Description: angle_rad is the angle about the axis in radians. axis must be normalized.

setFromMatrix
void LQuaternionf::set_from_matrix(LMatrix3f const &m);

Description:
Description: Sets the quaternion according to the rotation represented by the matrix. Originally we tried an algorithm presented by Do-While Jones, but that turned out to be broken. This is based on the quat lib from UNC.

setHpr
void LQuaternionf::set_hpr(LVecBase3f const &hpr, CoordinateSystem cs = (CS_default));

Description: Sets the quaternion as the unit quaternion that is equivalent to these Euler angles. (from Real-time Rendering, p.49)

setI
void LQuaternionf::set_i(float i);

Description:

setJ
void LQuaternionf::set_j(float j);

Description:

setK
void LQuaternionf::set_k(float k);

Description:

setR
void LQuaternionf::set_r(float r);

Description:

xform
LVecBase3f LQuaternionf::xform(LVecBase3f const &v) const;

Description: Transforms a 3-d vector by the indicated rotation
Description: Transforms a 4-d vector by the indicated rotation

LVecBase4f
LVecBase4f::LVecBase4f(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4f::add_w(float value);

Description:

addX
void LVecBase4f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4f::add_y(float value);

Description:

addZ
void LVecBase4f::add_z(float value);

Description:

almostEqual
bool LVecBase4f::almost_equal(LVecBase4f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4f::compare_to(LVecBase4f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
float LVecBase4f::dot(LVecBase4f const &other) const;

Description:

fill
void LVecBase4f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4f LVecBase4f::fmax(LVecBase4f const &other);

Description:

fmin
LVecBase4f LVecBase4f::fmin(LVecBase4f const &other);

Description:

getCell
float LVecBase4f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase4f::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4f::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
float LVecBase4f::get_w(void) const;

Description:

getX
float LVecBase4f::get_x(void) const;

Description:

getY
float LVecBase4f::get_y(void) const;

Description:

getZ
float LVecBase4f::get_z(void) const;

Description:

isNan
bool LVecBase4f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4f::operator !=(LVecBase4f const &other) const;

Description:

operator *
LVecBase4f LVecBase4f::operator *(float scalar) const;

Description:

operator *=
void LVecBase4f::operator *=(float scalar);

Description:

operator +
LVecBase4f LVecBase4f::operator +(LVecBase4f const &other) const;

Description:

operator +=
void LVecBase4f::operator +=(LVecBase4f const &other);

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -=
void LVecBase4f::operator -=(LVecBase4f const &other);

Description:

operator /
LVecBase4f LVecBase4f::operator /(float scalar) const;

Description:

operator /=
void LVecBase4f::operator /=(float scalar);

Description:

operator <
bool LVecBase4f::operator <(LVecBase4f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4f &LVecBase4f::operator =(LVecBase4f const &copy);

Description:

operator ==
bool LVecBase4f::operator ==(LVecBase4f const &other) const;

Description:

operator []
float LVecBase4f::operator [](int i) const;

Description:

operator delete
void LVecBase4f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4f::set(float x, float y, float z, float w);

Description:

setCell
void LVecBase4f::set_cell(int i, float value);

Description:

setW
void LVecBase4f::set_w(float value);

Description:

setX
void LVecBase4f::set_x(float value);

Description:

setY
void LVecBase4f::set_y(float value);

Description:

setZ
void LVecBase4f::set_z(float value);

Description:

unitW
static LVecBase4f const &LVecBase4f::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4f const &LVecBase4f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4f const &LVecBase4f::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4f const &LVecBase4f::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4f const &LVecBase4f::zero(void);

Description: Returns a zero-length vector.


LPoint2d

    from pandac.PandaModules import LPoint2d
    Filename: lpoint2_src.h Created by: drose (08Mar00)
    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."
    Class : LPoint2
    Description : This is a two-component point in space.

Inheritance:

    LPoint2d: LVecBase2d
    LVecBase2d:

Methods of LPoint2d:

    LPoint2d (Constructor)
    getClassType
    operator *
    operator +
    operator -
    operator -
    operator /
    operator =
    pythonRepr
    unitX
    unitY
    zero

Methods of LVecBase2d:

    LVecBase2d (Constructor)
    addHash
    addToCell
    addX
    addY
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getX
    getY
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setX
    setY
    unitX
    unitY
    validatePtr
    zero
LPoint2d
LPoint2d::LPoint2d(void);

Filename: lpoint2_src.I Created by: drose (08Mar00)
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."
Description:

getClassType
static TypeHandle LPoint2d::get_class_type(void);

Undocumented function.

operator *
LPoint2d LPoint2d::operator *(double scalar) const;

Description:

operator +
LVecBase2d LPoint2d::operator +(LVecBase2d const &other) const;

Description:

operator -
LVecBase2d LPoint2d::operator -(LVecBase2d const &other) const;

Description:

operator -
LVecBase2d LPoint2d::operator -(LVecBase2d const &other) const;

Description:

operator /
LPoint2d LPoint2d::operator /(double scalar) const;

Description:

operator =
LPoint2d &LPoint2d::operator =(LVecBase2d const &copy);

Description:

pythonRepr
void LPoint2d::python_repr(ostream &out, string const &class_name) const;

Description:

unitX
static LPoint2d const &LPoint2d::unit_x(void);

Description: Returns a unit X point.

unitY
static LPoint2d const &LPoint2d::unit_y(void);

Description: Returns a unit Y point.

zero
static LPoint2d const &LPoint2d::zero(void);

Description: Returns a zero-length point.

LVecBase2d
LVecBase2d::LVecBase2d(void);

Filename: lvecBase2_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase2d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase2d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addX
void LVecBase2d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase2d::add_y(double value);

Description:

almostEqual
bool LVecBase2d::almost_equal(LVecBase2d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase2d::compare_to(LVecBase2d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
double LVecBase2d::dot(LVecBase2d const &other) const;

Description:

fill
void LVecBase2d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase2d LVecBase2d::fmax(LVecBase2d const &other);

Description:

fmin
LVecBase2d LVecBase2d::fmin(LVecBase2d const &other);

Description:

getCell
double LVecBase2d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase2d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase2d::get_data(void) const;

Description: Returns the address of the first of the two data elements in the vector. The next element occupies the next position consecutively in memory.

getHash
unsigned int LVecBase2d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase2d::get_num_components(void) const;

Description: Returns the number of elements in the vector, two.

getX
double LVecBase2d::get_x(void) const;

Description:

getY
double LVecBase2d::get_y(void) const;

Description:

isNan
bool LVecBase2d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase2d::operator !=(LVecBase2d const &other) const;

Description:

operator *
LVecBase2d LVecBase2d::operator *(double scalar) const;

Description:

operator *=
void LVecBase2d::operator *=(double scalar);

Description:

operator +
LVecBase2d LVecBase2d::operator +(LVecBase2d const &other) const;

Description:

operator +=
void LVecBase2d::operator +=(LVecBase2d const &other);

Description:

operator -
LVecBase2d LVecBase2d::operator -(LVecBase2d const &other) const;

Description:

operator -
LVecBase2d LVecBase2d::operator -(LVecBase2d const &other) const;

Description:

operator -=
void LVecBase2d::operator -=(LVecBase2d const &other);

Description:

operator /
LVecBase2d LVecBase2d::operator /(double scalar) const;

Description:

operator /=
void LVecBase2d::operator /=(double scalar);

Description:

operator <
bool LVecBase2d::operator <(LVecBase2d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase2d &LVecBase2d::operator =(LVecBase2d const &copy);

Description:

operator ==
bool LVecBase2d::operator ==(LVecBase2d const &other) const;

Description:

operator []
double LVecBase2d::operator [](int i) const;

Description:

operator delete
void LVecBase2d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase2d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase2d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase2d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase2d::set(double x, double y);

Description:

setCell
void LVecBase2d::set_cell(int i, double value);

Description:

setX
void LVecBase2d::set_x(double value);

Description:

setY
void LVecBase2d::set_y(double value);

Description:

unitX
static LVecBase2d const &LVecBase2d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase2d const &LVecBase2d::unit_y(void);

Description: Returns a unit Y vector.

validatePtr
static bool LVecBase2d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase2d const &LVecBase2d::zero(void);

Description: Returns a zero-length vector.


LPoint2f

    from pandac.PandaModules import LPoint2f
    Filename: lpoint2_src.h Created by: drose (08Mar00)
    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."
    Class : LPoint2
    Description : This is a two-component point in space.

Inheritance:

    LPoint2f: LVecBase2f
    LVecBase2f:

Methods of LPoint2f:

    LPoint2f (Constructor)
    getClassType
    operator *
    operator +
    operator -
    operator -
    operator /
    operator =
    pythonRepr
    unitX
    unitY
    zero

Methods of LVecBase2f:

    LVecBase2f (Constructor)
    addHash
    addToCell
    addX
    addY
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getX
    getY
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setX
    setY
    unitX
    unitY
    validatePtr
    zero
LPoint2f
LPoint2f::LPoint2f(void);

Filename: lpoint2_src.I Created by: drose (08Mar00)
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."
Description:

getClassType
static TypeHandle LPoint2f::get_class_type(void);

Undocumented function.

operator *
LPoint2f LPoint2f::operator *(float scalar) const;

Description:

operator +
LVecBase2f LPoint2f::operator +(LVecBase2f const &other) const;

Description:

operator -
LVecBase2f LPoint2f::operator -(LVecBase2f const &other) const;

Description:

operator -
LVecBase2f LPoint2f::operator -(LVecBase2f const &other) const;

Description:

operator /
LPoint2f LPoint2f::operator /(float scalar) const;

Description:

operator =
LPoint2f &LPoint2f::operator =(LVecBase2f const &copy);

Description:

pythonRepr
void LPoint2f::python_repr(ostream &out, string const &class_name) const;

Description:

unitX
static LPoint2f const &LPoint2f::unit_x(void);

Description: Returns a unit X point.

unitY
static LPoint2f const &LPoint2f::unit_y(void);

Description: Returns a unit Y point.

zero
static LPoint2f const &LPoint2f::zero(void);

Description: Returns a zero-length point.

LVecBase2f
LVecBase2f::LVecBase2f(void);

Filename: lvecBase2_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase2f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase2f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addX
void LVecBase2f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase2f::add_y(float value);

Description:

almostEqual
bool LVecBase2f::almost_equal(LVecBase2f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase2f::compare_to(LVecBase2f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
float LVecBase2f::dot(LVecBase2f const &other) const;

Description:

fill
void LVecBase2f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase2f LVecBase2f::fmax(LVecBase2f const &other);

Description:

fmin
LVecBase2f LVecBase2f::fmin(LVecBase2f const &other);

Description:

getCell
float LVecBase2f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase2f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase2f::get_data(void) const;

Description: Returns the address of the first of the two data elements in the vector. The next element occupies the next position consecutively in memory.

getHash
unsigned int LVecBase2f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase2f::get_num_components(void) const;

Description: Returns the number of elements in the vector, two.

getX
float LVecBase2f::get_x(void) const;

Description:

getY
float LVecBase2f::get_y(void) const;

Description:

isNan
bool LVecBase2f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase2f::operator !=(LVecBase2f const &other) const;

Description:

operator *
LVecBase2f LVecBase2f::operator *(float scalar) const;

Description:

operator *=
void LVecBase2f::operator *=(float scalar);

Description:

operator +
LVecBase2f LVecBase2f::operator +(LVecBase2f const &other) const;

Description:

operator +=
void LVecBase2f::operator +=(LVecBase2f const &other);

Description:

operator -
LVecBase2f LVecBase2f::operator -(LVecBase2f const &other) const;

Description:

operator -
LVecBase2f LVecBase2f::operator -(LVecBase2f const &other) const;

Description:

operator -=
void LVecBase2f::operator -=(LVecBase2f const &other);

Description:

operator /
LVecBase2f LVecBase2f::operator /(float scalar) const;

Description:

operator /=
void LVecBase2f::operator /=(float scalar);

Description:

operator <
bool LVecBase2f::operator <(LVecBase2f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase2f &LVecBase2f::operator =(LVecBase2f const &copy);

Description:

operator ==
bool LVecBase2f::operator ==(LVecBase2f const &other) const;

Description:

operator []
float LVecBase2f::operator [](int i) const;

Description:

operator delete
void LVecBase2f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase2f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase2f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase2f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase2f::set(float x, float y);

Description:

setCell
void LVecBase2f::set_cell(int i, float value);

Description:

setX
void LVecBase2f::set_x(float value);

Description:

setY
void LVecBase2f::set_y(float value);

Description:

unitX
static LVecBase2f const &LVecBase2f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase2f const &LVecBase2f::unit_y(void);

Description: Returns a unit Y vector.

validatePtr
static bool LVecBase2f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase2f const &LVecBase2f::zero(void);

Description: Returns a zero-length vector.


LPoint3d

    from pandac.PandaModules import LPoint3d
    Filename: lpoint3_src.h Created by: drose (25Sep99)
    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."
    Class : LPoint3
    Description : This is a three-component point in space (as opposed to a three-component vector, which represents a direction and a distance). Some of the methods are slightly different between LPoint3 and LVector3; in particular, subtraction of two points yields a vector, while addition of a vector and a point yields a point.

Inheritance:

    LPoint3d: LVecBase3d
    LVecBase3d:

Methods of LPoint3d:

    LPoint3d (Constructor)
    cross
    getClassType
    operator *
    operator +
    operator -
    operator -
    operator /
    operator =
    origin
    pythonRepr
    rfu
    unitX
    unitY
    unitZ
    zero

Methods of LVecBase3d:

    LVecBase3d (Constructor)
    addHash
    addToCell
    addX
    addY
    addZ
    almostEqual
    compareTo
    cross
    crossInto
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getStandardizedHpr
    getX
    getY
    getZ
    isNan
    length
    lengthSquared
    normalize
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setX
    setY
    setZ
    unitX
    unitY
    unitZ
    validatePtr
    zero
LPoint3d
LPoint3d::LPoint3d(void);

Filename: lpoint3_src.I Created by: drose (25Sep99)
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."
Description:

cross
LPoint3d LPoint3d::cross(LVecBase3d const &other) const;

Description:

getClassType
static TypeHandle LPoint3d::get_class_type(void);

Undocumented function.

operator *
LPoint3d LPoint3d::operator *(double scalar) const;

Description:

operator +
LVecBase3d LPoint3d::operator +(LVecBase3d const &other) const;

Description:

operator -
LVecBase3d LPoint3d::operator -(LVecBase3d const &other) const;

Description:

operator -
LVecBase3d LPoint3d::operator -(LVecBase3d const &other) const;

Description:

operator /
LPoint3d LPoint3d::operator /(double scalar) const;

Description:

operator =
LPoint3d &LPoint3d::operator =(LVecBase3d const &copy);

Description:

origin
static LPoint3d LPoint3d::origin(CoordinateSystem cs = (CS_default));

Some special named constructors for LPoint3.
Description: Returns the origin of the indicated coordinate system. This is always 0, 0, 0 with all of our existing coordinate systems; it's hard to imagine it ever being different.

pythonRepr
void LPoint3d::python_repr(ostream &out, string const &class_name) const;

Description:

rfu
static LPoint3d LPoint3d::rfu(double right, double fwd, double up, CoordinateSystem cs = (CS_default));

Description: Returns a point described by right, forward, up displacements from the origin, wherever that maps to in the given coordinate system.

unitX
static LPoint3d const &LPoint3d::unit_x(void);

Description: Returns a unit X point.

unitY
static LPoint3d const &LPoint3d::unit_y(void);

Description: Returns a unit Y point.

unitZ
static LPoint3d const &LPoint3d::unit_z(void);

Description: Returns a unit Z point.

zero
static LPoint3d const &LPoint3d::zero(void);

Description: Returns a zero-length point.

LVecBase3d
LVecBase3d::LVecBase3d(void);

Filename: lvecBase3_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase3d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase3d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addX
void LVecBase3d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase3d::add_y(double value);

Description:

addZ
void LVecBase3d::add_z(double value);

Description:

almostEqual
bool LVecBase3d::almost_equal(LVecBase3d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase3d::compare_to(LVecBase3d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

cross
LVecBase3d LVecBase3d::cross(LVecBase3d const &other) const;

Description:

crossInto
void LVecBase3d::cross_into(LVecBase3d const &other);

Description:

dot
double LVecBase3d::dot(LVecBase3d const &other) const;

Description:

fill
void LVecBase3d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase3d LVecBase3d::fmax(LVecBase3d const &other);

Description:

fmin
LVecBase3d LVecBase3d::fmin(LVecBase3d const &other);

Description:

getCell
double LVecBase3d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase3d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase3d::get_data(void) const;

Description: Returns the address of the first of the three data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase3d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase3d::get_num_components(void) const;

Description: Returns the number of elements in the vector, three.

getStandardizedHpr
LVecBase3d LVecBase3d::get_standardized_hpr(void) const;

Description: Try to un-spin the hpr to a standard form. Like all standards, someone decides between many arbitrary posible standards. This function assumes that 0 and 360 are the same, as is 720 and
-360. Also 180 and -180 are the same. Another
example is -90 and 270. Each element will be in the range -180.0 to 179.99999. The original usage of this function is for human readable output.
It doesn't work so well for asserting that foo_hpr is roughly equal to bar_hpr. Try using LQuaternionf::is_same_direction() for that. See Also: get_standardized_rotation, LQuaternion::is_same_direction

getX
double LVecBase3d::get_x(void) const;

Description:

getY
double LVecBase3d::get_y(void) const;

Description:

getZ
double LVecBase3d::get_z(void) const;

Description:

isNan
bool LVecBase3d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

length
double LVecBase3d::length(void) const;

Description: Returns the length of the vector, by the Pythagorean theorem.

lengthSquared
double LVecBase3d::length_squared(void) const;

Description: Returns the square of the vector's length, cheap and easy.

normalize
bool LVecBase3d::normalize(void);

Description: Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.

operator !=
bool LVecBase3d::operator !=(LVecBase3d const &other) const;

Description:

operator *
LVecBase3d LVecBase3d::operator *(double scalar) const;

Description:

operator *=
void LVecBase3d::operator *=(double scalar);

Description:

operator +
LVecBase3d LVecBase3d::operator +(LVecBase3d const &other) const;

Description:

operator +=
void LVecBase3d::operator +=(LVecBase3d const &other);

Description:

operator -
LVecBase3d LVecBase3d::operator -(LVecBase3d const &other) const;

Description:

operator -
LVecBase3d LVecBase3d::operator -(LVecBase3d const &other) const;

Description:

operator -=
void LVecBase3d::operator -=(LVecBase3d const &other);

Description:

operator /
LVecBase3d LVecBase3d::operator /(double scalar) const;

Description:

operator /=
void LVecBase3d::operator /=(double scalar);

Description:

operator <
bool LVecBase3d::operator <(LVecBase3d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase3d &LVecBase3d::operator =(LVecBase3d const &copy);

Description:

operator ==
bool LVecBase3d::operator ==(LVecBase3d const &other) const;

Description:

operator []
double LVecBase3d::operator [](int i) const;

Description:

operator delete
void LVecBase3d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase3d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase3d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase3d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase3d::set(double x, double y, double z);

Description:

setCell
void LVecBase3d::set_cell(int i, double value);

Description:

setX
void LVecBase3d::set_x(double value);

Description:

setY
void LVecBase3d::set_y(double value);

Description:

setZ
void LVecBase3d::set_z(double value);

Description:

unitX
static LVecBase3d const &LVecBase3d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase3d const &LVecBase3d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase3d const &LVecBase3d::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase3d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase3d const &LVecBase3d::zero(void);

Description: Returns a zero-length vector.


LPoint3f

    from pandac.PandaModules import LPoint3f
    Filename: lpoint3_src.h Created by: drose (25Sep99)
    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."
    Class : LPoint3
    Description : This is a three-component point in space (as opposed to a three-component vector, which represents a direction and a distance). Some of the methods are slightly different between LPoint3 and LVector3; in particular, subtraction of two points yields a vector, while addition of a vector and a point yields a point.

Inheritance:

    LPoint3f: LVecBase3f
    LVecBase3f:

Methods of LPoint3f:

    LPoint3f (Constructor)
    cross
    getClassType
    operator *
    operator +
    operator -
    operator -
    operator /
    operator =
    origin
    pythonRepr
    rfu
    unitX
    unitY
    unitZ
    zero

Methods of LVecBase3f:

    LVecBase3f (Constructor)
    addHash
    addToCell
    addX
    addY
    addZ
    almostEqual
    compareTo
    cross
    crossInto
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getStandardizedHpr
    getX
    getY
    getZ
    isNan
    length
    lengthSquared
    normalize
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setX
    setY
    setZ
    unitX
    unitY
    unitZ
    validatePtr
    zero
LPoint3f
LPoint3f::LPoint3f(void);

Filename: lpoint3_src.I Created by: drose (25Sep99)
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."
Description:

cross
LPoint3f LPoint3f::cross(LVecBase3f const &other) const;

Description:

getClassType
static TypeHandle LPoint3f::get_class_type(void);

Undocumented function.

operator *
LPoint3f LPoint3f::operator *(float scalar) const;

Description:

operator +
LVecBase3f LPoint3f::operator +(LVecBase3f const &other) const;

Description:

operator -
LVecBase3f LPoint3f::operator -(LVecBase3f const &other) const;

Description:

operator -
LVecBase3f LPoint3f::operator -(LVecBase3f const &other) const;

Description:

operator /
LPoint3f LPoint3f::operator /(float scalar) const;

Description:

operator =
LPoint3f &LPoint3f::operator =(LVecBase3f const &copy);

Description:

origin
static LPoint3f LPoint3f::origin(CoordinateSystem cs = (CS_default));

Some special named constructors for LPoint3.
Description: Returns the origin of the indicated coordinate system. This is always 0, 0, 0 with all of our existing coordinate systems; it's hard to imagine it ever being different.

pythonRepr
void LPoint3f::python_repr(ostream &out, string const &class_name) const;

Description:

rfu
static LPoint3f LPoint3f::rfu(float right, float fwd, float up, CoordinateSystem cs = (CS_default));

Description: Returns a point described by right, forward, up displacements from the origin, wherever that maps to in the given coordinate system.

unitX
static LPoint3f const &LPoint3f::unit_x(void);

Description: Returns a unit X point.

unitY
static LPoint3f const &LPoint3f::unit_y(void);

Description: Returns a unit Y point.

unitZ
static LPoint3f const &LPoint3f::unit_z(void);

Description: Returns a unit Z point.

zero
static LPoint3f const &LPoint3f::zero(void);

Description: Returns a zero-length point.

LVecBase3f
LVecBase3f::LVecBase3f(void);

Filename: lvecBase3_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase3f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase3f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addX
void LVecBase3f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase3f::add_y(float value);

Description:

addZ
void LVecBase3f::add_z(float value);

Description:

almostEqual
bool LVecBase3f::almost_equal(LVecBase3f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase3f::compare_to(LVecBase3f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

cross
LVecBase3f LVecBase3f::cross(LVecBase3f const &other) const;

Description:

crossInto
void LVecBase3f::cross_into(LVecBase3f const &other);

Description:

dot
float LVecBase3f::dot(LVecBase3f const &other) const;

Description:

fill
void LVecBase3f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase3f LVecBase3f::fmax(LVecBase3f const &other);

Description:

fmin
LVecBase3f LVecBase3f::fmin(LVecBase3f const &other);

Description:

getCell
float LVecBase3f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase3f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase3f::get_data(void) const;

Description: Returns the address of the first of the three data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase3f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase3f::get_num_components(void) const;

Description: Returns the number of elements in the vector, three.

getStandardizedHpr
LVecBase3f LVecBase3f::get_standardized_hpr(void) const;

Description: Try to un-spin the hpr to a standard form. Like all standards, someone decides between many arbitrary posible standards. This function assumes that 0 and 360 are the same, as is 720 and
-360. Also 180 and -180 are the same. Another
example is -90 and 270. Each element will be in the range -180.0 to 179.99999. The original usage of this function is for human readable output.
It doesn't work so well for asserting that foo_hpr is roughly equal to bar_hpr. Try using LQuaternionf::is_same_direction() for that. See Also: get_standardized_rotation, LQuaternion::is_same_direction

getX
float LVecBase3f::get_x(void) const;

Description:

getY
float LVecBase3f::get_y(void) const;

Description:

getZ
float LVecBase3f::get_z(void) const;

Description:

isNan
bool LVecBase3f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

length
float LVecBase3f::length(void) const;

Description: Returns the length of the vector, by the Pythagorean theorem.

lengthSquared
float LVecBase3f::length_squared(void) const;

Description: Returns the square of the vector's length, cheap and easy.

normalize
bool LVecBase3f::normalize(void);

Description: Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.

operator !=
bool LVecBase3f::operator !=(LVecBase3f const &other) const;

Description:

operator *
LVecBase3f LVecBase3f::operator *(float scalar) const;

Description:

operator *=
void LVecBase3f::operator *=(float scalar);

Description:

operator +
LVecBase3f LVecBase3f::operator +(LVecBase3f const &other) const;

Description:

operator +=
void LVecBase3f::operator +=(LVecBase3f const &other);

Description:

operator -
LVecBase3f LVecBase3f::operator -(LVecBase3f const &other) const;

Description:

operator -
LVecBase3f LVecBase3f::operator -(LVecBase3f const &other) const;

Description:

operator -=
void LVecBase3f::operator -=(LVecBase3f const &other);

Description:

operator /
LVecBase3f LVecBase3f::operator /(float scalar) const;

Description:

operator /=
void LVecBase3f::operator /=(float scalar);

Description:

operator <
bool LVecBase3f::operator <(LVecBase3f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase3f &LVecBase3f::operator =(LVecBase3f const &copy);

Description:

operator ==
bool LVecBase3f::operator ==(LVecBase3f const &other) const;

Description:

operator []
float LVecBase3f::operator [](int i) const;

Description:

operator delete
void LVecBase3f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase3f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase3f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase3f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase3f::set(float x, float y, float z);

Description:

setCell
void LVecBase3f::set_cell(int i, float value);

Description:

setX
void LVecBase3f::set_x(float value);

Description:

setY
void LVecBase3f::set_y(float value);

Description:

setZ
void LVecBase3f::set_z(float value);

Description:

unitX
static LVecBase3f const &LVecBase3f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase3f const &LVecBase3f::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase3f const &LVecBase3f::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase3f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase3f const &LVecBase3f::zero(void);

Description: Returns a zero-length vector.


LPoint4d

    from pandac.PandaModules import LPoint4d
    Filename: lpoint4_src.h Created by: drose (08Mar00)
    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."
    Class : LPoint4
    Description : This is a four-component point in space.

Inheritance:

    LPoint4d: LVecBase4d
    LVecBase4d:

Methods of LPoint4d:

    LPoint4d (Constructor)
    getClassType
    operator *
    operator +
    operator -
    operator -
    operator /
    operator =
    pythonRepr
    unitW
    unitX
    unitY
    unitZ
    zero

Methods of LVecBase4d:

    LVecBase4d (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
LPoint4d
LPoint4d::LPoint4d(void);

Filename: lpoint4_src.I Created by: drose (08Mar00)
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."
Description:

getClassType
static TypeHandle LPoint4d::get_class_type(void);

Undocumented function.

operator *
LPoint4d LPoint4d::operator *(double scalar) const;

Description:

operator +
LVecBase4d LPoint4d::operator +(LVecBase4d const &other) const;

Description:

operator -
LVecBase4d LPoint4d::operator -(LVecBase4d const &other) const;

Description:

operator -
LVecBase4d LPoint4d::operator -(LVecBase4d const &other) const;

Description:

operator /
LPoint4d LPoint4d::operator /(double scalar) const;

Description:

operator =
LPoint4d &LPoint4d::operator =(LVecBase4d const &copy);

Description:

pythonRepr
void LPoint4d::python_repr(ostream &out, string const &class_name) const;

Description:

unitW
static LPoint4d const &LPoint4d::unit_w(void);

Description: Returns a unit W point.

unitX
static LPoint4d const &LPoint4d::unit_x(void);

Description: Returns a unit X point.

unitY
static LPoint4d const &LPoint4d::unit_y(void);

Description: Returns a unit Y point.

unitZ
static LPoint4d const &LPoint4d::unit_z(void);

Description: Returns a unit Z point.

zero
static LPoint4d const &LPoint4d::zero(void);

Description: Returns a zero-length point.

LVecBase4d
LVecBase4d::LVecBase4d(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4d::add_w(double value);

Description:

addX
void LVecBase4d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4d::add_y(double value);

Description:

addZ
void LVecBase4d::add_z(double value);

Description:

almostEqual
bool LVecBase4d::almost_equal(LVecBase4d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4d::compare_to(LVecBase4d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
double LVecBase4d::dot(LVecBase4d const &other) const;

Description:

fill
void LVecBase4d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4d LVecBase4d::fmax(LVecBase4d const &other);

Description:

fmin
LVecBase4d LVecBase4d::fmin(LVecBase4d const &other);

Description:

getCell
double LVecBase4d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase4d::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4d::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
double LVecBase4d::get_w(void) const;

Description:

getX
double LVecBase4d::get_x(void) const;

Description:

getY
double LVecBase4d::get_y(void) const;

Description:

getZ
double LVecBase4d::get_z(void) const;

Description:

isNan
bool LVecBase4d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4d::operator !=(LVecBase4d const &other) const;

Description:

operator *
LVecBase4d LVecBase4d::operator *(double scalar) const;

Description:

operator *=
void LVecBase4d::operator *=(double scalar);

Description:

operator +
LVecBase4d LVecBase4d::operator +(LVecBase4d const &other) const;

Description:

operator +=
void LVecBase4d::operator +=(LVecBase4d const &other);

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -=
void LVecBase4d::operator -=(LVecBase4d const &other);

Description:

operator /
LVecBase4d LVecBase4d::operator /(double scalar) const;

Description:

operator /=
void LVecBase4d::operator /=(double scalar);

Description:

operator <
bool LVecBase4d::operator <(LVecBase4d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4d &LVecBase4d::operator =(LVecBase4d const &copy);

Description:

operator ==
bool LVecBase4d::operator ==(LVecBase4d const &other) const;

Description:

operator []
double LVecBase4d::operator [](int i) const;

Description:

operator delete
void LVecBase4d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4d::set(double x, double y, double z, double w);

Description:

setCell
void LVecBase4d::set_cell(int i, double value);

Description:

setW
void LVecBase4d::set_w(double value);

Description:

setX
void LVecBase4d::set_x(double value);

Description:

setY
void LVecBase4d::set_y(double value);

Description:

setZ
void LVecBase4d::set_z(double value);

Description:

unitW
static LVecBase4d const &LVecBase4d::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4d const &LVecBase4d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4d const &LVecBase4d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4d const &LVecBase4d::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4d const &LVecBase4d::zero(void);

Description: Returns a zero-length vector.


LPoint4f

    from pandac.PandaModules import LPoint4f
    Filename: lpoint4_src.h Created by: drose (08Mar00)
    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."
    Class : LPoint4
    Description : This is a four-component point in space.

Inheritance:

    LPoint4f: LVecBase4f
    LVecBase4f:

Methods of LPoint4f:

    LPoint4f (Constructor)
    getClassType
    operator *
    operator +
    operator -
    operator -
    operator /
    operator =
    pythonRepr
    unitW
    unitX
    unitY
    unitZ
    zero

Methods of LVecBase4f:

    LVecBase4f (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
LPoint4f
LPoint4f::LPoint4f(void);

Filename: lpoint4_src.I Created by: drose (08Mar00)
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."
Description:

getClassType
static TypeHandle LPoint4f::get_class_type(void);

Undocumented function.

operator *
LPoint4f LPoint4f::operator *(float scalar) const;

Description:

operator +
LVecBase4f LPoint4f::operator +(LVecBase4f const &other) const;

Description:

operator -
LVecBase4f LPoint4f::operator -(LVecBase4f const &other) const;

Description:

operator -
LVecBase4f LPoint4f::operator -(LVecBase4f const &other) const;

Description:

operator /
LPoint4f LPoint4f::operator /(float scalar) const;

Description:

operator =
LPoint4f &LPoint4f::operator =(LVecBase4f const &copy);

Description:

pythonRepr
void LPoint4f::python_repr(ostream &out, string const &class_name) const;

Description:

unitW
static LPoint4f const &LPoint4f::unit_w(void);

Description: Returns a unit W point.

unitX
static LPoint4f const &LPoint4f::unit_x(void);

Description: Returns a unit X point.

unitY
static LPoint4f const &LPoint4f::unit_y(void);

Description: Returns a unit Y point.

unitZ
static LPoint4f const &LPoint4f::unit_z(void);

Description: Returns a unit Z point.

zero
static LPoint4f const &LPoint4f::zero(void);

Description: Returns a zero-length point.

LVecBase4f
LVecBase4f::LVecBase4f(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4f::add_w(float value);

Description:

addX
void LVecBase4f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4f::add_y(float value);

Description:

addZ
void LVecBase4f::add_z(float value);

Description:

almostEqual
bool LVecBase4f::almost_equal(LVecBase4f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4f::compare_to(LVecBase4f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
float LVecBase4f::dot(LVecBase4f const &other) const;

Description:

fill
void LVecBase4f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4f LVecBase4f::fmax(LVecBase4f const &other);

Description:

fmin
LVecBase4f LVecBase4f::fmin(LVecBase4f const &other);

Description:

getCell
float LVecBase4f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase4f::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4f::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
float LVecBase4f::get_w(void) const;

Description:

getX
float LVecBase4f::get_x(void) const;

Description:

getY
float LVecBase4f::get_y(void) const;

Description:

getZ
float LVecBase4f::get_z(void) const;

Description:

isNan
bool LVecBase4f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4f::operator !=(LVecBase4f const &other) const;

Description:

operator *
LVecBase4f LVecBase4f::operator *(float scalar) const;

Description:

operator *=
void LVecBase4f::operator *=(float scalar);

Description:

operator +
LVecBase4f LVecBase4f::operator +(LVecBase4f const &other) const;

Description:

operator +=
void LVecBase4f::operator +=(LVecBase4f const &other);

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -=
void LVecBase4f::operator -=(LVecBase4f const &other);

Description:

operator /
LVecBase4f LVecBase4f::operator /(float scalar) const;

Description:

operator /=
void LVecBase4f::operator /=(float scalar);

Description:

operator <
bool LVecBase4f::operator <(LVecBase4f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4f &LVecBase4f::operator =(LVecBase4f const &copy);

Description:

operator ==
bool LVecBase4f::operator ==(LVecBase4f const &other) const;

Description:

operator []
float LVecBase4f::operator [](int i) const;

Description:

operator delete
void LVecBase4f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4f::set(float x, float y, float z, float w);

Description:

setCell
void LVecBase4f::set_cell(int i, float value);

Description:

setW
void LVecBase4f::set_w(float value);

Description:

setX
void LVecBase4f::set_x(float value);

Description:

setY
void LVecBase4f::set_y(float value);

Description:

setZ
void LVecBase4f::set_z(float value);

Description:

unitW
static LVecBase4f const &LVecBase4f::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4f const &LVecBase4f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4f const &LVecBase4f::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4f const &LVecBase4f::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4f const &LVecBase4f::zero(void);

Description: Returns a zero-length vector.


LQuaterniond

    from pandac.PandaModules import LQuaterniond
    Filename: lquaternion_src.h Created by: frang (06Jun00)
    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."
    Class : FLOATNAME(LQuaternion)
    Description : This is the base quaternion class

Inheritance:

    LQuaterniond: LVecBase4d
    LVecBase4d:

Methods of LQuaterniond:

    LQuaterniond (Constructor)
    almostEqual
    almostSameDirection
    angleDeg
    angleRad
    conjugate
    conjugateFrom
    conjugateInPlace
    extractToMatrix
    getAngle
    getAngleRad
    getAxis
    getAxisNormalized
    getClassType
    getForward
    getHpr
    getI
    getJ
    getK
    getR
    getRight
    getUp
    identQuat
    invertFrom
    invertInPlace
    isAlmostIdentity
    isIdentity
    isSameDirection
    multiply
    normalize
    operator *
    operator *=
    operator +
    operator -
    operator -
    operator /
    output
    pureImaginary
    setFromAxisAngle
    setFromAxisAngleRad
    setFromMatrix
    setHpr
    setI
    setJ
    setK
    setR
    xform

Methods of LVecBase4d:

    LVecBase4d (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
LQuaterniond
LQuaterniond::LQuaterniond(void);

Filename: lquaternion_src.I Created by: frang (06Jun00)
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."
Description:

almostEqual
bool LQuaterniond::almost_equal(LQuaterniond const &other) const;

Description: Returns true if two quaternions are memberwise equal within a default tolerance based on the numeric type.
Description: Returns true if two quaternions are memberwise equal within a specified tolerance.

almostSameDirection
bool LQuaterniond::almost_same_direction(LQuaterniond const &other, double threshold) const;

Description: Returns true if two quaternions represent the same rotation within a specified tolerance.

angleDeg
double LQuaterniond::angle_deg(LQuaterniond const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in degrees.

angleRad
double LQuaterniond::angle_rad(LQuaterniond const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in radians.

conjugate
LQuaterniond LQuaterniond::conjugate(void) const;

Description: Returns the complex conjugate of this quat.

conjugateFrom
bool LQuaterniond::conjugate_from(LQuaterniond const &other);

Description: Computes the conjugate of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to get a conjugate of a quat in place, see conjugate_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

conjugateInPlace
bool LQuaterniond::conjugate_in_place(void);

Description: Sets this to be the conjugate of the current quat. Returns true if the successful, false if the quat was singular.

extractToMatrix
void LQuaterniond::extract_to_matrix(LMatrix3d &m) const;

Description: Based on the quat lib from VRPN.

getAngle
double LQuaterniond::get_angle(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in degrees counterclockwise about the axis.
It is necessary to ensure the quaternion has been normalized (for instance, with a call to normalize()) before calling this method.

getAngleRad
double LQuaterniond::get_angle_rad(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in radians counterclockwise about the axis.
It is necessary to ensure the quaternion has been normalized (for instance, with a call to normalize()) before calling this method.

getAxis
LVector3d LQuaterniond::get_axis(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the axis; it is not normalized.

getAxisNormalized
LVector3d LQuaterniond::get_axis_normalized(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the normalized axis.

getClassType
static TypeHandle LQuaterniond::get_class_type(void);

Undocumented function.

getForward
LVector3d LQuaterniond::get_forward(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a forward vector.

getHpr
LVecBase3d LQuaterniond::get_hpr(CoordinateSystem cs = (CS_default)) const;

Description: Extracts the equivalent Euler angles from the unit quaternion.

getI
double LQuaterniond::get_i(void) const;

Description:

getJ
double LQuaterniond::get_j(void) const;

Description:

getK
double LQuaterniond::get_k(void) const;

Description:

getR
double LQuaterniond::get_r(void) const;

Description:

getRight
LVector3d LQuaterniond::get_right(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a right vector.

getUp
LVector3d LQuaterniond::get_up(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as an up vector.

identQuat
static LQuaterniond const &LQuaterniond::ident_quat(void);

Description: Returns an identity quaternion.

invertFrom
bool LQuaterniond::invert_from(LQuaterniond const &other);

Description: Computes the inverse of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to invert a quat in place, see invert_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

invertInPlace
bool LQuaterniond::invert_in_place(void);

Description: Inverts the current quat. Returns true if the inverse is successful, false if the quat was singular.

isAlmostIdentity
bool LQuaterniond::is_almost_identity(double tolerance) const;

Description: Returns true if this quaternion represents the identity transformation within a given tolerance.

isIdentity
bool LQuaterniond::is_identity(void) const;

Description: Returns true if this quaternion represents the identity transformation: no rotation.

isSameDirection
bool LQuaterniond::is_same_direction(LQuaterniond const &other) const;

Description: Returns true if two quaternions represent the same rotation within a default tolerance based on the numeric type.

multiply
LQuaterniond LQuaterniond::multiply(LQuaterniond const &rhs) const;

Description: actual multiply call (non virtual)

normalize
bool LQuaterniond::normalize(void);

Description:

operator *
LQuaterniond LQuaterniond::operator *(double scalar) const;

Description:
Description: Quat * Matrix = matrix

operator *=
LQuaterniond &LQuaterniond::operator *=(LQuaterniond const &);

Description:

operator +
LQuaterniond LQuaterniond::operator +(LQuaterniond const &other) const;

Description:

operator -
LQuaterniond LQuaterniond::operator -(LQuaterniond const &other) const;

Description:

operator -
LQuaterniond LQuaterniond::operator -(LQuaterniond const &other) const;

Description:

operator /
LQuaterniond LQuaterniond::operator /(double scalar) const;

Description:

output
void LQuaterniond::output(ostream &) const;

Description:

pureImaginary
static LQuaterniond LQuaterniond::pure_imaginary(LVector3d const &);

Description:

setFromAxisAngle
void LQuaterniond::set_from_axis_angle(double angle_deg, LVector3d const &axis);

Description: angle_deg is the angle about the axis in degrees. axis must be normalized.

setFromAxisAngleRad
void LQuaterniond::set_from_axis_angle_rad(double angle_rad, LVector3d const &axis);

Description: angle_rad is the angle about the axis in radians. axis must be normalized.

setFromMatrix
void LQuaterniond::set_from_matrix(LMatrix3d const &m);

Description:
Description: Sets the quaternion according to the rotation represented by the matrix. Originally we tried an algorithm presented by Do-While Jones, but that turned out to be broken. This is based on the quat lib from UNC.

setHpr
void LQuaterniond::set_hpr(LVecBase3d const &hpr, CoordinateSystem cs = (CS_default));

Description: Sets the quaternion as the unit quaternion that is equivalent to these Euler angles. (from Real-time Rendering, p.49)

setI
void LQuaterniond::set_i(double i);

Description:

setJ
void LQuaterniond::set_j(double j);

Description:

setK
void LQuaterniond::set_k(double k);

Description:

setR
void LQuaterniond::set_r(double r);

Description:

xform
LVecBase3d LQuaterniond::xform(LVecBase3d const &v) const;

Description: Transforms a 3-d vector by the indicated rotation
Description: Transforms a 4-d vector by the indicated rotation

LVecBase4d
LVecBase4d::LVecBase4d(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4d::add_w(double value);

Description:

addX
void LVecBase4d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4d::add_y(double value);

Description:

addZ
void LVecBase4d::add_z(double value);

Description:

almostEqual
bool LVecBase4d::almost_equal(LVecBase4d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4d::compare_to(LVecBase4d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
double LVecBase4d::dot(LVecBase4d const &other) const;

Description:

fill
void LVecBase4d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4d LVecBase4d::fmax(LVecBase4d const &other);

Description:

fmin
LVecBase4d LVecBase4d::fmin(LVecBase4d const &other);

Description:

getCell
double LVecBase4d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase4d::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4d::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
double LVecBase4d::get_w(void) const;

Description:

getX
double LVecBase4d::get_x(void) const;

Description:

getY
double LVecBase4d::get_y(void) const;

Description:

getZ
double LVecBase4d::get_z(void) const;

Description:

isNan
bool LVecBase4d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4d::operator !=(LVecBase4d const &other) const;

Description:

operator *
LVecBase4d LVecBase4d::operator *(double scalar) const;

Description:

operator *=
void LVecBase4d::operator *=(double scalar);

Description:

operator +
LVecBase4d LVecBase4d::operator +(LVecBase4d const &other) const;

Description:

operator +=
void LVecBase4d::operator +=(LVecBase4d const &other);

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -=
void LVecBase4d::operator -=(LVecBase4d const &other);

Description:

operator /
LVecBase4d LVecBase4d::operator /(double scalar) const;

Description:

operator /=
void LVecBase4d::operator /=(double scalar);

Description:

operator <
bool LVecBase4d::operator <(LVecBase4d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4d &LVecBase4d::operator =(LVecBase4d const &copy);

Description:

operator ==
bool LVecBase4d::operator ==(LVecBase4d const &other) const;

Description:

operator []
double LVecBase4d::operator [](int i) const;

Description:

operator delete
void LVecBase4d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4d::set(double x, double y, double z, double w);

Description:

setCell
void LVecBase4d::set_cell(int i, double value);

Description:

setW
void LVecBase4d::set_w(double value);

Description:

setX
void LVecBase4d::set_x(double value);

Description:

setY
void LVecBase4d::set_y(double value);

Description:

setZ
void LVecBase4d::set_z(double value);

Description:

unitW
static LVecBase4d const &LVecBase4d::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4d const &LVecBase4d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4d const &LVecBase4d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4d const &LVecBase4d::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4d const &LVecBase4d::zero(void);

Description: Returns a zero-length vector.


LQuaternionf

    from pandac.PandaModules import LQuaternionf
    Filename: lquaternion_src.h Created by: frang (06Jun00)
    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."
    Class : FLOATNAME(LQuaternion)
    Description : This is the base quaternion class

Inheritance:

    LQuaternionf: LVecBase4f
    LVecBase4f:

Methods of LQuaternionf:

    LQuaternionf (Constructor)
    almostEqual
    almostSameDirection
    angleDeg
    angleRad
    conjugate
    conjugateFrom
    conjugateInPlace
    extractToMatrix
    getAngle
    getAngleRad
    getAxis
    getAxisNormalized
    getClassType
    getForward
    getHpr
    getI
    getJ
    getK
    getR
    getRight
    getUp
    identQuat
    invertFrom
    invertInPlace
    isAlmostIdentity
    isIdentity
    isSameDirection
    multiply
    normalize
    operator *
    operator *=
    operator +
    operator -
    operator -
    operator /
    output
    pureImaginary
    setFromAxisAngle
    setFromAxisAngleRad
    setFromMatrix
    setHpr
    setI
    setJ
    setK
    setR
    xform

Methods of LVecBase4f:

    LVecBase4f (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
LQuaternionf
LQuaternionf::LQuaternionf(void);

Filename: lquaternion_src.I Created by: frang (06Jun00)
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."
Description:

almostEqual
bool LQuaternionf::almost_equal(LQuaternionf const &other) const;

Description: Returns true if two quaternions are memberwise equal within a default tolerance based on the numeric type.
Description: Returns true if two quaternions are memberwise equal within a specified tolerance.

almostSameDirection
bool LQuaternionf::almost_same_direction(LQuaternionf const &other, float threshold) const;

Description: Returns true if two quaternions represent the same rotation within a specified tolerance.

angleDeg
float LQuaternionf::angle_deg(LQuaternionf const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in degrees.

angleRad
float LQuaternionf::angle_rad(LQuaternionf const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in radians.

conjugate
LQuaternionf LQuaternionf::conjugate(void) const;

Description: Returns the complex conjugate of this quat.

conjugateFrom
bool LQuaternionf::conjugate_from(LQuaternionf const &other);

Description: Computes the conjugate of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to get a conjugate of a quat in place, see conjugate_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

conjugateInPlace
bool LQuaternionf::conjugate_in_place(void);

Description: Sets this to be the conjugate of the current quat. Returns true if the successful, false if the quat was singular.

extractToMatrix
void LQuaternionf::extract_to_matrix(LMatrix3f &m) const;

Description: Based on the quat lib from VRPN.

getAngle
float LQuaternionf::get_angle(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in degrees counterclockwise about the axis.
It is necessary to ensure the quaternion has been normalized (for instance, with a call to normalize()) before calling this method.

getAngleRad
float LQuaternionf::get_angle_rad(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in radians counterclockwise about the axis.
It is necessary to ensure the quaternion has been normalized (for instance, with a call to normalize()) before calling this method.

getAxis
LVector3f LQuaternionf::get_axis(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the axis; it is not normalized.

getAxisNormalized
LVector3f LQuaternionf::get_axis_normalized(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the normalized axis.

getClassType
static TypeHandle LQuaternionf::get_class_type(void);

Undocumented function.

getForward
LVector3f LQuaternionf::get_forward(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a forward vector.

getHpr
LVecBase3f LQuaternionf::get_hpr(CoordinateSystem cs = (CS_default)) const;

Description: Extracts the equivalent Euler angles from the unit quaternion.

getI
float LQuaternionf::get_i(void) const;

Description:

getJ
float LQuaternionf::get_j(void) const;

Description:

getK
float LQuaternionf::get_k(void) const;

Description:

getR
float LQuaternionf::get_r(void) const;

Description:

getRight
LVector3f LQuaternionf::get_right(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a right vector.

getUp
LVector3f LQuaternionf::get_up(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as an up vector.

identQuat
static LQuaternionf const &LQuaternionf::ident_quat(void);

Description: Returns an identity quaternion.

invertFrom
bool LQuaternionf::invert_from(LQuaternionf const &other);

Description: Computes the inverse of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to invert a quat in place, see invert_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

invertInPlace
bool LQuaternionf::invert_in_place(void);

Description: Inverts the current quat. Returns true if the inverse is successful, false if the quat was singular.

isAlmostIdentity
bool LQuaternionf::is_almost_identity(float tolerance) const;

Description: Returns true if this quaternion represents the identity transformation within a given tolerance.

isIdentity
bool LQuaternionf::is_identity(void) const;

Description: Returns true if this quaternion represents the identity transformation: no rotation.

isSameDirection
bool LQuaternionf::is_same_direction(LQuaternionf const &other) const;

Description: Returns true if two quaternions represent the same rotation within a default tolerance based on the numeric type.

multiply
LQuaternionf LQuaternionf::multiply(LQuaternionf const &rhs) const;

Description: actual multiply call (non virtual)

normalize
bool LQuaternionf::normalize(void);

Description:

operator *
LQuaternionf LQuaternionf::operator *(float scalar) const;

Description:
Description: Quat * Matrix = matrix

operator *=
LQuaternionf &LQuaternionf::operator *=(LQuaternionf const &);

Description:

operator +
LQuaternionf LQuaternionf::operator +(LQuaternionf const &other) const;

Description:

operator -
LQuaternionf LQuaternionf::operator -(LQuaternionf const &other) const;

Description:

operator -
LQuaternionf LQuaternionf::operator -(LQuaternionf const &other) const;

Description:

operator /
LQuaternionf LQuaternionf::operator /(float scalar) const;

Description:

output
void LQuaternionf::output(ostream &) const;

Description:

pureImaginary
static LQuaternionf LQuaternionf::pure_imaginary(LVector3f const &);

Description:

setFromAxisAngle
void LQuaternionf::set_from_axis_angle(float angle_deg, LVector3f const &axis);

Description: angle_deg is the angle about the axis in degrees. axis must be normalized.

setFromAxisAngleRad
void LQuaternionf::set_from_axis_angle_rad(float angle_rad, LVector3f const &axis);

Description: angle_rad is the angle about the axis in radians. axis must be normalized.

setFromMatrix
void LQuaternionf::set_from_matrix(LMatrix3f const &m);

Description:
Description: Sets the quaternion according to the rotation represented by the matrix. Originally we tried an algorithm presented by Do-While Jones, but that turned out to be broken. This is based on the quat lib from UNC.

setHpr
void LQuaternionf::set_hpr(LVecBase3f const &hpr, CoordinateSystem cs = (CS_default));

Description: Sets the quaternion as the unit quaternion that is equivalent to these Euler angles. (from Real-time Rendering, p.49)

setI
void LQuaternionf::set_i(float i);

Description:

setJ
void LQuaternionf::set_j(float j);

Description:

setK
void LQuaternionf::set_k(float k);

Description:

setR
void LQuaternionf::set_r(float r);

Description:

xform
LVecBase3f LQuaternionf::xform(LVecBase3f const &v) const;

Description: Transforms a 3-d vector by the indicated rotation
Description: Transforms a 4-d vector by the indicated rotation

LVecBase4f
LVecBase4f::LVecBase4f(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4f::add_w(float value);

Description:

addX
void LVecBase4f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4f::add_y(float value);

Description:

addZ
void LVecBase4f::add_z(float value);

Description:

almostEqual
bool LVecBase4f::almost_equal(LVecBase4f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4f::compare_to(LVecBase4f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
float LVecBase4f::dot(LVecBase4f const &other) const;

Description:

fill
void LVecBase4f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4f LVecBase4f::fmax(LVecBase4f const &other);

Description:

fmin
LVecBase4f LVecBase4f::fmin(LVecBase4f const &other);

Description:

getCell
float LVecBase4f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase4f::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4f::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
float LVecBase4f::get_w(void) const;

Description:

getX
float LVecBase4f::get_x(void) const;

Description:

getY
float LVecBase4f::get_y(void) const;

Description:

getZ
float LVecBase4f::get_z(void) const;

Description:

isNan
bool LVecBase4f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4f::operator !=(LVecBase4f const &other) const;

Description:

operator *
LVecBase4f LVecBase4f::operator *(float scalar) const;

Description:

operator *=
void LVecBase4f::operator *=(float scalar);

Description:

operator +
LVecBase4f LVecBase4f::operator +(LVecBase4f const &other) const;

Description:

operator +=
void LVecBase4f::operator +=(LVecBase4f const &other);

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -=
void LVecBase4f::operator -=(LVecBase4f const &other);

Description:

operator /
LVecBase4f LVecBase4f::operator /(float scalar) const;

Description:

operator /=
void LVecBase4f::operator /=(float scalar);

Description:

operator <
bool LVecBase4f::operator <(LVecBase4f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4f &LVecBase4f::operator =(LVecBase4f const &copy);

Description:

operator ==
bool LVecBase4f::operator ==(LVecBase4f const &other) const;

Description:

operator []
float LVecBase4f::operator [](int i) const;

Description:

operator delete
void LVecBase4f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4f::set(float x, float y, float z, float w);

Description:

setCell
void LVecBase4f::set_cell(int i, float value);

Description:

setW
void LVecBase4f::set_w(float value);

Description:

setX
void LVecBase4f::set_x(float value);

Description:

setY
void LVecBase4f::set_y(float value);

Description:

setZ
void LVecBase4f::set_z(float value);

Description:

unitW
static LVecBase4f const &LVecBase4f::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4f const &LVecBase4f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4f const &LVecBase4f::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4f const &LVecBase4f::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4f const &LVecBase4f::zero(void);

Description: Returns a zero-length vector.


LRotationd

    from pandac.PandaModules import LRotationd
    Filename: lrotation_src.h Created by: frang, charles (23Jun00)
    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."
    Class : LRotation
    Description : This is a unit quaternion representing a rotation.

Inheritance:

    LRotationd: LQuaterniond
    LQuaterniond: LVecBase4d
    LVecBase4d:

Methods of LRotationd:

    LRotationd (Constructor)
    getClassType
    operator *
    operator /

Methods of LQuaterniond:

    LQuaterniond (Constructor)
    almostEqual
    almostSameDirection
    angleDeg
    angleRad
    conjugate
    conjugateFrom
    conjugateInPlace
    extractToMatrix
    getAngle
    getAngleRad
    getAxis
    getAxisNormalized
    getClassType
    getForward
    getHpr
    getI
    getJ
    getK
    getR
    getRight
    getUp
    identQuat
    invertFrom
    invertInPlace
    isAlmostIdentity
    isIdentity
    isSameDirection
    multiply
    normalize
    operator *
    operator *=
    operator +
    operator -
    operator -
    operator /
    output
    pureImaginary
    setFromAxisAngle
    setFromAxisAngleRad
    setFromMatrix
    setHpr
    setI
    setJ
    setK
    setR
    xform

Methods of LVecBase4d:

    LVecBase4d (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
LRotationd
LRotationd::LRotationd(void);

Filename: lrotation_src.I Created by: frang, charles (23Jun00)
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."
Description:
Description: lmatrix3
Description: lmatrix4
Description: axis + angle (in degrees)
Description: Sets the rotation from the given Euler angles.

getClassType
static TypeHandle LRotationd::get_class_type(void);

Undocumented function.

operator *
LRotationd LRotationd::operator *(double scalar) const;

Description:
Description: Rotation * Rotation = Rotation
Description: Rotation * Orientation = Orientation This is another meaningless operation, attempting to apply an orientation to a rotation.

operator /
LRotationd LRotationd::operator /(double scalar) const;

Description:

LQuaterniond
LQuaterniond::LQuaterniond(void);

Filename: lquaternion_src.I Created by: frang (06Jun00)
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."
Description:

almostEqual
bool LQuaterniond::almost_equal(LQuaterniond const &other) const;

Description: Returns true if two quaternions are memberwise equal within a default tolerance based on the numeric type.
Description: Returns true if two quaternions are memberwise equal within a specified tolerance.

almostSameDirection
bool LQuaterniond::almost_same_direction(LQuaterniond const &other, double threshold) const;

Description: Returns true if two quaternions represent the same rotation within a specified tolerance.

angleDeg
double LQuaterniond::angle_deg(LQuaterniond const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in degrees.

angleRad
double LQuaterniond::angle_rad(LQuaterniond const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in radians.

conjugate
LQuaterniond LQuaterniond::conjugate(void) const;

Description: Returns the complex conjugate of this quat.

conjugateFrom
bool LQuaterniond::conjugate_from(LQuaterniond const &other);

Description: Computes the conjugate of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to get a conjugate of a quat in place, see conjugate_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

conjugateInPlace
bool LQuaterniond::conjugate_in_place(void);

Description: Sets this to be the conjugate of the current quat. Returns true if the successful, false if the quat was singular.

extractToMatrix
void LQuaterniond::extract_to_matrix(LMatrix3d &m) const;

Description: Based on the quat lib from VRPN.

getAngle
double LQuaterniond::get_angle(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in degrees counterclockwise about the axis.
It is necessary to ensure the quaternion has been normalized (for instance, with a call to normalize()) before calling this method.

getAngleRad
double LQuaterniond::get_angle_rad(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in radians counterclockwise about the axis.
It is necessary to ensure the quaternion has been normalized (for instance, with a call to normalize()) before calling this method.

getAxis
LVector3d LQuaterniond::get_axis(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the axis; it is not normalized.

getAxisNormalized
LVector3d LQuaterniond::get_axis_normalized(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the normalized axis.

getClassType
static TypeHandle LQuaterniond::get_class_type(void);

Undocumented function.

getForward
LVector3d LQuaterniond::get_forward(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a forward vector.

getHpr
LVecBase3d LQuaterniond::get_hpr(CoordinateSystem cs = (CS_default)) const;

Description: Extracts the equivalent Euler angles from the unit quaternion.

getI
double LQuaterniond::get_i(void) const;

Description:

getJ
double LQuaterniond::get_j(void) const;

Description:

getK
double LQuaterniond::get_k(void) const;

Description:

getR
double LQuaterniond::get_r(void) const;

Description:

getRight
LVector3d LQuaterniond::get_right(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a right vector.

getUp
LVector3d LQuaterniond::get_up(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as an up vector.

identQuat
static LQuaterniond const &LQuaterniond::ident_quat(void);

Description: Returns an identity quaternion.

invertFrom
bool LQuaterniond::invert_from(LQuaterniond const &other);

Description: Computes the inverse of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to invert a quat in place, see invert_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

invertInPlace
bool LQuaterniond::invert_in_place(void);

Description: Inverts the current quat. Returns true if the inverse is successful, false if the quat was singular.

isAlmostIdentity
bool LQuaterniond::is_almost_identity(double tolerance) const;

Description: Returns true if this quaternion represents the identity transformation within a given tolerance.

isIdentity
bool LQuaterniond::is_identity(void) const;

Description: Returns true if this quaternion represents the identity transformation: no rotation.

isSameDirection
bool LQuaterniond::is_same_direction(LQuaterniond const &other) const;

Description: Returns true if two quaternions represent the same rotation within a default tolerance based on the numeric type.

multiply
LQuaterniond LQuaterniond::multiply(LQuaterniond const &rhs) const;

Description: actual multiply call (non virtual)

normalize
bool LQuaterniond::normalize(void);

Description:

operator *
LQuaterniond LQuaterniond::operator *(double scalar) const;

Description:
Description: Quat * Matrix = matrix

operator *=
LQuaterniond &LQuaterniond::operator *=(LQuaterniond const &);

Description:

operator +
LQuaterniond LQuaterniond::operator +(LQuaterniond const &other) const;

Description:

operator -
LQuaterniond LQuaterniond::operator -(LQuaterniond const &other) const;

Description:

operator -
LQuaterniond LQuaterniond::operator -(LQuaterniond const &other) const;

Description:

operator /
LQuaterniond LQuaterniond::operator /(double scalar) const;

Description:

output
void LQuaterniond::output(ostream &) const;

Description:

pureImaginary
static LQuaterniond LQuaterniond::pure_imaginary(LVector3d const &);

Description:

setFromAxisAngle
void LQuaterniond::set_from_axis_angle(double angle_deg, LVector3d const &axis);

Description: angle_deg is the angle about the axis in degrees. axis must be normalized.

setFromAxisAngleRad
void LQuaterniond::set_from_axis_angle_rad(double angle_rad, LVector3d const &axis);

Description: angle_rad is the angle about the axis in radians. axis must be normalized.

setFromMatrix
void LQuaterniond::set_from_matrix(LMatrix3d const &m);

Description:
Description: Sets the quaternion according to the rotation represented by the matrix. Originally we tried an algorithm presented by Do-While Jones, but that turned out to be broken. This is based on the quat lib from UNC.

setHpr
void LQuaterniond::set_hpr(LVecBase3d const &hpr, CoordinateSystem cs = (CS_default));

Description: Sets the quaternion as the unit quaternion that is equivalent to these Euler angles. (from Real-time Rendering, p.49)

setI
void LQuaterniond::set_i(double i);

Description:

setJ
void LQuaterniond::set_j(double j);

Description:

setK
void LQuaterniond::set_k(double k);

Description:

setR
void LQuaterniond::set_r(double r);

Description:

xform
LVecBase3d LQuaterniond::xform(LVecBase3d const &v) const;

Description: Transforms a 3-d vector by the indicated rotation
Description: Transforms a 4-d vector by the indicated rotation

LVecBase4d
LVecBase4d::LVecBase4d(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4d::add_w(double value);

Description:

addX
void LVecBase4d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4d::add_y(double value);

Description:

addZ
void LVecBase4d::add_z(double value);

Description:

almostEqual
bool LVecBase4d::almost_equal(LVecBase4d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4d::compare_to(LVecBase4d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
double LVecBase4d::dot(LVecBase4d const &other) const;

Description:

fill
void LVecBase4d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4d LVecBase4d::fmax(LVecBase4d const &other);

Description:

fmin
LVecBase4d LVecBase4d::fmin(LVecBase4d const &other);

Description:

getCell
double LVecBase4d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase4d::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4d::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
double LVecBase4d::get_w(void) const;

Description:

getX
double LVecBase4d::get_x(void) const;

Description:

getY
double LVecBase4d::get_y(void) const;

Description:

getZ
double LVecBase4d::get_z(void) const;

Description:

isNan
bool LVecBase4d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4d::operator !=(LVecBase4d const &other) const;

Description:

operator *
LVecBase4d LVecBase4d::operator *(double scalar) const;

Description:

operator *=
void LVecBase4d::operator *=(double scalar);

Description:

operator +
LVecBase4d LVecBase4d::operator +(LVecBase4d const &other) const;

Description:

operator +=
void LVecBase4d::operator +=(LVecBase4d const &other);

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -=
void LVecBase4d::operator -=(LVecBase4d const &other);

Description:

operator /
LVecBase4d LVecBase4d::operator /(double scalar) const;

Description:

operator /=
void LVecBase4d::operator /=(double scalar);

Description:

operator <
bool LVecBase4d::operator <(LVecBase4d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4d &LVecBase4d::operator =(LVecBase4d const &copy);

Description:

operator ==
bool LVecBase4d::operator ==(LVecBase4d const &other) const;

Description:

operator []
double LVecBase4d::operator [](int i) const;

Description:

operator delete
void LVecBase4d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4d::set(double x, double y, double z, double w);

Description:

setCell
void LVecBase4d::set_cell(int i, double value);

Description:

setW
void LVecBase4d::set_w(double value);

Description:

setX
void LVecBase4d::set_x(double value);

Description:

setY
void LVecBase4d::set_y(double value);

Description:

setZ
void LVecBase4d::set_z(double value);

Description:

unitW
static LVecBase4d const &LVecBase4d::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4d const &LVecBase4d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4d const &LVecBase4d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4d const &LVecBase4d::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4d const &LVecBase4d::zero(void);

Description: Returns a zero-length vector.


LRotationf

    from pandac.PandaModules import LRotationf
    Filename: lrotation_src.h Created by: frang, charles (23Jun00)
    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."
    Class : LRotation
    Description : This is a unit quaternion representing a rotation.

Inheritance:

    LRotationf: LQuaternionf
    LQuaternionf: LVecBase4f
    LVecBase4f:

Methods of LRotationf:

    LRotationf (Constructor)
    getClassType
    operator *
    operator /

Methods of LQuaternionf:

    LQuaternionf (Constructor)
    almostEqual
    almostSameDirection
    angleDeg
    angleRad
    conjugate
    conjugateFrom
    conjugateInPlace
    extractToMatrix
    getAngle
    getAngleRad
    getAxis
    getAxisNormalized
    getClassType
    getForward
    getHpr
    getI
    getJ
    getK
    getR
    getRight
    getUp
    identQuat
    invertFrom
    invertInPlace
    isAlmostIdentity
    isIdentity
    isSameDirection
    multiply
    normalize
    operator *
    operator *=
    operator +
    operator -
    operator -
    operator /
    output
    pureImaginary
    setFromAxisAngle
    setFromAxisAngleRad
    setFromMatrix
    setHpr
    setI
    setJ
    setK
    setR
    xform

Methods of LVecBase4f:

    LVecBase4f (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
LRotationf
LRotationf::LRotationf(void);

Filename: lrotation_src.I Created by: frang, charles (23Jun00)
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."
Description:
Description: lmatrix3
Description: lmatrix4
Description: axis + angle (in degrees)
Description: Sets the rotation from the given Euler angles.

getClassType
static TypeHandle LRotationf::get_class_type(void);

Undocumented function.

operator *
LRotationf LRotationf::operator *(float scalar) const;

Description:
Description: Rotation * Rotation = Rotation
Description: Rotation * Orientation = Orientation This is another meaningless operation, attempting to apply an orientation to a rotation.

operator /
LRotationf LRotationf::operator /(float scalar) const;

Description:

LQuaternionf
LQuaternionf::LQuaternionf(void);

Filename: lquaternion_src.I Created by: frang (06Jun00)
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."
Description:

almostEqual
bool LQuaternionf::almost_equal(LQuaternionf const &other) const;

Description: Returns true if two quaternions are memberwise equal within a default tolerance based on the numeric type.
Description: Returns true if two quaternions are memberwise equal within a specified tolerance.

almostSameDirection
bool LQuaternionf::almost_same_direction(LQuaternionf const &other, float threshold) const;

Description: Returns true if two quaternions represent the same rotation within a specified tolerance.

angleDeg
float LQuaternionf::angle_deg(LQuaternionf const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in degrees.

angleRad
float LQuaternionf::angle_rad(LQuaternionf const &other) const;

Description: Returns the angle between the orientation represented by this quaternion and the other one, expressed in radians.

conjugate
LQuaternionf LQuaternionf::conjugate(void) const;

Description: Returns the complex conjugate of this quat.

conjugateFrom
bool LQuaternionf::conjugate_from(LQuaternionf const &other);

Description: Computes the conjugate of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to get a conjugate of a quat in place, see conjugate_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

conjugateInPlace
bool LQuaternionf::conjugate_in_place(void);

Description: Sets this to be the conjugate of the current quat. Returns true if the successful, false if the quat was singular.

extractToMatrix
void LQuaternionf::extract_to_matrix(LMatrix3f &m) const;

Description: Based on the quat lib from VRPN.

getAngle
float LQuaternionf::get_angle(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in degrees counterclockwise about the axis.
It is necessary to ensure the quaternion has been normalized (for instance, with a call to normalize()) before calling this method.

getAngleRad
float LQuaternionf::get_angle_rad(void) const;

Description: This, along with get_axis(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the angle, in radians counterclockwise about the axis.
It is necessary to ensure the quaternion has been normalized (for instance, with a call to normalize()) before calling this method.

getAxis
LVector3f LQuaternionf::get_axis(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the axis; it is not normalized.

getAxisNormalized
LVector3f LQuaternionf::get_axis_normalized(void) const;

Description: This, along with get_angle(), returns the rotation represented by the quaternion as an angle about an arbitrary axis. This returns the normalized axis.

getClassType
static TypeHandle LQuaternionf::get_class_type(void);

Undocumented function.

getForward
LVector3f LQuaternionf::get_forward(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a forward vector.

getHpr
LVecBase3f LQuaternionf::get_hpr(CoordinateSystem cs = (CS_default)) const;

Description: Extracts the equivalent Euler angles from the unit quaternion.

getI
float LQuaternionf::get_i(void) const;

Description:

getJ
float LQuaternionf::get_j(void) const;

Description:

getK
float LQuaternionf::get_k(void) const;

Description:

getR
float LQuaternionf::get_r(void) const;

Description:

getRight
LVector3f LQuaternionf::get_right(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as a right vector.

getUp
LVector3f LQuaternionf::get_up(CoordinateSystem cs = (CS_default)) const;

Description: Returns the orientation represented by this quaternion, expressed as an up vector.

identQuat
static LQuaternionf const &LQuaternionf::ident_quat(void);

Description: Returns an identity quaternion.

invertFrom
bool LQuaternionf::invert_from(LQuaternionf const &other);

Description: Computes the inverse of the other quat, and stores the result in this quat. This is a fully general operation and makes no assumptions about the type of transform represented by the quat.
The other quat must be a different object than this quat. However, if you need to invert a quat in place, see invert_in_place.
The return value is true if the quat was successfully inverted, false if there was a singularity.

invertInPlace
bool LQuaternionf::invert_in_place(void);

Description: Inverts the current quat. Returns true if the inverse is successful, false if the quat was singular.

isAlmostIdentity
bool LQuaternionf::is_almost_identity(float tolerance) const;

Description: Returns true if this quaternion represents the identity transformation within a given tolerance.

isIdentity
bool LQuaternionf::is_identity(void) const;

Description: Returns true if this quaternion represents the identity transformation: no rotation.

isSameDirection
bool LQuaternionf::is_same_direction(LQuaternionf const &other) const;

Description: Returns true if two quaternions represent the same rotation within a default tolerance based on the numeric type.

multiply
LQuaternionf LQuaternionf::multiply(LQuaternionf const &rhs) const;

Description: actual multiply call (non virtual)

normalize
bool LQuaternionf::normalize(void);

Description:

operator *
LQuaternionf LQuaternionf::operator *(float scalar) const;

Description:
Description: Quat * Matrix = matrix

operator *=
LQuaternionf &LQuaternionf::operator *=(LQuaternionf const &);

Description:

operator +
LQuaternionf LQuaternionf::operator +(LQuaternionf const &other) const;

Description:

operator -
LQuaternionf LQuaternionf::operator -(LQuaternionf const &other) const;

Description:

operator -
LQuaternionf LQuaternionf::operator -(LQuaternionf const &other) const;

Description:

operator /
LQuaternionf LQuaternionf::operator /(float scalar) const;

Description:

output
void LQuaternionf::output(ostream &) const;

Description:

pureImaginary
static LQuaternionf LQuaternionf::pure_imaginary(LVector3f const &);

Description:

setFromAxisAngle
void LQuaternionf::set_from_axis_angle(float angle_deg, LVector3f const &axis);

Description: angle_deg is the angle about the axis in degrees. axis must be normalized.

setFromAxisAngleRad
void LQuaternionf::set_from_axis_angle_rad(float angle_rad, LVector3f const &axis);

Description: angle_rad is the angle about the axis in radians. axis must be normalized.

setFromMatrix
void LQuaternionf::set_from_matrix(LMatrix3f const &m);

Description:
Description: Sets the quaternion according to the rotation represented by the matrix. Originally we tried an algorithm presented by Do-While Jones, but that turned out to be broken. This is based on the quat lib from UNC.

setHpr
void LQuaternionf::set_hpr(LVecBase3f const &hpr, CoordinateSystem cs = (CS_default));

Description: Sets the quaternion as the unit quaternion that is equivalent to these Euler angles. (from Real-time Rendering, p.49)

setI
void LQuaternionf::set_i(float i);

Description:

setJ
void LQuaternionf::set_j(float j);

Description:

setK
void LQuaternionf::set_k(float k);

Description:

setR
void LQuaternionf::set_r(float r);

Description:

xform
LVecBase3f LQuaternionf::xform(LVecBase3f const &v) const;

Description: Transforms a 3-d vector by the indicated rotation
Description: Transforms a 4-d vector by the indicated rotation

LVecBase4f
LVecBase4f::LVecBase4f(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4f::add_w(float value);

Description:

addX
void LVecBase4f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4f::add_y(float value);

Description:

addZ
void LVecBase4f::add_z(float value);

Description:

almostEqual
bool LVecBase4f::almost_equal(LVecBase4f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4f::compare_to(LVecBase4f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
float LVecBase4f::dot(LVecBase4f const &other) const;

Description:

fill
void LVecBase4f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4f LVecBase4f::fmax(LVecBase4f const &other);

Description:

fmin
LVecBase4f LVecBase4f::fmin(LVecBase4f const &other);

Description:

getCell
float LVecBase4f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase4f::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4f::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
float LVecBase4f::get_w(void) const;

Description:

getX
float LVecBase4f::get_x(void) const;

Description:

getY
float LVecBase4f::get_y(void) const;

Description:

getZ
float LVecBase4f::get_z(void) const;

Description:

isNan
bool LVecBase4f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4f::operator !=(LVecBase4f const &other) const;

Description:

operator *
LVecBase4f LVecBase4f::operator *(float scalar) const;

Description:

operator *=
void LVecBase4f::operator *=(float scalar);

Description:

operator +
LVecBase4f LVecBase4f::operator +(LVecBase4f const &other) const;

Description:

operator +=
void LVecBase4f::operator +=(LVecBase4f const &other);

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -=
void LVecBase4f::operator -=(LVecBase4f const &other);

Description:

operator /
LVecBase4f LVecBase4f::operator /(float scalar) const;

Description:

operator /=
void LVecBase4f::operator /=(float scalar);

Description:

operator <
bool LVecBase4f::operator <(LVecBase4f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4f &LVecBase4f::operator =(LVecBase4f const &copy);

Description:

operator ==
bool LVecBase4f::operator ==(LVecBase4f const &other) const;

Description:

operator []
float LVecBase4f::operator [](int i) const;

Description:

operator delete
void LVecBase4f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4f::set(float x, float y, float z, float w);

Description:

setCell
void LVecBase4f::set_cell(int i, float value);

Description:

setW
void LVecBase4f::set_w(float value);

Description:

setX
void LVecBase4f::set_x(float value);

Description:

setY
void LVecBase4f::set_y(float value);

Description:

setZ
void LVecBase4f::set_z(float value);

Description:

unitW
static LVecBase4f const &LVecBase4f::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4f const &LVecBase4f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4f const &LVecBase4f::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4f const &LVecBase4f::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4f const &LVecBase4f::zero(void);

Description: Returns a zero-length vector.


lTOC

    from direct.pyinst.ltoc import lTOC
    A class for managing lists of resources. Should be a UserList subclass. Doh. Like a list, but has merge(other) and filter() methods

Inheritance:

    lTOC:

Methods of lTOC:

    __init__
    addFilter
    filter
    merge
    prepend
    toList
    unique
__init__
def __init__(self, reslist=None, filters=None)

Undocumented function.

addFilter
def addFilter(self, filter)

Undocumented function.

filter
def filter(self)

invoke all filters

merge
def merge(self, other)

merge in another ltoc, discarding dups and preserving order

prepend
def prepend(self, res)

Undocumented function.

toList
def toList(self)

return self as a list of (name, path, typ)

unique
def unique(self)

remove all duplicate entries, preserving order


LVecBase2d

    from pandac.PandaModules import LVecBase2d
    Filename: lvecBase2_src.h Created by: drose (08Mar00)
    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."
    typedef struct {FLOATTYPE _0, _1} FLOATNAME(data);
    Class : LVecBase2
    Description : This is the base class for all two-component vectors and points.

Inheritance:

    LVecBase2d:

Methods of LVecBase2d:

    LVecBase2d (Constructor)
    addHash
    addToCell
    addX
    addY
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getX
    getY
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setX
    setY
    unitX
    unitY
    validatePtr
    zero
LVecBase2d
LVecBase2d::LVecBase2d(void);

Filename: lvecBase2_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase2d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase2d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addX
void LVecBase2d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase2d::add_y(double value);

Description:

almostEqual
bool LVecBase2d::almost_equal(LVecBase2d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase2d::compare_to(LVecBase2d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
double LVecBase2d::dot(LVecBase2d const &other) const;

Description:

fill
void LVecBase2d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase2d LVecBase2d::fmax(LVecBase2d const &other);

Description:

fmin
LVecBase2d LVecBase2d::fmin(LVecBase2d const &other);

Description:

getCell
double LVecBase2d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase2d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase2d::get_data(void) const;

Description: Returns the address of the first of the two data elements in the vector. The next element occupies the next position consecutively in memory.

getHash
unsigned int LVecBase2d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase2d::get_num_components(void) const;

Description: Returns the number of elements in the vector, two.

getX
double LVecBase2d::get_x(void) const;

Description:

getY
double LVecBase2d::get_y(void) const;

Description:

isNan
bool LVecBase2d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase2d::operator !=(LVecBase2d const &other) const;

Description:

operator *
LVecBase2d LVecBase2d::operator *(double scalar) const;

Description:

operator *=
void LVecBase2d::operator *=(double scalar);

Description:

operator +
LVecBase2d LVecBase2d::operator +(LVecBase2d const &other) const;

Description:

operator +=
void LVecBase2d::operator +=(LVecBase2d const &other);

Description:

operator -
LVecBase2d LVecBase2d::operator -(LVecBase2d const &other) const;

Description:

operator -
LVecBase2d LVecBase2d::operator -(LVecBase2d const &other) const;

Description:

operator -=
void LVecBase2d::operator -=(LVecBase2d const &other);

Description:

operator /
LVecBase2d LVecBase2d::operator /(double scalar) const;

Description:

operator /=
void LVecBase2d::operator /=(double scalar);

Description:

operator <
bool LVecBase2d::operator <(LVecBase2d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase2d &LVecBase2d::operator =(LVecBase2d const &copy);

Description:

operator ==
bool LVecBase2d::operator ==(LVecBase2d const &other) const;

Description:

operator []
double LVecBase2d::operator [](int i) const;

Description:

operator delete
void LVecBase2d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase2d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase2d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase2d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase2d::set(double x, double y);

Description:

setCell
void LVecBase2d::set_cell(int i, double value);

Description:

setX
void LVecBase2d::set_x(double value);

Description:

setY
void LVecBase2d::set_y(double value);

Description:

unitX
static LVecBase2d const &LVecBase2d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase2d const &LVecBase2d::unit_y(void);

Description: Returns a unit Y vector.

validatePtr
static bool LVecBase2d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase2d const &LVecBase2d::zero(void);

Description: Returns a zero-length vector.


LVecBase2f

    from pandac.PandaModules import LVecBase2f
    Filename: lvecBase2_src.h Created by: drose (08Mar00)
    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."
    typedef struct {FLOATTYPE _0, _1} FLOATNAME(data);
    Class : LVecBase2
    Description : This is the base class for all two-component vectors and points.

Inheritance:

    LVecBase2f:

Methods of LVecBase2f:

    LVecBase2f (Constructor)
    addHash
    addToCell
    addX
    addY
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getX
    getY
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setX
    setY
    unitX
    unitY
    validatePtr
    zero
LVecBase2f
LVecBase2f::LVecBase2f(void);

Filename: lvecBase2_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase2f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase2f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addX
void LVecBase2f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase2f::add_y(float value);

Description:

almostEqual
bool LVecBase2f::almost_equal(LVecBase2f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase2f::compare_to(LVecBase2f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
float LVecBase2f::dot(LVecBase2f const &other) const;

Description:

fill
void LVecBase2f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase2f LVecBase2f::fmax(LVecBase2f const &other);

Description:

fmin
LVecBase2f LVecBase2f::fmin(LVecBase2f const &other);

Description:

getCell
float LVecBase2f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase2f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase2f::get_data(void) const;

Description: Returns the address of the first of the two data elements in the vector. The next element occupies the next position consecutively in memory.

getHash
unsigned int LVecBase2f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase2f::get_num_components(void) const;

Description: Returns the number of elements in the vector, two.

getX
float LVecBase2f::get_x(void) const;

Description:

getY
float LVecBase2f::get_y(void) const;

Description:

isNan
bool LVecBase2f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase2f::operator !=(LVecBase2f const &other) const;

Description:

operator *
LVecBase2f LVecBase2f::operator *(float scalar) const;

Description:

operator *=
void LVecBase2f::operator *=(float scalar);

Description:

operator +
LVecBase2f LVecBase2f::operator +(LVecBase2f const &other) const;

Description:

operator +=
void LVecBase2f::operator +=(LVecBase2f const &other);

Description:

operator -
LVecBase2f LVecBase2f::operator -(LVecBase2f const &other) const;

Description:

operator -
LVecBase2f LVecBase2f::operator -(LVecBase2f const &other) const;

Description:

operator -=
void LVecBase2f::operator -=(LVecBase2f const &other);

Description:

operator /
LVecBase2f LVecBase2f::operator /(float scalar) const;

Description:

operator /=
void LVecBase2f::operator /=(float scalar);

Description:

operator <
bool LVecBase2f::operator <(LVecBase2f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase2f &LVecBase2f::operator =(LVecBase2f const &copy);

Description:

operator ==
bool LVecBase2f::operator ==(LVecBase2f const &other) const;

Description:

operator []
float LVecBase2f::operator [](int i) const;

Description:

operator delete
void LVecBase2f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase2f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase2f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase2f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase2f::set(float x, float y);

Description:

setCell
void LVecBase2f::set_cell(int i, float value);

Description:

setX
void LVecBase2f::set_x(float value);

Description:

setY
void LVecBase2f::set_y(float value);

Description:

unitX
static LVecBase2f const &LVecBase2f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase2f const &LVecBase2f::unit_y(void);

Description: Returns a unit Y vector.

validatePtr
static bool LVecBase2f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase2f const &LVecBase2f::zero(void);

Description: Returns a zero-length vector.


LVecBase3d

    from pandac.PandaModules import LVecBase3d
    Filename: lvecBase3_src.h Created by: drose (08Mar00)
    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."
    Class : LVecBase3
    Description : This is the base class for all three-component vectors and points.

Inheritance:

    LVecBase3d:

Methods of LVecBase3d:

    LVecBase3d (Constructor)
    addHash
    addToCell
    addX
    addY
    addZ
    almostEqual
    compareTo
    cross
    crossInto
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getStandardizedHpr
    getX
    getY
    getZ
    isNan
    length
    lengthSquared
    normalize
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setX
    setY
    setZ
    unitX
    unitY
    unitZ
    validatePtr
    zero
LVecBase3d
LVecBase3d::LVecBase3d(void);

Filename: lvecBase3_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase3d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase3d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addX
void LVecBase3d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase3d::add_y(double value);

Description:

addZ
void LVecBase3d::add_z(double value);

Description:

almostEqual
bool LVecBase3d::almost_equal(LVecBase3d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase3d::compare_to(LVecBase3d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

cross
LVecBase3d LVecBase3d::cross(LVecBase3d const &other) const;

Description:

crossInto
void LVecBase3d::cross_into(LVecBase3d const &other);

Description:

dot
double LVecBase3d::dot(LVecBase3d const &other) const;

Description:

fill
void LVecBase3d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase3d LVecBase3d::fmax(LVecBase3d const &other);

Description:

fmin
LVecBase3d LVecBase3d::fmin(LVecBase3d const &other);

Description:

getCell
double LVecBase3d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase3d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase3d::get_data(void) const;

Description: Returns the address of the first of the three data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase3d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase3d::get_num_components(void) const;

Description: Returns the number of elements in the vector, three.

getStandardizedHpr
LVecBase3d LVecBase3d::get_standardized_hpr(void) const;

Description: Try to un-spin the hpr to a standard form. Like all standards, someone decides between many arbitrary posible standards. This function assumes that 0 and 360 are the same, as is 720 and
-360. Also 180 and -180 are the same. Another
example is -90 and 270. Each element will be in the range -180.0 to 179.99999. The original usage of this function is for human readable output.
It doesn't work so well for asserting that foo_hpr is roughly equal to bar_hpr. Try using LQuaternionf::is_same_direction() for that. See Also: get_standardized_rotation, LQuaternion::is_same_direction

getX
double LVecBase3d::get_x(void) const;

Description:

getY
double LVecBase3d::get_y(void) const;

Description:

getZ
double LVecBase3d::get_z(void) const;

Description:

isNan
bool LVecBase3d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

length
double LVecBase3d::length(void) const;

Description: Returns the length of the vector, by the Pythagorean theorem.

lengthSquared
double LVecBase3d::length_squared(void) const;

Description: Returns the square of the vector's length, cheap and easy.

normalize
bool LVecBase3d::normalize(void);

Description: Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.

operator !=
bool LVecBase3d::operator !=(LVecBase3d const &other) const;

Description:

operator *
LVecBase3d LVecBase3d::operator *(double scalar) const;

Description:

operator *=
void LVecBase3d::operator *=(double scalar);

Description:

operator +
LVecBase3d LVecBase3d::operator +(LVecBase3d const &other) const;

Description:

operator +=
void LVecBase3d::operator +=(LVecBase3d const &other);

Description:

operator -
LVecBase3d LVecBase3d::operator -(LVecBase3d const &other) const;

Description:

operator -
LVecBase3d LVecBase3d::operator -(LVecBase3d const &other) const;

Description:

operator -=
void LVecBase3d::operator -=(LVecBase3d const &other);

Description:

operator /
LVecBase3d LVecBase3d::operator /(double scalar) const;

Description:

operator /=
void LVecBase3d::operator /=(double scalar);

Description:

operator <
bool LVecBase3d::operator <(LVecBase3d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase3d &LVecBase3d::operator =(LVecBase3d const &copy);

Description:

operator ==
bool LVecBase3d::operator ==(LVecBase3d const &other) const;

Description:

operator []
double LVecBase3d::operator [](int i) const;

Description:

operator delete
void LVecBase3d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase3d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase3d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase3d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase3d::set(double x, double y, double z);

Description:

setCell
void LVecBase3d::set_cell(int i, double value);

Description:

setX
void LVecBase3d::set_x(double value);

Description:

setY
void LVecBase3d::set_y(double value);

Description:

setZ
void LVecBase3d::set_z(double value);

Description:

unitX
static LVecBase3d const &LVecBase3d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase3d const &LVecBase3d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase3d const &LVecBase3d::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase3d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase3d const &LVecBase3d::zero(void);

Description: Returns a zero-length vector.


LVecBase3f

    from pandac.PandaModules import LVecBase3f
    Filename: lvecBase3_src.h Created by: drose (08Mar00)
    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."
    Class : LVecBase3
    Description : This is the base class for all three-component vectors and points.

Inheritance:

    LVecBase3f:

Methods of LVecBase3f:

    LVecBase3f (Constructor)
    addHash
    addToCell
    addX
    addY
    addZ
    almostEqual
    compareTo
    cross
    crossInto
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getStandardizedHpr
    getX
    getY
    getZ
    isNan
    length
    lengthSquared
    normalize
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setX
    setY
    setZ
    unitX
    unitY
    unitZ
    validatePtr
    zero
LVecBase3f
LVecBase3f::LVecBase3f(void);

Filename: lvecBase3_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase3f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase3f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addX
void LVecBase3f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase3f::add_y(float value);

Description:

addZ
void LVecBase3f::add_z(float value);

Description:

almostEqual
bool LVecBase3f::almost_equal(LVecBase3f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase3f::compare_to(LVecBase3f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

cross
LVecBase3f LVecBase3f::cross(LVecBase3f const &other) const;

Description:

crossInto
void LVecBase3f::cross_into(LVecBase3f const &other);

Description:

dot
float LVecBase3f::dot(LVecBase3f const &other) const;

Description:

fill
void LVecBase3f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase3f LVecBase3f::fmax(LVecBase3f const &other);

Description:

fmin
LVecBase3f LVecBase3f::fmin(LVecBase3f const &other);

Description:

getCell
float LVecBase3f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase3f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase3f::get_data(void) const;

Description: Returns the address of the first of the three data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase3f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase3f::get_num_components(void) const;

Description: Returns the number of elements in the vector, three.

getStandardizedHpr
LVecBase3f LVecBase3f::get_standardized_hpr(void) const;

Description: Try to un-spin the hpr to a standard form. Like all standards, someone decides between many arbitrary posible standards. This function assumes that 0 and 360 are the same, as is 720 and
-360. Also 180 and -180 are the same. Another
example is -90 and 270. Each element will be in the range -180.0 to 179.99999. The original usage of this function is for human readable output.
It doesn't work so well for asserting that foo_hpr is roughly equal to bar_hpr. Try using LQuaternionf::is_same_direction() for that. See Also: get_standardized_rotation, LQuaternion::is_same_direction

getX
float LVecBase3f::get_x(void) const;

Description:

getY
float LVecBase3f::get_y(void) const;

Description:

getZ
float LVecBase3f::get_z(void) const;

Description:

isNan
bool LVecBase3f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

length
float LVecBase3f::length(void) const;

Description: Returns the length of the vector, by the Pythagorean theorem.

lengthSquared
float LVecBase3f::length_squared(void) const;

Description: Returns the square of the vector's length, cheap and easy.

normalize
bool LVecBase3f::normalize(void);

Description: Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.

operator !=
bool LVecBase3f::operator !=(LVecBase3f const &other) const;

Description:

operator *
LVecBase3f LVecBase3f::operator *(float scalar) const;

Description:

operator *=
void LVecBase3f::operator *=(float scalar);

Description:

operator +
LVecBase3f LVecBase3f::operator +(LVecBase3f const &other) const;

Description:

operator +=
void LVecBase3f::operator +=(LVecBase3f const &other);

Description:

operator -
LVecBase3f LVecBase3f::operator -(LVecBase3f const &other) const;

Description:

operator -
LVecBase3f LVecBase3f::operator -(LVecBase3f const &other) const;

Description:

operator -=
void LVecBase3f::operator -=(LVecBase3f const &other);

Description:

operator /
LVecBase3f LVecBase3f::operator /(float scalar) const;

Description:

operator /=
void LVecBase3f::operator /=(float scalar);

Description:

operator <
bool LVecBase3f::operator <(LVecBase3f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase3f &LVecBase3f::operator =(LVecBase3f const &copy);

Description:

operator ==
bool LVecBase3f::operator ==(LVecBase3f const &other) const;

Description:

operator []
float LVecBase3f::operator [](int i) const;

Description:

operator delete
void LVecBase3f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase3f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase3f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase3f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase3f::set(float x, float y, float z);

Description:

setCell
void LVecBase3f::set_cell(int i, float value);

Description:

setX
void LVecBase3f::set_x(float value);

Description:

setY
void LVecBase3f::set_y(float value);

Description:

setZ
void LVecBase3f::set_z(float value);

Description:

unitX
static LVecBase3f const &LVecBase3f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase3f const &LVecBase3f::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase3f const &LVecBase3f::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase3f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase3f const &LVecBase3f::zero(void);

Description: Returns a zero-length vector.


LVecBase4d

    from pandac.PandaModules import LVecBase4d
    Filename: lvecBase4_src.h Created by: drose (08Mar00)
    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."
    Class : LVecBase4
    Description : This is the base class for all three-component vectors and points.

Inheritance:

    LVecBase4d:

Methods of LVecBase4d:

    LVecBase4d (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
LVecBase4d
LVecBase4d::LVecBase4d(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4d::add_w(double value);

Description:

addX
void LVecBase4d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4d::add_y(double value);

Description:

addZ
void LVecBase4d::add_z(double value);

Description:

almostEqual
bool LVecBase4d::almost_equal(LVecBase4d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4d::compare_to(LVecBase4d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
double LVecBase4d::dot(LVecBase4d const &other) const;

Description:

fill
void LVecBase4d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4d LVecBase4d::fmax(LVecBase4d const &other);

Description:

fmin
LVecBase4d LVecBase4d::fmin(LVecBase4d const &other);

Description:

getCell
double LVecBase4d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase4d::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4d::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
double LVecBase4d::get_w(void) const;

Description:

getX
double LVecBase4d::get_x(void) const;

Description:

getY
double LVecBase4d::get_y(void) const;

Description:

getZ
double LVecBase4d::get_z(void) const;

Description:

isNan
bool LVecBase4d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4d::operator !=(LVecBase4d const &other) const;

Description:

operator *
LVecBase4d LVecBase4d::operator *(double scalar) const;

Description:

operator *=
void LVecBase4d::operator *=(double scalar);

Description:

operator +
LVecBase4d LVecBase4d::operator +(LVecBase4d const &other) const;

Description:

operator +=
void LVecBase4d::operator +=(LVecBase4d const &other);

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -=
void LVecBase4d::operator -=(LVecBase4d const &other);

Description:

operator /
LVecBase4d LVecBase4d::operator /(double scalar) const;

Description:

operator /=
void LVecBase4d::operator /=(double scalar);

Description:

operator <
bool LVecBase4d::operator <(LVecBase4d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4d &LVecBase4d::operator =(LVecBase4d const &copy);

Description:

operator ==
bool LVecBase4d::operator ==(LVecBase4d const &other) const;

Description:

operator []
double LVecBase4d::operator [](int i) const;

Description:

operator delete
void LVecBase4d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4d::set(double x, double y, double z, double w);

Description:

setCell
void LVecBase4d::set_cell(int i, double value);

Description:

setW
void LVecBase4d::set_w(double value);

Description:

setX
void LVecBase4d::set_x(double value);

Description:

setY
void LVecBase4d::set_y(double value);

Description:

setZ
void LVecBase4d::set_z(double value);

Description:

unitW
static LVecBase4d const &LVecBase4d::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4d const &LVecBase4d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4d const &LVecBase4d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4d const &LVecBase4d::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4d const &LVecBase4d::zero(void);

Description: Returns a zero-length vector.


LVecBase4f

    from pandac.PandaModules import LVecBase4f
    Filename: lvecBase4_src.h Created by: drose (08Mar00)
    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."
    Class : LVecBase4
    Description : This is the base class for all three-component vectors and points.

Inheritance:

    LVecBase4f:

Methods of LVecBase4f:

    LVecBase4f (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
LVecBase4f
LVecBase4f::LVecBase4f(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4f::add_w(float value);

Description:

addX
void LVecBase4f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4f::add_y(float value);

Description:

addZ
void LVecBase4f::add_z(float value);

Description:

almostEqual
bool LVecBase4f::almost_equal(LVecBase4f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4f::compare_to(LVecBase4f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
float LVecBase4f::dot(LVecBase4f const &other) const;

Description:

fill
void LVecBase4f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4f LVecBase4f::fmax(LVecBase4f const &other);

Description:

fmin
LVecBase4f LVecBase4f::fmin(LVecBase4f const &other);

Description:

getCell
float LVecBase4f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase4f::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4f::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
float LVecBase4f::get_w(void) const;

Description:

getX
float LVecBase4f::get_x(void) const;

Description:

getY
float LVecBase4f::get_y(void) const;

Description:

getZ
float LVecBase4f::get_z(void) const;

Description:

isNan
bool LVecBase4f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4f::operator !=(LVecBase4f const &other) const;

Description:

operator *
LVecBase4f LVecBase4f::operator *(float scalar) const;

Description:

operator *=
void LVecBase4f::operator *=(float scalar);

Description:

operator +
LVecBase4f LVecBase4f::operator +(LVecBase4f const &other) const;

Description:

operator +=
void LVecBase4f::operator +=(LVecBase4f const &other);

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -=
void LVecBase4f::operator -=(LVecBase4f const &other);

Description:

operator /
LVecBase4f LVecBase4f::operator /(float scalar) const;

Description:

operator /=
void LVecBase4f::operator /=(float scalar);

Description:

operator <
bool LVecBase4f::operator <(LVecBase4f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4f &LVecBase4f::operator =(LVecBase4f const &copy);

Description:

operator ==
bool LVecBase4f::operator ==(LVecBase4f const &other) const;

Description:

operator []
float LVecBase4f::operator [](int i) const;

Description:

operator delete
void LVecBase4f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4f::set(float x, float y, float z, float w);

Description:

setCell
void LVecBase4f::set_cell(int i, float value);

Description:

setW
void LVecBase4f::set_w(float value);

Description:

setX
void LVecBase4f::set_x(float value);

Description:

setY
void LVecBase4f::set_y(float value);

Description:

setZ
void LVecBase4f::set_z(float value);

Description:

unitW
static LVecBase4f const &LVecBase4f::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4f const &LVecBase4f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4f const &LVecBase4f::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4f const &LVecBase4f::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4f const &LVecBase4f::zero(void);

Description: Returns a zero-length vector.


LVector2d

    from pandac.PandaModules import LVector2d
    Filename: lvector2_src.h Created by: drose (08Mar00)
    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."
    Class : LVector2
    Description : This is a two-component vector offset.

Inheritance:

    LVector2d: LVecBase2d
    LVecBase2d:

Methods of LVector2d:

    LVector2d (Constructor)
    getClassType
    length
    lengthSquared
    normalize
    operator *
    operator +
    operator -
    operator -
    operator /
    operator =
    pythonRepr
    unitX
    unitY
    zero

Methods of LVecBase2d:

    LVecBase2d (Constructor)
    addHash
    addToCell
    addX
    addY
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getX
    getY
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setX
    setY
    unitX
    unitY
    validatePtr
    zero
LVector2d
LVector2d::LVector2d(void);

Filename: lvector2_src.I Created by: drose (08Mar00)
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."
Description:

getClassType
static TypeHandle LVector2d::get_class_type(void);

Undocumented function.

length
double LVector2d::length(void) const;

Description: Returns the length of the vector, by the Pythagorean theorem.

lengthSquared
double LVector2d::length_squared(void) const;

Description: Returns the square of the vector's length, cheap and easy.

normalize
bool LVector2d::normalize(void);

Description: Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.

operator *
LVector2d LVector2d::operator *(double scalar) const;

Description:

operator +
LVecBase2d LVector2d::operator +(LVecBase2d const &other) const;

Description:

operator -
LVecBase2d LVector2d::operator -(LVecBase2d const &other) const;

Description:

operator -
LVecBase2d LVector2d::operator -(LVecBase2d const &other) const;

Description:

operator /
LVector2d LVector2d::operator /(double scalar) const;

Description:

operator =
LVector2d &LVector2d::operator =(LVecBase2d const &copy);

Description:

pythonRepr
void LVector2d::python_repr(ostream &out, string const &class_name) const;

Description:

unitX
static LVector2d const &LVector2d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVector2d const &LVector2d::unit_y(void);

Description: Returns a unit Y vector.

zero
static LVector2d const &LVector2d::zero(void);

Description: Returns a zero-length vector.

LVecBase2d
LVecBase2d::LVecBase2d(void);

Filename: lvecBase2_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase2d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase2d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addX
void LVecBase2d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase2d::add_y(double value);

Description:

almostEqual
bool LVecBase2d::almost_equal(LVecBase2d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase2d::compare_to(LVecBase2d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
double LVecBase2d::dot(LVecBase2d const &other) const;

Description:

fill
void LVecBase2d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase2d LVecBase2d::fmax(LVecBase2d const &other);

Description:

fmin
LVecBase2d LVecBase2d::fmin(LVecBase2d const &other);

Description:

getCell
double LVecBase2d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase2d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase2d::get_data(void) const;

Description: Returns the address of the first of the two data elements in the vector. The next element occupies the next position consecutively in memory.

getHash
unsigned int LVecBase2d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase2d::get_num_components(void) const;

Description: Returns the number of elements in the vector, two.

getX
double LVecBase2d::get_x(void) const;

Description:

getY
double LVecBase2d::get_y(void) const;

Description:

isNan
bool LVecBase2d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase2d::operator !=(LVecBase2d const &other) const;

Description:

operator *
LVecBase2d LVecBase2d::operator *(double scalar) const;

Description:

operator *=
void LVecBase2d::operator *=(double scalar);

Description:

operator +
LVecBase2d LVecBase2d::operator +(LVecBase2d const &other) const;

Description:

operator +=
void LVecBase2d::operator +=(LVecBase2d const &other);

Description:

operator -
LVecBase2d LVecBase2d::operator -(LVecBase2d const &other) const;

Description:

operator -
LVecBase2d LVecBase2d::operator -(LVecBase2d const &other) const;

Description:

operator -=
void LVecBase2d::operator -=(LVecBase2d const &other);

Description:

operator /
LVecBase2d LVecBase2d::operator /(double scalar) const;

Description:

operator /=
void LVecBase2d::operator /=(double scalar);

Description:

operator <
bool LVecBase2d::operator <(LVecBase2d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase2d &LVecBase2d::operator =(LVecBase2d const &copy);

Description:

operator ==
bool LVecBase2d::operator ==(LVecBase2d const &other) const;

Description:

operator []
double LVecBase2d::operator [](int i) const;

Description:

operator delete
void LVecBase2d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase2d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase2d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase2d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase2d::set(double x, double y);

Description:

setCell
void LVecBase2d::set_cell(int i, double value);

Description:

setX
void LVecBase2d::set_x(double value);

Description:

setY
void LVecBase2d::set_y(double value);

Description:

unitX
static LVecBase2d const &LVecBase2d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase2d const &LVecBase2d::unit_y(void);

Description: Returns a unit Y vector.

validatePtr
static bool LVecBase2d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase2d const &LVecBase2d::zero(void);

Description: Returns a zero-length vector.


LVector2f

    from pandac.PandaModules import LVector2f
    Filename: lvector2_src.h Created by: drose (08Mar00)
    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."
    Class : LVector2
    Description : This is a two-component vector offset.

Inheritance:

    LVector2f: LVecBase2f
    LVecBase2f:

Methods of LVector2f:

    LVector2f (Constructor)
    getClassType
    length
    lengthSquared
    normalize
    operator *
    operator +
    operator -
    operator -
    operator /
    operator =
    pythonRepr
    unitX
    unitY
    zero

Methods of LVecBase2f:

    LVecBase2f (Constructor)
    addHash
    addToCell
    addX
    addY
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getX
    getY
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setX
    setY
    unitX
    unitY
    validatePtr
    zero
LVector2f
LVector2f::LVector2f(void);

Filename: lvector2_src.I Created by: drose (08Mar00)
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."
Description:

getClassType
static TypeHandle LVector2f::get_class_type(void);

Undocumented function.

length
float LVector2f::length(void) const;

Description: Returns the length of the vector, by the Pythagorean theorem.

lengthSquared
float LVector2f::length_squared(void) const;

Description: Returns the square of the vector's length, cheap and easy.

normalize
bool LVector2f::normalize(void);

Description: Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.

operator *
LVector2f LVector2f::operator *(float scalar) const;

Description:

operator +
LVecBase2f LVector2f::operator +(LVecBase2f const &other) const;

Description:

operator -
LVecBase2f LVector2f::operator -(LVecBase2f const &other) const;

Description:

operator -
LVecBase2f LVector2f::operator -(LVecBase2f const &other) const;

Description:

operator /
LVector2f LVector2f::operator /(float scalar) const;

Description:

operator =
LVector2f &LVector2f::operator =(LVecBase2f const &copy);

Description:

pythonRepr
void LVector2f::python_repr(ostream &out, string const &class_name) const;

Description:

unitX
static LVector2f const &LVector2f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVector2f const &LVector2f::unit_y(void);

Description: Returns a unit Y vector.

zero
static LVector2f const &LVector2f::zero(void);

Description: Returns a zero-length vector.

LVecBase2f
LVecBase2f::LVecBase2f(void);

Filename: lvecBase2_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase2f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase2f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addX
void LVecBase2f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase2f::add_y(float value);

Description:

almostEqual
bool LVecBase2f::almost_equal(LVecBase2f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase2f::compare_to(LVecBase2f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
float LVecBase2f::dot(LVecBase2f const &other) const;

Description:

fill
void LVecBase2f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase2f LVecBase2f::fmax(LVecBase2f const &other);

Description:

fmin
LVecBase2f LVecBase2f::fmin(LVecBase2f const &other);

Description:

getCell
float LVecBase2f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase2f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase2f::get_data(void) const;

Description: Returns the address of the first of the two data elements in the vector. The next element occupies the next position consecutively in memory.

getHash
unsigned int LVecBase2f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase2f::get_num_components(void) const;

Description: Returns the number of elements in the vector, two.

getX
float LVecBase2f::get_x(void) const;

Description:

getY
float LVecBase2f::get_y(void) const;

Description:

isNan
bool LVecBase2f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase2f::operator !=(LVecBase2f const &other) const;

Description:

operator *
LVecBase2f LVecBase2f::operator *(float scalar) const;

Description:

operator *=
void LVecBase2f::operator *=(float scalar);

Description:

operator +
LVecBase2f LVecBase2f::operator +(LVecBase2f const &other) const;

Description:

operator +=
void LVecBase2f::operator +=(LVecBase2f const &other);

Description:

operator -
LVecBase2f LVecBase2f::operator -(LVecBase2f const &other) const;

Description:

operator -
LVecBase2f LVecBase2f::operator -(LVecBase2f const &other) const;

Description:

operator -=
void LVecBase2f::operator -=(LVecBase2f const &other);

Description:

operator /
LVecBase2f LVecBase2f::operator /(float scalar) const;

Description:

operator /=
void LVecBase2f::operator /=(float scalar);

Description:

operator <
bool LVecBase2f::operator <(LVecBase2f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase2f &LVecBase2f::operator =(LVecBase2f const &copy);

Description:

operator ==
bool LVecBase2f::operator ==(LVecBase2f const &other) const;

Description:

operator []
float LVecBase2f::operator [](int i) const;

Description:

operator delete
void LVecBase2f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase2f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase2f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase2f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase2f::set(float x, float y);

Description:

setCell
void LVecBase2f::set_cell(int i, float value);

Description:

setX
void LVecBase2f::set_x(float value);

Description:

setY
void LVecBase2f::set_y(float value);

Description:

unitX
static LVecBase2f const &LVecBase2f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase2f const &LVecBase2f::unit_y(void);

Description: Returns a unit Y vector.

validatePtr
static bool LVecBase2f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase2f const &LVecBase2f::zero(void);

Description: Returns a zero-length vector.


LVector3d

    from pandac.PandaModules import LVector3d
    Filename: lvector3_src.h Created by: drose (24Sep99)
    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."
    Class : LVector3
    Description : This is a three-component vector distance (as opposed to a three-component point, which represents a particular point in space). Some of the methods are slightly different between LPoint3 and LVector3; in particular, subtraction of two points yields a vector, while addition of a vector and a point yields a point.

Inheritance:

    LVector3d: LVecBase3d
    LVecBase3d:

Methods of LVector3d:

    LVector3d (Constructor)
    angleDeg
    angleRad
    back
    cross
    down
    forward
    getClassType
    left
    operator *
    operator +
    operator -
    operator -
    operator /
    operator =
    pythonRepr
    relativeAngleDeg
    relativeAngleRad
    rfu
    right
    unitX
    unitY
    unitZ
    up
    zero

Methods of LVecBase3d:

    LVecBase3d (Constructor)
    addHash
    addToCell
    addX
    addY
    addZ
    almostEqual
    compareTo
    cross
    crossInto
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getStandardizedHpr
    getX
    getY
    getZ
    isNan
    length
    lengthSquared
    normalize
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setX
    setY
    setZ
    unitX
    unitY
    unitZ
    validatePtr
    zero
LVector3d
LVector3d::LVector3d(void);

Filename: lvector3_src.I Created by: drose (24Sep99)
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."
Description:

angleDeg
double LVector3d::angle_deg(LVector3d const &other) const;

Description: Returns the angle between this vector and the other one, expressed in degrees. Both vectors should be initially normalized.

angleRad
double LVector3d::angle_rad(LVector3d const &other) const;

Description: Returns the angle between this vector and the other one, expressed in radians. Both vectors should be initially normalized.

back
static LVector3d LVector3d::back(CoordinateSystem cs = (CS_default));

Description: Returns the back vector for the given coordinate system.

cross
LVector3d LVector3d::cross(LVecBase3d const &other) const;

Description:

down
static LVector3d LVector3d::down(CoordinateSystem cs = (CS_default));

Description: Returns the down vector for the given coordinate system.

forward
static LVector3d LVector3d::forward(CoordinateSystem cs = (CS_default));

Description: Returns the forward vector for the given coordinate system.

getClassType
static TypeHandle LVector3d::get_class_type(void);

Undocumented function.

left
static LVector3d LVector3d::left(CoordinateSystem cs = (CS_default));

Description: Returns the left vector for the given coordinate system.

operator *
LVector3d LVector3d::operator *(double scalar) const;

Description:

operator +
LVecBase3d LVector3d::operator +(LVecBase3d const &other) const;

Description:

operator -
LVecBase3d LVector3d::operator -(LVecBase3d const &other) const;

Description:

operator -
LVecBase3d LVector3d::operator -(LVecBase3d const &other) const;

Description:

operator /
LVector3d LVector3d::operator /(double scalar) const;

Description:

operator =
LVector3d &LVector3d::operator =(LVecBase3d const &copy);

Description:

pythonRepr
void LVector3d::python_repr(ostream &out, string const &class_name) const;

Description:

relativeAngleDeg
double LVector3d::relative_angle_deg(LVector3d const &other) const;

Description: returns the signed angled between two vectors. normalization is NOT necessary

relativeAngleRad
double LVector3d::relative_angle_rad(LVector3d const &other) const;

Description: returns the signed angled between two vectors. normalization is NOT necessary

rfu
static LVector3d LVector3d::rfu(double right, double fwd, double up, CoordinateSystem cs = (CS_default));

INLINE_LINMATH static FLOATNAME(LVector3) & rfu(FLOATTYPE right,
Description: Returns a vector that is described by its right, forward, and up components, in whatever way the coordinate system represents that vector.
INLINE_LINMATH FLOATNAME(LVector3) & FLOATNAME(LVector3)::

right
static LVector3d LVector3d::right(CoordinateSystem cs = (CS_default));

Description: Returns the right vector for the given coordinate system.

unitX
static LVector3d const &LVector3d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVector3d const &LVector3d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVector3d const &LVector3d::unit_z(void);

Description: Returns a unit Z vector.

up
static LVector3d LVector3d::up(CoordinateSystem cs = (CS_default));

Some special named constructors for LVector3.
Description: Returns the up vector for the given coordinate system.

zero
static LVector3d const &LVector3d::zero(void);

Description: Returns a zero-length vector.

LVecBase3d
LVecBase3d::LVecBase3d(void);

Filename: lvecBase3_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase3d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase3d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addX
void LVecBase3d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase3d::add_y(double value);

Description:

addZ
void LVecBase3d::add_z(double value);

Description:

almostEqual
bool LVecBase3d::almost_equal(LVecBase3d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase3d::compare_to(LVecBase3d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

cross
LVecBase3d LVecBase3d::cross(LVecBase3d const &other) const;

Description:

crossInto
void LVecBase3d::cross_into(LVecBase3d const &other);

Description:

dot
double LVecBase3d::dot(LVecBase3d const &other) const;

Description:

fill
void LVecBase3d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase3d LVecBase3d::fmax(LVecBase3d const &other);

Description:

fmin
LVecBase3d LVecBase3d::fmin(LVecBase3d const &other);

Description:

getCell
double LVecBase3d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase3d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase3d::get_data(void) const;

Description: Returns the address of the first of the three data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase3d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase3d::get_num_components(void) const;

Description: Returns the number of elements in the vector, three.

getStandardizedHpr
LVecBase3d LVecBase3d::get_standardized_hpr(void) const;

Description: Try to un-spin the hpr to a standard form. Like all standards, someone decides between many arbitrary posible standards. This function assumes that 0 and 360 are the same, as is 720 and
-360. Also 180 and -180 are the same. Another
example is -90 and 270. Each element will be in the range -180.0 to 179.99999. The original usage of this function is for human readable output.
It doesn't work so well for asserting that foo_hpr is roughly equal to bar_hpr. Try using LQuaternionf::is_same_direction() for that. See Also: get_standardized_rotation, LQuaternion::is_same_direction

getX
double LVecBase3d::get_x(void) const;

Description:

getY
double LVecBase3d::get_y(void) const;

Description:

getZ
double LVecBase3d::get_z(void) const;

Description:

isNan
bool LVecBase3d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

length
double LVecBase3d::length(void) const;

Description: Returns the length of the vector, by the Pythagorean theorem.

lengthSquared
double LVecBase3d::length_squared(void) const;

Description: Returns the square of the vector's length, cheap and easy.

normalize
bool LVecBase3d::normalize(void);

Description: Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.

operator !=
bool LVecBase3d::operator !=(LVecBase3d const &other) const;

Description:

operator *
LVecBase3d LVecBase3d::operator *(double scalar) const;

Description:

operator *=
void LVecBase3d::operator *=(double scalar);

Description:

operator +
LVecBase3d LVecBase3d::operator +(LVecBase3d const &other) const;

Description:

operator +=
void LVecBase3d::operator +=(LVecBase3d const &other);

Description:

operator -
LVecBase3d LVecBase3d::operator -(LVecBase3d const &other) const;

Description:

operator -
LVecBase3d LVecBase3d::operator -(LVecBase3d const &other) const;

Description:

operator -=
void LVecBase3d::operator -=(LVecBase3d const &other);

Description:

operator /
LVecBase3d LVecBase3d::operator /(double scalar) const;

Description:

operator /=
void LVecBase3d::operator /=(double scalar);

Description:

operator <
bool LVecBase3d::operator <(LVecBase3d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase3d &LVecBase3d::operator =(LVecBase3d const &copy);

Description:

operator ==
bool LVecBase3d::operator ==(LVecBase3d const &other) const;

Description:

operator []
double LVecBase3d::operator [](int i) const;

Description:

operator delete
void LVecBase3d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase3d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase3d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase3d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase3d::set(double x, double y, double z);

Description:

setCell
void LVecBase3d::set_cell(int i, double value);

Description:

setX
void LVecBase3d::set_x(double value);

Description:

setY
void LVecBase3d::set_y(double value);

Description:

setZ
void LVecBase3d::set_z(double value);

Description:

unitX
static LVecBase3d const &LVecBase3d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase3d const &LVecBase3d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase3d const &LVecBase3d::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase3d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase3d const &LVecBase3d::zero(void);

Description: Returns a zero-length vector.


LVector3f

    from pandac.PandaModules import LVector3f
    Filename: lvector3_src.h Created by: drose (24Sep99)
    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."
    Class : LVector3
    Description : This is a three-component vector distance (as opposed to a three-component point, which represents a particular point in space). Some of the methods are slightly different between LPoint3 and LVector3; in particular, subtraction of two points yields a vector, while addition of a vector and a point yields a point.

Inheritance:

    LVector3f: LVecBase3f
    LVecBase3f:

Methods of LVector3f:

    LVector3f (Constructor)
    angleDeg
    angleRad
    back
    cross
    down
    forward
    getClassType
    left
    operator *
    operator +
    operator -
    operator -
    operator /
    operator =
    pythonRepr
    relativeAngleDeg
    relativeAngleRad
    rfu
    right
    unitX
    unitY
    unitZ
    up
    zero

Methods of LVecBase3f:

    LVecBase3f (Constructor)
    addHash
    addToCell
    addX
    addY
    addZ
    almostEqual
    compareTo
    cross
    crossInto
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getStandardizedHpr
    getX
    getY
    getZ
    isNan
    length
    lengthSquared
    normalize
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setX
    setY
    setZ
    unitX
    unitY
    unitZ
    validatePtr
    zero
LVector3f
LVector3f::LVector3f(void);

Filename: lvector3_src.I Created by: drose (24Sep99)
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."
Description:

angleDeg
float LVector3f::angle_deg(LVector3f const &other) const;

Description: Returns the angle between this vector and the other one, expressed in degrees. Both vectors should be initially normalized.

angleRad
float LVector3f::angle_rad(LVector3f const &other) const;

Description: Returns the angle between this vector and the other one, expressed in radians. Both vectors should be initially normalized.

back
static LVector3f LVector3f::back(CoordinateSystem cs = (CS_default));

Description: Returns the back vector for the given coordinate system.

cross
LVector3f LVector3f::cross(LVecBase3f const &other) const;

Description:

down
static LVector3f LVector3f::down(CoordinateSystem cs = (CS_default));

Description: Returns the down vector for the given coordinate system.

forward
static LVector3f LVector3f::forward(CoordinateSystem cs = (CS_default));

Description: Returns the forward vector for the given coordinate system.

getClassType
static TypeHandle LVector3f::get_class_type(void);

Undocumented function.

left
static LVector3f LVector3f::left(CoordinateSystem cs = (CS_default));

Description: Returns the left vector for the given coordinate system.

operator *
LVector3f LVector3f::operator *(float scalar) const;

Description:

operator +
LVecBase3f LVector3f::operator +(LVecBase3f const &other) const;

Description:

operator -
LVecBase3f LVector3f::operator -(LVecBase3f const &other) const;

Description:

operator -
LVecBase3f LVector3f::operator -(LVecBase3f const &other) const;

Description:

operator /
LVector3f LVector3f::operator /(float scalar) const;

Description:

operator =
LVector3f &LVector3f::operator =(LVecBase3f const &copy);

Description:

pythonRepr
void LVector3f::python_repr(ostream &out, string const &class_name) const;

Description:

relativeAngleDeg
float LVector3f::relative_angle_deg(LVector3f const &other) const;

Description: returns the signed angled between two vectors. normalization is NOT necessary

relativeAngleRad
float LVector3f::relative_angle_rad(LVector3f const &other) const;

Description: returns the signed angled between two vectors. normalization is NOT necessary

rfu
static LVector3f LVector3f::rfu(float right, float fwd, float up, CoordinateSystem cs = (CS_default));

INLINE_LINMATH static FLOATNAME(LVector3) & rfu(FLOATTYPE right,
Description: Returns a vector that is described by its right, forward, and up components, in whatever way the coordinate system represents that vector.
INLINE_LINMATH FLOATNAME(LVector3) & FLOATNAME(LVector3)::

right
static LVector3f LVector3f::right(CoordinateSystem cs = (CS_default));

Description: Returns the right vector for the given coordinate system.

unitX
static LVector3f const &LVector3f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVector3f const &LVector3f::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVector3f const &LVector3f::unit_z(void);

Description: Returns a unit Z vector.

up
static LVector3f LVector3f::up(CoordinateSystem cs = (CS_default));

Some special named constructors for LVector3.
Description: Returns the up vector for the given coordinate system.

zero
static LVector3f const &LVector3f::zero(void);

Description: Returns a zero-length vector.

LVecBase3f
LVecBase3f::LVecBase3f(void);

Filename: lvecBase3_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase3f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase3f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addX
void LVecBase3f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase3f::add_y(float value);

Description:

addZ
void LVecBase3f::add_z(float value);

Description:

almostEqual
bool LVecBase3f::almost_equal(LVecBase3f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase3f::compare_to(LVecBase3f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

cross
LVecBase3f LVecBase3f::cross(LVecBase3f const &other) const;

Description:

crossInto
void LVecBase3f::cross_into(LVecBase3f const &other);

Description:

dot
float LVecBase3f::dot(LVecBase3f const &other) const;

Description:

fill
void LVecBase3f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase3f LVecBase3f::fmax(LVecBase3f const &other);

Description:

fmin
LVecBase3f LVecBase3f::fmin(LVecBase3f const &other);

Description:

getCell
float LVecBase3f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase3f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase3f::get_data(void) const;

Description: Returns the address of the first of the three data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase3f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase3f::get_num_components(void) const;

Description: Returns the number of elements in the vector, three.

getStandardizedHpr
LVecBase3f LVecBase3f::get_standardized_hpr(void) const;

Description: Try to un-spin the hpr to a standard form. Like all standards, someone decides between many arbitrary posible standards. This function assumes that 0 and 360 are the same, as is 720 and
-360. Also 180 and -180 are the same. Another
example is -90 and 270. Each element will be in the range -180.0 to 179.99999. The original usage of this function is for human readable output.
It doesn't work so well for asserting that foo_hpr is roughly equal to bar_hpr. Try using LQuaternionf::is_same_direction() for that. See Also: get_standardized_rotation, LQuaternion::is_same_direction

getX
float LVecBase3f::get_x(void) const;

Description:

getY
float LVecBase3f::get_y(void) const;

Description:

getZ
float LVecBase3f::get_z(void) const;

Description:

isNan
bool LVecBase3f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

length
float LVecBase3f::length(void) const;

Description: Returns the length of the vector, by the Pythagorean theorem.

lengthSquared
float LVecBase3f::length_squared(void) const;

Description: Returns the square of the vector's length, cheap and easy.

normalize
bool LVecBase3f::normalize(void);

Description: Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.

operator !=
bool LVecBase3f::operator !=(LVecBase3f const &other) const;

Description:

operator *
LVecBase3f LVecBase3f::operator *(float scalar) const;

Description:

operator *=
void LVecBase3f::operator *=(float scalar);

Description:

operator +
LVecBase3f LVecBase3f::operator +(LVecBase3f const &other) const;

Description:

operator +=
void LVecBase3f::operator +=(LVecBase3f const &other);

Description:

operator -
LVecBase3f LVecBase3f::operator -(LVecBase3f const &other) const;

Description:

operator -
LVecBase3f LVecBase3f::operator -(LVecBase3f const &other) const;

Description:

operator -=
void LVecBase3f::operator -=(LVecBase3f const &other);

Description:

operator /
LVecBase3f LVecBase3f::operator /(float scalar) const;

Description:

operator /=
void LVecBase3f::operator /=(float scalar);

Description:

operator <
bool LVecBase3f::operator <(LVecBase3f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase3f &LVecBase3f::operator =(LVecBase3f const &copy);

Description:

operator ==
bool LVecBase3f::operator ==(LVecBase3f const &other) const;

Description:

operator []
float LVecBase3f::operator [](int i) const;

Description:

operator delete
void LVecBase3f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase3f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase3f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase3f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase3f::set(float x, float y, float z);

Description:

setCell
void LVecBase3f::set_cell(int i, float value);

Description:

setX
void LVecBase3f::set_x(float value);

Description:

setY
void LVecBase3f::set_y(float value);

Description:

setZ
void LVecBase3f::set_z(float value);

Description:

unitX
static LVecBase3f const &LVecBase3f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase3f const &LVecBase3f::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase3f const &LVecBase3f::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase3f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase3f const &LVecBase3f::zero(void);

Description: Returns a zero-length vector.


LVector4d

    from pandac.PandaModules import LVector4d
    Filename: lvector4_src.h Created by: drose (08Mar00)
    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."
    Class : LVector4
    Description : This is a four-component vector distance.

Inheritance:

    LVector4d: LVecBase4d
    LVecBase4d:

Methods of LVector4d:

    LVector4d (Constructor)
    getClassType
    length
    lengthSquared
    normalize
    operator *
    operator +
    operator -
    operator -
    operator /
    operator =
    pythonRepr
    unitW
    unitX
    unitY
    unitZ
    zero

Methods of LVecBase4d:

    LVecBase4d (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
LVector4d
LVector4d::LVector4d(void);

Filename: lvector4_src.I Created by: drose (08Mar00)
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."
Description:

getClassType
static TypeHandle LVector4d::get_class_type(void);

Undocumented function.

length
double LVector4d::length(void) const;

Description: Returns the length of the vector, by the Pythagorean theorem.

lengthSquared
double LVector4d::length_squared(void) const;

Description: Returns the square of the vector's length, cheap and easy.

normalize
bool LVector4d::normalize(void);

Description: Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.

operator *
LVector4d LVector4d::operator *(double scalar) const;

Description:

operator +
LVecBase4d LVector4d::operator +(LVecBase4d const &other) const;

Description:

operator -
LVecBase4d LVector4d::operator -(LVecBase4d const &other) const;

Description:

operator -
LVecBase4d LVector4d::operator -(LVecBase4d const &other) const;

Description:

operator /
LVector4d LVector4d::operator /(double scalar) const;

Description:

operator =
LVector4d &LVector4d::operator =(LVecBase4d const &copy);

Description:

pythonRepr
void LVector4d::python_repr(ostream &out, string const &class_name) const;

Description:

unitW
static LVector4d const &LVector4d::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVector4d const &LVector4d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVector4d const &LVector4d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVector4d const &LVector4d::unit_z(void);

Description: Returns a unit Z vector.

zero
static LVector4d const &LVector4d::zero(void);

Description: Returns a zero-length vector.

LVecBase4d
LVecBase4d::LVecBase4d(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4d::add_w(double value);

Description:

addX
void LVecBase4d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4d::add_y(double value);

Description:

addZ
void LVecBase4d::add_z(double value);

Description:

almostEqual
bool LVecBase4d::almost_equal(LVecBase4d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4d::compare_to(LVecBase4d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
double LVecBase4d::dot(LVecBase4d const &other) const;

Description:

fill
void LVecBase4d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4d LVecBase4d::fmax(LVecBase4d const &other);

Description:

fmin
LVecBase4d LVecBase4d::fmin(LVecBase4d const &other);

Description:

getCell
double LVecBase4d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase4d::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4d::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
double LVecBase4d::get_w(void) const;

Description:

getX
double LVecBase4d::get_x(void) const;

Description:

getY
double LVecBase4d::get_y(void) const;

Description:

getZ
double LVecBase4d::get_z(void) const;

Description:

isNan
bool LVecBase4d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4d::operator !=(LVecBase4d const &other) const;

Description:

operator *
LVecBase4d LVecBase4d::operator *(double scalar) const;

Description:

operator *=
void LVecBase4d::operator *=(double scalar);

Description:

operator +
LVecBase4d LVecBase4d::operator +(LVecBase4d const &other) const;

Description:

operator +=
void LVecBase4d::operator +=(LVecBase4d const &other);

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -=
void LVecBase4d::operator -=(LVecBase4d const &other);

Description:

operator /
LVecBase4d LVecBase4d::operator /(double scalar) const;

Description:

operator /=
void LVecBase4d::operator /=(double scalar);

Description:

operator <
bool LVecBase4d::operator <(LVecBase4d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4d &LVecBase4d::operator =(LVecBase4d const &copy);

Description:

operator ==
bool LVecBase4d::operator ==(LVecBase4d const &other) const;

Description:

operator []
double LVecBase4d::operator [](int i) const;

Description:

operator delete
void LVecBase4d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4d::set(double x, double y, double z, double w);

Description:

setCell
void LVecBase4d::set_cell(int i, double value);

Description:

setW
void LVecBase4d::set_w(double value);

Description:

setX
void LVecBase4d::set_x(double value);

Description:

setY
void LVecBase4d::set_y(double value);

Description:

setZ
void LVecBase4d::set_z(double value);

Description:

unitW
static LVecBase4d const &LVecBase4d::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4d const &LVecBase4d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4d const &LVecBase4d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4d const &LVecBase4d::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4d const &LVecBase4d::zero(void);

Description: Returns a zero-length vector.


LVector4f

    from pandac.PandaModules import LVector4f
    Filename: lvector4_src.h Created by: drose (08Mar00)
    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."
    Class : LVector4
    Description : This is a four-component vector distance.

Inheritance:

    LVector4f: LVecBase4f
    LVecBase4f:

Methods of LVector4f:

    LVector4f (Constructor)
    getClassType
    length
    lengthSquared
    normalize
    operator *
    operator +
    operator -
    operator -
    operator /
    operator =
    pythonRepr
    unitW
    unitX
    unitY
    unitZ
    zero

Methods of LVecBase4f:

    LVecBase4f (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
LVector4f
LVector4f::LVector4f(void);

Filename: lvector4_src.I Created by: drose (08Mar00)
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."
Description:

getClassType
static TypeHandle LVector4f::get_class_type(void);

Undocumented function.

length
float LVector4f::length(void) const;

Description: Returns the length of the vector, by the Pythagorean theorem.

lengthSquared
float LVector4f::length_squared(void) const;

Description: Returns the square of the vector's length, cheap and easy.

normalize
bool LVector4f::normalize(void);

Description: Normalizes the vector in place. Returns true if the vector was normalized, false if it was a zero-length vector.

operator *
LVector4f LVector4f::operator *(float scalar) const;

Description:

operator +
LVecBase4f LVector4f::operator +(LVecBase4f const &other) const;

Description:

operator -
LVecBase4f LVector4f::operator -(LVecBase4f const &other) const;

Description:

operator -
LVecBase4f LVector4f::operator -(LVecBase4f const &other) const;

Description:

operator /
LVector4f LVector4f::operator /(float scalar) const;

Description:

operator =
LVector4f &LVector4f::operator =(LVecBase4f const &copy);

Description:

pythonRepr
void LVector4f::python_repr(ostream &out, string const &class_name) const;

Description:

unitW
static LVector4f const &LVector4f::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVector4f const &LVector4f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVector4f const &LVector4f::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVector4f const &LVector4f::unit_z(void);

Description: Returns a unit Z vector.

zero
static LVector4f const &LVector4f::zero(void);

Description: Returns a zero-length vector.

LVecBase4f
LVecBase4f::LVecBase4f(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4f::add_w(float value);

Description:

addX
void LVecBase4f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4f::add_y(float value);

Description:

addZ
void LVecBase4f::add_z(float value);

Description:

almostEqual
bool LVecBase4f::almost_equal(LVecBase4f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4f::compare_to(LVecBase4f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
float LVecBase4f::dot(LVecBase4f const &other) const;

Description:

fill
void LVecBase4f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4f LVecBase4f::fmax(LVecBase4f const &other);

Description:

fmin
LVecBase4f LVecBase4f::fmin(LVecBase4f const &other);

Description:

getCell
float LVecBase4f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase4f::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4f::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
float LVecBase4f::get_w(void) const;

Description:

getX
float LVecBase4f::get_x(void) const;

Description:

getY
float LVecBase4f::get_y(void) const;

Description:

getZ
float LVecBase4f::get_z(void) const;

Description:

isNan
bool LVecBase4f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4f::operator !=(LVecBase4f const &other) const;

Description:

operator *
LVecBase4f LVecBase4f::operator *(float scalar) const;

Description:

operator *=
void LVecBase4f::operator *=(float scalar);

Description:

operator +
LVecBase4f LVecBase4f::operator +(LVecBase4f const &other) const;

Description:

operator +=
void LVecBase4f::operator +=(LVecBase4f const &other);

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -=
void LVecBase4f::operator -=(LVecBase4f const &other);

Description:

operator /
LVecBase4f LVecBase4f::operator /(float scalar) const;

Description:

operator /=
void LVecBase4f::operator /=(float scalar);

Description:

operator <
bool LVecBase4f::operator <(LVecBase4f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4f &LVecBase4f::operator =(LVecBase4f const &copy);

Description:

operator ==
bool LVecBase4f::operator ==(LVecBase4f const &other) const;

Description:

operator []
float LVecBase4f::operator [](int i) const;

Description:

operator delete
void LVecBase4f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4f::set(float x, float y, float z, float w);

Description:

setCell
void LVecBase4f::set_cell(int i, float value);

Description:

setW
void LVecBase4f::set_w(float value);

Description:

setX
void LVecBase4f::set_x(float value);

Description:

setY
void LVecBase4f::set_y(float value);

Description:

setZ
void LVecBase4f::set_z(float value);

Description:

unitW
static LVecBase4f const &LVecBase4f::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4f const &LVecBase4f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4f const &LVecBase4f::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4f const &LVecBase4f::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4f const &LVecBase4f::zero(void);

Description: Returns a zero-length vector.


MainThread

    from pandac.PandaModules import MainThread
    Class : MainThread
    Description : The special "main thread" class. There is one instance of these in the world, and it is returned by
    Thread::get_main_thread().

Inheritance:

    MainThread: Thread
    Thread: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of MainThread:

    getClassType

Methods of Thread:

    bindThread
    considerYield
    forceYield
    getClassType
    getCurrentPipelineStage
    getCurrentThread
    getExternalThread
    getMainThread
    getName
    getPipelineStage
    getPstatsIndex
    getSyncName
    isStarted
    isThreadingSupported
    isTrueThreads
    join
    output
    preempt
    prepareForExit
    setMinPipelineStage
    setPipelineStage
    sleep
    start
    writeStatus

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle MainThread::get_class_type(void);

Undocumented function.

bindThread
static PointerTo< Thread > Thread::bind_thread(string const &name, string const &sync_name);

Description: Returns a new Panda Thread object associated with the current thread (which has been created externally). This can be used to bind a unique Panda Thread object with an external thread, such as a new Python thread.
It is particularly useful to bind a Panda Thread object to an external thread for the purposes of PStats monitoring. Without this call, each external thread will be assigned the same global ExternalThread object, which means they will all appear in the same PStats graph.
It is the caller's responsibility to save the returned Thread pointer for the lifetime of the external thread. It is an error for the Thread pointer to destruct while the external thread is still in the system.
It is also an error to call this method from the main thread, or twice within a given thread, unless it is given the same name each time (in which case the same pointer will be returned each time).

considerYield
static void Thread::consider_yield(void);

Description: Possibly suspends the current thread for the rest of the current epoch, if it has run for enough this epoch. This is especially important for the simple thread implementation, which relies on cooperative yields like this.

forceYield
static void Thread::force_yield(void);

Description: Suspends the current thread for the rest of the current epoch.

getClassType
static TypeHandle Thread::get_class_type(void);

Undocumented function.

getCurrentPipelineStage
static int Thread::get_current_pipeline_stage(void);

Description: Returns the integer pipeline stage associated with the current thread. This is the same thing as get_current_thread()->get_pipeline_stage(), but it may be faster to retrieve in some contexts.

getCurrentThread
static Thread *Thread::get_current_thread(void);

Description: Returns a pointer to the currently-executing Thread object. If this is called from the main thread, this will return the same value as get_main_thread().
This will always return some valid Thread pointer. It will never return NULL, even if the current thread was spawned outside of Panda's threading system, although all non-Panda threads will return the exact same Thread pointer.

getExternalThread
static Thread *Thread::get_external_thread(void);

Description: Returns a pointer to the "external" Thread object--this is a special Thread object that corresponds to any thread spawned outside of Panda's threading interface. Note that multiple different threads may share this same pointer.

getMainThread
static Thread *Thread::get_main_thread(void);

Description: Returns a pointer to the "main" Thread object--this is the Thread that started the whole process.

getName
string const &Thread::get_name(void) const;

Description: Returns the name of the thread. Each thread should probably have a unique name, but this is not enforced (and not strictly required).

getPipelineStage
int Thread::get_pipeline_stage(void) const;

Description: Returns the Pipeline stage number associated with this thread. The default stage is 0 if no stage is specified otherwise. See set_pipeline_stage().

getPstatsIndex
int Thread::get_pstats_index(void) const;

Description: Returns the PStats index associated with this thread, or -1 if no index has yet been associated with this thread. This is used internally by the PStatClient; you should not need to call this directly.

getSyncName
string const &Thread::get_sync_name(void) const;

Description: Returns the sync name of the thread. This name collects threads into "sync groups", which are expected to run synchronously. This is mainly used for the benefit of PStats; threads with the same sync name can be ticked all at once via the thread_tick() call.

isStarted
bool Thread::is_started(void) const;

Description: Returns true if the thread has been started, false if it has not, or if join() has already been called.

isThreadingSupported
static bool Thread::is_threading_supported(void);

Description: Returns true if threading support has been compiled in and enabled, or false if no threading is available (and Thread::start() will always fail).

isTrueThreads
static bool Thread::is_true_threads(void);

Description: Returns true if a real threading library is available that supports actual OS-implemented threads, or false if the only threading we can provide is simulated user-space threading.

join
void Thread::join(void);

Description: Blocks the calling process until the thread terminates. If the thread has already terminated, this returns immediately.

output
virtual void Thread::output(ostream &out) const;

Description:

preempt
void Thread::preempt(void);

Description: Indicates that this thread should run as soon as possible, preemptying any other threads that may be scheduled to run. This may not be implemented on every platform.

prepareForExit
static void Thread::prepare_for_exit(void);

Description: Should be called by the main thread just before exiting the program, this blocks until any remaining thread cleanup has finished.

setMinPipelineStage
void Thread::set_min_pipeline_stage(int min_pipeline_stage);

Description: Sets this thread's pipeline stage number to at least the indicated value, unless it is already larger. See set_pipeline_stage().

setPipelineStage
void Thread::set_pipeline_stage(int pipeline_stage);

Description: Specifies the Pipeline stage number associated with this thread. The default stage is 0 if no stage is specified otherwise.
This must be a value in the range [0 .. pipeline->get_num_stages() - 1]. It specifies the values that this thread observes for all pipelined data. Typically, an application thread will leave this at 0, but a render thread may set it to 1 or 2 (to operate on the previous frame's data, or the second previous frame's data).

sleep
static void Thread::sleep(double seconds);

Description: Suspends the current thread for at least the indicated amount of time. It might be suspended for longer.

start
bool Thread::start(ThreadPriority priority, bool joinable);

Description: Starts the thread executing. It is only valid to call this once.
The thread will begin executing its thread_main() function, and will terminate when thread_main() returns.
priority is intended as a hint to the relative importance of this thread. This may be ignored by the thread implementation.
joinable should be set true if you intend to call join() to wait for the thread to terminate, or false if you don't care and you will never call join().
The return value is true if the thread is successfully started, false otherwise.

writeStatus
static void Thread::write_status(ostream &out);

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Material

    from pandac.PandaModules import Material
    Class : Material
    Description : Defines the way an object appears in the presence of lighting. A material is only necessary if lighting is to be enabled; otherwise, the material isn't used.

Inheritance:

    Material: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of Material:

    Material (Constructor)
    clearAmbient
    clearDiffuse
    clearEmission
    clearSpecular
    compareTo
    getAmbient
    getClassType
    getDefault
    getDiffuse
    getEmission
    getLocal
    getShininess
    getSpecular
    getTwoside
    hasAmbient
    hasDiffuse
    hasEmission
    hasSpecular
    isAttribLocked
    operator !=
    operator <
    operator =
    operator ==
    output
    setAmbient
    setAttribLock
    setDiffuse
    setEmission
    setLocal
    setShininess
    setSpecular
    setTwoside
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
Material
Material::Material(string const &name = (""));

Description:

clearAmbient
void Material::clear_ambient(void);

Description: Removes the explicit ambient color from the material.

clearDiffuse
void Material::clear_diffuse(void);

Description: Removes the explicit diffuse color from the material.

clearEmission
void Material::clear_emission(void);

Description: Removes the explicit emission color from the material.

clearSpecular
void Material::clear_specular(void);

Description: Removes the explicit specular color from the material.

compareTo
int Material::compare_to(Material const &other) const;

Description: Returns a number less than zero if this material sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent. The sorting order is arbitrary and largely meaningless, except to differentiate different materials.

getAmbient
LVecBase4f const &Material::get_ambient(void) const;

Description: Returns the ambient color setting, if it has been set. Returns (0,0,0,0) if the ambient color has not been set.

getClassType
static TypeHandle Material::get_class_type(void);

Undocumented function.

getDefault
static Material *Material::get_default(void);

Description: Returns the default material.

getDiffuse
LVecBase4f const &Material::get_diffuse(void) const;

Description: Returns the diffuse color setting, if it has been set. Returns (1,1,1,1) if the diffuse color has not been set.

getEmission
LVecBase4f const &Material::get_emission(void) const;

Description: Returns the emission color setting, if it has been set. Returns (0,0,0,0) if the emission color has not been set.

getLocal
bool Material::get_local(void) const;

Description: Returns the local viewer flag. Set set_local().

getShininess
float Material::get_shininess(void) const;

Description: Returns the shininess exponent of the material.

getSpecular
LVecBase4f const &Material::get_specular(void) const;

Description: Returns the specular color setting, if it has been set. Returns (0,0,0,0) if the specular color has not been set.

getTwoside
bool Material::get_twoside(void) const;

Description: Returns the state of the two-sided lighting flag. See set_twoside().

hasAmbient
bool Material::has_ambient(void) const;

Description: Returns true if the ambient color has been explicitly set for this material, false otherwise.

hasDiffuse
bool Material::has_diffuse(void) const;

Description: Returns true if the diffuse color has been explicitly set for this material, false otherwise.

hasEmission
bool Material::has_emission(void) const;

Description: Returns true if the emission color has been explicitly set for this material, false otherwise.

hasSpecular
bool Material::has_specular(void) const;

Description: Returns true if the specular color has been explicitly set for this material, false otherwise.

isAttribLocked
bool Material::is_attrib_locked(void) const;

Description:

operator !=
bool Material::operator !=(Material const &other) const;

Description:

operator <
bool Material::operator <(Material const &other) const;

Description:

operator =
void Material::operator =(Material const &copy);

Description:

operator ==
bool Material::operator ==(Material const &other) const;

Description:

output
void Material::output(ostream &out) const;

Description:

setAmbient
void Material::set_ambient(LVecBase4f const &color);

Description: Specifies the ambient color setting of the material. This will be the multiplied by any ambient lights in effect on the material to set its base color.
This is the color of the object as it appears in the absence of direct light.
If this is not set, the object color will be used.

setAttribLock
void Material::set_attrib_lock(void);

Description:

setDiffuse
void Material::set_diffuse(LVecBase4f const &color);

Description: Specifies the diffuse color setting of the material. This will be multiplied by any lights in effect on the material to get the color in the parts of the object illuminated by the lights.
This is the primary color of an object; the color of the object as it appears in direct light, in the absence of highlights.
If this is not set, the object color will be used.

setEmission
void Material::set_emission(LVecBase4f const &color);

Description: Specifies the emission color setting of the material. This is the color of the object as it appears in the absence of any light whatsover, including ambient light. It is as if the object is glowing by this color (although of course it will not illuminate neighboring objects).
If this is not set, the object will not glow by its own light and will only appear visible in the presence of one or more lights.

setLocal
void Material::set_local(bool local);

Description: Sets the local viewer flag. Set this true to enable camera-relative specular highlights, or false to use orthogonal specular highlights. The default value is true. Applications that use orthogonal projection should specify false.

setShininess
void Material::set_shininess(float shininess);

Description: Sets the shininess exponent of the material. This controls the size of the specular highlight spot. In general, larger number produce a smaller specular highlight, which makes the object appear shinier. Smaller numbers produce a larger highlight, which makes the object appear less shiny.

setSpecular
void Material::set_specular(LVecBase4f const &color);

Description: Specifies the diffuse color setting of the material. This will be multiplied by any lights in effect on the material to compute the color of specular highlights on the object.
This is the highlight color of an object: the color of small highlight reflections.
If this is not set, highlights will not appear.

setTwoside
void Material::set_twoside(bool twoside);

Description: Set this true to enable two-sided lighting. When two-sided lighting is on, both sides of a polygon will be lit by this material. The default is for two-sided lighting to be off, in which case only the front surface is lit.

write
void Material::write(ostream &out, int indent) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


MaterialAttrib

    from pandac.PandaModules import MaterialAttrib
    Class : MaterialAttrib
    Description : Indicates which, if any, material should be applied to geometry. The material is used primarily to control lighting effects, and isn't necessary (or useful) in the absence of lighting.

Inheritance:

    MaterialAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of MaterialAttrib:

    getClassType
    getMaterial
    isOff
    make
    makeOff

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle MaterialAttrib::get_class_type(void);

Undocumented function.

getMaterial
Material *MaterialAttrib::get_material(void) const;

Description: If the MaterialAttrib is not an 'off' MaterialAttrib, returns the material that is associated. Otherwise, return NULL.

isOff
bool MaterialAttrib::is_off(void) const;

Description: Returns true if the MaterialAttrib is an 'off' MaterialAttrib, indicating that it should disable the use of materials.

make
static ConstPointerTo< RenderAttrib > MaterialAttrib::make(Material *material);

Description: Constructs a new MaterialAttrib object suitable for rendering the indicated material onto geometry.

makeOff
static ConstPointerTo< RenderAttrib > MaterialAttrib::make_off(void);

Description: Constructs a new MaterialAttrib object suitable for rendering unmateriald geometry.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


MaterialCollection

    from pandac.PandaModules import MaterialCollection
    Class : MaterialCollection
    Description :

Inheritance:

    MaterialCollection:

Methods of MaterialCollection:

    MaterialCollection (Constructor)
    addMaterial
    addMaterialsFrom
    clear
    findMaterial
    getMaterial
    getNumMaterials
    hasMaterial
    operator =
    operator []
    output
    removeDuplicateMaterials
    removeMaterial
    removeMaterialsFrom
    write
MaterialCollection
MaterialCollection::MaterialCollection(void);

Description:

addMaterial
void MaterialCollection::add_material(Material *node_material);

Description: Adds a new Material to the collection.

addMaterialsFrom
void MaterialCollection::add_materials_from(MaterialCollection const &other);

Description: Adds all the Materials indicated in the other collection to this material. The other materials are simply appended to the end of the materials in this list; duplicates are not automatically removed.

clear
void MaterialCollection::clear(void);

Description: Removes all Materials from the collection.

findMaterial
Material *MaterialCollection::find_material(string const &name) const;

Description: Returns the material in the collection with the indicated name, if any, or NULL if no material has that name.

getMaterial
Material *MaterialCollection::get_material(int index) const;

Description: Returns the nth Material in the collection.

getNumMaterials
int MaterialCollection::get_num_materials(void) const;

Description: Returns the number of Materials in the collection.

hasMaterial
bool MaterialCollection::has_material(Material *material) const;

Description: Returns true if the indicated Material appears in this collection, false otherwise.

operator =
void MaterialCollection::operator =(MaterialCollection const &copy);

Description:

operator []
Material *MaterialCollection::operator [](int index) const;

Description: Returns the nth Material in the collection. This is the same as get_material(), but it may be a more convenient way to access it.

output
void MaterialCollection::output(ostream &out) const;

Description: Writes a brief one-line description of the MaterialCollection to the indicated output stream.

removeDuplicateMaterials
void MaterialCollection::remove_duplicate_materials(void);

Description: Removes any duplicate entries of the same Materials on this collection. If a Material appears multiple times, the first appearance is retained; subsequent appearances are removed.

removeMaterial
bool MaterialCollection::remove_material(Material *node_material);

Description: Removes the indicated Material from the collection. Returns true if the material was removed, false if it was not a member of the collection.

removeMaterialsFrom
void MaterialCollection::remove_materials_from(MaterialCollection const &other);

Description: Removes from this collection all of the Materials listed in the other collection.

write
void MaterialCollection::write(ostream &out, int indent_level = (0)) const;

Description: Writes a complete multi-line description of the MaterialCollection to the indicated output stream.


MaterialPool

    from pandac.PandaModules import MaterialPool
    Class : MaterialPool
    Description : The 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.
    The idea is to create a temporary Material representing the lighting state you want to apply, then call get_material(), passing in your temporary Material. The return value will either be a new Material object, or it may be the the same object you supplied; in either case, it will have the same value.

Inheritance:

    MaterialPool:

Methods of MaterialPool:

    garbageCollect
    getMaterial
    listContents
    write
garbageCollect
static int MaterialPool::garbage_collect(void);

Description: Releases only those materials in the pool that have a reference count of exactly 1; i.e. only those materials that are not being used outside of the pool. Returns the number of materials released.

getMaterial
static Material *MaterialPool::get_material(Material *temp);

Description: Returns a Material pointer that represents the same material described by temp, except that it is a shared pointer.
Each call to get_material() passing an equivalent Material pointer will return the same shared pointer.
If you modify the shared pointer, it will automatically disassociate it from the pool.
Also, the return value may be a different pointer than that passed in, or it may be the same pointer. In either case, the passed in pointer has now been sacrificed to the greater good and should not be used again (like any other PointerTo, it will be freed when the last reference count is removed).

listContents
static void MaterialPool::list_contents(ostream &out);

Description: Lists the contents of the material pool to the indicated output stream.

write
static void MaterialPool::write(ostream &out);

Description: Lists the contents of the material pool to the indicated output stream.


MathNumbers

    from pandac.PandaModules import MathNumbers

Inheritance:

    MathNumbers:


MatrixLens

    from pandac.PandaModules import MatrixLens
    Class : MatrixLens
    Description : A completely generic linear lens. This is provided for the benefit of low-level code that wants to specify a perspective or orthographic frustum via an explicit projection matrix, but not mess around with fov's or focal lengths or any of that nonsense.

Inheritance:

    MatrixLens: Lens
    Lens: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of MatrixLens:

    MatrixLens (Constructor)
    clearLeftEyeMat
    clearRightEyeMat
    getClassType
    getLeftEyeMat
    getRightEyeMat
    getUserMat
    hasLeftEyeMat
    hasRightEyeMat
    setLeftEyeMat
    setRightEyeMat
    setUserMat

Methods of Lens:

    clear
    clearKeystone
    clearViewMat
    extrude
    extrudeVec
    getAspectRatio
    getChangeEvent
    getClassType
    getConvergenceDistance
    getCoordinateSystem
    getDefaultFar
    getDefaultNear
    getFar
    getFilmMat
    getFilmMatInv
    getFilmOffset
    getFilmSize
    getFocalLength
    getFov
    getHfov
    getInterocularDistance
    getKeystone
    getLensMat
    getLensMatInv
    getMinFov
    getNear
    getNodalPoint
    getProjectionMat
    getProjectionMatInv
    getUpVector
    getVfov
    getViewHpr
    getViewMat
    getViewVector
    isLinear
    isOrthographic
    isPerspective
    makeBounds
    makeCopy
    makeGeometry
    output
    project
    recomputeAll
    setAspectRatio
    setChangeEvent
    setConvergenceDistance
    setCoordinateSystem
    setFar
    setFilmOffset
    setFilmSize
    setFocalLength
    setFov
    setFrustumFromCorners
    setInterocularDistance
    setKeystone
    setMinFov
    setNear
    setNearFar
    setViewHpr
    setViewMat
    setViewVector
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in Lens:

    SCMono | (StereoChannel)
SCLeft | (StereoChannel)
SCRight | (StereoChannel)
SCStereo | (StereoChannel)
FCRoll | (FromCorners)
FCCameraPlane | (FromCorners)
FCOffAxis | (FromCorners)
FCAspectRatio | (FromCorners)
FCShear | (FromCorners)
FCKeystone | (FromCorners)
MatrixLens
MatrixLens::MatrixLens(void);

Description:

clearLeftEyeMat
void MatrixLens::clear_left_eye_mat(void);

Description: Removes the custom projection matrix set for the left eye, and uses the center matrix (set by set_user_mat) instead.

clearRightEyeMat
void MatrixLens::clear_right_eye_mat(void);

Description: Removes the custom projection matrix set for the right eye, and uses the center matrix (set by set_user_mat) instead.

getClassType
static TypeHandle MatrixLens::get_class_type(void);

Undocumented function.

getLeftEyeMat
LMatrix4f const &MatrixLens::get_left_eye_mat(void) const;

Description: Returns the custom projection matrix for the left eye, if any, or the center matrix if there is no custom matrix set for the left eye.

getRightEyeMat
LMatrix4f const &MatrixLens::get_right_eye_mat(void) const;

Description: Returns the custom projection matrix for the right eye, if any, or the center matrix if there is no custom matrix set for the right eye.

getUserMat
LMatrix4f const &MatrixLens::get_user_mat(void) const;

Description: Returns the explicit projection matrix as set by the user. This does not include transforms on the lens or film (e.g. a film offset or view hpr).

hasLeftEyeMat
bool MatrixLens::has_left_eye_mat(void) const;

Description: Returns true if the camera has a custom projection matrix set for the left eye, or false if the center matrix (set by set_user_mat) will be used for the left eye.

hasRightEyeMat
bool MatrixLens::has_right_eye_mat(void) const;

Description: Returns true if the camera has a custom projection matrix set for the right eye, or false if the center matrix (set by set_user_mat) will be used for the right eye.

setLeftEyeMat
void MatrixLens::set_left_eye_mat(LMatrix4f const &user_mat);

Description: Sets a custom projection matrix for the left eye. This is only used if the lens is attached to a stereo camera, in which case the left eye matrix will be used to draw the scene in the left eye (but the center matrix--the user_mat--will still be used to cull the scene).
This matrix should not be too different from the center matrix (set by set_user_mat()) or culling errors may become obvious.

setRightEyeMat
void MatrixLens::set_right_eye_mat(LMatrix4f const &user_mat);

Description: Sets a custom projection matrix for the right eye. This is only used if the lens is attached to a stereo camera, in which case the right eye matrix will be used to draw the scene in the right eye (but the center matrix--the user_mat--will still be used to cull the scene).
This matrix should not be too different from the center matrix (set by set_user_mat()) or culling errors may become obvious.

setUserMat
void MatrixLens::set_user_mat(LMatrix4f const &user_mat);

Description: Explicitly specifies the projection matrix. This matrix should convert X and Y to the range [-film_size/2, film_size/2], where (-fs/2,-fs/2) is the lower left corner of the screen and (fs/2, fs/2) is the upper right. Z should go to the range [-1, 1], where -1 is the far plane and 1 is the near plane. Note that this is a left-handed Y-up coordinate system.
The default film_size for a MatrixLens is 2, so the default range is [-1, 1] for both X and Y. This is consistent with the GL conventions for projection matrices.

clear
void Lens::clear(void);

Description: Resets all lens parameters to their initial default settings.

clearKeystone
void Lens::clear_keystone(void);

Description: Disables the lens keystone correction.

clearViewMat
void Lens::clear_view_mat(void);

Description: Resets the lens transform to identity.

extrude
bool Lens::extrude(LPoint2f const &point2d, LPoint3f &near_point, LPoint3f &far_point) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the corresponding vector in space that maps to this point, if such a vector can be determined. The vector is returned by indicating the points on the near plane and far plane that both map to the indicated 2-d point.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

extrudeVec
bool Lens::extrude_vec(LPoint2f const &point2d, LVector3f &vec3d) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the vector that corresponds to the view direction. This will be parallel to the normal on the surface (the far plane) corresponding to the lens shape at this point.
See the comment block on Lens::extrude_vec_impl() for a more in-depth comment on the meaning of this vector.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

getAspectRatio
float Lens::get_aspect_ratio(void) const;

Description: Returns the aspect ratio of the Lens. This is determined based on the indicated film size; see set_film_size().

getChangeEvent
string const &Lens::get_change_event(void) const;

Description: Returns the name of the event that will be generated whenever any properties of this particular Lens have changed.

getClassType
static TypeHandle Lens::get_class_type(void);

Undocumented function.

getConvergenceDistance
float Lens::get_convergence_distance(void) const;

Description: See set_convergence_distance().

getCoordinateSystem
CoordinateSystem Lens::get_coordinate_system(void) const;

Description: Returns the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

getDefaultFar
static float Lens::get_default_far(void);

Description: Returns the default far plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getDefaultNear
static float Lens::get_default_near(void);

Description: Returns the default near plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getFar
float Lens::get_far(void) const;

Description: Returns the position of the far plane (or cylinder, sphere, whatever).

getFilmMat
LMatrix4f const &Lens::get_film_mat(void) const;

Description: Returns the matrix that transforms from a point behind the lens to a point on the film.

getFilmMatInv
LMatrix4f const &Lens::get_film_mat_inv(void) const;

Description: Returns the matrix that transforms from a point on the film to a point behind the lens.

getFilmOffset
LVector2f const &Lens::get_film_offset(void) const;

Description: Returns the horizontal and vertical offset amounts of this Lens. See set_film_offset().

getFilmSize
LVecBase2f const &Lens::get_film_size(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_film_size().

getFocalLength
float Lens::get_focal_length(void) const;

Description: Returns the focal length of the lens. This may have been set explicitly by a previous call to set_focal_length(), or it may be computed based on the lens' fov and film_size. For certain kinds of lenses, the focal length has no meaning.

getFov
LVecBase2f const &Lens::get_fov(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_fov().

getHfov
float Lens::get_hfov(void) const;

Description: Returns the horizontal component of fov only. See get_fov().

getInterocularDistance
float Lens::get_interocular_distance(void) const;

Description: See set_interocular_distance().

getKeystone
LVecBase2f const &Lens::get_keystone(void) const;

Description: Returns the keystone correction specified for the lens.

getLensMat
LMatrix4f const &Lens::get_lens_mat(void) const;

Description: Returns the matrix that transforms from a point in front of the lens to a point in space.

getLensMatInv
LMatrix4f const &Lens::get_lens_mat_inv(void) const;

Description: Returns the matrix that transforms from a point in space to a point in front of the lens.

getMinFov
float Lens::get_min_fov(void) const;

Description: Returns the field of view of the narrowest dimension of the window. See set_min_fov().

getNear
float Lens::get_near(void) const;

Description: Returns the position of the near plane (or cylinder, sphere, whatever).

getNodalPoint
LPoint3f Lens::get_nodal_point(void) const;

Description: Returns the center point of the lens: the point from which the lens is viewing.

getProjectionMat
LMatrix4f const &Lens::get_projection_mat(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the complete transformation matrix from a 3-d point in space to a point on the film, if such a matrix exists, or the identity matrix if the lens is nonlinear.

getProjectionMatInv
LMatrix4f const &Lens::get_projection_mat_inv(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the matrix that transforms from a 2-d point on the film to a 3-d vector in space, if such a matrix exists.

getUpVector
LVector3f const &Lens::get_up_vector(void) const;

Description: Returns the axis perpendicular to the camera's view vector that indicates the "up" direction.

getVfov
float Lens::get_vfov(void) const;

Description: Returns the vertical component of fov only. See get_fov().

getViewHpr
LVecBase3f const &Lens::get_view_hpr(void) const;

Description: Returns the direction in which the lens is facing.

getViewMat
LMatrix4f const &Lens::get_view_mat(void) const;

Description: Returns the direction in which the lens is facing.

getViewVector
LVector3f const &Lens::get_view_vector(void) const;

Description: Returns the axis along which the lens is facing.

isLinear
virtual bool Lens::is_linear(void) const;

Description: Returns true if the lens represents a linear projection (e.g. PerspectiveLens, OrthographicLens), and therefore there is a valid matrix returned by get_projection_mat(), or false otherwise.

isOrthographic
virtual bool Lens::is_orthographic(void) const;

Description: Returns true if the lens represents a orthographic projection (i.e. it is a OrthographicLens), false otherwise.

isPerspective
virtual bool Lens::is_perspective(void) const;

Description: Returns true if the lens represents a perspective projection (i.e. it is a PerspectiveLens), false otherwise.

makeBounds
virtual PointerTo< BoundingVolume > Lens::make_bounds(void) const;

Description: Allocates and returns a new BoundingVolume that encloses the frustum used for this kind of lens, if possible. If a suitable bounding volume cannot be created, returns NULL.

makeCopy
virtual PointerTo< Lens > Lens::make_copy(void) const = 0;

Undocumented function.

makeGeometry
virtual PointerTo< Geom > Lens::make_geometry(void);

Description: Allocates and returns a new Geom that can be rendered to show a visible representation of the frustum used for this kind of lens, if it makes sense to do so. If a visible representation cannot be created, returns NULL.

output
virtual void Lens::output(ostream &out) const;

Description:

project
bool Lens::project(LPoint3f const &point3d, LPoint3f &point2d) const;

Description: Given a 3-d point in space, determine the 2-d point this maps to, in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner.
Returns true if the 3-d point is in front of the lens and within the viewing frustum (in which case point2d is filled in), or false otherwise (in which case point2d will be filled in with something, which may or may not be meaningful).
The z coordinate will also be set to a value in the range (-1, 1), where 1 represents a point on the near plane, and -1 represents a point on the far plane.

recomputeAll
void Lens::recompute_all(void);

Description: Forces all internal parameters of the Lens to be recomputed. Normally, this should never need to be called; it is provided only to assist in debugging.

setAspectRatio
void Lens::set_aspect_ratio(float aspect_ratio);

Description: Sets the aspect ratio of the lens. This is the ratio of the height to the width of the generated image. Setting this overrides the two-parameter fov or film size setting.

setChangeEvent
void Lens::set_change_event(string const &event);

Description: Sets the name of the event that will be generated whenever any properties of the Lens have changed. If this is not set for a particular lens, no event will be generated.
The event is thrown with one parameter, the lens itself. This can be used to automatically track changes to camera fov, etc. in the application.

setConvergenceDistance
void Lens::set_convergence_distance(float convergence_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setCoordinateSystem
void Lens::set_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

setFar
void Lens::set_far(float far_distance);

Description: Defines the position of the far plane (or cylinder, sphere, whatever). Points farther from the lens than this may not be rendered.

setFilmOffset
void Lens::set_film_offset(float x, float y);

Description: Sets the horizontal and vertical offset amounts of this Lens. These are both in the same units specified in set_film_size().
This can be used to establish an off-axis lens.

setFilmSize
void Lens::set_film_size(float width);

Description: Sets the size and shape of the "film" within the lens. This both establishes the units used by calls like set_focal_length(), and establishes the aspect ratio of the frame.
In a physical camera, the field of view of a lens is determined by the lens' focal length and by the size of the film area exposed by the lens. For instance, a 35mm camera exposes a rectangle on the film about 24mm x 36mm, which means a 50mm lens gives about a 40-degree horizontal field of view.
In the virtual camera, you may set the film size to any units here, and specify a focal length in the same units to simulate the same effect. Or, you may ignore this parameter, and specify the field of view and aspect ratio of the lens directly.
Description: Sets the horizontal size of the film without changing its shape. The aspect ratio remains unchanged; this computes the vertical size of the film to automatically maintain the aspect ratio.

setFocalLength
void Lens::set_focal_length(float focal_length);

Description: Sets the focal length of the lens. This may adjust the field-of-view correspondingly, and is an alternate way to specify field of view.
For certain kinds of lenses (e.g. OrthographicLens), the focal length has no meaning.

setFov
void Lens::set_fov(float fov);

Description: Sets the field of view of the lens in both dimensions. This establishes both the field of view and the aspect ratio of the lens. This is one way to specify the field of view of a lens; set_focal_length() is another way.
For certain kinds of lenses (like OrthoLens), the field of view has no meaning.
Description: Sets the horizontal field of view of the lens without changing the aspect ratio. The vertical field of view is adjusted to maintain the same aspect ratio.
For certain kinds of lenses (like OrthographicLens), the field of view has no meaning.

setFrustumFromCorners
void Lens::set_frustum_from_corners(LVecBase3f const &ul, LVecBase3f const &ur, LVecBase3f const &ll, LVecBase3f const &lr, int flags);

Description: Sets up the lens to use the frustum defined by the four indicated points. This is most useful for a PerspectiveLens, but it may be called for other kinds of lenses as well.
The frustum will be rooted at the origin (or by whatever translation might have been specified in a previous call to set_view_mat).
It is legal for the four points not to be arranged in a rectangle; if this is the case, the frustum will be fitted as tightly as possible to cover all four points.
The flags parameter contains the union of one or more of the following bits to control the behavior of this function:
FC_roll - If this is included, the camera may be rotated so that its up vector is perpendicular to the top line. Otherwise, the standard up vector is used.
FC_camera_plane - This allows the camera plane to be adjusted to be as nearly perpendicular to the center of the frustum as possible. Without this bit, the orientation camera plane is defined by position of the four points (which should all be coplanar). With this bit, the camera plane is arbitarary, and may be chosen so that the four points do not themselves lie in the camera plane (but the points will still be within the frustum).
FC_off_axis - This allows the resulting frustum to be off-axis to get the tightest possible fit. Without this bit, the viewing axis will be centered within the frustum, but there may be more wasted space along the edges.
FC_aspect_ratio - This allows the frustum to be scaled non-proportionately in the vertical and horizontal dimensions, if necessary, to get a tighter fit. Without this bit, the current aspect ratio will be preserved.
FC_shear - This allows the frustum to be sheared, if necessary, to get the tightest possible fit. This may result in a parallelogram-based frustum, which will give a slanted appearance to the rendered image. Without this bit, the frustum will be rectangle-based.
In general, if 0 is passed in as the value for flags, the generated frustum will be a loose fit but sane; if -1 is passed in, it will be a tighter fit and possibly screwy.

setInterocularDistance
void Lens::set_interocular_distance(float interocular_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setKeystone
void Lens::set_keystone(LVecBase2f const &keystone);

Description: Indicates the ratio of keystone correction to perform on the lens, in each of three axes. This will build a special non-affine scale factor into the projection matrix that will compensate for keystoning of a projected image; this can be used to compensate for a projector that for physical reasons cannot be aimed directly at it screen.
The default value is taken from the default-keystone Config variable. 0, 0 indicates no keystone correction; specify a small value (usually in the range -1 .. 1) in either the x or y position to generate a keystone correction in that axis.

setMinFov
void Lens::set_min_fov(float min_fov);

Description: Sets the field of view of the smallest dimension of the window. If the window is wider than it is tall, this specifies the vertical field of view; if it is taller than it is wide, this specifies the horizontal field of view.
In many cases, this is preferable to setting either the horizontal or vertical field of view explicitly. Setting this parameter means that pulling the window wider will widen the field of view, which is usually what you expect to happen.

setNear
void Lens::set_near(float near_distance);

Description: Defines the position of the near plane (or cylinder, sphere, whatever). Points closer to the lens than this may not be rendered.

setNearFar
void Lens::set_near_far(float near_distance, float far_distance);

Description: Simultaneously changes the near and far planes.

setViewHpr
void Lens::set_view_hpr(float h, float p, float r);

Description: Sets the direction in which the lens is facing. Normally, this is down the forward axis (usually the Y axis), but it may be rotated. This is only one way of specifying the rotation; you may also specify an explicit vector in which to look, or you may give a complete transformation matrix.

setViewMat
void Lens::set_view_mat(LMatrix4f const &view_mat);

Description: Sets an arbitrary transformation on the lens. This replaces the individual transformation components like set_view_hpr().
Setting a transformation here will have a slightly different effect than putting one on the LensNode that contains this lens. In particular, lighting and other effects computations will still be performed on the lens in its untransformed (facing forward) position, but the actual projection matrix will be transformed by this matrix.

setViewVector
void Lens::set_view_vector(float x, float y, float z, float i, float j, float k);

Description: Specifies the direction in which the lens is facing by giving an axis to look along, and a perpendicular (or at least non-parallel) up axis.
See also set_view_hpr().

write
virtual void Lens::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


MemoryExplorer

    from direct.tkwidgets.MemoryExplorer import MemoryExplorer

Inheritance:

    MemoryExplorer:

Methods of MemoryExplorer:

    __init__
    addButton
    addChildCtrl
    addItemCtrls
    addLabel
    addSelfCtrl
    analyze
    buildList
    createDefaultCtrls
    createRefreshBT
    createScale
    createScrolledFrame
    getBTWidth
    getNewButton
    makeList
    onChildButtonLClick
    onChildButtonRClick
    onScaleUpdate
    onSelfButtonLClick
    onSelfButtonRClick
    refresh
    resetCtrls
    setTitle
    updateBTWidth
    updateDefaultBTWidth
__init__
def __init__(self, parent=None, nodePath=render, **kw)

Undocumented function.

addButton
def addButton(self, vertexBytes, totalBytes, funcLClick, funcRClick, item)

Undocumented function.

addChildCtrl
def addChildCtrl(self, item, totalBytes)

Undocumented function.

addItemCtrls
def addItemCtrls(self, item)

Undocumented function.

addLabel
def addLabel(self, label)

Undocumented function.

addSelfCtrl
def addSelfCtrl(self, item, totalBytes)

Undocumented function.

analyze
def analyze(self)

Undocumented function.

buildList
def buildList(self, parentItem)

Undocumented function.

createDefaultCtrls
def createDefaultCtrls(self)

Undocumented function.

createRefreshBT
def createRefreshBT(self)

Undocumented function.

createScale
def createScale(self)

Undocumented function.

createScrolledFrame
def createScrolledFrame(self)

Undocumented function.

getBTWidth
def getBTWidth(self, vertexBytes, totalBytes)

Undocumented function.

getNewButton
def getNewButton(self, width, ratio)

Undocumented function.

makeList
def makeList(self)

Undocumented function.

onChildButtonLClick
def onChildButtonLClick(self, item)

Undocumented function.

onChildButtonRClick
def onChildButtonRClick(self, item)

Undocumented function.

onScaleUpdate
def onScaleUpdate(self, arg)

Undocumented function.

onSelfButtonLClick
def onSelfButtonLClick(self, item)

Undocumented function.

onSelfButtonRClick
def onSelfButtonRClick(self, item)

Undocumented function.

refresh
def refresh(self)

Undocumented function.

resetCtrls
def resetCtrls(self)

Undocumented function.

setTitle
def setTitle(self, parent, bytes)

Undocumented function.

updateBTWidth
def updateBTWidth(self)

Undocumented function.

updateDefaultBTWidth
def updateDefaultBTWidth(self)

Undocumented function.


MemoryExplorerItem

    from direct.tkwidgets.MemoryExplorer import MemoryExplorerItem

Inheritance:

    MemoryExplorerItem:

Methods of MemoryExplorerItem:

    __init__
    addChild
    analyze
    analyzeChildren
    calcNumFaces
    calcTextureBytes
    calcVertexBytes
    getChildrenAsList
    getName
    getNumChildren
    getParent
    getPathName
    getSelfVertexBytes
    getVertexBytes
    ls
__init__
def __init__(self, parent, nodePath)

Undocumented function.

addChild
def addChild(self, child)

Undocumented function.

analyze
def analyze(self)

Undocumented function.

analyzeChildren
def analyzeChildren(self)

Undocumented function.

calcNumFaces
def calcNumFaces(self, geom)

Undocumented function.

calcTextureBytes
def calcTextureBytes(self)

Undocumented function.

calcVertexBytes
def calcVertexBytes(self, geom)

Undocumented function.

getChildrenAsList
def getChildrenAsList(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

getNumChildren
def getNumChildren(self)

Undocumented function.

getParent
def getParent(self)

Undocumented function.

getPathName
def getPathName(self)

Undocumented function.

getSelfVertexBytes
def getSelfVertexBytes(self)

Undocumented function.

getVertexBytes
def getVertexBytes(self)

Undocumented function.

ls
def ls(self, indent="")

Undocumented function.


MEMORYSTATUS

    from direct.http.windowsSystemInfo import MEMORYSTATUS

Inheritance:

    MEMORYSTATUS:


MemoryUsage

    from pandac.PandaModules import MemoryUsage
    Class : MemoryUsage
    Description : This class is used strictly for debugging purposes, specifically for tracking memory leaks of reference-counted objects: it keeps a record of every such object currently allocated.
    When compiled with NDEBUG set, this entire class does nothing and compiles to nothing.

Inheritance:

    MemoryUsage: MemoryHook
    MemoryHook:

Methods of MemoryUsage:

    freeze
    getCurrentCppSize
    getExternalSize
    getNumPointers
    getPandaHeapArraySize
    getPandaHeapOverhead
    getPandaHeapSingleSize
    getPandaMmapSize
    getPointers
    getPointersOfAge
    getPointersOfType
    getPointersWithZeroCount
    getTotalCppSize
    getTotalSize
    isCounting
    isTracking
    showCurrentAges
    showCurrentTypes
    showTrendAges
    showTrendTypes
freeze
static void MemoryUsage::freeze(void);

Description: 'Freezes' all pointers currently stored so that they are no longer reported; only newly allocate pointers from this point on will appear in future information requests. This makes it easier to differentiate between continuous leaks and one-time memory allocations.

getCurrentCppSize
static unsigned int MemoryUsage::get_current_cpp_size(void);

Description: Returns the total number of bytes of allocated memory consumed by C++ objects, not including the memory previously frozen.

getExternalSize
static unsigned int MemoryUsage::get_external_size(void);

Description: Returns the total number of bytes of allocated memory in the heap that Panda didn't seem to be responsible for. This includes a few bytes for very low-level objects (like ConfigVariables) that cannot use Panda memory tracking because they are so very low-level.
This also includes all of the memory that might have been allocated by a high-level interpreter, like Python.
This number is only available if Panda is able to hook into the actual heap callback.

getNumPointers
static int MemoryUsage::get_num_pointers(void);

Description: Returns the number of pointers currently active.

getPandaHeapArraySize
static unsigned int MemoryUsage::get_panda_heap_array_size(void);

Description: Returns the total number of bytes allocated from the heap from code within Panda, for arrays.

getPandaHeapOverhead
static unsigned int MemoryUsage::get_panda_heap_overhead(void);

Description: Returns the extra bytes allocated from the system that are not immediately used for holding allocated objects. This can only be determined if ALTERNATIVE_MALLOC is enabled.

getPandaHeapSingleSize
static unsigned int MemoryUsage::get_panda_heap_single_size(void);

Description: Returns the total number of bytes allocated from the heap from code within Panda, for individual objects.

getPandaMmapSize
static unsigned int MemoryUsage::get_panda_mmap_size(void);

Description: Returns the total number of bytes allocated from the virtual memory pool from code within Panda.

getPointers
static void MemoryUsage::get_pointers(MemoryUsagePointers &result);

Description: Fills the indicated MemoryUsagePointers with the set of all pointers currently active.

getPointersOfAge
static void MemoryUsage::get_pointers_of_age(MemoryUsagePointers &result, double from, double to);

Description: Fills the indicated MemoryUsagePointers with the set of all pointers that were allocated within the range of the indicated number of seconds ago.

getPointersOfType
static void MemoryUsage::get_pointers_of_type(MemoryUsagePointers &result, TypeHandle type);

Description: Fills the indicated MemoryUsagePointers with the set of all pointers of the indicated type currently active.

getPointersWithZeroCount
static void MemoryUsage::get_pointers_with_zero_count(MemoryUsagePointers &result);

Description: Fills the indicated MemoryUsagePointers with the set of all currently active pointers (that is, pointers allocated since the last call to freeze(), and not yet freed) that have a zero reference count.
Generally, an undeleted pointer with a zero reference count means its reference count has never been incremented beyond zero (since once it has been incremented, the only way it can return to zero would free the pointer). This may include objects that are allocated statically or on the stack, which are never intended to be deleted. Or, it might represent a programmer or compiler error.
This function has the side-effect of incrementing each of their reference counts by one, thus preventing them from ever being freed--but since they hadn't been freed anyway, probably no additional harm is done.

getTotalCppSize
static unsigned int MemoryUsage::get_total_cpp_size(void);

Description: Returns the total number of bytes of allocated memory consumed by C++ objects, including the memory previously frozen.

getTotalSize
static unsigned int MemoryUsage::get_total_size(void);

Description: Returns the total size of allocated memory consumed by the process, as nearly as can be determined.

isCounting
static bool MemoryUsage::is_counting(void);

Description: Returns true if the MemoryUsage object is currently at least counting memory (e.g. this is a Windows debug build), even if it's not fully tracking it.

isTracking
static bool MemoryUsage::is_tracking(void);

Description: Returns true if the MemoryUsage object is currently tracking memory (e.g. track-memory-usage is configured #t).

showCurrentAges
static void MemoryUsage::show_current_ages(void);

Description: Shows the breakdown of ages of all of the active pointers.

showCurrentTypes
static void MemoryUsage::show_current_types(void);

Description: Shows the breakdown of types of all of the active pointers.

showTrendAges
static void MemoryUsage::show_trend_ages(void);

Description: Shows the breakdown of ages of all of the pointers allocated and freed since the last call to freeze().

showTrendTypes
static void MemoryUsage::show_trend_types(void);

Description: Shows the breakdown of types of all of the pointers allocated and freed since the last call to freeze().


MemoryUsagePointers

    from pandac.PandaModules import MemoryUsagePointers
    HAVE_PYTHON
    Class : MemoryUsagePointers
    Description : This is a list of pointers returned by a MemoryUsage object in response to some query.
    Warning: once pointers are stored in a MemoryUsagePointers object, they are reference-counted, and will not be freed until the MemoryUsagePointers object is freed (or clear() is called on the object). However, they may not even be freed then; pointers may leak once they have been added to this structure. This is because we don't store enough information in this structure to correctly free the pointers that have been added. Since this is intended primarily as a debugging tool, this is not a major issue.
    This class is just a user interface to talk about pointers stored in a MemoryUsage object. It doesn't even exist when compiled with NDEBUG.

Inheritance:

    MemoryUsagePointers:

Methods of MemoryUsagePointers:

    MemoryUsagePointers (Constructor)
    clear
    getAge
    getNumPointers
    getPointer
    getPythonPointer
    getType
    getTypedPointer
    getTypeName
    output
MemoryUsagePointers
MemoryUsagePointers::MemoryUsagePointers(void);

HAVE_PYTHON
Description:

clear
void MemoryUsagePointers::clear(void);

Description: Empties the set of pointers.

getAge
double MemoryUsagePointers::get_age(int n) const;

Description: Returns the age of the nth pointer: the number of seconds elapsed between the time it was allocated and the time it was added to this set via a call to MemoryUsage::get_pointers().

getNumPointers
int MemoryUsagePointers::get_num_pointers(void) const;

Description: Returns the number of pointers in the set.

getPointer
ReferenceCount *MemoryUsagePointers::get_pointer(int n) const;

Description: Returns the nth pointer of the set.

getPythonPointer
PyObject *MemoryUsagePointers::get_python_pointer(int n) const;

Description: Returns the nth object, represented as a Python object of the appropriate type. Reference counting will be properly set on the Python object.
get_typed_pointer() is almost as good as this, but (a) it does not set the reference count, and (b) it does not work for objects that do not inherit from TypedObject. This will work for any object whose type is known, which has a Python representation.

getType
TypeHandle MemoryUsagePointers::get_type(int n) const;

Description: Returns the actual type of the nth pointer, if it is known.

getTypedPointer
TypedObject *MemoryUsagePointers::get_typed_pointer(int n) const;

Description: Returns the nth pointer of the set, typecast to a TypedObject if possible. If the pointer is not a TypedObject or if the cast cannot be made, returns NULL.

getTypeName
string MemoryUsagePointers::get_type_name(int n) const;

Description: Returns the type name of the nth pointer, if it is known.

output
void MemoryUsagePointers::output(ostream &out) const;

Description:


Mersenne

    from pandac.PandaModules import Mersenne

Inheritance:

    Mersenne:

Methods of Mersenne:

    Mersenne (Constructor)
    getUint31
Mersenne
Mersenne::Mersenne(unsigned long int seed);

* initializes mt[N] with a seed */

getUint31
unsigned long int Mersenne::get_uint31(void);

* generates a random number on [0,0x7fffffff]-interval */


Messenger

    from direct.showbase.Messenger import Messenger

Inheritance:

    Messenger:

Methods of Messenger:

    __eventRepr
    __init__
    __methodRepr
    __repr__
    accept
    clear
    detailedRepr
    find
    findAll
    getAllAccepting
    getEvents
    ignore
    ignoreAll
    isAccepting
    isEmpty
    isIgnoring
    replaceMethod
    send
    toggleVerbose
    whoAccepts
__eventRepr
def __eventRepr(self, event)

Compact version of event, acceptor pairs

__init__
def __init__(self)

One is keyed off the event name. It has the following structure: {event1: {object1: [method, extraArgs, persistent], object2: [method, extraArgs, persistent]}, event2: {object1: [method, extraArgs, persistent], object2: [method, extraArgs, persistent]}}
This dictionary allow for efficient callbacks when the messenger hears an event.
A second dictionary remembers which objects are accepting which events. This allows for efficient ignoreAll commands.
Or, for an example with more real data: {'mouseDown': {avatar: [avatar.jump, [2.0], 1]}}

__methodRepr
def __methodRepr(self, method)

return string version of class.method or method.

__repr__
def __repr__(self)

Compact version of event, acceptor pairs

accept
def accept(self, event, object, method, extraArgs=[], persistent=1)

accept(self, string, DirectObject, Function, List, Boolean)
Make this object accept this event. When the event is sent (using Messenger.send or from C++), method will be executed, optionally passing in extraArgs.
If the persistent flag is set, it will continue to respond to this event, otherwise it will respond only once.

clear
def clear(self)

Start fresh with a clear dict

detailedRepr
def detailedRepr(self)

Print out the table in a detailed readable format

find
def find(self, needle)

return a matching event (needle) if found (in haystack). This is primarily a debugging tool.

findAll
def findAll(self, needle, limit=None)

return a dict of events (needle) if found (in haystack). limit may be None or an integer (e.g. 1). This is primarily a debugging tool.

getAllAccepting
def getAllAccepting(self, object)

Returns the list of all events accepted by the indicated object.

getEvents
def getEvents(self)

Undocumented function.

ignore
def ignore(self, event, object)

ignore(self, string, DirectObject) Make this object no longer respond to this event. It is safe to call even if it was not already accepting

ignoreAll
def ignoreAll(self, object)

Make this object no longer respond to any events it was accepting Useful for cleanup

isAccepting
def isAccepting(self, event, object)

isAccepting(self, string, DirectOject) Is this object accepting this event?

isEmpty
def isEmpty(self)

Undocumented function.

isIgnoring
def isIgnoring(self, event, object)

isIgnorning(self, string, DirectObject) Is this object ignoring this event?

replaceMethod
def replaceMethod(self, oldMethod, newFunction)

This is only used by Finder.py - the module that lets you redefine functions with Control-c-Control-v

send
def send(self, event, sentArgs=[])

event is usually a string. sentArgs is a list of any data that you want passed along to the handlers listening to this event.
Send this event, optionally passing in arguments

toggleVerbose
def toggleVerbose(self)

Undocumented function.

whoAccepts
def whoAccepts(self, event)

Return objects accepting the given event


MessengerLeakDetector

    from direct.showbase.MessengerLeakDetector import MessengerLeakDetector

Inheritance:

    MessengerLeakDetector:

Methods of MessengerLeakDetector:

    __init__
    run
__init__
def __init__(self, name)

Undocumented function.

run
def run(self)

Undocumented function.


MessengerLeakObject

    from direct.showbase.MessengerLeakDetector import MessengerLeakObject

Inheritance:

    MessengerLeakObject:

Methods of MessengerLeakObject:

    __init__
    _handleEvent
__init__
def __init__(self)

Undocumented function.

_handleEvent
def _handleEvent(self)

Undocumented function.


MetaInterval

    from direct.interval.MetaInterval import MetaInterval

Inheritance:

    MetaInterval:

Methods of MetaInterval:

    __add__
    __delitem__
    __delslice__
    __doPythonCallbacks
    __getitem__
    __getslice__
    __iadd__
    __init__
    __len__
    __repr__
    __setitem__
    __setslice__
    __str__
    __updateIvals
    addInterval
    addParallel
    addParallelEndTogether
    addSequence
    addTrack
    append
    applyIvals
    clearIntervals
    clearToInitial
    count
    extend
    finish
    getDuration
    getIntervalStartTime
    getManager
    index
    insert
    loop
    pause
    pop
    privDoEvent
    privPostEvent
    remove
    resume
    resumeUntil
    reverse
    setIntervalStartTime
    setManager
    setT
    sort
    start
    timeline
    validateComponent
    validateComponents
__add__
def __add__(self, other)

Undocumented function.

__delitem__
def __delitem__(self, index)

Undocumented function.

__delslice__
def __delslice__(self, i, j)

Undocumented function.

__doPythonCallbacks
def __doPythonCallbacks(self)

Undocumented function.

__getitem__
def __getitem__(self, index)

Undocumented function.

__getslice__
def __getslice__(self, i, j)

Undocumented function.

__iadd__
def __iadd__(self, other)

Undocumented function.

__init__
def __init__(self, *ivals, **kw)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

__repr__
def __repr__(self, *args, **kw)

Undocumented function.

__setitem__
def __setitem__(self, index, value)

Undocumented function.

__setslice__
def __setslice__(self, i, j, s)

Undocumented function.

__str__
def __str__(self, *args, **kw)

Undocumented function.

__updateIvals
def __updateIvals(self)

Undocumented function.

addInterval
def addInterval(self, ival, relTime, relTo)

Undocumented function.

addParallel
def addParallel(self, list, name, relTime, relTo, duration)

Undocumented function.

addParallelEndTogether
def addParallelEndTogether(self, list, name, relTime, relTo, duration)

Undocumented function.

addSequence
def addSequence(self, list, name, relTime, relTo, duration)

Undocumented function.

addTrack
def addTrack(self, list, name, relTime, relTo, duration)

Undocumented function.

append
def append(self, ival)

Undocumented function.

applyIvals
def applyIvals(self, meta, relTime, relTo)

Undocumented function.

clearIntervals
def clearIntervals(self)

Undocumented function.

clearToInitial
def clearToInitial(self)

Undocumented function.

count
def count(self, ival)

Undocumented function.

extend
def extend(self, ivals)

Undocumented function.

finish
def finish(self)

Undocumented function.

getDuration
def getDuration(self)

Undocumented function.

getIntervalStartTime
def getIntervalStartTime(self, *args, **kw)

Undocumented function.

getManager
def getManager(self)

Undocumented function.

index
def index(self, ival)

Undocumented function.

insert
def insert(self, index, ival)

Undocumented function.

loop
def loop(self, startT=0.0, endT=-1.0, playRate=1.0)

Undocumented function.

pause
def pause(self)

Undocumented function.

pop
def pop(self, index=None)

Undocumented function.

privDoEvent
def privDoEvent(self, t, event)

Undocumented function.

privPostEvent
def privPostEvent(self)

Undocumented function.

remove
def remove(self, ival)

Undocumented function.

resume
def resume(self, startT=None)

Undocumented function.

resumeUntil
def resumeUntil(self, endT)

Undocumented function.

reverse
def reverse(self)

Undocumented function.

setIntervalStartTime
def setIntervalStartTime(self, *args, **kw)

Undocumented function.

setManager
def setManager(self, manager)

Undocumented function.

setT
def setT(self, t)

Undocumented function.

sort
def sort(self, cmpfunc=None)

Undocumented function.

start
def start(self, startT=0.0, endT=-1.0, playRate=1.0)

Undocumented function.

timeline
def timeline(self, out=None)

Undocumented function.

validateComponent
def validateComponent(self, component)

Undocumented function.

validateComponents
def validateComponents(self, components)

Undocumented function.


MicrophoneAudio

    from pandac.PandaModules import MicrophoneAudio
    Class : MicrophoneAudio
    Description : Class MicrophoneAudio provides the means to read raw audio samples from a microphone.

Inheritance:

    MicrophoneAudio: MovieAudio
    MovieAudio: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of MicrophoneAudio:

    getChannels
    getClassType
    getNumOptions
    getOption
    getRate
    open

Methods of MovieAudio:

    MovieAudio (Constructor)
    get
    getClassType
    getFilename
    open

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
getChannels
int MicrophoneAudio::get_channels(void) const;

Filename: microphoneAudio.I Created by: jyelon (02Jul07)
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."
Description: Returns the number of channels.

getClassType
static TypeHandle MicrophoneAudio::get_class_type(void);

Undocumented function.

getNumOptions
static int MicrophoneAudio::get_num_options(void);

Description: Returns the number of microphone options. An "option" consists of a device plus a set of configuration parameters. For example, "Soundblaster Audigy Line in at 44,100 samples/sec" would be an option.

getOption
static PointerTo< MicrophoneAudio > MicrophoneAudio::get_option(int n);

Description: Returns the nth microphone option.

getRate
int MicrophoneAudio::get_rate(void) const;

Description: Returns the sample rate.

open
virtual PointerTo< MovieAudioCursor > MicrophoneAudio::open(void) = 0;

Undocumented function.

MovieAudio
MovieAudio::MovieAudio(string const &name = ("Blank Audio"));

Description: This constructor returns a null audio stream --- a stream of total silence, at 8000 samples per second. To get more interesting audio, you need to construct a subclass of this class.

get
static PointerTo< MovieAudio > MovieAudio::get(Filename const &name);

Description: Obtains a MovieAudio that references a file.

getClassType
static TypeHandle MovieAudio::get_class_type(void);

Undocumented function.

getFilename
Filename const &MovieAudio::get_filename(void) const;

Filename: movieAudio.I Created by: jyelon (02Jul07)
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."
Description: Returns the movie's filename. A movie is not guaranteed to have a filename, if not, then this function returns a null filename.

open
virtual PointerTo< MovieAudioCursor > MovieAudio::open(void);

Description: Open this audio, returning a MovieAudioCursor

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


MiniLog

    from direct.showbase.PythonUtil import MiniLog

Inheritance:

    MiniLog:

Methods of MiniLog:

    __init__
    __str__
    appendFunctionCall
    appendLine
    enterFunction
    exitFunction
    flush
__init__
def __init__(self, name)

Undocumented function.

__str__
def __str__(self)

Undocumented function.

appendFunctionCall
def appendFunctionCall(self, line)

Undocumented function.

appendLine
def appendLine(self, line)

Undocumented function.

enterFunction
def enterFunction(self, funcName, *args, **kw)

Undocumented function.

exitFunction
def exitFunction(self)

Undocumented function.

flush
def flush(self)

Undocumented function.


MiniLogSentry

    from direct.showbase.PythonUtil import MiniLogSentry

Inheritance:

    MiniLogSentry:

Methods of MiniLogSentry:

    __del__
    __init__
__del__
def __del__(self)

Undocumented function.

__init__
def __init__(self, log, funcName, *args, **kw)

Undocumented function.


MkImporter

    from direct.pyinst.mkarchive import MkImporter

Inheritance:

    MkImporter:

Methods of MkImporter:

    __init__
    build
    get_code
    setImportHooks
__init__
def __init__(self, db, viewnm='pylib')

Undocumented function.

build
def build(self, lTOC)

Undocumented function.

get_code
def get_code(self, parent, modname, fqname)

Undocumented function.

setImportHooks
def setImportHooks(self)

Undocumented function.


ModelFlattenRequest

    from pandac.PandaModules import ModelFlattenRequest
    Class : ModelFlattenRequest
    Description : This class object manages a single asynchronous request to flatten a model. The model will be duplicated and flattened in a sub-thread (if threading is available), without affecting the original model; and when the result is done it may be retrieved from this object.

Inheritance:

    ModelFlattenRequest: AsyncTask
    AsyncTask: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ModelFlattenRequest:

    ModelFlattenRequest (Constructor)
    getClassType
    getModel
    getOrig
    isReady

Methods of AsyncTask:

    getClassType
    getDoneEvent
    getPythonObject
    getState
    output
    setDoneEvent
    setPythonObject

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in AsyncTask:

    SInactive | (State)
SActive | (State)
SServicing | (State)
ModelFlattenRequest
ModelFlattenRequest::ModelFlattenRequest(PandaNode *orig);

Description: Create a new ModelFlattenRequest, and add it to the loader via load_async(), to begin an asynchronous load.

getClassType
static TypeHandle ModelFlattenRequest::get_class_type(void);

Undocumented function.

getModel
PandaNode *ModelFlattenRequest::get_model(void) const;

Description: Returns the flattened copy of the model. It is an error to call this unless is_ready() returns true.

getOrig
PandaNode *ModelFlattenRequest::get_orig(void) const;

Description: Returns the original, unflattened node.

isReady
bool ModelFlattenRequest::is_ready(void) const;

Description: Returns true if this request has completed, false if it is still pending. When this returns true, you may retrieve the model loaded by calling get_result().

getClassType
static TypeHandle AsyncTask::get_class_type(void);

Undocumented function.

getDoneEvent
string const &AsyncTask::get_done_event(void) const;

Description: Returns the event name that will be triggered when the task finishes. See set_done_event().

getPythonObject
PyObject *AsyncTask::get_python_object(void) const;

Description: Returns the Python object that was specified to set_python_object(), if any, or None if no object was specified.

getState
AsyncTask::State AsyncTask::get_state(void) const;

Description: Returns the current state of the task.

output
virtual void AsyncTask::output(ostream &out) const;

HAVE_PYTHON
Description:

setDoneEvent
void AsyncTask::set_done_event(string const &done_event);

Description: Sets the event name that will be triggered when the task finishes. This should only be called before the task has been started, or after it has finished and before it is about to be restarted (i.e. when get_state() returns S_inactive).

setPythonObject
void AsyncTask::set_python_object(PyObject *python_object);

Description: Specifies an arbitrary Python object that will be piggybacked on the task object.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ModelLoadRequest

    from pandac.PandaModules import ModelLoadRequest
    Class : ModelLoadRequest
    Description : A class object that manages a single asynchronous model load request. Create a new ModelLoadRequest, and add it to the loader via load_async(), to begin an asynchronous load.

Inheritance:

    ModelLoadRequest: AsyncTask
    AsyncTask: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ModelLoadRequest:

    ModelLoadRequest (Constructor)
    getClassType
    getFilename
    getModel
    getOptions
    isReady

Methods of AsyncTask:

    getClassType
    getDoneEvent
    getPythonObject
    getState
    output
    setDoneEvent
    setPythonObject

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in AsyncTask:

    SInactive | (State)
SActive | (State)
SServicing | (State)
ModelLoadRequest
ModelLoadRequest::ModelLoadRequest(Filename const &filename, LoaderOptions const &options);

Description: Create a new ModelLoadRequest, and add it to the loader via load_async(), to begin an asynchronous load.

getClassType
static TypeHandle ModelLoadRequest::get_class_type(void);

Undocumented function.

getFilename
Filename const &ModelLoadRequest::get_filename(void) const;

Description: Returns the filename associated with this asynchronous ModelLoadRequest.

getModel
PandaNode *ModelLoadRequest::get_model(void) const;

Description: Returns the model that was loaded asynchronously, if any, or NULL if there was an error. It is an error to call this unless is_ready() returns true.

getOptions
LoaderOptions const &ModelLoadRequest::get_options(void) const;

Description: Returns the LoaderOptions associated with this asynchronous ModelLoadRequest.

isReady
bool ModelLoadRequest::is_ready(void) const;

Description: Returns true if this request has completed, false if it is still pending. When this returns true, you may retrieve the model loaded by calling get_model().

getClassType
static TypeHandle AsyncTask::get_class_type(void);

Undocumented function.

getDoneEvent
string const &AsyncTask::get_done_event(void) const;

Description: Returns the event name that will be triggered when the task finishes. See set_done_event().

getPythonObject
PyObject *AsyncTask::get_python_object(void) const;

Description: Returns the Python object that was specified to set_python_object(), if any, or None if no object was specified.

getState
AsyncTask::State AsyncTask::get_state(void) const;

Description: Returns the current state of the task.

output
virtual void AsyncTask::output(ostream &out) const;

HAVE_PYTHON
Description:

setDoneEvent
void AsyncTask::set_done_event(string const &done_event);

Description: Sets the event name that will be triggered when the task finishes. This should only be called before the task has been started, or after it has finished and before it is about to be restarted (i.e. when get_state() returns S_inactive).

setPythonObject
void AsyncTask::set_python_object(PyObject *python_object);

Description: Specifies an arbitrary Python object that will be piggybacked on the task object.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ModelNode

    from pandac.PandaModules import ModelNode
    Class : ModelNode
    Description : This node is placed at key points within the scene graph to indicate the roots of "models": subtrees that are conceptually to be treated as a single unit, like a car or a room, for instance. It doesn't affect rendering or any other operations; it's primarily useful as a high-level model indication.
    ModelNodes are created in response to a <Model> { 1 } flag within an egg file.

Inheritance:

    ModelNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of ModelNode:

    ModelNode (Constructor)
    getClassType
    getPreserveAttributes
    getPreserveTransform
    setPreserveAttributes
    setPreserveTransform
    setTransformLimit

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in ModelNode:

    PTNone | (PreserveTransform)
PTLocal | (PreserveTransform)
PTNet | (PreserveTransform)
PTDropNode | (PreserveTransform)

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
ModelNode
ModelNode::ModelNode(string const &name);

Description:

getClassType
static TypeHandle ModelNode::get_class_type(void);

Undocumented function.

getPreserveAttributes
int ModelNode::get_preserve_attributes(void) const;

Description: Returns the current setting of the preserve_attributes flag. See set_preserve_attributes().

getPreserveTransform
ModelNode::PreserveTransform ModelNode::get_preserve_transform(void) const;

Description: Returns the current setting of the preserve_transform flag. See set_preserve_transform().

setPreserveAttributes
void ModelNode::set_preserve_attributes(int attrib_mask);

Description: Sets the preserve_attributes flag. This restricts the ability of a flatten operation to affect the render attributes stored on this node.
The value should be the union of bits from SceneGraphReducer::AttribTypes that represent the attributes that should *not* be changed.

setPreserveTransform
void ModelNode::set_preserve_transform(ModelNode::PreserveTransform preserve_transform);

Description: Sets the preserve_transform flag. This restricts the ability of a flatten operation to affect the transform stored on this node. If the flag is:
PT_none - the transform may be adjusted at will.
PT_local - the local (and net) transform should not be changed in any way. If necessary, an extra transform will be left on the node above to guarantee this. This is the strongest restriction.
PT_net - preserve the net transform from the root, but it's acceptable to modify the local transform stored on this particular node if necessary, so long as the net transform is not changed. This eliminates the need to drop an extra transform on the node above.

setTransformLimit
void ModelNode::set_transform_limit(float limit);

Undocumented function.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ModelPool

    from pandac.PandaModules import ModelPool
    Class : ModelPool
    Description : This class unifies all references to the same filename, so that multiple attempts to load the same model will return the same pointer. Note that the default behavior is thus to make instances: use with caution. Use the copy_subgraph() method on Node (or use NodePath::copy_to) to make modifiable copies of the node.
    Unlike TexturePool, this class does not automatically resolve the model filenames before loading, so a relative path and an absolute path to the same model will appear to be different filenames.
    However, see the Loader class, which is now the preferred interface for loading models. The Loader class can resolve filenames, supports threaded loading, and can automatically consult the ModelPool, according to the supplied LoaderOptions.

Inheritance:

    ModelPool:

Methods of ModelPool:

    addModel
    garbageCollect
    hasModel
    listContents
    loadModel
    releaseAllModels
    releaseModel
    verifyModel
    write
addModel
static void ModelPool::add_model(string const &filename, ModelRoot *model);

Description: Adds the indicated already-loaded model to the pool. The model will always replace any previously-loaded model in the pool that had the same filename.
This two-parameter version of this method is deprecated; use the one-parameter add_model(model) instead.

garbageCollect
static int ModelPool::garbage_collect(void);

Description: Releases only those models in the pool that have a reference count of exactly 1; i.e. only those models that are not being used outside of the pool. Returns the number of models released.

hasModel
static bool ModelPool::has_model(string const &filename);

Description: Returns true if the model has ever been loaded, false otherwise.

listContents
static void ModelPool::list_contents(ostream &out);

Description: Lists the contents of the model pool to the indicated output stream.
Description: Lists the contents of the model pool to cout.

loadModel
static ModelRoot *ModelPool::load_model(string const &filename, LoaderOptions const &options = ((())));

Description: Loads the given filename up as a model, if it has not already been loaded, and returns the new model. If a model with the same filename was previously loaded, returns that one instead. If the model file cannot be found, returns NULL.

releaseAllModels
static void ModelPool::release_all_models(void);

Description: Releases all models in the pool and restores the pool to the empty state.

releaseModel
static void ModelPool::release_model(string const &filename);

Description: Removes the indicated model from the pool, indicating it will never be loaded again; the model may then be freed. If this function is never called, a reference count will be maintained on every model every loaded, and models will never be freed.
This version of this method is deprecated; use release_model(model) instead.
The model's get_fullpath() value should not have been changed during its lifetime, or this function may fail to locate it in the pool.

verifyModel
static bool ModelPool::verify_model(string const &filename);

Description: Loads the given filename up as a model, if it has not already been loaded, and returns true to indicate success, or false to indicate failure. If this returns true, it is guaranteed that a subsequent call to load_model() with the same model name will return a valid Node pointer.

write
static void ModelPool::write(ostream &out);

Description: Lists the contents of the model pool to the indicated output stream. Helps with debugging.


ModelRoot

    from pandac.PandaModules import ModelRoot
    Class : ModelRoot
    Description : A node of this type is created automatically at the root of each model file that is loaded. It may eventually contain some information about the contents of the model; at the moment, it contains no special information, but can be used as a flag to indicate the presence of a loaded model file.

Inheritance:

    ModelRoot: ModelNode
    ModelNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of ModelRoot:

    ModelRoot (Constructor)
    getClassType
    getFullpath
    getModelRefCount
    getReference
    setFullpath
    setReference

Methods of ModelNode:

    ModelNode (Constructor)
    getClassType
    getPreserveAttributes
    getPreserveTransform
    setPreserveAttributes
    setPreserveTransform
    setTransformLimit

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in ModelNode:

    PTNone | (PreserveTransform)
PTLocal | (PreserveTransform)
PTNet | (PreserveTransform)
PTDropNode | (PreserveTransform)

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
ModelRoot
ModelRoot::ModelRoot(string const &name);

Description:

getClassType
static TypeHandle ModelRoot::get_class_type(void);

Undocumented function.

getFullpath
Filename const &ModelRoot::get_fullpath(void) const;

Description: Returns the full pathname of the model represented by this node, as found on disk. This is mainly useful for reference purposes, but is also used to index the ModelRoot into the ModelPool.

getModelRefCount
int ModelRoot::get_model_ref_count(void) const;

Description: Returns the number of copies that exist of this particular ModelRoot node. Each time ModelRoot::copy_subgraph() or make_copy() is called (or some other copying mechanism, such as NodePath.copy_to(), is used), this count will increment by one in all copies; when one of the copies is destructed, this count will decrement.

getReference
ModelRoot::ModelReference *ModelRoot::get_reference(void) const;

Description: Returns the pointer that represents the object shared between all copies of this ModelRoot. Since there's not much associated with this object other than a reference count, normally there's not much reason to get the pointer (though it may be compared pointerwise with other ModelRoot objects).

setFullpath
void ModelRoot::set_fullpath(Filename const &fullpath);

Description: Sets the full pathname of the model represented by this node, as found on disk. This is mainly useful for reference purposes, but is also used to index the ModelRoot into the ModelPool.
This is normally set automatically when a model is loaded, and should not be set directly by the user. If you change this on a loaded model, then ModelPool::release_model() may fail.

setReference
void ModelRoot::set_reference(ModelRoot::ModelReference *ref);

Description: Changes the pointer that represents the object shared between all copies of this ModelRoot. This will disassociate this ModelRoot from all of its copies. Normally, there's no reason to do this.

ModelNode
ModelNode::ModelNode(string const &name);

Description:

getClassType
static TypeHandle ModelNode::get_class_type(void);

Undocumented function.

getPreserveAttributes
int ModelNode::get_preserve_attributes(void) const;

Description: Returns the current setting of the preserve_attributes flag. See set_preserve_attributes().

getPreserveTransform
ModelNode::PreserveTransform ModelNode::get_preserve_transform(void) const;

Description: Returns the current setting of the preserve_transform flag. See set_preserve_transform().

setPreserveAttributes
void ModelNode::set_preserve_attributes(int attrib_mask);

Description: Sets the preserve_attributes flag. This restricts the ability of a flatten operation to affect the render attributes stored on this node.
The value should be the union of bits from SceneGraphReducer::AttribTypes that represent the attributes that should *not* be changed.

setPreserveTransform
void ModelNode::set_preserve_transform(ModelNode::PreserveTransform preserve_transform);

Description: Sets the preserve_transform flag. This restricts the ability of a flatten operation to affect the transform stored on this node. If the flag is:
PT_none - the transform may be adjusted at will.
PT_local - the local (and net) transform should not be changed in any way. If necessary, an extra transform will be left on the node above to guarantee this. This is the strongest restriction.
PT_net - preserve the net transform from the root, but it's acceptable to modify the local transform stored on this particular node if necessary, so long as the net transform is not changed. This eliminates the need to drop an extra transform on the node above.

setTransformLimit
void ModelNode::set_transform_limit(float limit);

Undocumented function.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ModFilter

    from direct.pyinst.tocfilter import ModFilter
    A filter for Python modules. ModFilter(modlist) where modlist is eg ['macpath', 'dospath']

Inheritance:

    ModFilter:

Methods of ModFilter:

    __init__
__init__
def __init__(self, modlist)

Undocumented function.


ModifierButtons

    from pandac.PandaModules import ModifierButtons
    Class : ModifierButtons
    Description : This class monitors the state of a number of individual buttons and tracks whether each button is known to be down or up.

Inheritance:

    ModifierButtons:

Methods of ModifierButtons:

    ModifierButtons (Constructor)
    addButton
    allButtonsUp
    buttonDown
    buttonUp
    getButton
    getNumButtons
    getPrefix
    hasButton
    isAnyDown
    isDown
    matches
    operator !=
    operator &
    operator &=
    operator <
    operator =
    operator ==
    operator |
    operator |=
    output
    removeButton
    setButtonList
    write
ModifierButtons
ModifierButtons::ModifierButtons(void);

Description:

addButton
bool ModifierButtons::add_button(ButtonHandle button);

Description: Adds the indicated button to the set of buttons that will be monitored for upness and downness. Returns true if the button was added, false if it was already being monitored or if too many buttons are currently being monitored.

allButtonsUp
void ModifierButtons::all_buttons_up(void);

Description: Marks all monitored buttons as being in the "up" state.

buttonDown
bool ModifierButtons::button_down(ButtonHandle button);

Description: Records that a particular button has been pressed. If the given button is one of the buttons that is currently being monitored, this will update the internal state appropriately; otherwise, it will do nothing. Returns true if the button is one that was monitored, or false otherwise.

buttonUp
bool ModifierButtons::button_up(ButtonHandle button);

Description: Records that a particular button has been released. If the given button is one of the buttons that is currently being monitored, this will update the internal state appropriately; otherwise, it will do nothing. Returns true if the button is one that was monitored, or false otherwise.

getButton
ButtonHandle ModifierButtons::get_button(int index) const;

Description: Returns the nth button that the ModifierButtons object is monitoring (the nth button passed to add_button()). This must be in the range 0 <= index < get_num_buttons().

getNumButtons
int ModifierButtons::get_num_buttons(void) const;

Description: Returns the number of buttons that the ModifierButtons object is monitoring (e.g. the number of buttons passed to add_button()).

getPrefix
string ModifierButtons::get_prefix(void) const;

Description: Returns a string which can be used to prefix any button name or event name with the unique set of modifier buttons currently being held.

hasButton
bool ModifierButtons::has_button(ButtonHandle button) const;

Description: Returns true if the indicated button is in the set of buttons being monitored, false otherwise.

isAnyDown
bool ModifierButtons::is_any_down(void) const;

Description: Returns true if any of the tracked button are known to be down, or false if all of them are up.

isDown
bool ModifierButtons::is_down(ButtonHandle button) const;

Description: Returns true if the indicated button is known to be down, or false if it is known to be up.
Description: Returns true if the indicated button is known to be down, or false if it is known to be up or if it is not in the set of buttons being tracked.

matches
bool ModifierButtons::matches(ModifierButtons const &other) const;

Description: Returns true if the set of buttons indicated as down by this ModifierButtons object is the same set of buttons indicated as down by the other ModifierButtons object. The buttons indicated as up are not relevant.

operator !=
bool ModifierButtons::operator !=(ModifierButtons const &other) const;

Description:

operator &
ModifierButtons ModifierButtons::operator &(ModifierButtons const &other) const;

Description: Returns a new ModifierButtons object for which is_down() will be true only if it is true on both source objects. The set of buttons reported by has_button() is not completely defined if both source objects have a different set.

operator &=
void ModifierButtons::operator &=(ModifierButtons const &other);

Description: Sets is_down() true for any button that is already true for this object and the other object.

operator <
bool ModifierButtons::operator <(ModifierButtons const &other) const;

Description:

operator =
void ModifierButtons::operator =(ModifierButtons const &copy);

Description:

operator ==
bool ModifierButtons::operator ==(ModifierButtons const &other) const;

Description: The equality operator is an exact comparision: the two ModifierButtons are equal if they share the same button list--indeed, the same pointer--and they all the buttons have the same state. Use matches() if a less exact equality test is needed.

operator |
ModifierButtons ModifierButtons::operator |(ModifierButtons const &other) const;

Description: Returns a new ModifierButtons object for which is_down() will be true if it is true on either of the source objects. The set of buttons reported by has_button() is not completely defined if both source objects have a different set.

operator |=
void ModifierButtons::operator |=(ModifierButtons const &other);

Description: Sets is_down() true for any button that is already true for this object and the other object. Adds whatever buttons are necessary to the list to make this so

output
void ModifierButtons::output(ostream &out) const;

Description: Writes a one-line summary of the buttons known to be down.

removeButton
bool ModifierButtons::remove_button(ButtonHandle button);

Description: Removes the indicated button from the set of buttons being monitored. Returns true if the button was removed, false if it was not being monitored in the first place.
Unlike the other methods, you cannot remove a button by removing its alias; you have to remove exactly the button itself.

setButtonList
void ModifierButtons::set_button_list(ModifierButtons const &other);

Description: Sets the list of buttons to watch to be the same as that of the other ModifierButtons object. This makes the lists pointer equivalent (until one or the other is later modified).
This will preserve the state of any button that was on the original list and is also on the new lists. Any other buttons will get reset to the default state of "up".

write
void ModifierButtons::write(ostream &out) const;

Description: Writes a multi-line summary including all of the buttons being monitored and which ones are known to be down.


Module

    from direct.pyinst.modulefinder import Module

Inheritance:

    Module:

Methods of Module:

    __init__
    __repr__
__init__
def __init__(self, name, file=None, path=None)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.


ModuleFinder

    from direct.pyinst.modulefinder import ModuleFinder

Inheritance:

    ModuleFinder:

Methods of ModuleFinder:

    __init__
    add_module
    determine_parent
    ensure_fromlist
    find_all_submodules
    find_head_package
    find_module
    import_hook
    import_module
    load_file
    load_module
    load_package
    load_tail
    msg
    msgin
    msgout
    report
    run_script
    scan_code
__init__
def __init__(self, path=None, debug=0, excludes=[])

Undocumented function.

add_module
def add_module(self, fqname)

Undocumented function.

determine_parent
def determine_parent(self, caller)

Undocumented function.

ensure_fromlist
def ensure_fromlist(self, m, fromlist, recursive=0)

Undocumented function.

find_all_submodules
def find_all_submodules(self, m)

Undocumented function.

find_head_package
def find_head_package(self, parent, name)

Undocumented function.

find_module
def find_module(self, name, path)

Undocumented function.

import_hook
def import_hook(self, name, caller=None, fromlist=None)

Undocumented function.

import_module
def import_module(self, partname, fqname, parent)

Undocumented function.

load_file
def load_file(self, pathname)

Undocumented function.

load_module
def load_module(self, fqname, fp, pathname, (suffix, mode, type))

Undocumented function.

load_package
def load_package(self, fqname, pathname)

Undocumented function.

load_tail
def load_tail(self, q, tail)

Undocumented function.

msg
def msg(self, level, str, *args)

Undocumented function.

msgin
def msgin(self, *args)

Undocumented function.

msgout
def msgout(self, *args)

Undocumented function.

report
def report(self)

Undocumented function.

run_script
def run_script(self, pathname)

Undocumented function.

scan_code
def scan_code(self, co, m)

Undocumented function.


ModuleInspector

    from direct.tkpanels.Inspector import ModuleInspector

Inheritance:

    ModuleInspector:

Methods of ModuleInspector:

    namedParts
namedParts
def namedParts(self)

Undocumented function.


moduleresource

    from direct.pyinst.resource import moduleresource
    A module resource (differs from script in that it will generally be worked with as a .pyc instead of in source form)

Inheritance:

    moduleresource:

Methods of moduleresource:

    __init__
    asBinary
    asSource
__init__
def __init__(self, name, fullname)

Undocumented function.

asBinary
def asBinary(self)

Return self as a dataresource (ie, a binary file wrapper).

asSource
def asSource(self)

Return self as a scriptresource (ie, uncompiled form).


Mopath

    from direct.directutil.Mopath import Mopath

Inheritance:

    Mopath:

Methods of Mopath:

    __calcTime
    __extractCurves
    __init__
    __playTask
    calcTime
    getFinalState
    getMaxT
    goTo
    loadFile
    loadNodePath
    play
    reset
    stop
__calcTime
def __calcTime(self, tIn, tCurveList)

Undocumented function.

__extractCurves
def __extractCurves(self, nodePath)

Undocumented function.

__init__
def __init__(self, name=None, fluid=1)

Undocumented function.

__playTask
def __playTask(self, state)

Undocumented function.

calcTime
def calcTime(self, tIn)

Undocumented function.

getFinalState
def getFinalState(self)

Undocumented function.

getMaxT
def getMaxT(self)

Undocumented function.

goTo
def goTo(self, node, time)

Undocumented function.

loadFile
def loadFile(self, filename, fReset=1)

Undocumented function.

loadNodePath
def loadNodePath(self, nodePath, fReset=1)

Undocumented function.

play
def play(self, node, time=0.0, loop=0)

Undocumented function.

reset
def reset(self)

Undocumented function.

stop
def stop(self)

Undocumented function.


MopathInterval

    from direct.interval.MopathInterval import MopathInterval

Inheritance:

    MopathInterval:

Methods of MopathInterval:

    __doMopath
    __init__
    destroy
__doMopath
def __doMopath(self, t)

Go to time t

__init__
def __init__(self, mopath, node, fromT=0, toT=None, duration=None, blendType='noBlend', name=None)

Undocumented function.

destroy
def destroy(self)

Cleanup to avoid a garbage cycle.


MopathRecorder

    from direct.tkpanels.MopathRecorder import MopathRecorder

Inheritance:

    MopathRecorder:

Methods of MopathRecorder:

    __init__
    addKeyframe
    addNodePath
    addNodePathToDict
    addWidget
    appInit
    computeCurves
    createAngleDial
    createButton
    createCheckbutton
    createColorEntry
    createComboBox
    createEntryScale
    createFloater
    createInterface
    createLabeledEntry
    createNewPointSet
    createOptionMenu
    createRadiobutton
    createSlider
    createVector2Entry
    createVector3Entry
    cropCurve
    curveEditTask
    desampleCurve
    deselectedNodePathHook
    disableKeyframeButton
    easeInOut
    enableKeyframeButton
    extractPointSetFromCurveCollection
    extractPointSetFromCurveFitter
    faceForward
    followTerrain
    getChildIds
    getPostPoints
    getPrePoints
    getVariable
    getWidget
    initTrace
    jumpToEndOfPlayback
    jumpToStartOfPlayback
    loadCurveFromFile
    makeCameraWindow
    makeEven
    manipulateObjectCleanupHook
    manipulateObjectStartHook
    mergePoints
    onDestroy
    playbackGoTo
    playbackTask
    pushRedo
    pushRedoHook
    pushUndo
    pushUndoHook
    recordPoint
    recordTask
    redoHook
    redoListEmptyHook
    reset
    sampleCurve
    saveCurveToFile
    selectedNodePathHook
    selectNodePathNamed
    selectPointSetNamed
    setControlStart
    setControlStop
    setCropFrom
    setCropTo
    setCvColor
    setCvVis
    setDesampleFrequency
    setExtendMode
    setHullColor
    setHullVis
    setKeyframeHook
    setKnotColor
    setKnotVis
    setLoopPlayback
    setMarkerVis
    setNewCurveMode
    setNodePath
    setNumSamples
    setNumSegs
    setNumTicks
    setPathColor
    setPathDuration
    setPathDurationTo
    setPathVis
    setPlaybackNodePath
    setPlaybackSF
    setPreRecordFunc
    setRecordingType
    setRecordStart
    setRefineMode
    setRefineStop
    setSamplingMode
    setSpeedScale
    setStartStopHook
    setTickColor
    setTickScale
    setTraceVis
    startPlayback
    startStopPlayback
    stopPlayback
    toggleRecord
    toggleRecordVar
    undoHook
    undoListEmptyHook
    updateWidgets
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

addKeyframe
def addKeyframe(self, fToggleRecord=1)

Undocumented function.

addNodePath
def addNodePath(self, nodePath)

Undocumented function.

addNodePathToDict
def addNodePathToDict(self, nodePath, names, menu, dict)

Undocumented function.

addWidget
def addWidget(self, widget, category, text)

Undocumented function.

appInit
def appInit(self)

Undocumented function.

computeCurves
def computeCurves(self)

Undocumented function.

createAngleDial
def createAngleDial(self, parent, category, text, balloonHelp, command=None, **kw)

Undocumented function.

createButton
def createButton(self, parent, category, text, balloonHelp, command, side='top', expand=0, fill=X)

Undocumented function.

createCheckbutton
def createCheckbutton(self, parent, category, text, balloonHelp, command, initialState, side='top', fill=X, expand=0)

Undocumented function.

createColorEntry
def createColorEntry(self, parent, category, text, balloonHelp, command=None, **kw)

Undocumented function.

createComboBox
def createComboBox(self, parent, category, text, balloonHelp, items, command, history=0, side=LEFT, expand=0, fill=X)

Undocumented function.

createEntryScale
def createEntryScale(self, parent, category, text, balloonHelp, command=None, min=0.0, max=1.0, resolution=None, side=TOP, fill=X, expand=1, **kw)

Undocumented function.

createFloater
def createFloater(self, parent, category, text, balloonHelp, command=None, min=0.0, resolution=None, maxVelocity=10.0, **kw)

Undocumented function.

createInterface
def createInterface(self)

Undocumented function.

createLabeledEntry
def createLabeledEntry(self, parent, category, text, balloonHelp, value='', command=None, relief='sunken', side=LEFT, expand=1, width=12)

Undocumented function.

createNewPointSet
def createNewPointSet(self)

Undocumented function.

createOptionMenu
def createOptionMenu(self, parent, category, text, balloonHelp, items, command)

Undocumented function.

createRadiobutton
def createRadiobutton(self, parent, side, category, text, balloonHelp, variable, value, command=None, fill=X, expand=0)

Undocumented function.

createSlider
def createSlider(self, parent, category, text, balloonHelp, command=None, min=0.0, max=1.0, resolution=None, side=TOP, fill=X, expand=1, **kw)

Undocumented function.

createVector2Entry
def createVector2Entry(self, parent, category, text, balloonHelp, command=None, **kw)

Undocumented function.

createVector3Entry
def createVector3Entry(self, parent, category, text, balloonHelp, command=None, **kw)

Undocumented function.

cropCurve
def cropCurve(self)

Undocumented function.

curveEditTask
def curveEditTask(self, state)

Undocumented function.

desampleCurve
def desampleCurve(self)

Undocumented function.

deselectedNodePathHook
def deselectedNodePathHook(self, nodePath)

Hook called upon deselection of a node path used to select playback marker if subnode selected

disableKeyframeButton
def disableKeyframeButton(self)

Undocumented function.

easeInOut
def easeInOut(self, t)

Undocumented function.

enableKeyframeButton
def enableKeyframeButton(self)

Undocumented function.

extractPointSetFromCurveCollection
def extractPointSetFromCurveCollection(self)

Undocumented function.

extractPointSetFromCurveFitter
def extractPointSetFromCurveFitter(self)

Undocumented function.

faceForward
def faceForward(self)

Undocumented function.

followTerrain
def followTerrain(self, height=1.0)

Undocumented function.

getChildIds
def getChildIds(self, nodePath)

Undocumented function.

getPostPoints
def getPostPoints(self)

Undocumented function.

getPrePoints
def getPrePoints(self, type='Refine')

Undocumented function.

getVariable
def getVariable(self, category, text)

Undocumented function.

getWidget
def getWidget(self, category, text)

Undocumented function.

initTrace
def initTrace(self)

Undocumented function.

jumpToEndOfPlayback
def jumpToEndOfPlayback(self)

Undocumented function.

jumpToStartOfPlayback
def jumpToStartOfPlayback(self)

Undocumented function.

loadCurveFromFile
def loadCurveFromFile(self)

Undocumented function.

makeCameraWindow
def makeCameraWindow(self)

Undocumented function.

makeEven
def makeEven(self)

Undocumented function.

manipulateObjectCleanupHook
def manipulateObjectCleanupHook(self, nodePathList=[])

Undocumented function.

manipulateObjectStartHook
def manipulateObjectStartHook(self)

Undocumented function.

mergePoints
def mergePoints(self)

Undocumented function.

onDestroy
def onDestroy(self, event)

Undocumented function.

playbackGoTo
def playbackGoTo(self, time)

Undocumented function.

playbackTask
def playbackTask(self, state)

Undocumented function.

pushRedo
def pushRedo(self)

Undocumented function.

pushRedoHook
def pushRedoHook(self)

Undocumented function.

pushUndo
def pushUndo(self, fResetRedo=1)

Undocumented function.

pushUndoHook
def pushUndoHook(self)

Undocumented function.

recordPoint
def recordPoint(self, time)

Undocumented function.

recordTask
def recordTask(self, state)

Undocumented function.

redoHook
def redoHook(self, nodePathList=[])

Undocumented function.

redoListEmptyHook
def redoListEmptyHook(self)

Undocumented function.

reset
def reset(self)

Undocumented function.

sampleCurve
def sampleCurve(self, fCompute=1)

Undocumented function.

saveCurveToFile
def saveCurveToFile(self)

Undocumented function.

selectedNodePathHook
def selectedNodePathHook(self, nodePath)

Hook called upon selection of a node path used to select playback marker if subnode selected

selectNodePathNamed
def selectNodePathNamed(self, name)

Undocumented function.

selectPointSetNamed
def selectPointSetNamed(self, name)

Undocumented function.

setControlStart
def setControlStart(self, value)

Undocumented function.

setControlStop
def setControlStop(self, value)

Undocumented function.

setCropFrom
def setCropFrom(self, value)

Undocumented function.

setCropTo
def setCropTo(self, value)

Undocumented function.

setCvColor
def setCvColor(self, color)

Undocumented function.

setCvVis
def setCvVis(self)

Undocumented function.

setDesampleFrequency
def setDesampleFrequency(self, frequency)

Undocumented function.

setExtendMode
def setExtendMode(self)

Undocumented function.

setHullColor
def setHullColor(self, color)

Undocumented function.

setHullVis
def setHullVis(self)

Undocumented function.

setKeyframeHook
def setKeyframeHook(self, event=None)

Undocumented function.

setKnotColor
def setKnotColor(self, color)

Undocumented function.

setKnotVis
def setKnotVis(self)

Undocumented function.

setLoopPlayback
def setLoopPlayback(self)

Undocumented function.

setMarkerVis
def setMarkerVis(self)

Undocumented function.

setNewCurveMode
def setNewCurveMode(self)

Undocumented function.

setNodePath
def setNodePath(self, nodePath)

Undocumented function.

setNumSamples
def setNumSamples(self, numSamples)

Undocumented function.

setNumSegs
def setNumSegs(self, value)

Undocumented function.

setNumTicks
def setNumTicks(self, value)

Undocumented function.

setPathColor
def setPathColor(self, color)

Undocumented function.

setPathDuration
def setPathDuration(self, event)

Undocumented function.

setPathDurationTo
def setPathDurationTo(self, newMaxT)

Undocumented function.

setPathVis
def setPathVis(self)

Undocumented function.

setPlaybackNodePath
def setPlaybackNodePath(self, nodePath)

Undocumented function.

setPlaybackSF
def setPlaybackSF(self, value)

Undocumented function.

setPreRecordFunc
def setPreRecordFunc(self, func)

Undocumented function.

setRecordingType
def setRecordingType(self, type)

Undocumented function.

setRecordStart
def setRecordStart(self, value)

Undocumented function.

setRefineMode
def setRefineMode(self)

Undocumented function.

setRefineStop
def setRefineStop(self, value)

Undocumented function.

setSamplingMode
def setSamplingMode(self, mode)

Undocumented function.

setSpeedScale
def setSpeedScale(self, value)

Undocumented function.

setStartStopHook
def setStartStopHook(self, event=None)

Undocumented function.

setTickColor
def setTickColor(self, color)

Undocumented function.

setTickScale
def setTickScale(self, value)

Undocumented function.

setTraceVis
def setTraceVis(self)

Undocumented function.

startPlayback
def startPlayback(self)

Undocumented function.

startStopPlayback
def startStopPlayback(self)

Undocumented function.

stopPlayback
def stopPlayback(self)

Undocumented function.

toggleRecord
def toggleRecord(self)

Undocumented function.

toggleRecordVar
def toggleRecordVar(self)

Undocumented function.

undoHook
def undoHook(self, nodePathList=[])

Undocumented function.

undoListEmptyHook
def undoListEmptyHook(self)

Undocumented function.

updateWidgets
def updateWidgets(self)

Undocumented function.


MotionTrail

    from direct.motiontrail.MotionTrail import MotionTrail

Inheritance:

    MotionTrail:

Methods of MotionTrail:

    __init__
    add_geometry_quad
    add_vertex
    attach_motion_trail
    begin_geometry
    begin_motion_trail
    check_for_update
    def
    delete
    enable_motion_trail
    end_geometry
    end_motion_trail
    motion_trail_task
    pause_motion_trail
    print_matrix
    register_motion_trail
    reset_motion_trail
    reset_motion_trail_geometry
    resume_motion_trail
    set_fade
    set_texture
    set_vertex_color
    toggle_pause_motion_trail
    transferVertices
    unregister_motion_trail
    update_motion_trail
    update_vertices
__init__
def __init__(self, name, parent_node_path)

Undocumented function.

add_geometry_quad
def add_geometry_quad(self, v0, v1, v2, v3, c0, c1, c2, c3, t0, t1, t2, t3)

Undocumented function.

add_vertex
def add_vertex(self, vertex_id, vertex_function, context)

Undocumented function.

attach_motion_trail
def attach_motion_trail(self)

Undocumented function.

begin_geometry
def begin_geometry(self)

Undocumented function.

begin_motion_trail
def begin_motion_trail(self)

Undocumented function.

check_for_update
def check_for_update(self, current_time)

Undocumented function.

def
def defsetGlobalEnable

Undocumented function.

delete
def delete(self)

Undocumented function.

enable_motion_trail
def enable_motion_trail(self, enable)

Undocumented function.

end_geometry
def end_geometry(self)

Undocumented function.

end_motion_trail
def end_motion_trail(self)

Undocumented function.

motion_trail_task
def motion_trail_task(self, task)

Undocumented function.

pause_motion_trail
def pause_motion_trail(self, current_time)

Undocumented function.

print_matrix
def print_matrix(self, matrix)

Undocumented function.

register_motion_trail
def register_motion_trail(self)

Undocumented function.

reset_motion_trail
def reset_motion_trail(self)

Undocumented function.

reset_motion_trail_geometry
def reset_motion_trail_geometry(self)

Undocumented function.

resume_motion_trail
def resume_motion_trail(self, current_time)

Undocumented function.

set_fade
def set_fade(self, time, current_time)

Undocumented function.

set_texture
def set_texture(self, texture)

Undocumented function.

set_vertex_color
def set_vertex_color(self, vertex_id, start_color, end_color)

Undocumented function.

toggle_pause_motion_trail
def toggle_pause_motion_trail(self, current_time)

Undocumented function.

transferVertices
def transferVertices(self)

Undocumented function.

unregister_motion_trail
def unregister_motion_trail(self)

Undocumented function.

update_motion_trail
def update_motion_trail(self, current_time, transform)

Undocumented function.

update_vertices
def update_vertices(self)

Undocumented function.


MotionTrailFrame

    from direct.motiontrail.MotionTrail import MotionTrailFrame

Inheritance:

    MotionTrailFrame:

Methods of MotionTrailFrame:

    __init__
__init__
def __init__(self, current_time, transform)

Undocumented function.


MotionTrailVertex

    from direct.motiontrail.MotionTrail import MotionTrailVertex

Inheritance:

    MotionTrailVertex:

Methods of MotionTrailVertex:

    __init__
__init__
def __init__(self, vertex_id, vertex_function, context)

Undocumented function.


MouseAndKeyboard

    from pandac.PandaModules import MouseAndKeyboard
    Class : MouseAndKeyboard
    Description : Reads the mouse and/or keyboard data sent from a GraphicsWindow, and transmits it down the data graph.
    The mouse and keyboard devices are bundled together into one device here, because they interrelate so much. A mouse might be constrained by the holding down of the shift key, for instance, or the clicking of the mouse button might be handled in much the same way as a keyboard key.
    Mouse data is sent down the data graph as an x,y position as well as the set of buttons currently being held down; keyboard data is sent down as a set of keypress events in an EventDataTransition. To throw these events to the system, you must attach an EventThrower to the MouseAndKeyboard object; otherwise, the events will be discarded.

Inheritance:

    MouseAndKeyboard: DataNode
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of MouseAndKeyboard:

    MouseAndKeyboard (Constructor)
    getClassType
    setSource

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
MouseAndKeyboard
MouseAndKeyboard::MouseAndKeyboard(GraphicsWindow *window, int device, string const &name);

Description:

getClassType
static TypeHandle MouseAndKeyboard::get_class_type(void);

Undocumented function.

setSource
void MouseAndKeyboard::set_source(GraphicsWindow *window, int device);

Description: Redirects the class to get the data from the mouse and keyboard associated with a different window and/or device number.

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


MouseButton

    from pandac.PandaModules import MouseButton
    Class : MouseButton
    Description : This class is just used as a convenient namespace for grouping all of these handy functions that return buttons which map to standard mouse buttons.

Inheritance:

    MouseButton:

Methods of MouseButton:

    button
    five
    four
    isMouseButton
    one
    three
    two
    wheelDown
    wheelUp
button
static ButtonHandle MouseButton::button(int button_number);

Description: Returns the ButtonHandle associated with the particular numbered mouse button (zero-based), if there is one, or ButtonHandle::none() if there is not.

five
static ButtonHandle MouseButton::five(void);

Description: Returns the ButtonHandle associated with the fifth mouse button.

four
static ButtonHandle MouseButton::four(void);

Description: Returns the ButtonHandle associated with the fourth mouse button.

isMouseButton
static bool MouseButton::is_mouse_button(ButtonHandle button);

Description: Returns true if the indicated ButtonHandle is a mouse button, false if it is some other kind of button.

one
static ButtonHandle MouseButton::one(void);

Description: Returns the ButtonHandle associated with the first mouse button.

three
static ButtonHandle MouseButton::three(void);

Description: Returns the ButtonHandle associated with the third mouse button.

two
static ButtonHandle MouseButton::two(void);

Description: Returns the ButtonHandle associated with the second mouse button.

wheelDown
static ButtonHandle MouseButton::wheel_down(void);

Description: Returns the ButtonHandle generated when the mouse wheel is rolled one notch downwards.

wheelUp
static ButtonHandle MouseButton::wheel_up(void);

Description: Returns the ButtonHandle generated when the mouse wheel is rolled one notch upwards.


MouseData

    from pandac.PandaModules import MouseData
    Class : MouseData
    Description : Holds the data that might be generated by a 2-d pointer input device, such as the mouse in the GraphicsWindow.

Inheritance:

    MouseData:

Methods of MouseData:

    MouseData (Constructor)
    getInWindow
    getX
    getY
    operator =
    output
MouseData
MouseData::MouseData(void);

Description:

getInWindow
bool MouseData::get_in_window(void) const;

Description:

getX
int MouseData::get_x(void) const;

Description:

getY
int MouseData::get_y(void) const;

Description:

operator =
void MouseData::operator =(MouseData const &copy);

Description:

output
void MouseData::output(ostream &out) const;

Description:


MouseInterfaceNode

    from pandac.PandaModules import MouseInterfaceNode
    Class : MouseInterfaceNode
    Description : This is the base class for some classes that monitor the mouse and keyboard input and perform some action due to their state.
    It collects together some common interface; in particular, the require_button() and related methods.

Inheritance:

    MouseInterfaceNode: DataNode
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of MouseInterfaceNode:

    clearAllButtons
    clearButton
    getClassType
    requireButton

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
clearAllButtons
void MouseInterfaceNode::clear_all_buttons(void);

Description: Removes all requirements on buttons set by an earlier call to require_button().

clearButton
void MouseInterfaceNode::clear_button(ButtonHandle const &button);

Description: Removes any requirement on the indicated button set by an earlier call to require_button().

getClassType
static TypeHandle MouseInterfaceNode::get_class_type(void);

Undocumented function.

requireButton
void MouseInterfaceNode::require_button(ButtonHandle const &button, bool is_down);

Description: Indicates that the indicated button must be in the required state (either up or down) in order for this particular MouseInterfaceNode to do anything. For instance, this may be called to make a Trackball object respect mouse input only when the control key is held down.

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


MouseRecorder

    from pandac.PandaModules import MouseRecorder
    Class : MouseRecorder
    Description : This object records any data generated by a particular MouseAndKeyboard node on the datagraph for a session for eventual playback via a DataGraphPlayback (and a PlaybackController). To use it, make it a child of the node you wish to record. It also serves as a pass-through, so that additional child nodes may be parented directly to it.

Inheritance:

    MouseRecorder: DataNode RecorderBase
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase
    RecorderBase: ReferenceCount

Methods of MouseRecorder:

    MouseRecorder (Constructor)
    getClassType

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of RecorderBase:

    getClassType
    isPlaying
    isRecording

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
MouseRecorder
MouseRecorder::MouseRecorder(string const &name);

Description:

getClassType
static TypeHandle MouseRecorder::get_class_type(void);

Undocumented function.

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

getClassType
static TypeHandle RecorderBase::get_class_type(void);

Undocumented function.

isPlaying
bool RecorderBase::is_playing(void) const;

Description: Returns true if this recorder is presently playing back data from session file, false otherwise. If this is true, play_data() will be called from time to time.

isRecording
bool RecorderBase::is_recording(void) const;

Description: Returns true if this recorder is presently recording data for saving to a session file, false otherwise. If this is true, record_data() will be called from time to time.


MouseSubregion

    from pandac.PandaModules import MouseSubregion
    Class : MouseSubregion
    Description : The MouseSubregion object scales the mouse inputs from within a rectangular region of the screen, as if they were the full-screen inputs.
    If you choose your MouseSubregion coordinates to exactly match a DisplayRegion within your window, you end up with a virtual mouse within your DisplayRegion.

Inheritance:

    MouseSubregion: MouseInterfaceNode
    MouseInterfaceNode: DataNode
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of MouseSubregion:

    MouseSubregion (Constructor)
    getBottom
    getClassType
    getLeft
    getRight
    getTop
    setDimensions

Methods of MouseInterfaceNode:

    clearAllButtons
    clearButton
    getClassType
    requireButton

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
MouseSubregion
MouseSubregion::MouseSubregion(string const &name);

Description:

getBottom
float MouseSubregion::get_bottom(void) const;

Description: Retrieves the y coordinate of the bottom edge of the rectangle within the window. This number will be in the range [0..1].

getClassType
static TypeHandle MouseSubregion::get_class_type(void);

Undocumented function.

getLeft
float MouseSubregion::get_left(void) const;

Description: Retrieves the x coordinate of the left edge of the rectangle within the window. This number will be in the range [0..1].

getRight
float MouseSubregion::get_right(void) const;

Description: Retrieves the x coordinate of the right edge of the rectangle within the window. This number will be in the range [0..1].

getTop
float MouseSubregion::get_top(void) const;

Description: Retrieves the y coordinate of the top edge of the rectangle within the window. This number will be in the range [0..1].

setDimensions
void MouseSubregion::set_dimensions(float l, float r, float b, float t);

Description: Changes the region of the window in which the mouse is considered to be active. The parameters are identical to those for a DisplayRegion: they range from 0 to 1, where 0,0 is the lower left corner and 1,1 is the upper right; (0, 1, 0, 1) represents the whole window.

clearAllButtons
void MouseInterfaceNode::clear_all_buttons(void);

Description: Removes all requirements on buttons set by an earlier call to require_button().

clearButton
void MouseInterfaceNode::clear_button(ButtonHandle const &button);

Description: Removes any requirement on the indicated button set by an earlier call to require_button().

getClassType
static TypeHandle MouseInterfaceNode::get_class_type(void);

Undocumented function.

requireButton
void MouseInterfaceNode::require_button(ButtonHandle const &button, bool is_down);

Description: Indicates that the indicated button must be in the required state (either up or down) in order for this particular MouseInterfaceNode to do anything. For instance, this may be called to make a Trackball object respect mouse input only when the control key is held down.

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


MouseWatcher

    from pandac.PandaModules import MouseWatcher
    Class : MouseWatcher
    Description : This TFormer maintains a list of rectangular regions on the screen that are considered special mouse regions; typically these will be click buttons. When the mouse passes in or out of one of these regions, or when a button is clicked while the mouse is in one of these regions, an event is thrown.
    Mouse events may also be suppressed from the rest of the datagraph in these special regions.
    This class can also implement a software mouse pointer by automatically generating a transform to apply to a piece of geometry placed under the 2-d scene graph. It will move the geometry around according to the mouse's known position.
    Finally, this class can keep a record of the mouse trail. This is useful if you want to know, not just where the mouse is, but the exact sequence of movements it took to get there. This information is mainly useful for gesture-recognition code. To use trail logging, you need to enable the generation of pointer events in the GraphicsWindowInputDevice and set the trail log duration in the MouseWatcher. Otherwise, the trail log will be empty.

Inheritance:

    MouseWatcher: DataNode MouseWatcherGroup
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase
    MouseWatcherGroup: ReferenceCount

Methods of MouseWatcher:

    MouseWatcher (Constructor)
    addGroup
    clearDisplayRegion
    clearGeometry
    clearInactivityTimeout
    clearTrailLog
    clearTrailNode
    getButtonDownPattern
    getButtonRepeatPattern
    getButtonUpPattern
    getClassType
    getDisplayRegion
    getEnterPattern
    getExtraHandler
    getGeometry
    getGroup
    getInactivityTimeout
    getInactivityTimeoutEvent
    getLeavePattern
    getModifierButtons
    getMouse
    getMouseX
    getMouseY
    getNumGroups
    getOverRegion
    getTrailLog
    getTrailNode
    getWithinPattern
    getWithoutPattern
    hasDisplayRegion
    hasGeometry
    hasInactivityTimeout
    hasMouse
    isButtonDown
    isMouseOpen
    isOverRegion
    noteActivity
    numTrailRecent
    removeGroup
    removeRegion
    replaceGroup
    setButtonDownPattern
    setButtonRepeatPattern
    setButtonUpPattern
    setDisplayRegion
    setEnterPattern
    setExtraHandler
    setGeometry
    setInactivityTimeout
    setInactivityTimeoutEvent
    setLeavePattern
    setModifierButtons
    setTrailLogDuration
    setWithinPattern
    setWithoutPattern

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of MouseWatcherGroup:

    addRegion
    clearRegions
    findRegion
    getClassType
    getNumRegions
    getRegion
    hasRegion
    hideRegions
    output
    removeRegion
    setColor
    showRegions
    updateRegions
    write

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
MouseWatcher
MouseWatcher::MouseWatcher(string const &name = (""));

Description:

addGroup
bool MouseWatcher::add_group(MouseWatcherGroup *group);

Description: Adds the indicated group of regions to the set of regions the MouseWatcher will monitor each frame.
Since the MouseWatcher itself inherits from MouseWatcherGroup, this operation is normally not necessary--you can simply add the Regions you care about one at a time. Adding a complete group is useful when you may want to explicitly remove the regions as a group later.
Returns true if the group was successfully added, or false if it was already on the list.

clearDisplayRegion
void MouseWatcher::clear_display_region(void);

Description: Removes the display region constraint from the MouseWatcher, and restores it to the default behavior of watching the whole window.

clearGeometry
void MouseWatcher::clear_geometry(void);

Description: Stops the use of the software cursor set up via set_geometry().

clearInactivityTimeout
void MouseWatcher::clear_inactivity_timeout(void);

Description: Removes the inactivity timeout and restores the MouseWatcher to its default behavior of allowing a key to be held indefinitely.

clearTrailLog
void MouseWatcher::clear_trail_log(void);

Description: Clears the mouse trail log. This does not prevent further accumulation of the log given future events.

clearTrailNode
void MouseWatcher::clear_trail_node(void);

Description: If you have previously fetched the trail node using get_trail_node, then the MouseWatcher is continually updating the trail node every frame. Using clear_trail_node causes the MouseWatcher to forget the trail node and stop updating it.

getButtonDownPattern
string const &MouseWatcher::get_button_down_pattern(void) const;

Description: Returns the string that indicates how event names are generated when a button is depressed. See set_button_down_pattern().

getButtonRepeatPattern
string const &MouseWatcher::get_button_repeat_pattern(void) const;

Description: Returns the string that indicates how event names are names are generated when a button is continuously held and generates keyrepeat "down" events. See set_button_repeat_pattern().

getButtonUpPattern
string const &MouseWatcher::get_button_up_pattern(void) const;

Description: Returns the string that indicates how event names are generated when a button is released. See set_button_down_pattern().

getClassType
static TypeHandle MouseWatcher::get_class_type(void);

Undocumented function.

getDisplayRegion
DisplayRegion *MouseWatcher::get_display_region(void) const;

Description: Returns the display region the MouseWatcher is constrained to by set_display_region(), or NULL if it is not constrained.

getEnterPattern
string const &MouseWatcher::get_enter_pattern(void) const;

Description: Returns the string that indicates how event names are generated when the mouse enters a region. This is different from within_pattern, in that a mouse is only "entered" in the topmost region at a given time, while it might be "within" multiple nested regions.

getExtraHandler
EventHandler *MouseWatcher::get_extra_handler(void) const;

Description: As an optimization for the C++ Gui, an extra handler can be registered with a mouseWatcher so that events can be dealt with much sooner.

getGeometry
PandaNode *MouseWatcher::get_geometry(void) const;

Description: Returns the node that has been set as the software mouse pointer, or NULL if no node has been set. See has_geometry() and set_geometry().

getGroup
MouseWatcherGroup *MouseWatcher::get_group(int n) const;

Description: Returns the nth group added to the MouseWatcher via add_group().

getInactivityTimeout
double MouseWatcher::get_inactivity_timeout(void) const;

Description: Returns the inactivity timeout that has been set. It is an error to call this if has_inactivity_timeout() returns false.

getInactivityTimeoutEvent
string const &MouseWatcher::get_inactivity_timeout_event(void) const;

Description: Returns the event string that will be generated when the inactivity timeout counter expires. See set_inactivity_timeout().

getLeavePattern
string const &MouseWatcher::get_leave_pattern(void) const;

Description: Returns the string that indicates how event names are generated when the mouse leaves a region. This is different from without_pattern, in that a mouse is only "entered" in the topmost region at a given time, while it might be "within" multiple nested regions.

getModifierButtons
ModifierButtons MouseWatcher::get_modifier_buttons(void) const;

Description: Returns the set of buttons that are being monitored as modifier buttons, as well as their current state.

getMouse
LPoint2f const &MouseWatcher::get_mouse(void) const;

Description: It is only valid to call this if has_mouse() returns true. If so, this returns the current position of the mouse within the window.

getMouseX
float MouseWatcher::get_mouse_x(void) const;

Description: It is only valid to call this if has_mouse() returns true. If so, this returns the current X position of the mouse within the window.

getMouseY
float MouseWatcher::get_mouse_y(void) const;

Description: It is only valid to call this if has_mouse() returns true. If so, this returns the current Y position of the mouse within the window.

getNumGroups
int MouseWatcher::get_num_groups(void) const;

Description: Returns the number of separate groups added to the MouseWatcher via add_group().

getOverRegion
MouseWatcherRegion *MouseWatcher::get_over_region(void) const;

Description: Returns the smallest region the mouse is currently over, or NULL if it is over no region.
Description: Returns the smallest region the indicated point is over, or NULL if it is over no region.
Description: Returns the preferred region the mouse is over. In the case of overlapping regions, the region with the largest sort order is preferred; if two regions have the same sort order, then the smaller region is preferred.

getTrailLog
ConstPointerTo< PointerEventList > MouseWatcher::get_trail_log(void) const;

Description: Obtain the mouse trail log. This is a PointerEventList. Does not make a copy, therefore, this PointerEventList will be updated each time process_events gets called.
To use trail logging, you need to enable the generation of pointer events in the GraphicsWindowInputDevice and set the trail log duration in the MouseWatcher. Otherwise, the trail log will be empty.

getTrailNode
PointerTo< GeomNode > MouseWatcher::get_trail_node(void);

Description: Returns a GeomNode that represents the mouse trail. The intent is that you should reparent this GeomNode to Render2D, and then forget about it. The MouseWatcher will continually update the trail node. There is only one trail node, it does not create a new one each time you call get_trail_node.
This is not a particularly beautiful way to render a mouse trail. It is intended more for debugging purposes than for finished applications. Even so, It is suggested that you might want to apply a line thickness and antialias mode to the line --- doing so makes it look a lot better.

getWithinPattern
string const &MouseWatcher::get_within_pattern(void) const;

Description: Returns the string that indicates how event names are generated when the mouse wanders over a region. This is different from enter_pattern, in that a mouse is only "entered" in the topmost region at a given time, while it might be "within" multiple nested regions.

getWithoutPattern
string const &MouseWatcher::get_without_pattern(void) const;

Description: Returns the string that indicates how event names are generated when the mouse wanders out of a region. This is different from leave_pattern, in that a mouse is only "entered" in the topmost region at a given time, while it might be "within" multiple nested regions.

hasDisplayRegion
bool MouseWatcher::has_display_region(void) const;

Description: Returns true if the MouseWatcher has been constrained to a particular region of the screen via set_display_region(), or false otherwise. If this returns true, get_display_region() may be used to return the particular region.

hasGeometry
bool MouseWatcher::has_geometry(void) const;

Description: Returns true if a software mouse pointer has been setup via set_geometry(), or false otherwise. See set_geometry().

hasInactivityTimeout
bool MouseWatcher::has_inactivity_timeout(void) const;

Description: Returns true if an inactivity timeout has been set, false otherwise.

hasMouse
bool MouseWatcher::has_mouse(void) const;

Description: Returns true if the mouse is anywhere within the window, false otherwise. Also see is_mouse_open().

isButtonDown
bool MouseWatcher::is_button_down(ButtonHandle button) const;

Description: Returns true if the indicated button is currently being held down, false otherwise.

isMouseOpen
bool MouseWatcher::is_mouse_open(void) const;

Description: Returns true if the mouse is within the window and not over some particular MouseWatcherRegion that is marked to suppress mouse events; that is, that the mouse is in open space within the window.

isOverRegion
bool MouseWatcher::is_over_region(void) const;

Description: Returns true if the mouse is over any rectangular region, false otherwise.

noteActivity
void MouseWatcher::note_activity(void);

Description: Can be used in conjunction with the inactivity timeout to inform the MouseWatcher that the user has just performed some action which proves he/she is present. It may be necessary to call this for external events, such as joystick action, that the MouseWatcher might otherwise not know about. This will reset the current inactivity timer. When the inactivity timer reaches the length of time specified by set_inactivity_timeout(), with no keyboard or mouse activity and no calls to note_activity(), then any buttons held will be automatically released.

numTrailRecent
int MouseWatcher::num_trail_recent(void) const;

Description: This counter indicates how many events were added to the trail log this frame. The trail log is updated once per frame, during the process_events operation.

removeGroup
bool MouseWatcher::remove_group(MouseWatcherGroup *group);

Description: Removes the indicated group from the set of extra groups associated with the MouseWatcher. Returns true if successful, or false if the group was already removed or was never added via add_group().

removeRegion
bool MouseWatcher::remove_region(MouseWatcherRegion *region);

Description: Removes the indicated region from the group. Returns true if it was successfully removed, or false if it wasn't there in the first place.

replaceGroup
bool MouseWatcher::replace_group(MouseWatcherGroup *old_group, MouseWatcherGroup *new_group);

Description: Atomically removes old_group fom the MouseWatcher, and replaces it with new_group. Presumably old_group and new_group might have some regions in common; these are handled properly.
If old_group is not already present, simply adds new_group and returns false. Otherwise, removes old_group and adds new_group, and then returns true.

setButtonDownPattern
void MouseWatcher::set_button_down_pattern(string const &pattern);

Description: Sets the pattern string that indicates how the event names are generated when a button is depressed. This is a string that may contain any of the following:
%r - the name of the region the mouse is over %b - the name of the button pressed.
The event name will be based on the in_pattern string specified here, with all occurrences of the above strings replaced with the corresponding values.

setButtonRepeatPattern
void MouseWatcher::set_button_repeat_pattern(string const &pattern);

Description: Sets the pattern string that indicates how the event names are generated when a button is continuously held and generates keyrepeat "down" events. This is a string that may contain any of the following:
%r - the name of the region the mouse is over %b - the name of the button pressed.
The event name will be based on the in_pattern string specified here, with all occurrences of the above strings replaced with the corresponding values.

setButtonUpPattern
void MouseWatcher::set_button_up_pattern(string const &pattern);

Description: Sets the pattern string that indicates how the event names are generated when a button is released. See set_button_down_pattern().

setDisplayRegion
void MouseWatcher::set_display_region(DisplayRegion *dr);

Description: Constrains the MouseWatcher to watching the mouse within a particular indicated region of the screen. DataNodes parented under the MouseWatcher will observe the mouse and keyboard events only when the mouse is within the indicated region, and the observed range will be from -1 .. 1 across the region.
Do not delete the DisplayRegion while it is owned by the MouseWatcher.

setEnterPattern
void MouseWatcher::set_enter_pattern(string const &pattern);

Description: Sets the pattern string that indicates how the event names are generated when the mouse enters a region. This is different from within_pattern, in that a mouse is only "entered" in the topmost region at a given time, while it might be "within" multiple nested regions.

setExtraHandler
void MouseWatcher::set_extra_handler(EventHandler *eh);

Description: As an optimization for the C++ Gui, an extra handler can be registered with a mouseWatcher so that events can be dealt with much sooner.

setGeometry
void MouseWatcher::set_geometry(PandaNode *node);

Description: Sets the node that will be transformed each frame by the mouse's coordinates. It will also be hidden when the mouse goes outside the window. This can be used to implement a software mouse pointer for when a hardware (or system) mouse pointer is unavailable.

setInactivityTimeout
void MouseWatcher::set_inactivity_timeout(double timeout);

Description: Sets an inactivity timeout on the mouse activity. When this timeout (in seconds) is exceeded with no keyboard or mouse activity, all currently-held buttons are automatically released. This is intended to help protect against people who inadvertently (or intentionally) leave a keyboard key stuck down and then wander away from the keyboard.
Also, when this timeout expires, the event specified by set_inactivity_timeout_event() will be generated.

setInactivityTimeoutEvent
void MouseWatcher::set_inactivity_timeout_event(string const &event);

Description: Specifies the event string that will be generated when the inactivity timeout counter expires. See set_inactivity_timeout().

setLeavePattern
void MouseWatcher::set_leave_pattern(string const &pattern);

Description: Sets the pattern string that indicates how the event names are generated when the mouse leaves a region. This is different from without_pattern, in that a mouse is only "entered" in the topmost region at a given time, while it might be "within" multiple nested regions.

setModifierButtons
void MouseWatcher::set_modifier_buttons(ModifierButtons const &mods);

Description: Sets the buttons that should be monitored as modifier buttons for generating events to the MouseWatcherRegions.

setTrailLogDuration
void MouseWatcher::set_trail_log_duration(double duration);

Description: If the duration is nonzero, causes the MouseWatcher to log the mouse's trail. Events older than the specified duration are discarded. If the duration is zero, logging is disabled.

setWithinPattern
void MouseWatcher::set_within_pattern(string const &pattern);

Description: Sets the pattern string that indicates how the event names are generated when the mouse wanders over a region. This is different from enter_pattern, in that a mouse is only "entered" in the topmost region at a given time, while it might be "within" multiple nested regions.

setWithoutPattern
void MouseWatcher::set_without_pattern(string const &pattern);

Description: Sets the pattern string that indicates how the event names are generated when the mouse wanders out of a region. This is different from leave_pattern, in that a mouse is only "entered" in the topmost region at a given time, while it might be "within" multiple nested regions.

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

addRegion
void MouseWatcherGroup::add_region(MouseWatcherRegion *region);

Description: Adds the indicated region to the set of regions in the group. It is an error to add the same region to the set more than once.

clearRegions
void MouseWatcherGroup::clear_regions(void);

Description: Removes all the regions from the group.

findRegion
MouseWatcherRegion *MouseWatcherGroup::find_region(string const &name) const;

Description: Returns a pointer to the first region found with the indicated name. If multiple regions share the same name, the one that is returned is indeterminate.

getClassType
static TypeHandle MouseWatcherGroup::get_class_type(void);

Undocumented function.

getNumRegions
int MouseWatcherGroup::get_num_regions(void) const;

Description: Returns the number of regions in the group.

getRegion
MouseWatcherRegion *MouseWatcherGroup::get_region(int n) const;

Description: Returns the nth region of the group; returns NULL if there is no nth region. Note that this is not thread-safe; another thread might have removed the nth region before you called this method.

hasRegion
bool MouseWatcherGroup::has_region(MouseWatcherRegion *region) const;

Description: Returns true if the indicated region has already been added to the MouseWatcherGroup, false otherwise.

hideRegions
void MouseWatcherGroup::hide_regions(void);

Description: Stops the visualization created by a previous call to show_regions().

output
void MouseWatcherGroup::output(ostream &out) const;

Description:

removeRegion
bool MouseWatcherGroup::remove_region(MouseWatcherRegion *region);

Description: Removes the indicated region from the group. Returns true if it was successfully removed, or false if it wasn't there in the first place.

setColor
void MouseWatcherGroup::set_color(LVecBase4f const &color);

Description: Specifies the color used to draw the region rectangles for the regions visualized by show_regions().

showRegions
void MouseWatcherGroup::show_regions(NodePath const &render2d, string const &bin_name, int draw_order);

Description: Enables the visualization of all of the regions handled by this MouseWatcherGroup. The supplied NodePath should be the root of the 2-d scene graph for the window.

updateRegions
void MouseWatcherGroup::update_regions(void);

Description: Refreshes the visualization created by show_regions().

write
void MouseWatcherGroup::write(ostream &out, int indent_level = (0)) const;

Description:


MouseWatcherGroup

    from pandac.PandaModules import MouseWatcherGroup
    Class : MouseWatcherGroup
    Description : This represents a collection of MouseWatcherRegions that may be managed as a group.

Inheritance:

    MouseWatcherGroup: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of MouseWatcherGroup:

    addRegion
    clearRegions
    findRegion
    getClassType
    getNumRegions
    getRegion
    hasRegion
    hideRegions
    output
    removeRegion
    setColor
    showRegions
    updateRegions
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
addRegion
void MouseWatcherGroup::add_region(MouseWatcherRegion *region);

Description: Adds the indicated region to the set of regions in the group. It is an error to add the same region to the set more than once.

clearRegions
void MouseWatcherGroup::clear_regions(void);

Description: Removes all the regions from the group.

findRegion
MouseWatcherRegion *MouseWatcherGroup::find_region(string const &name) const;

Description: Returns a pointer to the first region found with the indicated name. If multiple regions share the same name, the one that is returned is indeterminate.

getClassType
static TypeHandle MouseWatcherGroup::get_class_type(void);

Undocumented function.

getNumRegions
int MouseWatcherGroup::get_num_regions(void) const;

Description: Returns the number of regions in the group.

getRegion
MouseWatcherRegion *MouseWatcherGroup::get_region(int n) const;

Description: Returns the nth region of the group; returns NULL if there is no nth region. Note that this is not thread-safe; another thread might have removed the nth region before you called this method.

hasRegion
bool MouseWatcherGroup::has_region(MouseWatcherRegion *region) const;

Description: Returns true if the indicated region has already been added to the MouseWatcherGroup, false otherwise.

hideRegions
void MouseWatcherGroup::hide_regions(void);

Description: Stops the visualization created by a previous call to show_regions().

output
void MouseWatcherGroup::output(ostream &out) const;

Description:

removeRegion
bool MouseWatcherGroup::remove_region(MouseWatcherRegion *region);

Description: Removes the indicated region from the group. Returns true if it was successfully removed, or false if it wasn't there in the first place.

setColor
void MouseWatcherGroup::set_color(LVecBase4f const &color);

Description: Specifies the color used to draw the region rectangles for the regions visualized by show_regions().

showRegions
void MouseWatcherGroup::show_regions(NodePath const &render2d, string const &bin_name, int draw_order);

Description: Enables the visualization of all of the regions handled by this MouseWatcherGroup. The supplied NodePath should be the root of the 2-d scene graph for the window.

updateRegions
void MouseWatcherGroup::update_regions(void);

Description: Refreshes the visualization created by show_regions().

write
void MouseWatcherGroup::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


MouseWatcherParameter

    from pandac.PandaModules import MouseWatcherParameter
    Class : MouseWatcherParameter
    Description : This is sent along as a parameter to most events generated for a region to indicate the mouse and button state for the event.

Inheritance:

    MouseWatcherParameter:

Methods of MouseWatcherParameter:

    getButton
    getCandidateStringEncoded
    getCursorPos
    getHighlightEnd
    getHighlightStart
    getKeycode
    getModifierButtons
    getMouse
    hasButton
    hasCandidate
    hasKeycode
    hasMouse
    isKeyrepeat
    isOutside
    output
getButton
ButtonHandle MouseWatcherParameter::get_button(void) const;

Description: Returns the mouse or keyboard button associated with this event. If has_button(), above, returns false, this returns ButtonHandle::none().

getCandidateStringEncoded
string MouseWatcherParameter::get_candidate_string_encoded(void) const;

Description: Returns the candidate string associated with this event. If has_candidate(), above, returns false, this returns the empty string.

getCursorPos
unsigned int MouseWatcherParameter::get_cursor_pos(void) const;

Description: Returns the position of the user's edit cursor within the candidate string.

getHighlightEnd
unsigned int MouseWatcherParameter::get_highlight_end(void) const;

Description: Returns one more than the last highlighted character in the candidate string.

getHighlightStart
unsigned int MouseWatcherParameter::get_highlight_start(void) const;

Description: Returns the first highlighted character in the candidate string.

getKeycode
int MouseWatcherParameter::get_keycode(void) const;

Description: Returns the keycode associated with this event. If has_keycode(), above, returns false, this returns 0.

getModifierButtons
ModifierButtons const &MouseWatcherParameter::get_modifier_buttons(void) const;

Description: Returns the set of modifier buttons that were being held down while the event was generated.

getMouse
LPoint2f const &MouseWatcherParameter::get_mouse(void) const;

Description: Returns the mouse position at the time the event was generated, in the normalized range (-1 .. 1). It is valid to call this only if has_mouse() returned true.

hasButton
bool MouseWatcherParameter::has_button(void) const;

Description: Returns true if this parameter has an associated mouse or keyboard button, false otherwise.

hasCandidate
bool MouseWatcherParameter::has_candidate(void) const;

Description: Returns true if this parameter has an associated candidate string, false otherwise.

hasKeycode
bool MouseWatcherParameter::has_keycode(void) const;

Description: Returns true if this parameter has an associated keycode, false otherwise.

hasMouse
bool MouseWatcherParameter::has_mouse(void) const;

Description: Returns true if this parameter has an associated mouse position, false otherwise.

isKeyrepeat
bool MouseWatcherParameter::is_keyrepeat(void) const;

Description: Returns true if the button-down even was generated due to keyrepeat, or false if it was an original button down.

isOutside
bool MouseWatcherParameter::is_outside(void) const;

Description: Returns true if the mouse was outside the region at the time the event was generated, false otherwise. This is only valid for "release" type events.

output
void MouseWatcherParameter::output(ostream &out) const;

Description:


MouseWatcherRegion

    from pandac.PandaModules import MouseWatcherRegion
    Class : MouseWatcherRegion
    Description : This is the class that defines a rectangular region on the screen for the MouseWatcher.

Inheritance:

    MouseWatcherRegion: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of MouseWatcherRegion:

    MouseWatcherRegion (Constructor)
    getActive
    getArea
    getClassType
    getFrame
    getKeyboard
    getSort
    getSuppressFlags
    output
    setActive
    setFrame
    setKeyboard
    setSort
    setSuppressFlags
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in MouseWatcherRegion:

    SFMouseButton | (SuppressFlags)
SFOtherButton | (SuppressFlags)
SFAnyButton | (SuppressFlags)
SFMousePosition | (SuppressFlags)
MouseWatcherRegion
MouseWatcherRegion::MouseWatcherRegion(string const &name, float left, float right, float bottom, float top);

Description:

getActive
bool MouseWatcherRegion::get_active(void) const;

Description: Returns whether the region is active or not. See set_active().

getArea
float MouseWatcherRegion::get_area(void) const;

Description: Returns the area of the rectangular region.

getClassType
static TypeHandle MouseWatcherRegion::get_class_type(void);

Undocumented function.

getFrame
LVecBase4f const &MouseWatcherRegion::get_frame(void) const;

Description:

getKeyboard
bool MouseWatcherRegion::get_keyboard(void) const;

Description: Returns whether the region is interested in global keyboard events; see set_keyboard().

getSort
int MouseWatcherRegion::get_sort(void) const;

Description: Returns the current sorting order of this region. See set_sort().

getSuppressFlags
int MouseWatcherRegion::get_suppress_flags(void) const;

Description: Returns the current suppress_flags. See set_suppress_flags().

output
void MouseWatcherRegion::output(ostream &out) const;

Description:

setActive
void MouseWatcherRegion::set_active(bool active);

Description: Sets whether the region is active or not. If it is not active, the MouseWatcher will never consider the mouse to be over the region. The region might still receive keypress events if its set_keyboard() flag is true.

setFrame
void MouseWatcherRegion::set_frame(float left, float right, float bottom, float top);

Description:

setKeyboard
void MouseWatcherRegion::set_keyboard(bool keyboard);

Description: Sets whether the region is interested in global keyboard events. If this is true, then any keyboard button events will be passed to press() and release() regardless of the position of the mouse onscreen; otherwise, these events will only be passed if the mouse is over the region.

setSort
void MouseWatcherRegion::set_sort(int sort);

Description: Changes the sorting order of this particular region. The sorting order is used to resolve conflicts in the case of overlapping region; the region with the highest sort value will be preferred, and between regions of the same sort value, the smallest region will be preferred. The default sorting order, if none is explicitly specified, is 0.

setSuppressFlags
void MouseWatcherRegion::set_suppress_flags(int suppress_flags);

Description: Sets which events are suppressed when the mouse is over the region. This is the union of zero or more various SF_* values. Normally, this is 0, indicating that no events are suppressed.
If you set this to a non-zero value, for instance SF_mouse_position, then the mouse position will not be sent along the data graph when the mouse is over this particular region.

write
void MouseWatcherRegion::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


MovieAudio

    from pandac.PandaModules import MovieAudio
    Class : MovieAudio
    Description : A MovieAudio is actually any source that provides a sequence of audio samples. That could include an AVI file, a microphone, or an internet TV station.
    The difference between a MovieAudio and a MovieAudioCursor is like the difference between a filename and a file handle. The MovieAudio just indicates a particular movie. The MovieAudioCursor is what allows access.

Inheritance:

    MovieAudio: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of MovieAudio:

    MovieAudio (Constructor)
    get
    getClassType
    getFilename
    open

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
MovieAudio
MovieAudio::MovieAudio(string const &name = ("Blank Audio"));

Description: This constructor returns a null audio stream --- a stream of total silence, at 8000 samples per second. To get more interesting audio, you need to construct a subclass of this class.

get
static PointerTo< MovieAudio > MovieAudio::get(Filename const &name);

Description: Obtains a MovieAudio that references a file.

getClassType
static TypeHandle MovieAudio::get_class_type(void);

Undocumented function.

getFilename
Filename const &MovieAudio::get_filename(void) const;

Filename: movieAudio.I Created by: jyelon (02Jul07)
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."
Description: Returns the movie's filename. A movie is not guaranteed to have a filename, if not, then this function returns a null filename.

open
virtual PointerTo< MovieAudioCursor > MovieAudio::open(void);

Description: Open this audio, returning a MovieAudioCursor

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


MovieAudioCursor

    from pandac.PandaModules import MovieAudioCursor
    Class : MovieAudioCursor
    Description : A MovieAudio is actually any source that provides a sequence of audio samples. That could include an AVI file, a microphone, or an internet TV station. A MovieAudioCursor is a handle that lets you read data sequentially from a MovieAudio.
    Thread safety: each individual MovieAudioCursor must be owned and accessed by a single thread. It is OK for two different threads to open the same file at the same time, as long as they use separate MovieAudioCursor objects.

Inheritance:

    MovieAudioCursor: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of MovieAudioCursor:

    MovieAudioCursor (Constructor)
    aborted
    audioChannels
    audioRate
    canSeek
    canSeekFast
    getClassType
    getSource
    length
    readSamples
    ready
    seek
    skipSamples
    tell

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
MovieAudioCursor
MovieAudioCursor::MovieAudioCursor(MovieAudio *src);

Description: This constructor returns a null audio stream --- a stream of total silence, at 8000 samples per second. To get more interesting audio, you need to construct a subclass of this class.

aborted
bool MovieAudioCursor::aborted(void) const;

Description: If aborted is true, it means that the "ready" samples are not being replenished. See the method "ready" for an explanation.

audioChannels
int MovieAudioCursor::audio_channels(void) const;

Description: Returns the number of audio channels (ie, two for stereo, one for mono).

audioRate
int MovieAudioCursor::audio_rate(void) const;

Description: Returns the audio sample rate.

canSeek
bool MovieAudioCursor::can_seek(void) const;

Description: Returns true if the movie can seek. If this is true, seeking is still not guaranteed to be fast: for some movies, seeking is implemented by rewinding to the beginning and then fast-forwarding to the desired location. Even if the movie cannot seek, the seek method can still advance to an arbitrary location by reading samples and discarding them. However, to move backward, can_seek must return true.

canSeekFast
bool MovieAudioCursor::can_seek_fast(void) const;

Description: Returns true if seek operations are constant time.

getClassType
static TypeHandle MovieAudioCursor::get_class_type(void);

Undocumented function.

getSource
PointerTo< MovieAudio > MovieAudioCursor::get_source(void) const;

Filename: movieAudioCursor.I Created by: jyelon (02Jul07)
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."
Description: Returns the MovieAudio which this cursor references.

length
double MovieAudioCursor::length(void) const;

Description: Returns the length of the movie. Attempting to read audio samples beyond the specified length will produce silent samples.
Some kinds of Movie, such as internet TV station, might not have a predictable length. In that case, the length will be set to a very large number: 1.0E10.
Some AVI files have incorrect length values encoded into them - they may be a second or two long or short. When playing such an AVI using the Movie class, you may see a slightly truncated video, or a slightly elongated video (padded with black frames). There are utilities out there to fix the length values in AVI files.
An audio consumer needs to check the length, the ready status, and the aborted flag.

readSamples
void MovieAudioCursor::read_samples(int n, Datagram *dg);

Description: Read audio samples from the stream. N is the number of samples you wish to read. Your buffer must be equal in size to N * channels. Multiple-channel audio will be interleaved.
Description: Read audio samples from the stream into a Datagram. N is the number of samples you wish to read. Multiple-channel audio will be interleaved.
This is not particularly efficient, but it may be a convenient way to manipulate samples in python.
Description: Read audio samples from the stream and returns them as a string. The samples are stored little-endian in the string. N is the number of samples you wish to read. Multiple-channel audio will be interleaved.

ready
virtual int MovieAudioCursor::ready(void) const;

Description: Returns the number of audio samples that are ready to read. This is primarily relevant for sources like microphones which produce samples at a fixed rate. If you try to read more samples than are ready, the result will be silent samples.
Some audio streams do not have a limit on how fast they can produce samples. Such streams will always return 0x40000000 as the ready-count. This may well exceed the length of the audio stream. You therefore need to check length separately.
If the aborted flag is set, that means the ready count is no longer being replenished. For example, a MovieAudioCursor might be reading from an internet radio station, and it might buffer data to avoid underruns. If it loses connection to the radio station, it will set the aborted flag to indicate that the buffer is no longer being replenished. But it is still ok to read the samples that are in the buffer, at least until they run out. Once those are gone, there will be no more.
An audio consumer needs to check the length, the ready status, and the aborted flag.

seek
virtual void MovieAudioCursor::seek(double offset);

Description: Skips to the specified offset within the file.
If the movie reports that it cannot seek, then this method can still advance by reading samples and discarding them. However, to move backward, can_seek must be true.
If the movie reports that it can_seek, it doesn't mean that it can do so quickly. It may have to rewind the movie and then fast forward to the desired location. Only if can_seek_fast returns true can seek operations be done in constant time.
Seeking may not be precise, because AVI files often have inaccurate indices. After seeking, tell will indicate that the cursor is at the target location. However, in truth, the data you read may come from a slightly offset location.

skipSamples
void MovieAudioCursor::skip_samples(int n);

Description: Skip audio samples from the stream. This is mostly for debugging purposes.

tell
double MovieAudioCursor::tell(void) const;

Description: Returns the current offset within the file.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


MovieTexture

    from pandac.PandaModules import MovieTexture
    Class : MovieTexture
    Description : A texture that fetches video frames from an underlying object of class Movie.

Inheritance:

    MovieTexture: Texture
    Texture: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of MovieTexture:

    MovieTexture (Constructor)
    getClassType
    getLoop
    getLoopCount
    getPlayRate
    getTexScale
    getTime
    getVideoHeight
    getVideoWidth
    isPlaying
    play
    restart
    setLoop
    setLoopCount
    setPlayRate
    setTime
    stop
    synchronizeTo
    unsynchronize

Methods of Texture:

    Texture (Constructor)
    clear
    clearAlphaFilename
    clearAlphaFullpath
    clearAuxData
    clearFilename
    clearFullpath
    clearRamImage
    clearRamMipmapImage
    clearRamMipmapImages
    estimateTextureMemory
    generateAlphaScaleMap
    generateNormalizationCubeMap
    generateRamMipmapImages
    getAlphaFilename
    getAlphaFullpath
    getAnisotropicDegree
    getAuxData
    getBorderColor
    getClassType
    getComponentType
    getComponentWidth
    getCompression
    getExpectedMipmapXSize
    getExpectedMipmapYSize
    getExpectedMipmapZSize
    getExpectedNumMipmapLevels
    getExpectedRamImageSize
    getExpectedRamMipmapImageSize
    getExpectedRamMipmapPageSize
    getExpectedRamPageSize
    getFilename
    getFormat
    getFullpath
    getImageModified
    getKeepRamImage
    getLoadedFromImage
    getLoadedFromTxo
    getMagfilter
    getMatchFramebufferFormat
    getMinfilter
    getNumComponents
    getNumRamMipmapImages
    getPadXSize
    getPadYSize
    getPadZSize
    getPropertiesModified
    getQualityLevel
    getRamImage
    getRamImageCompression
    getRamImageSize
    getRamMipmapImage
    getRamMipmapImageSize
    getRamMipmapPageSize
    getRamPageSize
    getRenderToTexture
    getTexturesPower2
    getTextureType
    getWrapU
    getWrapV
    getWrapW
    getXSize
    getYSize
    getZSize
    hasAllRamMipmapImages
    hasAlphaFilename
    hasAlphaFullpath
    hasFilename
    hasFullpath
    hasRamImage
    hasRamMipmapImage
    haveTexturesPower2
    isMipmap
    isPrepared
    load
    loadRelated
    makeCopy
    makeRamImage
    makeRamMipmapImage
    mightHaveRamImage
    modifyRamImage
    modifyRamMipmapImage
    prepare
    prepareNow
    read
    readTxo
    release
    releaseAll
    reload
    setAlphaFilename
    setAlphaFullpath
    setAnisotropicDegree
    setAuxData
    setBorderColor
    setComponentType
    setCompression
    setFilename
    setFormat
    setFullpath
    setKeepRamImage
    setLoadedFromImage
    setLoadedFromTxo
    setMagfilter
    setMatchFramebufferFormat
    setMinfilter
    setPadSize
    setQualityLevel
    setRamImage
    setRamMipmapImage
    setRenderToTexture
    setSizePadded
    setTexturesPower2
    setup1dTexture
    setup2dTexture
    setup3dTexture
    setupCubeMap
    setupTexture
    setWrapU
    setWrapV
    setWrapW
    setXSize
    setYSize
    setZSize
    store
    usesMipmaps
    write
    writeTxo

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in Texture:

    TT1dTexture | (TextureType)
TT2dTexture | (TextureType)
TT3dTexture | (TextureType)
TTCubeMap | (TextureType)
TUnsignedByte | (ComponentType)
TUnsignedShort | (ComponentType)
TFloat | (ComponentType)
FDepthStencil | (Format)
FDepthComponent | (Format)
FColorIndex | (Format)
FRed | (Format)
FGreen | (Format)
FBlue | (Format)
FAlpha | (Format)
FRgb | (Format)
FRgb5 | (Format)
FRgb8 | (Format)
FRgb12 | (Format)
FRgb332 | (Format)
FRgba | (Format)
FRgbm | (Format)
FRgba4 | (Format)
FRgba5 | (Format)
FRgba8 | (Format)
FRgba12 | (Format)
FLuminance | (Format)
FLuminanceAlpha | (Format)
FLuminanceAlphamask | (Format)
FRgba16 | (Format)
FRgba32 | (Format)
FTNearest | (FilterType)
FTLinear | (FilterType)
FTNearestMipmapNearest | (FilterType)
FTLinearMipmapNearest | (FilterType)
FTNearestMipmapLinear | (FilterType)
FTLinearMipmapLinear | (FilterType)
FTShadow | (FilterType)
FTDefault | (FilterType)
FTInvalid | (FilterType)
WMClamp | (WrapMode)
WMRepeat | (WrapMode)
WMMirror | (WrapMode)
WMMirrorOnce | (WrapMode)
WMBorderColor | (WrapMode)
WMInvalid | (WrapMode)
CMDefault | (CompressionMode)
CMOff | (CompressionMode)
CMOn | (CompressionMode)
CMFxt1 | (CompressionMode)
CMDxt1 | (CompressionMode)
CMDxt2 | (CompressionMode)
CMDxt3 | (CompressionMode)
CMDxt4 | (CompressionMode)
CMDxt5 | (CompressionMode)
QLDefault | (QualityLevel)
QLFastest | (QualityLevel)
QLNormal | (QualityLevel)
QLBest | (QualityLevel)
MovieTexture
MovieTexture::MovieTexture(string const &name);

Description: Creates a blank movie texture. Movies must be added using do_read_one or do_load_one.
Description: Creates a texture playing the specified movie.
Description: Use MovieTexture::make_copy() to make a duplicate copy of an existing MovieTexture.

getClassType
static TypeHandle MovieTexture::get_class_type(void);

Undocumented function.

getLoop
bool MovieTexture::get_loop(void) const;

Description: Returns true if the movie's loop count is not equal to one.

getLoopCount
int MovieTexture::get_loop_count(void) const;

Description: Returns the movie's loop count.

getPlayRate
double MovieTexture::get_play_rate(void) const;

Description: Gets the movie's play-rate.

getTexScale
LVecBase2f MovieTexture::get_tex_scale(void) const;

Description: Returns a scale pair that is suitable for applying to geometry via NodePath::set_tex_scale(), which will convert texture coordinates on the geometry from the range 0..1 into the appropriate range to render the video part of the texture.
This is necessary in the event the video source is not a power of two and set_power_2() is true. In this case, the video image will be mapped to the lower-left corner of the texture, and the rest of the texture space will be unused; so we will need to remap any texture coordinates to fill the space correctly.

getTime
double MovieTexture::get_time(void) const;

Description: Returns the current value of the movie's cursor. If the movie's loop count is greater than one, then its length is effectively multiplied for the purposes of this function. In other words, the return value will be in the range 0.0 to (length * loopcount).

getVideoHeight
int MovieTexture::get_video_height(void) const;

Description: Returns the height in texels of the source video stream. This is not necessarily the height of the actual texture, since the texture may have been expanded to raise it to a power of 2.

getVideoWidth
int MovieTexture::get_video_width(void) const;

Filename: movieTexture.I Created by: jyelon (01Aug2007)
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."
Description: Returns the width in texels of the source video stream. This is not necessarily the width of the actual texture, since the texture may have been expanded to raise it to a power of 2.

isPlaying
bool MovieTexture::is_playing(void) const;

Description: Returns true if the movie's cursor is advancing.

play
void MovieTexture::play(void);

Description: Plays the movie from the beginning.

restart
void MovieTexture::restart(void);

Description: Start playing the movie from where it was last paused. Has no effect if the movie is not paused, or if the movie's cursor is already at the end.

setLoop
void MovieTexture::set_loop(bool enable);

Description: If true, sets the movie's loop count to 1 billion. If false, sets the movie's loop count to one.

setLoopCount
void MovieTexture::set_loop_count(int count);

Description: Sets the movie's loop count to the desired value.

setPlayRate
void MovieTexture::set_play_rate(double play_rate);

Description: Sets the movie's play-rate. This is the speed at which the movie's cursor advances. The default is to advance 1.0 movie-seconds per real-time second.

setTime
void MovieTexture::set_time(double t);

Description: Sets the movie's cursor.

stop
void MovieTexture::stop(void);

Description: Stops a currently playing or looping movie right where it is. The movie's cursor remains frozen at the point where it was stopped.

synchronizeTo
void MovieTexture::synchronize_to(AudioSound *sound);

Description: Synchronize this texture to a sound. Typically, you would load the texture and the sound from the same AVI file.

unsynchronize
void MovieTexture::unsynchronize(void);

Description: Stop synchronizing with a sound.

Texture
Texture::Texture(string const &name = ((string())));

Description: Constructs an empty texture. The default is to set up the texture as an empty 2-d texture; follow up with one of the variants of setup_texture() if this is not what you want.
Description: Use Texture::make_copy() to make a duplicate copy of an existing Texture.

clear
virtual void Texture::clear(void);

Description: Reinitializes the texture to its default, empty state.

clearAlphaFilename
void Texture::clear_alpha_filename(void);

Description: Removes the alpha filename, if it was previously set. See set_alpha_filename().

clearAlphaFullpath
void Texture::clear_alpha_fullpath(void);

Description: Removes the alpha fullpath, if it was previously set. See set_alpha_fullpath().

clearAuxData
void Texture::clear_aux_data(string const &key);

Description: Removes a record previously recorded via set_aux_data().

clearFilename
void Texture::clear_filename(void);

These are published, but in general, you shouldn't be mucking with these values; they are set automatically when a texture is loaded.
Description: Removes the alpha filename, if it was previously set. See set_filename().

clearFullpath
void Texture::clear_fullpath(void);

Description: Removes the alpha fullpath, if it was previously set. See set_fullpath().

clearRamImage
void Texture::clear_ram_image(void);

Description: Discards the current system-RAM image.

clearRamMipmapImage
void Texture::clear_ram_mipmap_image(int n);

Description: Discards the current system-RAM image for the nth mipmap level.

clearRamMipmapImages
void Texture::clear_ram_mipmap_images(void);

Description: Discards the current system-RAM image for all mipmap levels, except level 0 (the base image).

estimateTextureMemory
unsigned int Texture::estimate_texture_memory(void) const;

Description: Estimates the amount of texture memory that will be consumed by loading this texture. This returns a value that is not specific to any particular graphics card or driver; it tries to make a reasonable assumption about how a driver will load the texture. It does not account for texture compression or anything fancy. This is mainly useful for debugging and reporting purposes.
Returns a value in bytes.

generateAlphaScaleMap
void Texture::generate_alpha_scale_map(void);

Description: Generates a special 256x1 1-d texture that can be used to apply an arbitrary alpha scale to objects by judicious use of texture matrix. The texture is a gradient, with an alpha of 0 on the left (U = 0), and 255 on the right (U = 1).

generateNormalizationCubeMap
void Texture::generate_normalization_cube_map(int size);

Description: Generates a special cube map image in the texture that can be used to apply bump mapping effects: for each texel in the cube map that is indexed by the 3-d texture coordinates (x, y, z), the resulting value is the normalized vector (x, y, z) (compressed from
-1..1 into 0..1).

generateRamMipmapImages
void Texture::generate_ram_mipmap_images(void);

Description: Automatically fills in the n mipmap levels of the Texture, based on the texture's source image. This requires the texture's ram image to be available in system memory.
This call is not normally necessary, since the mipmap levels will be generated automatically if needed. But there may be certain cases in which you would like to call this explicitly.

getAlphaFilename
Filename const &Texture::get_alpha_filename(void) const;

Description: Returns the alpha_filename that has been set. If this is set, it represents the name of the alpha component, which is stored in a separate file. See also get_filename(), and get_alpha_fullpath().

getAlphaFullpath
Filename const &Texture::get_alpha_fullpath(void) const;

Description: Returns the alpha_fullpath that has been set. This is the full path to the alpha part of the image file as it was found along the texture search path.

getAnisotropicDegree
int Texture::get_anisotropic_degree(void) const;

Description: Returns the degree of anisotropic filtering that should be applied to the texture. Normally, this is 1, to indicate that anisotropic filtering should be disabled. If this is a number higher than 1, anisotropic filtering should be enabled (if the rendering backend supports it).

getAuxData
TypedReferenceCount *Texture::get_aux_data(string const &key) const;

Description: Returns a record previously recorded via set_aux_data(). Returns NULL if there was no record associated with the indicated key.

getBorderColor
LVecBase4f Texture::get_border_color(void) const;

Description: Returns the solid color of the texture's border. Some OpenGL implementations use a border for tiling textures; in Panda, it is only used for specifying the clamp color.

getClassType
static TypeHandle Texture::get_class_type(void);

Undocumented function.

getComponentType
Texture::ComponentType Texture::get_component_type(void) const;

Description: Returns the numeric interpretation of each component of the texture.

getComponentWidth
int Texture::get_component_width(void) const;

Description: Returns the number of bytes stored for each color component of a texel. Typically this is 1, but it may be 2 for 16-bit texels.

getCompression
Texture::CompressionMode Texture::get_compression(void) const;

Description: Returns the compression mode requested for this particular texture, or CM_off if the texture is not to be compressed.
If a value other than CM_off is returned, this is not a guarantee that the texture is actually successfully compressed on the GSG. It may be that the GSG does not support the requested compression mode, in which case the texture may actually be stored uncompressed in texture memory.

getExpectedMipmapXSize
int Texture::get_expected_mipmap_x_size(int n) const;

Description: Returns the x_size that the nth mipmap level should have, based on the texture's size.

getExpectedMipmapYSize
int Texture::get_expected_mipmap_y_size(int n) const;

Description: Returns the y_size that the nth mipmap level should have, based on the texture's size.

getExpectedMipmapZSize
int Texture::get_expected_mipmap_z_size(int n) const;

Description: Returns the z_size that the nth mipmap level should have, based on the texture's size.

getExpectedNumMipmapLevels
int Texture::get_expected_num_mipmap_levels(void) const;

Description: Returns the number of mipmap levels that should be defined for this texture, given the texture's size.
Note that this returns a number appropriate for mipmapping, even if the texture does not currently have mipmapping enabled.

getExpectedRamImageSize
unsigned int Texture::get_expected_ram_image_size(void) const;

Description: Returns the number of bytes that *ought* to be used by the in-memory image, based on the texture parameters.

getExpectedRamMipmapImageSize
unsigned int Texture::get_expected_ram_mipmap_image_size(int n) const;

Description: Returns the number of bytes that *ought* to be used by the in-memory image for mipmap level n, based on the texture parameters.

getExpectedRamMipmapPageSize
unsigned int Texture::get_expected_ram_mipmap_page_size(int n) const;

Description: Returns the number of bytes that should be used per each Z page of the 3-d texture, for mipmap level n. For a 2-d or 1-d texture, this is the same as get_expected_ram_mipmap_image_size(n).

getExpectedRamPageSize
unsigned int Texture::get_expected_ram_page_size(void) const;

Description: Returns the number of bytes that should be used per each Z page of the 3-d texture. For a 2-d or 1-d texture, this is the same as get_expected_ram_image_size().

getFilename
Filename const &Texture::get_filename(void) const;

Description: Returns the filename that has been set. This is the name of the file as it was requested. Also see get_fullpath().

getFormat
Texture::Format Texture::get_format(void) const;

Description: Returns the format of the texture, which represents both the semantic meaning of the texels and, to some extent, their storage information.

getFullpath
Filename const &Texture::get_fullpath(void) const;

Description: Returns the fullpath that has been set. This is the full path to the file as it was found along the texture search path.

getImageModified
UpdateSeq Texture::get_image_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the texture image data (including mipmap levels) are modified.

getKeepRamImage
virtual bool Texture::get_keep_ram_image(void) const;

Description: Returns the flag that indicates whether this Texture is eligible to have its main RAM copy of the texture memory dumped when the texture is prepared for rendering. See set_keep_ram_image().

getLoadedFromImage
bool Texture::get_loaded_from_image(void) const;

Description: Returns the flag that indicates the texture has been loaded from a disk file or PNMImage. See set_loaded_from_image().

getLoadedFromTxo
bool Texture::get_loaded_from_txo(void) const;

Description: Returns the flag that indicates the texture has been loaded from a txo file.

getMagfilter
Texture::FilterType Texture::get_magfilter(void) const;

Description: Returns the filter mode of the texture for magnification. The mipmap constants are invalid here.

getMatchFramebufferFormat
bool Texture::get_match_framebuffer_format(void) const;

Description: Returns true if the special flag was set that indicates to the GSG that the Texture's format should be chosen to exactly match the framebuffer's format, presumably because the application intends to copy image data from the framebuffer into the Texture (or vice-versa).

getMinfilter
Texture::FilterType Texture::get_minfilter(void) const;

Description: Returns the filter mode of the texture for minification. If this is one of the mipmap constants, then the texture requires mipmaps.

getNumComponents
int Texture::get_num_components(void) const;

Description: Returns the number of color components for each texel of the texture image. This is 3 for an rgb texture or 4 for an rgba texture; it may also be 1 or 2 for a grayscale texture.

getNumRamMipmapImages
int Texture::get_num_ram_mipmap_images(void) const;

Description: Returns the maximum number of mipmap level images available in system memory. The actual number may be less than this; use has_ram_mipmap_image() to verify each level.

getPadXSize
int Texture::get_pad_x_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPadYSize
int Texture::get_pad_y_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPadZSize
int Texture::get_pad_z_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPropertiesModified
UpdateSeq Texture::get_properties_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the texture properties (unrelated to the image) are modified.

getQualityLevel
Texture::QualityLevel Texture::get_quality_level(void) const;

Description: Returns the current quality_level hint. See set_quality_level().

getRamImage
ConstPointerToArray< unsigned char > Texture::get_ram_image(void);

Description: Returns the system-RAM image data associated with the texture. If the texture does not currently have an associated RAM image, and the texture was generated by loading an image from a disk file (the most common case), this forces the reload of the same texture. This can happen if keep_texture_ram is configured to false, and we have previously prepared this texture with a GSG.
Note that it is not correct to call has_ram_image() first to test whether this function will fail. A false return value from has_ram_image() indicates only that get_ram_image() may need to reload the texture from disk, which it will do automatically. However, you can call might_have_ram_image(), which will return true if the ram image exists, or there is a reasonable reason to believe it can be loaded.
On the other hand, it is possible that the texture cannot be found on disk or is otherwise unavailable. If that happens, this function will return NULL. There is no way to predict with 100% accuracy whether get_ram_image() will return NULL without calling it first; might_have_ram_image() is the closest.

getRamImageCompression
Texture::CompressionMode Texture::get_ram_image_compression(void) const;

Description: Returns the compression mode in which the ram image is already stored pre-compressed. If this is other than CM_off, you cannot rely on the contents of the ram image to be anything predicatable (it will not be an array of x by y pixels, and it probably won't have the same length as get_expected_ram_image_size()).

getRamImageSize
unsigned int Texture::get_ram_image_size(void) const;

Description: Returns the number of bytes used by the in-memory image, or 0 if there is no in-memory image.

getRamMipmapImage
ConstPointerToArray< unsigned char > Texture::get_ram_mipmap_image(int n);

Description: Returns the system-RAM image data associated with the nth mipmap level, if present. Returns NULL if the nth mipmap level is not present.

getRamMipmapImageSize
unsigned int Texture::get_ram_mipmap_image_size(int n) const;

Description: Returns the number of bytes used by the in-memory image for mipmap level n, or 0 if there is no in-memory image for this mipmap level.

getRamMipmapPageSize
unsigned int Texture::get_ram_mipmap_page_size(int n) const;

Description: Returns the number of bytes used by the in-memory image per page for mipmap level n, or 0 if there is no in-memory image for this mipmap level.
For a non-compressed texture, this is the same as get_expected_ram_mipmap_page_size(). For a compressed texture, this may be a smaller value. (We do assume that all pages will be the same size on a compressed texture).

getRamPageSize
unsigned int Texture::get_ram_page_size(void) const;

Description: Returns the number of bytes used by the in-memory image per page, or 0 if there is no in-memory image.
For a non-compressed texture, this is the same as get_expected_ram_page_size(). For a compressed texture, this may be a smaller value. (We do assume that all pages will be the same size on a compressed texture).

getRenderToTexture
bool Texture::get_render_to_texture(void) const;

Description:

getTexturesPower2
static AutoTextureScale Texture::get_textures_power_2(void);

Description: This flag returns ATS_none, ATS_up, or ATS_down and controls the scaling of textures. It is initialized from the config variable of the same name, but it can be subsequently adjusted.

getTextureType
Texture::TextureType Texture::get_texture_type(void) const;

Description: Returns the overall interpretation of the texture.

getWrapU
Texture::WrapMode Texture::get_wrap_u(void) const;

Description: Returns the wrap mode of the texture in the U direction.

getWrapV
Texture::WrapMode Texture::get_wrap_v(void) const;

Description: Returns the wrap mode of the texture in the V direction.

getWrapW
Texture::WrapMode Texture::get_wrap_w(void) const;

Description: Returns the wrap mode of the texture in the W direction. This is the depth direction of 3-d textures.

getXSize
int Texture::get_x_size(void) const;

Description: Returns the width of the texture image in texels.

getYSize
int Texture::get_y_size(void) const;

Description: Returns the height of the texture image in texels. For a 1-d texture, this will be 1.

getZSize
int Texture::get_z_size(void) const;

Description: Returns the depth of the texture image in texels. For a 1-d texture or 2-d texture, this will be 1. For a cube map texture, this will be 6.

hasAllRamMipmapImages
bool Texture::has_all_ram_mipmap_images(void) const;

Description: Returns true if all expected mipmap levels have been defined and exist in the system RAM, or false if even one mipmap level is missing.

hasAlphaFilename
bool Texture::has_alpha_filename(void) const;

Description: Returns true if the alpha_filename has been set and is available. See set_alpha_filename().

hasAlphaFullpath
bool Texture::has_alpha_fullpath(void) const;

Description: Returns true if the alpha_fullpath has been set and is available. See set_alpha_fullpath().

hasFilename
bool Texture::has_filename(void) const;

Description: Returns true if the filename has been set and is available. See set_filename().

hasFullpath
bool Texture::has_fullpath(void) const;

Description: Returns true if the fullpath has been set and is available. See set_fullpath().

hasRamImage
virtual bool Texture::has_ram_image(void) const;

Description: Returns true if the Texture has its image contents available in main RAM, false if it exists only in texture memory or in the prepared GSG context.
Note that this has nothing to do with whether get_ram_image() will fail or not. Even if has_ram_image() returns false, get_ram_image() may still return a valid RAM image, because get_ram_image() will automatically load the texture from disk if necessary. The only thing has_ram_image() tells you is whether the texture is available right now without hitting the disk first.
Note also that if an application uses only one GSG, it may appear that has_ram_image() returns true if the texture has not yet been loaded by the GSG, but this correlation is not true in general and should not be depended on. Specifically, if an application ever uses multiple GSG's in its lifetime (for instance, by opening more than one window, or by closing its window and opening another one later), then has_ram_image() may well return false on textures that have never been loaded on the current GSG.

hasRamMipmapImage
bool Texture::has_ram_mipmap_image(int n) const;

Description: Returns true if the Texture has the nth mipmap level available in system memory, false otherwise. If the texture's minfilter mode requires mipmapping (see uses_mipmaps()), and all the texture's mipmap levels are not available when the texture is rendered, they will be generated automatically.

haveTexturesPower2
static bool Texture::have_textures_power_2(void);

Description: If true, then get_textures_power_2 has been set using set_textures_power_2. If false, then get_textures_power_2 simply returns the config variable of the same name.

isMipmap
static bool Texture::is_mipmap(Texture::FilterType type);

Description: Returns true if the indicated filter type requires the use of mipmaps, or false if it does not.

isPrepared
bool Texture::is_prepared(PreparedGraphicsObjects *prepared_objects) const;

Description: Returns true if the texture has already been prepared or enqueued for preparation on the indicated GSG, false otherwise.

load
bool Texture::load(PNMImage const &pnmimage);

Description: Replaces the texture with the indicated image.
Description: Stores the indicated image in the given page and mipmap level. See read().

loadRelated
Texture *Texture::load_related(InternalName const *suffix) const;

Description: Loads a texture whose filename is derived by concatenating a suffix to the filename of this texture. May return NULL, for example, if this texture doesn't have a filename.

makeCopy
virtual PointerTo< Texture > Texture::make_copy(void);

Description: Returns a new copy of the same Texture. This copy, if applied to geometry, will be copied into texture as a separate texture from the original, so it will be duplicated in texture memory (and may be independently modified if desired).
If the Texture is a VideoTexture, the resulting duplicate may be animated independently of the original.

makeRamImage
PointerToArray< unsigned char > Texture::make_ram_image(void);

Description: Discards the current system-RAM image for the texture, if any, and allocates a new buffer of the appropriate size. Returns the new buffer.
This does *not* affect keep_ram_image.

makeRamMipmapImage
PointerToArray< unsigned char > Texture::make_ram_mipmap_image(int n);

Description: Discards the current system-RAM image for the nth mipmap level, if any, and allocates a new buffer of the appropriate size. Returns the new buffer.
This does *not* affect keep_ram_image.

mightHaveRamImage
bool Texture::might_have_ram_image(void) const;

Description: Returns true if the texture's image contents are currently available in main RAM, or there is reason to believe it can be loaded on demand. That is, this function returns a "best guess" as to whether get_ram_image() will succeed without actually calling it first.

modifyRamImage
PointerToArray< unsigned char > Texture::modify_ram_image(void);

Description: Returns a modifiable pointer to the system-RAM image. This assumes the RAM image should be uncompressed. If the RAM image has been dumped, or is stored compressed, creates a new one.
This does *not* affect keep_ram_image.

modifyRamMipmapImage
PointerToArray< unsigned char > Texture::modify_ram_mipmap_image(int n);

Description: Returns a modifiable pointer to the system-RAM image for the nth mipmap level. This assumes the RAM image is uncompressed; if this is not the case, raises an assertion.
This does *not* affect keep_ram_image.

prepare
void Texture::prepare(PreparedGraphicsObjects *prepared_objects);

Description: Indicates that the texture should be enqueued to be prepared in the indicated prepared_objects at the beginning of the next frame. This will ensure the texture is already loaded into texture memory if it is expected to be rendered soon.
Use this function instead of prepare_now() to preload textures from a user interface standpoint.

prepareNow
TextureContext *Texture::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg);

Description: Creates a context for the texture on the particular GSG, if it does not already exist. Returns the new (or old) TextureContext. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new textures. If this is not necessarily the case, you should use prepare() instead.
Normally, this is not called directly except by the GraphicsStateGuardian; a texture does not need to be explicitly prepared by the user before it may be rendered.

read
bool Texture::read(Filename const &fullpath);

Description: Reads the named filename into the texture.
Description: Combine a 3-component image with a grayscale image to get a 4-component image.
See the description of the full-parameter read() method for the meaning of the primary_file_num_channels and alpha_file_channel parameters.
Description: Reads a single file into a single page or mipmap level, or automatically reads a series of files into a series of pages and/or mipmap levels.
See the description of the full-parameter read() method for the meaning of the various parameters.
Description: Reads the texture from the indicated filename. If primary_file_num_channels is not 0, it specifies the number of components to downgrade the image to if it is greater than this number.
If the filename has the extension .txo, this implicitly reads a texture object instead of a filename (which replaces all of the texture properties). In this case, all the rest of the parameters are ignored, and the filename should not contain any hash marks; just the one named file will be read, since a single .txo file can contain all pages and mipmaps necessary to define a texture.
If alpha_fullpath is not empty, it specifies the name of a file from which to retrieve the alpha. In this case, alpha_file_channel represents the numeric channel of this image file to use as the resulting texture's alpha channel; usually, this is 0 to indicate the grayscale combination of r, g, b; or it may be a one-based channel number, e.g. 1 for the red channel, 2 for the green channel, and so on.
If read pages is false, then z indicates the page number into which this image will be assigned. Normally this is 0 for the first (or only) page of the texture. 3-D textures have one page for each level of depth, and cube map textures always have six pages.
If read_pages is true, multiple images will be read at once, one for each page of a cube map or a 3-D texture. In this case, the filename should contain a sequence of one or more hash marks ("#") which will be filled in with the z value of each page, zero-based. In this case, the z parameter indicates the maximum z value that will be loaded, or 0 to load all filenames that exist.
If read_mipmaps is false, then n indicates the mipmap level to which this image will be assigned. Normally this is 0 for the base texture image, but it is possible to load custom mipmap levels into the later images. After the base texture image is loaded (thus defining the size of the texture), you can call get_expected_num_mipmap_levels() to determine the maximum sensible value for n.
If read_mipmaps is true, multiple images will be read as above, but this time the images represent the different mipmap levels of the texture image. In this case, the n parameter indicates the maximum n value that will be loaded, or 0 to load all filenames that exist (up to the expected number of mipmap levels).
If both read_pages and read_mipmaps is true, then both sequences will be read; the filename should contain two sequences of hash marks, separated by some character such as a hyphen, underscore, or dot. The first hash mark sequence will be filled in with the mipmap level, while the second hash mark sequence will be the page index.
This method implicitly sets keep_ram_image to false.

readTxo
bool Texture::read_txo(istream &in, string const &filename = ("stream"));

Description: Reads the texture from a Panda texture object. This defines the complete Texture specification, including the image data as well as all texture properties.
The filename is just for reference.

release
bool Texture::release(PreparedGraphicsObjects *prepared_objects);

Description: Frees the texture context only on the indicated object, if it exists there. Returns true if it was released, false if it had not been prepared.

releaseAll
int Texture::release_all(void);

Description: Frees the context allocated on all objects for which the texture has been declared. Returns the number of contexts which have been freed.

reload
bool Texture::reload(void);

Description: Re-reads the Texture from its disk file. Useful when you know the image on disk has recently changed, and you want to update the Texture image.
Returns true on success, false on failure (in which case, the Texture may or may not still be valid).

setAlphaFilename
void Texture::set_alpha_filename(Filename const &alpha_filename);

Description: Sets the name of the file that contains the image's alpha channel contents. Normally, this is set automatically when the image is loaded, for instance via Texture::read().
The Texture's get_filename() function returns the name of the image file that was loaded into the buffer. In the case where a texture specified two separate files to load, a 1- or 3-channel color image and a 1-channel alpha image, this Filename is update to contain the name of the image file that was loaded into the buffer's alpha channel.

setAlphaFullpath
void Texture::set_alpha_fullpath(Filename const &alpha_fullpath);

Description: Sets the full pathname to the file that contains the image's alpha channel contents, as found along the search path. Normally, this is set automatically when the image is loaded, for instance via
Texture::read().

setAnisotropicDegree
void Texture::set_anisotropic_degree(int anisotropic_degree);

Description: Specifies the level of anisotropic filtering to apply to the texture. Normally, this is 1, to indicate anisotropic filtering is disabled. This may be set to a number higher than one to enable anisotropic filtering, if the rendering backend supports this.

setAuxData
void Texture::set_aux_data(string const &key, TypedReferenceCount *aux_data);

Description: Records an arbitrary object in the Texture, associated with a specified key. The object may later be retrieved by calling get_aux_data() with the same key.
These data objects are not recorded to a bam or txo file.

setBorderColor
void Texture::set_border_color(LVecBase4f const &color);

Description: Specifies the solid color of the texture's border. Some OpenGL implementations use a border for tiling textures; in Panda, it is only used for specifying the clamp color.

setComponentType
void Texture::set_component_type(Texture::ComponentType component_type);

Description: Changes the data value for the texture components. This implicitly sets component_width as well.

setCompression
void Texture::set_compression(Texture::CompressionMode compression);

Description: Requests that this particular Texture be compressed when it is loaded into texture memory.
This refers to the internal compression of the texture image within texture memory; it is not related to jpeg or png compression, which are disk file compression formats. The actual disk file that generated this texture may be stored in a compressed or uncompressed format supported by Panda; it will be decompressed on load, and then recompressed by the graphics API if this parameter is not CM_off.
If the GSG does not support this texture compression mode, the texture will silently be loaded uncompressed.

setFilename
void Texture::set_filename(Filename const &filename);

These are published, but in general, you shouldn't be mucking with these values; they are set automatically when a texture is loaded.
Description: Sets the name of the file that contains the image's contents. Normally, this is set automatically when the image is loaded, for instance via
Texture::read().
The Texture's get_name() function used to return the filename, but now returns just the basename (without the extension), which is a more useful name for identifying an image in show code.

setFormat
void Texture::set_format(Texture::Format format);

Description: Changes the format value for the texture components. This implicitly sets num_components as well.

setFullpath
void Texture::set_fullpath(Filename const &fullpath);

Description: Sets the full pathname to the file that contains the image's contents, as found along the search path. Normally, this is set automatically when the image is loaded, for instance via Texture::read().

setKeepRamImage
void Texture::set_keep_ram_image(bool keep_ram_image);

Description: Sets the flag that indicates whether this Texture is eligible to have its main RAM copy of the texture memory dumped when the texture is prepared for rendering.
This will be true for most textures, which can reload their images if needed by rereading the input file. However, textures that were generated dynamically and cannot be easily reloaded will want to set this flag to true, so that the texture will always keep its image copy around.

setLoadedFromImage
void Texture::set_loaded_from_image(void);

Description: Sets the flag that indicates the texture has been loaded from a disk file or PNMImage. You should also ensure the filename has been set correctly. When this flag is true, the texture may be automatically reloaded when its ram image needs to be replaced.

setLoadedFromTxo
void Texture::set_loaded_from_txo(void);

Description: Sets the flag that indicates the texture has been loaded from a txo file. You probably shouldn't be setting this directly; it is set automatically when a Texture is loaded.

setMagfilter
void Texture::set_magfilter(Texture::FilterType filter);

Description:

setMatchFramebufferFormat
void Texture::set_match_framebuffer_format(bool flag);

Description: Sets the special flag that, if true, indicates to the GSG that the Texture's format should be chosen to exactly match the framebuffer's format, presumably because the application intends to copy image data from the framebuffer into the Texture (or vice-versa).
This sets only the graphics card's idea of the texture format; it is not related to the system-memory format.

setMinfilter
void Texture::set_minfilter(Texture::FilterType filter);

Description:

setPadSize
void Texture::set_pad_size(int x = (0), int y = (0), int z = (0));

Description: Sets the size of the pad region.
Sometimes, when a video card demands power-of-two textures, it is necessary to create a big texture and then only use a portion of it. The pad region indicates which portion of the texture is not really in use. All operations use the texture as a whole, including the pad region, unless they explicitly state that they use only the non-pad region.
Changing the texture's size clears the pad region.

setQualityLevel
void Texture::set_quality_level(Texture::QualityLevel quality_level);

Description: Sets a hint to the renderer about the desired performance / quality tradeoff for this particular texture. This is most useful for the tinydisplay software renderer; for normal, hardware-accelerated renderers, this may have little or no effect.

setRamImage
void Texture::set_ram_image(PointerToArray< unsigned char > image, Texture::CompressionMode compression = (CM_off), unsigned int page_size = (0));

Description: Replaces the current system-RAM image with the new data. If compression is not CM_off, it indicates that the new data is already pre-compressed in the indicated format.
This does *not* affect keep_ram_image.

setRamMipmapImage
void Texture::set_ram_mipmap_image(int n, PointerToArray< unsigned char > image, unsigned int page_size = (0));

Description: Replaces the current system-RAM image for the indicated mipmap level with the new data. If compression is not CM_off, it indicates that the new data is already pre-compressed in the indicated format.
This does *not* affect keep_ram_image.

setRenderToTexture
void Texture::set_render_to_texture(bool render_to_texture);

Description:

setSizePadded
void Texture::set_size_padded(int x = (1), int y = (1), int z = (1));

Description: Changes the size of the texture, padding if necessary, and setting the pad region as well.

setTexturesPower2
static void Texture::set_textures_power_2(AutoTextureScale scale);

Description: Set this flag to ATS_none, ATS_up, or ATS_down to control the scaling of textures.

setup1dTexture
void Texture::setup_1d_texture(void);

Description: Sets the texture as an empty 1-d texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 1-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setup2dTexture
void Texture::setup_2d_texture(void);

Description: Sets the texture as an empty 2-d texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 2-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setup3dTexture
void Texture::setup_3d_texture(int z_size = (1));

Description: Sets the texture as an empty 3-d texture with no dimensions (though if you know the depth ahead of time, it saves a bit of reallocation later). Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 3-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setupCubeMap
void Texture::setup_cube_map(void);

Description: Sets the texture as an empty cube map texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty cube map texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.
Note that a cube map should always consist of six square images, so x_size and y_size will be the same, and z_size is always 6.

setupTexture
void Texture::setup_texture(Texture::TextureType texture_type, int x_size, int y_size, int z_size, Texture::ComponentType component_type, Texture::Format format);

Description: Sets the texture to the indicated type and dimensions, presumably in preparation for calling read() or load(), or set_ram_image() or modify_ram_image().

setWrapU
void Texture::set_wrap_u(Texture::WrapMode wrap);

Description:

setWrapV
void Texture::set_wrap_v(Texture::WrapMode wrap);

Description:

setWrapW
void Texture::set_wrap_w(Texture::WrapMode wrap);

Description: The W wrap direction is only used for 3-d textures.

setXSize
void Texture::set_x_size(int x_size);

Description: Changes the x size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

setYSize
void Texture::set_y_size(int y_size);

Description: Changes the y size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

setZSize
void Texture::set_z_size(int z_size);

Description: Changes the z size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

store
bool Texture::store(PNMImage &pnmimage) const;

Description: Saves the texture to the indicated PNMImage, but does not write it to disk.
Description: Saves the indicated page and mipmap level of the texture to the PNMImage.

usesMipmaps
bool Texture::uses_mipmaps(void) const;

Description: Returns true if the minfilter settings on this texture indicate the use of mipmapping, false otherwise.

write
bool Texture::write(Filename const &fullpath);

Description: Writes the texture to the named filename.
Description: Writes a single page or mipmap level to a single file, or automatically writes a series of pages and/or mipmap levels to a numbered series of files.
If the filename ends in the extension .txo, this implicitly writes a Panda texture object (.txo) instead of an image file. In this case, the remaining parameters are ignored, and only one file is written, which will contain all of the pages and resident mipmap levels in the texture.
If write_pages is false, then z indicates the page number to write. 3-D textures have one page number for each level of depth; cube maps have six pages number 0 through 5. Other kinds of textures have only one page, numbered 0.
If write_pages is true, then all pages of the texture will be written. In this case z is ignored, and the filename should contain a sequence of hash marks ("#") which will be filled in with the page index number.
If write_mipmaps is false, then n indicates the mipmap level number to write. Normally, this is 0, for the base texture image. Normally, the mipmap levels of a texture are not available in RAM (they are generated automatically by the graphics card). However, if you have the mipmap levels available, for instance because you called generate_ram_mipmap_images() to generate them internally, or you called GraphicsEngine::extract_texture_data() to retrieve them from the graphics card, then you may write out each mipmap level with this parameter.
If write_mipmaps is true, then all mipmap levels of the texture will be written. In this case n is ignored, and the filename should contain a sequence of hash marks ("#") which will be filled in with the mipmap level number.
If both write_pages and write_mipmaps is true, then all pages and all mipmap levels will be written. In this case, the filename should contain two different sequences of hash marks, separated by a character such as a hyphen, underscore, or dot. The first hash mark sequence will be filled in with the mipmap level, while the second hash mark sequence will be the page index.
Description: Not to be confused with write(Filename), this method simply describes the texture properties.

writeTxo
bool Texture::write_txo(ostream &out, string const &filename = ("stream")) const;

Description: Writes the texture to a Panda texture object. This defines the complete Texture specification, including the image data as well as all texture properties.
The filename is just for reference.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


MovieVideo

    from pandac.PandaModules import MovieVideo
    Class : MovieVideo
    Description : A MovieVideo is actually any source that provides a sequence of video frames. That could include an AVI file, a digital camera, or an internet TV station.
    The difference between a MovieVideo and a MovieVideoCursor is like the difference between a filename and a file handle. The MovieVideo just indicates a particular movie. The MovieVideoCursor is what allows access.

Inheritance:

    MovieVideo: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of MovieVideo:

    MovieVideo (Constructor)
    get
    getClassType
    getFilename
    open

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
MovieVideo
MovieVideo::MovieVideo(string const &name = ("Blank Video"));

Description: This constructor returns a null video stream --- a stream of plain blue and white frames that last one second each. To get more interesting video, you need to construct a subclass of this class.

get
static PointerTo< MovieVideo > MovieVideo::get(Filename const &name);

Description: Obtains a MovieVideo that references a file.

getClassType
static TypeHandle MovieVideo::get_class_type(void);

Undocumented function.

getFilename
Filename const &MovieVideo::get_filename(void) const;

Filename: movieVideo.I Created by: jyelon (02Jul07)
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."
Description: Returns the movie's filename. A movie is not guaranteed to have a filename, if not, then this function returns a null filename.

open
virtual PointerTo< MovieVideoCursor > MovieVideo::open(void);

Description: Open this video, returning a MovieVideoCursor.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


MovieVideoCursor

    from pandac.PandaModules import MovieVideoCursor
    Class : MovieVideoCursor
    Description : A MovieVideo is actually any source that provides a sequence of video frames. That could include an AVI file, a digital camera, or an internet TV station. A MovieVideoCursor is a handle that lets you read data sequentially from a MovieVideo.
    Thread safety: each individual MovieVideoCursor must be owned and accessed by a single thread. It is OK for two different threads to open the same file at the same time, as long as they use separate MovieVideoCursor objects.

Inheritance:

    MovieVideoCursor: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of MovieVideoCursor:

    MovieVideoCursor (Constructor)
    aborted
    canSeek
    canSeekFast
    fetchIntoBitbucket
    fetchIntoTexture
    fetchIntoTextureAlpha
    fetchIntoTextureRgb
    getClassType
    getNumComponents
    getSource
    lastStart
    length
    nextStart
    ready
    setupTexture
    sizeX
    sizeY
    streaming

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
MovieVideoCursor
MovieVideoCursor::MovieVideoCursor(MovieVideo *src);

Description: This constructor returns a null video stream --- a stream of plain blue and white frames that last one second each. To get more interesting video, you need to construct a subclass of this class.

aborted
bool MovieVideoCursor::aborted(void) const;

Description: Returns true if the video has aborted prematurely. For example, this could occur if the Movie was actually an internet TV station, and the connection was lost. Reaching the normal end of the video does not constitute an 'abort' condition.

canSeek
bool MovieVideoCursor::can_seek(void) const;

Description: Returns true if the movie can seek. If this is true, seeking is still not guaranteed to be fast: for some movies, seeking is implemented by rewinding to the beginning and then fast-forwarding to the desired location. Even if the movie cannot seek, the fetch methods can still advance to an arbitrary location by reading frames and discarding them. However, to move backward, can_seek must return true.

canSeekFast
bool MovieVideoCursor::can_seek_fast(void) const;

Description: Returns true if seek operations are constant time.

fetchIntoBitbucket
virtual void MovieVideoCursor::fetch_into_bitbucket(double time);

Description: Discards the next video frame. Still sets last_start and next_start.
See fetch_into_buffer for more details.

fetchIntoTexture
virtual void MovieVideoCursor::fetch_into_texture(double time, Texture *t, int page);

Description: Reads the specified video frame into the specified texture.
See fetch_into_buffer for more details.

fetchIntoTextureAlpha
virtual void MovieVideoCursor::fetch_into_texture_alpha(double time, Texture *t, int page, int alpha_src);

Description: Reads the specified video frame into the alpha channel of the supplied texture. The RGB channels of the texture are not touched.
See fetch_into_buffer for more details.

fetchIntoTextureRgb
virtual void MovieVideoCursor::fetch_into_texture_rgb(double time, Texture *t, int page);

Description: Reads the specified video frame into the RGB channels of the supplied texture. The alpha channel of the texture is not touched.
See fetch_into_buffer for more details.

getClassType
static TypeHandle MovieVideoCursor::get_class_type(void);

Undocumented function.

getNumComponents
int MovieVideoCursor::get_num_components(void) const;

Description: Returns 4 if the movie has an alpha channel, 3 otherwise.

getSource
PointerTo< MovieVideo > MovieVideoCursor::get_source(void) const;

Filename: movieVideoCursor.I Created by: jyelon (02Jul07)
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."
Description: Get the MovieVideo which this cursor references.

lastStart
double MovieVideoCursor::last_start(void) const;

Description: Returns the start time of the last frame you read.
MovieVideoCursor streams have variable frame rates. Each frame will specify how long it is to be displayed. These lengths may not be equal from frame to frame.

length
double MovieVideoCursor::length(void) const;

Description: Returns the length of the movie.
Some kinds of Movie, such as internet TV station, might not have a predictable length. In that case, the length will be set to a very large number: 1.0E10. If the internet TV station goes offline, the video or audio stream will set its abort flag. Reaching the end of the movie (ie, the specified length) normally does not cause the abort flag to be set.
The video and audio streams produced by get_video and get_audio are always of unlimited duration - you can always read another video frame or another audio sample. This is true even if the specified length is reached, or an abort is flagged. If either stream runs out of data, it will synthesize blank video frames and silent audio samples as necessary to satisfy read requests.
Some AVI files have incorrect length values encoded into them - usually, they're a second or two long or short. When playing such an AVI using the Movie class, you may see a slightly truncated video, or a slightly elongated video (padded with black frames). There are utilities out there to fix the length values in AVI files.

nextStart
double MovieVideoCursor::next_start(void) const;

Description: Returns the start time of the next frame you can read.
MovieVideoCursor streams have variable frame rates. Each frame will specify how long it is to be displayed. These lengths may not be equal from frame to frame.

ready
bool MovieVideoCursor::ready(void) const;

Description: Returns true if the cursor is a streaming source, and if a video frame is ready to be read. For non- streaming sources, this is always false.

setupTexture
void MovieVideoCursor::setup_texture(Texture *tex) const;

Description: Set up the specified Texture object to contain content from this movie. This should be called once, not every frame.

sizeX
int MovieVideoCursor::size_x(void) const;

Description: Get the horizontal size of the movie.

sizeY
int MovieVideoCursor::size_y(void) const;

Description: Get the vertical size of the movie.

streaming
bool MovieVideoCursor::streaming(void) const;

Description: Returns true if the video frames are being "pushed" at us by something that operates at its own speed - for example, a webcam. In this case, the frames come when they're ready to come. Attempting to read too soon will produce nothing, reading too late will cause frames to be dropped. In this case, the ready flag can be used to determine whether or not a frame is ready for reading.
When streaming, you should still pay attention to last_start, but the value of next_start is only a guess.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


MovingPartBase

    from pandac.PandaModules import MovingPartBase
    Class : MovingPartBase
    Description : This is the base class for a single animatable piece that may be bound to one channel (or more, if blending is in effect). It corresponds to, for instance, a single joint or slider of a character.
    MovingPartBase does not have a particular value type. See the derived template class, MovingPart, for this.

Inheritance:

    MovingPartBase: PartGroup
    PartGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of MovingPartBase:

    getBound
    getClassType
    getMaxBound
    outputValue

Methods of PartGroup:

    applyControl
    applyFreeze
    clearForcedChannel
    findChild
    getChild
    getClassType
    getForcedChannel
    getNumChildren
    write
    writeWithValue

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
getBound
AnimChannelBase *MovingPartBase::get_bound(int n) const;

Description: Returns the nth bound channel on this PartGroup. n can be determined by iterating from 0 to one less than get_max_bound(); or n might be AnimControl::get_channel_index().
This will return NULL if there is no channel bound on the indicated index. It is an error to call this if n is less than zero or greater than or equal to get_max_bound().

getClassType
static TypeHandle MovingPartBase::get_class_type(void);

Undocumented function.

getMaxBound
int MovingPartBase::get_max_bound(void) const;

Description: Returns the number of channels that might be bound to this PartGroup. This might not be the actual number of channels, since there might be holes in the list; it is one more than the index number of the highest bound channel. Thus, it is called get_max_bound() instead of get_num_bound().

outputValue
virtual void MovingPartBase::output_value(ostream &out) const = 0;

Undocumented function.

applyControl
virtual bool PartGroup::apply_control(PandaNode *node);

Description: Specifies a node to influence this particular joint so that it will always hold the node's transform. Returns true if this is a joint that can be so controlled, false otherwise.
This is normally only called internally by PartBundle::control_joint(), but you may also call it directly.

applyFreeze
virtual bool PartGroup::apply_freeze(TransformState const *transform);

Description: Freezes this particular joint so that it will always hold the specified transform. Returns true if this is a joint that can be so frozen, false otherwise.
This is normally only called internally by PartBundle::freeze_joint(), but you may also call it directly.

clearForcedChannel
virtual bool PartGroup::clear_forced_channel(void);

Description: Undoes the effect of a previous call to apply_freeze() or apply_control(). Returns true if the joint was modified, false otherwise.
This is normally only called internally by PartBundle::release_joint(), but you may also call it directly.

findChild
PartGroup *PartGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
PartGroup *PartGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle PartGroup::get_class_type(void);

Undocumented function.

getForcedChannel
virtual AnimChannelBase *PartGroup::get_forced_channel(void) const;

Description: Returns the AnimChannelBase that has been forced to this joint by a previous call to apply_freeze() or apply_control(), or NULL if no such channel has been applied.

getNumChildren
int PartGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

write
virtual void PartGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

writeWithValue
virtual void PartGroup::write_with_value(ostream &out, int indent_level) const;

Description: Writes a brief description of the group, showing its current value, and that of all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


MovingPartMatrix

    from pandac.PandaModules import MovingPartMatrix
    Class : MovingPartMatrix
    Description : This is a particular kind of MovingPart that accepts a matrix each frame.

Inheritance:

    MovingPartMatrix: MovingPart< ACMatrixSwitchType >
    MovingPart< ACMatrixSwitchType >: MovingPartBase
    MovingPartBase: PartGroup
    PartGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of MovingPartMatrix:

    getClassType

Methods of MovingPart< ACMatrixSwitchType >:

    getClassType
    getInitialValue
    getValue

Methods of MovingPartBase:

    getBound
    getClassType
    getMaxBound
    outputValue

Methods of PartGroup:

    applyControl
    applyFreeze
    clearForcedChannel
    findChild
    getChild
    getClassType
    getForcedChannel
    getNumChildren
    write
    writeWithValue

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
getClassType
static TypeHandle MovingPartMatrix::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle ::MovingPart< ACMatrixSwitchType >::get_class_type(void);

Undocumented function.

getInitialValue
LMatrix4f ::MovingPart< ACMatrixSwitchType >::get_initial_value(void) const;

Undocumented function.

getValue
LMatrix4f ::MovingPart< ACMatrixSwitchType >::get_value(void) const;

Undocumented function.

getBound
AnimChannelBase *MovingPartBase::get_bound(int n) const;

Description: Returns the nth bound channel on this PartGroup. n can be determined by iterating from 0 to one less than get_max_bound(); or n might be AnimControl::get_channel_index().
This will return NULL if there is no channel bound on the indicated index. It is an error to call this if n is less than zero or greater than or equal to get_max_bound().

getClassType
static TypeHandle MovingPartBase::get_class_type(void);

Undocumented function.

getMaxBound
int MovingPartBase::get_max_bound(void) const;

Description: Returns the number of channels that might be bound to this PartGroup. This might not be the actual number of channels, since there might be holes in the list; it is one more than the index number of the highest bound channel. Thus, it is called get_max_bound() instead of get_num_bound().

outputValue
virtual void MovingPartBase::output_value(ostream &out) const = 0;

Undocumented function.

applyControl
virtual bool PartGroup::apply_control(PandaNode *node);

Description: Specifies a node to influence this particular joint so that it will always hold the node's transform. Returns true if this is a joint that can be so controlled, false otherwise.
This is normally only called internally by PartBundle::control_joint(), but you may also call it directly.

applyFreeze
virtual bool PartGroup::apply_freeze(TransformState const *transform);

Description: Freezes this particular joint so that it will always hold the specified transform. Returns true if this is a joint that can be so frozen, false otherwise.
This is normally only called internally by PartBundle::freeze_joint(), but you may also call it directly.

clearForcedChannel
virtual bool PartGroup::clear_forced_channel(void);

Description: Undoes the effect of a previous call to apply_freeze() or apply_control(). Returns true if the joint was modified, false otherwise.
This is normally only called internally by PartBundle::release_joint(), but you may also call it directly.

findChild
PartGroup *PartGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
PartGroup *PartGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle PartGroup::get_class_type(void);

Undocumented function.

getForcedChannel
virtual AnimChannelBase *PartGroup::get_forced_channel(void) const;

Description: Returns the AnimChannelBase that has been forced to this joint by a previous call to apply_freeze() or apply_control(), or NULL if no such channel has been applied.

getNumChildren
int PartGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

write
virtual void PartGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

writeWithValue
virtual void PartGroup::write_with_value(ostream &out, int indent_level) const;

Description: Writes a brief description of the group, showing its current value, and that of all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


MovingPartScalar

    from pandac.PandaModules import MovingPartScalar
    Class : MovingPartScalar
    Description : This is a particular kind of MovingPart that accepts a scalar each frame.

Inheritance:

    MovingPartScalar: MovingPart< ACScalarSwitchType >
    MovingPart< ACScalarSwitchType >: MovingPartBase
    MovingPartBase: PartGroup
    PartGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of MovingPartScalar:

    getClassType

Methods of MovingPart< ACScalarSwitchType >:

    getClassType
    getInitialValue
    getValue

Methods of MovingPartBase:

    getBound
    getClassType
    getMaxBound
    outputValue

Methods of PartGroup:

    applyControl
    applyFreeze
    clearForcedChannel
    findChild
    getChild
    getClassType
    getForcedChannel
    getNumChildren
    write
    writeWithValue

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
getClassType
static TypeHandle MovingPartScalar::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle ::MovingPart< ACScalarSwitchType >::get_class_type(void);

Undocumented function.

getInitialValue
float ::MovingPart< ACScalarSwitchType >::get_initial_value(void) const;

Undocumented function.

getValue
float ::MovingPart< ACScalarSwitchType >::get_value(void) const;

Undocumented function.

getBound
AnimChannelBase *MovingPartBase::get_bound(int n) const;

Description: Returns the nth bound channel on this PartGroup. n can be determined by iterating from 0 to one less than get_max_bound(); or n might be AnimControl::get_channel_index().
This will return NULL if there is no channel bound on the indicated index. It is an error to call this if n is less than zero or greater than or equal to get_max_bound().

getClassType
static TypeHandle MovingPartBase::get_class_type(void);

Undocumented function.

getMaxBound
int MovingPartBase::get_max_bound(void) const;

Description: Returns the number of channels that might be bound to this PartGroup. This might not be the actual number of channels, since there might be holes in the list; it is one more than the index number of the highest bound channel. Thus, it is called get_max_bound() instead of get_num_bound().

outputValue
virtual void MovingPartBase::output_value(ostream &out) const = 0;

Undocumented function.

applyControl
virtual bool PartGroup::apply_control(PandaNode *node);

Description: Specifies a node to influence this particular joint so that it will always hold the node's transform. Returns true if this is a joint that can be so controlled, false otherwise.
This is normally only called internally by PartBundle::control_joint(), but you may also call it directly.

applyFreeze
virtual bool PartGroup::apply_freeze(TransformState const *transform);

Description: Freezes this particular joint so that it will always hold the specified transform. Returns true if this is a joint that can be so frozen, false otherwise.
This is normally only called internally by PartBundle::freeze_joint(), but you may also call it directly.

clearForcedChannel
virtual bool PartGroup::clear_forced_channel(void);

Description: Undoes the effect of a previous call to apply_freeze() or apply_control(). Returns true if the joint was modified, false otherwise.
This is normally only called internally by PartBundle::release_joint(), but you may also call it directly.

findChild
PartGroup *PartGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
PartGroup *PartGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle PartGroup::get_class_type(void);

Undocumented function.

getForcedChannel
virtual AnimChannelBase *PartGroup::get_forced_channel(void) const;

Description: Returns the AnimChannelBase that has been forced to this joint by a previous call to apply_freeze() or apply_control(), or NULL if no such channel has been applied.

getNumChildren
int PartGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

write
virtual void PartGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

writeWithValue
virtual void PartGroup::write_with_value(ostream &out, int indent_level) const;

Description: Writes a brief description of the group, showing its current value, and that of all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


Multifile

    from pandac.PandaModules import Multifile
    Class : Multifile
    Description : A file that contains a set of files.

Inheritance:

    Multifile: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of Multifile:

    Multifile (Constructor)
    addSubfile
    close
    compareSubfile
    extractSubfile
    extractSubfileTo
    findSubfile
    flush
    getEncryptionFlag
    getEncryptionPassword
    getIndexEnd
    getMagicNumber
    getMultifileName
    getNumSubfiles
    getRecordTimestamp
    getScaleFactor
    getSubfileInternalLength
    getSubfileInternalStart
    getSubfileLength
    getSubfileName
    getSubfileTimestamp
    getTimestamp
    hasDirectory
    isReadValid
    isSubfileCompressed
    isSubfileEncrypted
    isWriteValid
    ls
    needsRepack
    openRead
    openReadSubfile
    openReadWrite
    openWrite
    output
    readSubfile
    removeSubfile
    repack
    scanDirectory
    setEncryptionFlag
    setEncryptionPassword
    setRecordTimestamp
    setScaleFactor
    updateSubfile

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
Multifile
Multifile::Multifile(void);

A Multifile consists of the following elements:
(1) A header. This is always the first n bytes of the Multifile, and contains a magic number to identify the file, as well as version numbers and any file-specific parameters.
char[6] The string Multifile::_header, a magic number. int16 The file's major version number int16 The file's minor version number uint32 Scale factor. This scales all address references within the file. Normally 1, this may be set larger to support Multifiles larger than 4GB. uint32 An overall modification timestamp for the entire multifile.
(2) Zero or more index entries, one for each subfile within the Multifile. These entries are of variable length. The first one of these immediately follows the header, and the first word of each index entry contains the address of the next index entry. A zero "next" address marks the end of the chain. These may appear at any point within the Multifile; they do not necessarily appear in sequential order at the beginning of the file (although they will after the file has been "packed").
uint32 The address of the next entry. 0 to mark the end. uint32 The address of this subfile's data record. uint32 The length in bytes of this subfile's data record. uint16 The Subfile::_flags member. [uint32] The original, uncompressed and unencrypted length of the subfile, if it is compressed or encrypted. This field is only present if one or both of the SF_compressed or SF_encrypted bits are set in _flags. uint32 A modification timestamp for the subfile. uint16 The length in bytes of the subfile's name. char[n] The subfile's name.
(3) Zero or more data entries, one for each subfile. These may appear at any point within the Multifile; they do not necessarily follow each index entry, nor are they necessarily all grouped together at the end (although they will be all grouped together at the end after the file has been "packed"). These are just blocks of literal data.
Description:
Description: Don't try to copy Multifiles.

addSubfile
string Multifile::add_subfile(string const &subfile_name, Filename const &filename, int compression_level);

Description: Adds a file on disk as a subfile to the Multifile. The file named by filename will be read and added to the Multifile at the next call to flush(). If there already exists a subfile with the indicated name, it is replaced without examining its contents (but see also update_subfile).
Returns the subfile name on success (it might have been modified slightly), or empty string on failure.
Description: Adds a file from a stream as a subfile to the Multifile. The indicated istream will be read and its contents added to the Multifile at the next call to flush().
Note that the istream must remain untouched and unused by any other code until flush() is called. At that time, the Multifile will read the entire contents of the istream from the current file position to the end of the file. Subsequently, the Multifile will *not* close or delete the istream. It is the caller's responsibility to ensure that the istream pointer does not destruct during the lifetime of the Multifile.

close
void Multifile::close(void);

Description: Closes the Multifile if it is open. All changes are flushed to disk, and the file becomes invalid for further operations until the next call to open().

compareSubfile
bool Multifile::compare_subfile(int index, Filename const &filename);

Description: Performs a byte-for-byte comparison of the indicated file on disk with the nth subfile. Returns true if the files are equivalent, or false if they are different (or the file is missing).

extractSubfile
bool Multifile::extract_subfile(int index, Filename const &filename);

Description: Extracts the nth subfile into a file with the given name.

extractSubfileTo
bool Multifile::extract_subfile_to(int index, ostream &out);

Description: Extracts the nth subfile to the indicated ostream.

findSubfile
int Multifile::find_subfile(string const &subfile_name) const;

Description: Returns the index of the subfile with the indicated name, or -1 if the named subfile is not within the Multifile.

flush
bool Multifile::flush(void);

Description: Writes all contents of the Multifile to disk. Until flush() is called, add_subfile() and remove_subfile() do not actually do anything to disk. At this point, all of the recently-added subfiles are read and their contents are added to the end of the Multifile, and the recently-removed subfiles are marked gone from the Multifile.
This may result in a suboptimal index. To guarantee that the index is written at the beginning of the file, call repack() instead of flush().
It is not necessary to call flush() explicitly unless you are concerned about reading the recently-added subfiles immediately.
Returns true on success, false on failure.

getEncryptionFlag
bool Multifile::get_encryption_flag(void) const;

Description: Returns the flag indicating whether subsequently-added subfiles should be encrypted before writing them to the multifile. See set_encryption_flag().

getEncryptionPassword
string const &Multifile::get_encryption_password(void) const;

Description: Returns the password that will be used to encrypt subfiles subsequently added to the multifile. See set_encryption_password().

getIndexEnd
int Multifile::get_index_end(void) const;

Description: Returns the first byte that is guaranteed to follow any index byte already written to disk in the Multifile.
This number is largely meaningless in many cases, but if needs_repack() is false, and the file is flushed, this will indicate the number of bytes in the header + index. Everything at this byte position and later will be actual data.

getMagicNumber
static string Multifile::get_magic_number(void);

Description: Returns a string with the first n bytes written to a Multifile, to identify it as a Multifile.

getMultifileName
Filename const &Multifile::get_multifile_name(void) const;

Description: Returns the filename of the Multifile, if it is available.

getNumSubfiles
int Multifile::get_num_subfiles(void) const;

Description: Returns the number of subfiles within the Multifile. The subfiles may be accessed in alphabetical order by iterating through [0 .. get_num_subfiles()).

getRecordTimestamp
bool Multifile::get_record_timestamp(void) const;

Description: Returns the flag indicating whether timestamps should be recorded within the Multifile or not. See set_record_timestamp().

getScaleFactor
unsigned int Multifile::get_scale_factor(void) const;

Description: Returns the internal scale factor for this Multifile. See set_scale_factor().

getSubfileInternalLength
unsigned int Multifile::get_subfile_internal_length(int index) const;

Description: Returns the number of bytes the indicated subfile consumes within the archive. For compressed subfiles, this will generally be smaller than get_subfile_length(); for encrypted (but noncompressed) subfiles, it may be slightly different, for noncompressed and nonencrypted subfiles, it will be equal.

getSubfileInternalStart
int Multifile::get_subfile_internal_start(int index) const;

Description: Returns the starting byte position within the Multifile at which the indicated subfile begins. This may be used, with get_subfile_internal_length(), for low-level access to the subfile, but usually it is better to use open_read_subfile() instead (which automatically decrypts and/or uncompresses the subfile data).

getSubfileLength
unsigned int Multifile::get_subfile_length(int index) const;

Description: Returns the uncompressed data length of the nth subfile. This might return 0 if the subfile has recently been added and flush() has not yet been called.

getSubfileName
string const &Multifile::get_subfile_name(int index) const;

Description: Returns the name of the nth subfile.

getSubfileTimestamp
unsigned int Multifile::get_subfile_timestamp(int index) const;

Description: Returns the modification time of the nth subfile. If this is called on an older .mf file, which did not store individual timestamps in the file (or if get_record_timestamp() is false), this will return the modification time of the overall multifile.

getTimestamp
unsigned int Multifile::get_timestamp(void) const;

Description: Returns the modification timestamp of the overall Multifile. This indicates the most recent date at which subfiles were added or removed from the Multifile. Note that it is logically possible for an individual subfile to have a more recent timestamp than the overall timestamp.

hasDirectory
bool Multifile::has_directory(string const &subfile_name) const;

Description: Returns true if the indicated subfile name is the directory prefix to one or more files within the Multifile. That is, the Multifile contains at least one file named "subfile_name/...".

isReadValid
bool Multifile::is_read_valid(void) const;

Description: Returns true if the Multifile has been opened for read mode and there have been no errors, and individual Subfile contents may be extracted.

isSubfileCompressed
bool Multifile::is_subfile_compressed(int index) const;

Description: Returns true if the indicated subfile has been compressed when stored within the archive, false otherwise.

isSubfileEncrypted
bool Multifile::is_subfile_encrypted(int index) const;

Description: Returns true if the indicated subfile has been encrypted when stored within the archive, false otherwise.

isWriteValid
bool Multifile::is_write_valid(void) const;

Description: Returns true if the Multifile has been opened for write mode and there have been no errors, and Subfiles may be added or removed from the Multifile.

ls
void Multifile::ls(ostream &out = (cout)) const;

Description: Shows a list of all subfiles within the Multifile.

needsRepack
bool Multifile::needs_repack(void) const;

Description: Returns true if the Multifile index is suboptimal and should be repacked. Call repack() to achieve this.

openRead
bool Multifile::open_read(Filename const &multifile_name);

Description: Opens the named Multifile on disk for reading. The Multifile index is read in, and the list of subfiles becomes available; individual subfiles may then be extracted or read, but the list of subfiles may not be modified.
Also see the version of open_read() which accepts an istream. Returns true on success, false on failure.
Description: Opens an anonymous Multifile for reading using an istream. There must be seek functionality via seekg() and tellg() on the istream.
The Multifile does *not* close or delete the istream when Multifile.close() is called. It is the caller's responsibility to ensure that the istream pointer does not destruct during the lifetime of the Multifile.

openReadSubfile
istream *Multifile::open_read_subfile(int index);

Description: Returns an istream that may be used to read the indicated subfile. You may seek() within this istream to your heart's content; even though it will be a reference to the already-opened fstream of the Multifile itself, byte 0 appears to be the beginning of the subfile and EOF appears to be the end of the subfile.
The returned istream will have been allocated via new; you should delete it when you are finished reading the subfile.
Any future calls to repack() or close() (or the Multifile destructor) will invalidate all currently open subfile pointers.
The return value will be NULL if the stream cannot be opened for some reason.

openReadWrite
bool Multifile::open_read_write(Filename const &multifile_name);

Description: Opens the named Multifile on disk for reading and writing. If there already exists a file by that name, its index is read. Subfiles may be added or removed, and the resulting changes will be written to the named file.
Also see the version of open_read_write() which accepts an iostream. Returns true on success, false on failure.
Description: Opens an anonymous Multifile for reading and writing using an iostream. There must be seek functionality via seekg()/seekp() and tellg()/tellp() on the iostream.
The Multifile does *not* close or delete the iostream when Multifile.close() is called. It is the caller's responsibility to ensure that the iostream pointer does not destruct during the lifetime of the Multifile.

openWrite
bool Multifile::open_write(Filename const &multifile_name);

Description: Opens the named Multifile on disk for writing. If there already exists a file by that name, it is truncated. The Multifile is then prepared for accepting a brand new set of subfiles, which will be written to the indicated filename. Individual subfiles may not be extracted or read.
Also see the version of open_write() which accepts an ostream. Returns true on success, false on failure.
Description: Opens an anonymous Multifile for writing using an ostream. There must be seek functionality via seekp() and tellp() on the pstream.
The Multifile does *not* close or delete the ostream when Multifile.close() is called. It is the caller's responsibility to ensure that the ostream pointer does not destruct during the lifetime of the Multifile.

output
void Multifile::output(ostream &out) const;

Description:

readSubfile
string Multifile::read_subfile(int index);

Description: Returns a string that contains the entire contents of the indicated subfile.
Description: Fills a string with the entire contents of the indicated subfile.
Description: Fills a pvector with the entire contents of the indicated subfile.

removeSubfile
void Multifile::remove_subfile(int index);

Description: Removes the nth subfile from the Multifile. This will cause all subsequent index numbers to decrease by one. The file will not actually be removed from the disk until the next call to flush().
Note that this does not actually remove the data from the indicated subfile; it simply removes it from the index. The Multifile will not be reduced in size after this operation, until the next call to repack().

repack
bool Multifile::repack(void);

Description: Forces a complete rewrite of the Multifile and all of its contents, so that its index will appear at the beginning of the file with all of the subfiles listed in alphabetical order. This is considered optimal for reading, and is the standard configuration; but it is not essential to do this.
It is only valid to call this if the Multifile was opened using open_read_write() and an explicit filename, rather than an iostream. Also, we must have write permission to the directory containing the Multifile.
Returns true on success, false on failure.

scanDirectory
bool Multifile::scan_directory(vector< string > &contents, string const &subfile_name) const;

Description: Considers subfile_name to be the name of a subdirectory within the Multifile, but not a file itself; fills the given vector up with the sorted list of subdirectories or files within the named directory.
Note that directories do not exist explicitly within a Multifile; this just checks for the existence of files with the given initial prefix.
Returns true if successful, false otherwise.

setEncryptionFlag
void Multifile::set_encryption_flag(bool flag);

Description: Sets the flag indicating whether subsequently-added subfiles should be encrypted before writing them to the multifile. If true, subfiles will be encrypted; if false (the default), they will be written without encryption.
When true, subfiles will be encrypted with the password specified by set_encryption_password(). It is possible to apply a different password to different files, but you must call flush() or repack() before changing these properties, and the resulting file can't be mounted via VFS.

setEncryptionPassword
void Multifile::set_encryption_password(string const &password);

Description: Specifies the password that will be used to encrypt subfiles subsequently added to the multifile, if the encryption flag is also set true (see set_encryption_flag()).

setRecordTimestamp
void Multifile::set_record_timestamp(bool record_timestamp);

Description: Sets the flag indicating whether timestamps should be recorded within the Multifile or not. The default is true, indicating the Multifile will record timestamps for the overall file and also for each subfile.
If this is false, the Multifile will not record timestamps internally. In this case, the return value from get_timestamp() or get_subfile_timestamp() will be estimations.
You may want to set this false to minimize the bitwise difference between independently-generated Multifiles.

setScaleFactor
void Multifile::set_scale_factor(unsigned int scale_factor);

Description: Changes the internal scale factor for this Multifile.
This is normally 1, but it may be set to any arbitrary value (greater than zero) to support Multifile archives that exceed 4GB, if necessary. (Individual subfiles may still not exceed 4GB.)
All addresses within the file are rounded up to the next multiple of _scale_factor, and zeros are written to the file to fill the resulting gaps. Then the address is divided by _scale_factor and written out as a 32-bit integer. Thus, setting a scale factor of 2 supports up to 8GB files, 3 supports 12GB files, etc.
Calling this function on an already-existing Multifile will have no immediate effect until a future call to repack() or close() (or until the Multifile is destructed).

updateSubfile
string Multifile::update_subfile(string const &subfile_name, Filename const &filename, int compression_level);

Description: Adds a file on disk to the subfile. If a subfile already exists with the same name, its contents are compared byte-for-byte to the disk file, and it is replaced only if it is different; otherwise, the multifile is left unchanged.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


MultiLerpFunctor

    from pandac.PandaModules import MultiLerpFunctor

Inheritance:

    MultiLerpFunctor: LerpFunctor
    LerpFunctor: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of MultiLerpFunctor:

    getClassType

Methods of LerpFunctor:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle MultiLerpFunctor::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle LerpFunctor::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


MultiplexStream

    from pandac.PandaModules import MultiplexStream
    Class : MultiplexStream
    Description : This is a special ostream that forwards the data that is written to it to any number of other sources, for instance other ostreams, or explicitly to a disk file or to system logging utilities. It's a very handy thing to set Notify to refer to when running in batch mode.

Inheritance:

    MultiplexStream: ostream
    ostream: ios
    ios: ios_base
    ios_base:

Methods of MultiplexStream:

    MultiplexStream (Constructor)
    addFile
    addOstream
    addStandardOutput
    addStdioFile
    addSystemDebug
    flush

Methods of ostream:

    flush
    put
    seekp
    tellp

Methods of ios:

    bad
    clear
    eof
    fail
    good

Constants in ios_base:

    beg | (seekdir)
cur | (seekdir)
end | (seekdir)
MultiplexStream
MultiplexStream::MultiplexStream(void);

Description:

addFile
bool MultiplexStream::add_file(Filename file);

Description: Adds the given file to the multiplex output. The file is opened in append mode with line buffering. Returns false if the file cannot be opened.

addOstream
void MultiplexStream::add_ostream(ostream *out, bool delete_later = (0));

Description: Adds the indicated generic ostream to the multiplex output. The ostream will receive whatever data is sent to the pipe.

addStandardOutput
void MultiplexStream::add_standard_output(void);

Description: Adds the standard output channel.

addStdioFile
bool MultiplexStream::add_stdio_file(FILE *file, bool close_when_done);

Description: Adds the given file, previously opened using the C stdio library, to the multiplex output.

addSystemDebug
void MultiplexStream::add_system_debug(void);

Description: Adds the system debug output the the multiplex output. This may map to a syslog or some such os-specific output system. It may do nothing on a particular system.
Presently, this maps only to OutputDebugString() on Windows.

flush
void MultiplexStream::flush(void);

Description: Forces out all output that hasn't yet been written.

flush
void ostream::flush(void);

Undocumented function.

put
void ostream::put(char c);

Undocumented function.

seekp
void ostream::seekp(unsigned long int pos);

Undocumented function.

tellp
unsigned long int ostream::tellp(void);

Undocumented function.

bad
bool ios::bad(void) const;

Undocumented function.

clear
void ios::clear(void);

Undocumented function.

eof
bool ios::eof(void) const;

Undocumented function.

fail
bool ios::fail(void) const;

Undocumented function.

good
bool ios::good(void) const;

Undocumented function.


MultitexReducer

    from pandac.PandaModules import MultitexReducer
    Class : MultitexReducer
    Description : This 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.
    This also flattens out texture matrices and removes extra texture coordinates from the Geoms. It is thus not a complete substitute for true multitexturing, because it does not lend itself well to dynamic animation of the textures once they have been flattened. It is, however, useful for "baking in" a particular multitexture effect.

Inheritance:

    MultitexReducer:

Methods of MultitexReducer:

    MultitexReducer (Constructor)
    clear
    flatten
    scan
    setAllowTexMat
    setTarget
    setUseGeom
MultitexReducer
MultitexReducer::MultitexReducer(void);

Undocumented function.

clear
void MultitexReducer::clear(void);

Undocumented function.

flatten
void MultitexReducer::flatten(GraphicsOutput *window);

Undocumented function.

scan
void MultitexReducer::scan(NodePath const &node);

Description: Starts scanning the hierarchy beginning at the indicated node. Any GeomNodes discovered in the hierarchy with multitexture will be added to internal structures in the MultitexReducer so that a future call to flatten() will operate on all of these at once.
This version of this method does not accumulate state from the parents of the indicated node; thus, only multitexture effects that have been applied at node and below will be considered.
The second parameter represents the NodePath from which to accumulate the state that is considered for the multitexture. Pass an empty NodePath to accumulate all the state from the root of the graph, or you may specify some other node here in order to not consider nodes above that as contributing to the state to be flattened. This is particularly useful if you have some texture stage which is applied globally to a scene (for instance, a caustics effect), which you don't want to be considered for flattening by the MultitexReducer.

setAllowTexMat
void MultitexReducer::set_allow_tex_mat(bool allow_tex_mat);

Undocumented function.

setTarget
void MultitexReducer::set_target(TextureStage *stage);

Undocumented function.

setUseGeom
void MultitexReducer::set_use_geom(bool use_geom);

Undocumented function.


Mutex

    from pandac.PandaModules import Mutex

Inheritance:

    Mutex: MutexDirect
    MutexDirect:

Methods of Mutex:

    Mutex (Constructor)

Methods of MutexDirect:

    debugIsLocked
    lock
    output
    release
Mutex
Mutex::Mutex(void);

Description:
Description: Do not attempt to copy mutexes.

debugIsLocked
bool MutexDirect::debug_is_locked(void) const;

Description: Returns true if the current thread has locked the Mutex, false otherwise. This method is only intended for use in debugging, hence the method name; in the MutexDirect case, it always returns true, since there's not a reliable way to determine this otherwise.

lock
void MutexDirect::lock(void) const;

Description: Grabs the mutex if it is available. If it is not available, blocks until it becomes available, then grabs it. In either case, the function does not return until the mutex is held; you should then call unlock().
This method is considered const so that you can lock and unlock const mutexes, mainly to allow thread-safe access to otherwise const data.
Also see MutexHolder.

output
void MutexDirect::output(ostream &out) const;

Description: This method is declared virtual in MutexDebug, but non-virtual in MutexDirect.

release
void MutexDirect::release(void) const;

Description: Releases the mutex. It is an error to call this if the mutex was not already locked.
This method is considered const so that you can lock and unlock const mutexes, mainly to allow thread-safe access to otherwise const data.


MutexDirect

    from pandac.PandaModules import MutexDirect
    Class : MutexDirect
    Description : This class implements a standard mutex by making direct calls to the underlying implementation layer. It doesn't perform any debugging operations.

Inheritance:

    MutexDirect:

Methods of MutexDirect:

    debugIsLocked
    lock
    output
    release
debugIsLocked
bool MutexDirect::debug_is_locked(void) const;

Description: Returns true if the current thread has locked the Mutex, false otherwise. This method is only intended for use in debugging, hence the method name; in the MutexDirect case, it always returns true, since there's not a reliable way to determine this otherwise.

lock
void MutexDirect::lock(void) const;

Description: Grabs the mutex if it is available. If it is not available, blocks until it becomes available, then grabs it. In either case, the function does not return until the mutex is held; you should then call unlock().
This method is considered const so that you can lock and unlock const mutexes, mainly to allow thread-safe access to otherwise const data.
Also see MutexHolder.

output
void MutexDirect::output(ostream &out) const;

Description: This method is declared virtual in MutexDebug, but non-virtual in MutexDirect.

release
void MutexDirect::release(void) const;

Description: Releases the mutex. It is an error to call this if the mutex was not already locked.
This method is considered const so that you can lock and unlock const mutexes, mainly to allow thread-safe access to otherwise const data.


Namable

    from pandac.PandaModules import Namable
    Class : Namable
    Description : A base class for all things which can have a name. The name is either empty or nonempty, but it is never NULL.

Inheritance:

    Namable:

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


NetAddress

    from pandac.PandaModules import NetAddress

Inheritance:

    NetAddress:

Methods of NetAddress:

    NetAddress (Constructor)
    clear
    getAddr
    getIp
    getIpComponent
    getIpString
    getPort
    output
    setAny
    setHost
    setLocalhost
    setPort
NetAddress
NetAddress::NetAddress(void);

Description: Constructs an unspecified address.
Description: Constructs an address from a given Socket_Address. Normally, this constructor should not be used by user code; instead, create a default NetAddress and use one of the set_*() functions to set up an address.

clear
void NetAddress::clear(void);

Description: Resets the NetAddress to its initial state.

getAddr
Socket_Address const &NetAddress::get_addr(void) const;

Description: Returns the Socket_Address for this address.

getIp
unsigned int NetAddress::get_ip(void) const;

Description: Returns the IP address to which this address refers, as a 32-bit integer, in host byte order.

getIpComponent
unsigned char NetAddress::get_ip_component(int n) const;

Description: Returns the nth 8-bit component of the IP address. An IP address has four components; component 0 is the first (leftmost), and component 3 is the last (rightmost) in the dotted number convention.

getIpString
string NetAddress::get_ip_string(void) const;

Description: Returns the IP address to which this address refers, formatted as a string.

getPort
int NetAddress::get_port(void) const;

Description: Returns the port number to which this address refers.

output
void NetAddress::output(ostream &out) const;

Description:

setAny
bool NetAddress::set_any(int port);

Description: Sets the address up to refer to a particular port, but not to any particular IP. Returns true if successful, false otherwise (currently, this only returns true).

setHost
bool NetAddress::set_host(string const &hostname, int port);

Description: Sets the address up to refer to a particular port on a particular host. Returns true if the hostname is known, false otherwise.

setLocalhost
bool NetAddress::set_localhost(int port);

Description: Sets the address up to refer to a particular port, on this host.

setPort
void NetAddress::set_port(int port);

Description: Resets the port number without otherwise changing the address.


NetDatagram

    from pandac.PandaModules import NetDatagram
    Class : NetDatagram
    Description : A specific kind of Datagram, especially for sending across or receiving from a network. It's different only in that it knows which Connection and/or NetAddress it is to be sent to or was received from.

Inheritance:

    NetDatagram: Datagram
    Datagram: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of NetDatagram:

    NetDatagram (Constructor)
    getAddress
    getClassType
    getConnection
    operator =
    setAddress
    setConnection

Methods of Datagram:

    Datagram (Constructor)
    addBeFloat32
    addBeFloat64
    addBeInt16
    addBeInt32
    addBeInt64
    addBeUint16
    addBeUint32
    addBeUint64
    addBool
    addFixedString
    addFloat32
    addFloat64
    addInt16
    addInt32
    addInt64
    addInt8
    addString
    addString32
    addUint16
    addUint32
    addUint64
    addUint8
    addWstring
    addZString
    appendData
    assign
    clear
    copyArray
    dumpHex
    getArray
    getClassType
    getData
    getLength
    getMessage
    modifyArray
    operator !=
    operator <
    operator =
    operator ==
    output
    padBytes
    setArray
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
NetDatagram
NetDatagram::NetDatagram(void);

Description: Constructs an empty datagram.
Description: Constructs a datagram from an existing block of data.
Description:

getAddress
NetAddress const &NetDatagram::get_address(void) const;

Description: Retrieves the host from which the datagram was read, or to which it is scheduled to be sent.

getClassType
static TypeHandle NetDatagram::get_class_type(void);

Undocumented function.

getConnection
PointerTo< Connection > NetDatagram::get_connection(void) const;

Description: Retrieves the socket from which the datagram was read, or to which it is scheduled to be written.

operator =
void NetDatagram::operator =(Datagram const &copy);

Description:

setAddress
void NetDatagram::set_address(NetAddress const &address);

Description: Specifies the host to which the datagram should be sent.

setConnection
void NetDatagram::set_connection(PointerTo< Connection > const &connection);

Description: Specifies the socket to which the datagram should be written.

Datagram
Datagram::Datagram(void);

Description: Constructs an empty datagram.
Description: Constructs a datagram from an existing block of data.
Description:

addBeFloat32
void Datagram::add_be_float32(float value);

Description: Adds a 32-bit single-precision big-endian floating-point number to the datagram. Since this kind of float is not necessarily portable across different architectures, special care is required.

addBeFloat64
void Datagram::add_be_float64(double value);

Description: Adds a 64-bit big-endian floating-point number to the datagram.

addBeInt16
void Datagram::add_be_int16(short int value);

These functions pack numbers big-endian, in case that's desired.
Description: Adds a signed 16-bit big-endian integer to the datagram.

addBeInt32
void Datagram::add_be_int32(int value);

These functions pack numbers big-endian, in case that's desired.
Description: Adds a signed 32-bit big-endian integer to the datagram.

addBeInt64
void Datagram::add_be_int64(__int64 value);

Description: Adds a signed 64-bit big-endian integer to the datagram.

addBeUint16
void Datagram::add_be_uint16(unsigned short int value);

Description: Adds an unsigned 16-bit big-endian integer to the datagram.

addBeUint32
void Datagram::add_be_uint32(unsigned int value);

Description: Adds an unsigned 32-bit big-endian integer to the datagram.

addBeUint64
void Datagram::add_be_uint64(unsigned __int64 value);

Description: Adds an unsigned 64-bit big-endian integer to the datagram.

addBool
void Datagram::add_bool(bool value);

Description: Adds a boolean value to the datagram.

addFixedString
void Datagram::add_fixed_string(string const &str, unsigned int size);

Description: Adds a fixed-length string to the datagram. If the string given is less than the requested size, this will pad the string out with zeroes; if it is greater than the requested size, this will silently truncate the string.

addFloat32
void Datagram::add_float32(float value);

Description: Adds a 32-bit single-precision floating-point number to the datagram. Since this kind of float is not necessarily portable across different architectures, special care is required.

addFloat64
void Datagram::add_float64(double value);

Description: Adds a 64-bit floating-point number to the datagram.

addInt16
void Datagram::add_int16(short int value);

The default numeric packing is little-endian.
Description: Adds a signed 16-bit integer to the datagram.

addInt32
void Datagram::add_int32(int value);

The default numeric packing is little-endian.
Description: Adds a signed 32-bit integer to the datagram.

addInt64
void Datagram::add_int64(__int64 value);

Description: Adds a signed 64-bit integer to the datagram.

addInt8
void Datagram::add_int8(signed char value);

Description: Adds a signed 8-bit integer to the datagram.

addString
void Datagram::add_string(string const &str);

Description: Adds a variable-length string to the datagram. This actually adds a count followed by n bytes.

addString32
void Datagram::add_string32(string const &str);

Description: Adds a variable-length string to the datagram, using a 32-bit length field to allow very long strings.

addUint16
void Datagram::add_uint16(unsigned short int value);

Description: Adds an unsigned 16-bit integer to the datagram.

addUint32
void Datagram::add_uint32(unsigned int value);

Description: Adds an unsigned 32-bit integer to the datagram.

addUint64
void Datagram::add_uint64(unsigned __int64 value);

Description: Adds an unsigned 64-bit integer to the datagram.

addUint8
void Datagram::add_uint8(unsigned char value);

Description: Adds an unsigned 8-bit integer to the datagram.

addWstring
void Datagram::add_wstring(basic_string< wchar_t > const &str);

Description: Adds a variable-length wstring to the datagram.

addZString
void Datagram::add_z_string(string str);

Description: Adds a variable-length string to the datagram, as a NULL-terminated string.

appendData
void Datagram::append_data(void const *data, unsigned int size);

Description: Appends some more raw data to the end of the datagram.

assign
void Datagram::assign(void const *data, unsigned int size);

Undocumented function.

clear
virtual void Datagram::clear(void);

Description: Resets the datagram to empty, in preparation for building up a new datagram.

copyArray
void Datagram::copy_array(ConstPointerToArray< unsigned char > data);

Description: Replaces the data in the Datagram with a copy of the data in the indicated CPTA_uchar. Unlike set_array(), a complete copy is made of the data; subsequent changes to the Datagram will *not* change the source CPTA_uchar.

dumpHex
void Datagram::dump_hex(ostream &out, unsigned int indent = (0)) const;

Description: Writes a representation of the entire datagram contents, as a sequence of hex (and ASCII) values.

getArray
ConstPointerToArray< unsigned char > Datagram::get_array(void) const;

Description: Returns a const pointer to the actual data in the Datagram.

getClassType
static TypeHandle Datagram::get_class_type(void);

Undocumented function.

getData
void const *Datagram::get_data(void) const;

Description: Returns a pointer to the beginning of the datagram's data.

getLength
unsigned int Datagram::get_length(void) const;

Description: Returns the number of bytes in the datagram.

getMessage
string Datagram::get_message(void) const;

Description: Returns the datagram's data as a string.

modifyArray
PointerToArray< unsigned char > Datagram::modify_array(void);

Description: Returns a modifiable pointer to the actual data in the Datagram.

operator !=
bool Datagram::operator !=(Datagram const &other) const;

Description:

operator <
bool Datagram::operator <(Datagram const &other) const;

Description:

operator =
void Datagram::operator =(Datagram const &copy);

Description:

operator ==
bool Datagram::operator ==(Datagram const &other) const;

Description:

output
void Datagram::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

padBytes
void Datagram::pad_bytes(unsigned int size);

Description: Adds the indicated number of zero bytes to the datagram.

setArray
void Datagram::set_array(PointerToArray< unsigned char > data);

Description: Replaces the data in the Datagram with the data in the indicated PTA_uchar. This is assignment by reference: subsequent changes to the Datagram will also change the source PTA_uchar.

write
void Datagram::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


NetMessenger

    from direct.distributed.NetMessenger import NetMessenger
    This works very much like the Messenger class except that messages are sent over the network and (possibly) handled (accepted) on a remote machine (server).

Inheritance:

    NetMessenger:

Methods of NetMessenger:

    __init__
    clear
    handle
    send
__init__
def __init__(self, air, channels)

air is the AI Repository. channels is a list of channel IDs (uint32 values)

clear
def clear(self)

Undocumented function.

handle
def handle(self, pickleData)

Send pickleData from the net on the local netMessenger. The internal data in pickleData should have a tuple of (messageString, sendArgsList).

send
def send(self, message, sentArgs=[])

Send message to All AI and Uber Dog servers.


NeverFreeMemory

    from pandac.PandaModules import NeverFreeMemory
    Class : NeverFreeMemory
    Description : This class is used to allocate bytes of memory from a pool that is never intended to be freed. It is particularly useful to support DeletedChain, which allocates memory in just such a fashion.
    When it is known that memory will not be freed, it is preferable to use this instead of the standard malloc() (or global_operator_new()) call, since this will help reduce fragmentation problems in the dynamic heap. Also, memory allocated from here will exhibit less wasted space.

Inheritance:

    NeverFreeMemory:

Methods of NeverFreeMemory:

    getTotalAlloc
    getTotalUnused
    getTotalUsed
getTotalAlloc
static unsigned int NeverFreeMemory::get_total_alloc(void);

Description: Returns the total number of bytes consumed by all the pages allocated internally by this object.

getTotalUnused
static unsigned int NeverFreeMemory::get_total_unused(void);

Description: Returns the difference between get_total_alloc() and get_total_used(). This represents bytes in allocated pages that have not (yet) been used by the application.

getTotalUsed
static unsigned int NeverFreeMemory::get_total_used(void);

Description: Returns the total number of bytes requested by the application in calls to NeverFreeMemory::alloc().


NewStyle

    from direct.fsm.SampleFSM import NewStyle

Inheritance:

    NewStyle:

Methods of NewStyle:

    enterGreen
    enterRed
    enterYellow
    exitGreen
    exitRed
    exitYellow
    filterGreen
    filterRed
    filterYellow
enterGreen
def enterGreen(self)

Undocumented function.

enterRed
def enterRed(self)

Undocumented function.

enterYellow
def enterYellow(self)

Undocumented function.

exitGreen
def exitGreen(self)

Undocumented function.

exitRed
def exitRed(self)

Undocumented function.

exitYellow
def exitYellow(self)

Undocumented function.

filterGreen
def filterGreen(self, request, args)

Undocumented function.

filterRed
def filterRed(self, request, args)

Undocumented function.

filterYellow
def filterYellow(self, request, args)

Undocumented function.


NoBlendType

    from pandac.PandaModules import NoBlendType

Inheritance:

    NoBlendType: LerpBlendType
    LerpBlendType: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of NoBlendType:

    NoBlendType (Constructor)
    getClassType

Methods of LerpBlendType:

    getClassType
    operator ()

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
NoBlendType
NoBlendType::NoBlendType(void);

Undocumented function.

getClassType
static TypeHandle NoBlendType::get_class_type(void);

now for typehandle stuff

getClassType
static TypeHandle LerpBlendType::get_class_type(void);

now for typehandle stuff

operator ()
virtual float LerpBlendType::operator ()(float ) = 0;

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


NodeCachedReferenceCount

    from pandac.PandaModules import NodeCachedReferenceCount
    Class : NodeCachedReferenceCount
    Description : This class further specializes CachedTypedWritableReferenceCount to also add a node_ref_count, for the purposes of counting the number of times the object is referenced by a "node", presumably a PandaNode.
    This essentially combines the functionality of NodeReferenceCount and CachedTypedWritableReferenceCount, so that a derivative of this object actually has three counters: the standard reference count, the "cache" reference count, and the "node" reference count. Rather than multiply inheriting from the two reference count classes, we inherit only from CachedTypedWritableReferenceCount and simply duplicate the functionality of NodeReferenceCount, to avoid all of the problems associated with multiple inheritance.
    The intended design is to use this as a base class for RenderState and TransformState, both of which are held by PandaNodes, and also have caches which are independently maintained. By keeping track of how many nodes hold a pointer to a particular object, we can classify each object into node-referenced, cache-referenced, or other, which is primarily useful for PStats reporting.
    As with CachedTypedWritableReferenceCount's cache_ref() and cache_unref(), the new methods node_ref() and node_unref() automatically increment and decrement the primary reference count as well. In this case, however, there does exist a NodePointerTo<> class to maintain the node_ref counters automatically.

Inheritance:

    NodeCachedReferenceCount: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of NodeCachedReferenceCount:

    getClassType
    getNodeRefCount
    getReferencedBits
    nodeRef
    nodeUnref
    testRefCountIntegrity

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in NodeCachedReferenceCount:

    RNode | (Referenced)
RCache | (Referenced)
getClassType
static TypeHandle NodeCachedReferenceCount::get_class_type(void);

Undocumented function.

getNodeRefCount
int NodeCachedReferenceCount::get_node_ref_count(void) const;

Description: Returns the current reference count.

getReferencedBits
int NodeCachedReferenceCount::get_referenced_bits(void) const;

Description: Returns the union of the values defined in the Referenced enum that represents the various things that appear to be holding a pointer to this object.
If R_node is included, at least one node is holding a pointer; if R_cache is included, at least one cache element is.

nodeRef
void NodeCachedReferenceCount::node_ref(void) const;

Description: Explicitly increments the reference count.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

nodeUnref
bool NodeCachedReferenceCount::node_unref(void) const;

Description: 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.

testRefCountIntegrity
bool NodeCachedReferenceCount::test_ref_count_integrity(void) const;

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

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


NodePath

    from pandac.PandaModules import NodePath
    A NodePath is the fundamental unit of high-level interaction with the scene graph. It encapsulates the complete path down to a node from some other node, usually the root of the scene graph. This is used to resolve ambiguities associated with instancing.
    NodePath also contains a number of handy high-level methods for common scene-graph manipulations, such as reparenting, and common state changes, such as repositioning.
    There are also a number of NodePath methods for finding nodes deep within the tree by name or by type. These take a path string, which at its simplest consists of a series of node names separated by slashes, like a directory pathname.
    Each component of the path string may optionally consist of one of the following special names, instead of a node name:
    * -- matches exactly one node, with any name.
    ** -- matches any sequence of zero or more nodes.
    +typename -- matches any node that is or derives from the given type.
    -typename -- matches any node that is the given type exactly.
    =tag -- matches any node that has the indicated tag. =tag=value -- matches any node whose tag matches the indicated value.
    Furthermore, a node name may itself contain standard filename globbing characters, like *, ?, and [a-z], that will be accepted as a partial match. (In fact, the '*' special name may be seen as just a special case of this.) The globbing characters may not be used with the typename matches or with tag matches, but they may be used to match a tag's value in the =tag=value syntax.
    The special characters "@@", appearing at the beginning of a node name, indicate a stashed node. Normally, stashed nodes are not returned by a find (but see the special flags, below), but a stashed node may be found if it is explicitly named with its leading @@ characters. By extension, "@@*" may be used to identify any stashed node.
    Examples:
    "room//graph" will look for a node named "graph", which is a child of an unnamed node, which is a child of a node named "room", which is a child of the starting path.
    "**/red*" will look for any node anywhere in the tree (below the starting path) with a name that begins with "red".
    "**/+PartBundleNode/**/head" will look for a node named "head", somewhere below a PartBundleNode anywhere in the tree.
    The search is always potentially ambiguous, even if the special wildcard operators are not used, because there may be multiple nodes in the tree with the same name. In general, in the case of an ambiguity, the shortest path is preferred; when a method (such as extend_by) must choose only only one of several possible paths, it will choose the shortest available; on the other hand, when a method (such as find_all_matches) is to return all of the matching paths, it will sort them so that the shortest paths appear first in the output.
    Special flags. The entire string may optionally be followed by the ";" character, followed by one or more of the following special control flags, with no intervening spaces or punctuation:
    -h Do not return hidden nodes.
    +h Do return hidden nodes.
    -s Do not return stashed nodes unless explicitly referenced with @@.
    +s Return stashed nodes even without any explicit @@ characters.
    -i Node name comparisons are not case insensitive: case must match
    exactly. +i Node name comparisons are case insensitive: case is not important. This affects matches against the node name only; node type and tag strings are always case sensitive.
    The default flags are +h-s-i.
    Class : NodePath
    Description : NodePath is the fundamental system for disambiguating instances, and also provides a higher-level interface for manipulating the scene graph.
    A NodePath is a list of connected nodes from the root of the graph to any sub-node. Each NodePath therefore uniquely describes one instance of a node.
    NodePaths themselves are lightweight objects that may easily be copied and passed by value. Their data is stored as a series of NodePathComponents that are stored on the nodes. Holding a NodePath will keep a reference count to all the nodes in the path. However, if any node in the path is removed or reparented (perhaps through a different NodePath), the NodePath will automatically be updated to reflect the changes.

Inheritance:

    NodePath:

Methods of NodePath:

    NodePath (Constructor)
    adjustAllPriorities
    analyze
    anyPath
    attachNewNode
    calcTightBounds
    clearAntialias
    clearAttrib
    clearAudioVolume
    clearBillboard
    clearBin
    clearClipPlane
    clearColor
    clearColorScale
    clearCompass
    clearDepthTest
    clearDepthWrite
    clearEffect
    clearEffects
    clearFog
    clearLight
    clearMat
    clearMaterial
    clearModelNodes
    clearNormalMap
    clearProjectTexture
    clearPythonTag
    clearRenderMode
    clearScissor
    clearShader
    clearShaderInput
    clearTag
    clearTexGen
    clearTexProjector
    clearTexTransform
    clearTexture
    clearTransform
    clearTransparency
    clearTwoSided
    compareTo
    composeColorScale
    copyTo
    countNumDescendants
    detachNode
    doBillboardAxis
    doBillboardPointEye
    doBillboardPointWorld
    fail
    find
    findAllMatches
    findAllMaterials
    findAllPathsTo
    findAllTexcoords
    findAllTextures
    findAllTextureStages
    findAllVertexColumns
    findMaterial
    findNetPythonTag
    findNetTag
    findPathTo
    findTexture
    findTextureStage
    flattenLight
    flattenMedium
    flattenStrong
    forceRecomputeBounds
    getAntialias
    getAttrib
    getAudioVolume
    getBinDrawOrder
    getBinName
    getBounds
    getChild
    getChildren
    getClassType
    getCollideMask
    getColor
    getColorScale
    getCommonAncestor
    getDepthTest
    getDepthWrite
    getDistance
    getEffect
    getEffects
    getErrorType
    getFog
    getH
    getHiddenAncestor
    getHpr
    getKey
    getMat
    getMaterial
    getMaxSearchDepth
    getName
    getNetAudioVolume
    getNetPrevTransform
    getNetPythonTag
    getNetState
    getNetTag
    getNetTransform
    getNode
    getNumChildren
    getNumNodes
    getP
    getParent
    getPos
    getPosDelta
    getPrevTransform
    getPythonTag
    getQuat
    getR
    getRelativePoint
    getRelativeVector
    getRenderMode
    getRenderModePerspective
    getRenderModeThickness
    getSa
    getSb
    getScale
    getSg
    getShader
    getShaderInput
    getShear
    getShxy
    getShxz
    getShyz
    getSort
    getSr
    getStashedAncestor
    getStashedChildren
    getState
    getSx
    getSy
    getSz
    getTag
    getTexGen
    getTexGenLight
    getTexHpr
    getTexOffset
    getTexPos
    getTexProjectorFrom
    getTexProjectorTo
    getTexRotate
    getTexScale
    getTexScale3d
    getTexTransform
    getTexture
    getTop
    getTopNode
    getTransform
    getTransparency
    getTwoSided
    getX
    getY
    getZ
    hasAntialias
    hasAttrib
    hasAudioVolume
    hasBillboard
    hasBin
    hasClipPlane
    hasClipPlaneOff
    hasColor
    hasColorScale
    hasCompass
    hasDepthTest
    hasDepthWrite
    hasEffect
    hasFog
    hasFogOff
    hasLight
    hasLightOff
    hasMat
    hasMaterial
    hasNetPythonTag
    hasNetTag
    hasParent
    hasPythonTag
    hasRenderMode
    hasScissor
    hasTag
    hasTexcoord
    hasTexGen
    hasTexProjector
    hasTexTransform
    hasTexture
    hasTextureOff
    hasTransparency
    hasTwoSided
    hasVertexColumn
    headsUp
    hide
    hideBounds
    instanceTo
    instanceUnderNode
    isAncestorOf
    isEmpty
    isHidden
    isSameGraph
    isSingleton
    isStashed
    listTags
    lookAt
    ls
    node
    notFound
    operator !=
    operator <
    operator =
    operator ==
    output
    premungeScene
    prepareScene
    projectTexture
    removed
    removeNode
    reparentTo
    reverseLs
    setAllColorScale
    setAlphaScale
    setAntialias
    setAttrib
    setAudioVolume
    setAudioVolumeOff
    setBillboardAxis
    setBillboardPointEye
    setBillboardPointWorld
    setBin
    setClipPlane
    setClipPlaneOff
    setCollideMask
    setColor
    setColorOff
    setColorScale
    setColorScaleOff
    setCompass
    setDepthTest
    setDepthWrite
    setEffect
    setEffects
    setFluidPos
    setFluidX
    setFluidY
    setFluidZ
    setFog
    setFogOff
    setH
    setHpr
    setHprScale
    setLight
    setLightOff
    setMat
    setMaterial
    setMaterialOff
    setMaxSearchDepth
    setName
    setNormalMap
    setP
    setPos
    setPosHpr
    setPosHprScale
    setPosHprScaleShear
    setPosQuat
    setPosQuatScale
    setPosQuatScaleShear
    setPrevTransform
    setPythonTag
    setQuat
    setQuatScale
    setR
    setRenderMode
    setRenderModeFilled
    setRenderModePerspective
    setRenderModeThickness
    setRenderModeWireframe
    setSa
    setSb
    setScale
    setScissor
    setSg
    setShader
    setShaderAuto
    setShaderInput
    setShaderOff
    setShear
    setShxy
    setShxz
    setShyz
    setSr
    setState
    setSx
    setSy
    setSz
    setTag
    setTexGen
    setTexHpr
    setTexOffset
    setTexPos
    setTexProjector
    setTexRotate
    setTexScale
    setTexTransform
    setTexture
    setTextureOff
    setTransform
    setTransparency
    setTwoSided
    setX
    setY
    setZ
    show
    showBounds
    showThrough
    showTightBounds
    stash
    unifyTextureStages
    unstash
    unstashAll
    verifyComplete
    writeBamFile
    writeBamStream
    writeBounds
    wrtReparentTo

Constants in NodePath:

    ETOk | (ErrorType)
ETNotFound | (ErrorType)
ETRemoved | (ErrorType)
ETFail | (ErrorType)
NodePath
NodePath::NodePath(void);

Description: This constructs an empty NodePath with no nodes.
Description: This constructs a new NodePath with a single node. An ordinary, unattached PandaNode is created with the indicated name.
Description: This constructs a NodePath for the indicated node. If the node does not have any parents, this creates a singleton NodePath; otherwise, it automatically finds the path from the node to the root. If the node has multiple paths to the root, one path is chosen arbitrarily and a warning message is printed (but see also NodePath::any_path(), below).
Description: Constructs a NodePath with the indicated parent NodePath and child node; the child node must be a stashed or unstashed child of the parent.
Description:

adjustAllPriorities
void NodePath::adjust_all_priorities(int adjustment);

Description: Adds the indicated adjustment amount (which may be negative) to the priority for all transitions on the referenced node, and for all nodes in the subgraph below. This can be used to force these nodes not to be overridden by a high-level state change above. If the priority would drop below zero, it is set to zero.

analyze
void NodePath::analyze(void) const;

Description: Analyzes the geometry below this node and reports the number of vertices, triangles, etc. This is the same information reported by the bam-info program.

anyPath
static NodePath NodePath::any_path(PandaNode *node, Thread *current_thread = ((get_current_thread())));

Description: Returns a new NodePath that represents any arbitrary path from the root to the indicated node. This is the same thing that would be returned by NodePath(node), except that no warning is issued if the path is ambiguous.

attachNewNode
NodePath NodePath::attach_new_node(PandaNode *node, int sort = (0), Thread *current_thread = ((get_current_thread()))) const;

Description: Creates an ordinary PandaNode and attaches it below the current NodePath, returning a new NodePath that references it.
Description: Attaches a new node, with or without existing parents, to the scene graph below the referenced node of this NodePath. This is the preferred way to add nodes to the graph.
If the node was already a child of the parent, this returns a NodePath to the existing child.
This does *not* automatically extend the current NodePath to reflect the attachment; however, a NodePath that does reflect this extension is returned.

calcTightBounds
bool NodePath::calc_tight_bounds(LPoint3f &min_point, LPoint3f &max_point, Thread *current_thread = ((get_current_thread()))) const;

Description: Calculates the minimum and maximum vertices of all Geoms at this NodePath's bottom node and below. This is a tight bounding box; it will generally be tighter than the bounding volume returned by get_bounds() (but it is more expensive to compute).
The return value is true if any points are within the bounding volume, or false if none are.

clearAntialias
void NodePath::clear_antialias(void);

Description: Completely removes any antialias setting that may have been set on this node via set_antialias().

clearAttrib
void NodePath::clear_attrib(TypeHandle type);

Description: 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.

clearAudioVolume
void NodePath::clear_audio_volume(void);

Description: Completely removes any audio volume from the referenced node. This is preferable to simply setting the audio volume to identity, as it also removes the overhead associated with having an audio volume at all.

clearBillboard
void NodePath::clear_billboard(void);

Description: Removes any billboard effect from the node.

clearBin
void NodePath::clear_bin(void);

Description: Completely removes any bin adjustment that may have been set via set_bin() from this particular node.

clearClipPlane
void NodePath::clear_clip_plane(void);

Description: Completely removes any clip planes that may have been set via set_clip_plane() or set_clip_plane_off() from this particular node.
Description: Removes any reference to the indicated clipping plane from the NodePath.

clearColor
void NodePath::clear_color(void);

Description: Completely removes any color adjustment from the node. This allows the natural color of the geometry, or whatever color transitions might be otherwise affecting the geometry, to show instead.

clearColorScale
void NodePath::clear_color_scale(void);

Description: Completely removes any color scale from the referenced node. This is preferable to simply setting the color scale to identity, as it also removes the overhead associated with having a color scale at all.

clearCompass
void NodePath::clear_compass(void);

Description: Removes any compass effect from the node.

clearDepthTest
void NodePath::clear_depth_test(void);

Description: Completely removes any depth-test adjustment that may have been set on this node via set_depth_test().

clearDepthWrite
void NodePath::clear_depth_write(void);

Description: Completely removes any depth-write adjustment that may have been set on this node via set_depth_write().

clearEffect
void NodePath::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void NodePath::clear_effects(void);

Description: Resets this node to have no render effects.

clearFog
void NodePath::clear_fog(void);

Description: Completely removes any fog adjustment that may have been set via set_fog() or set_fog_off() from this particular node. This allows whatever fogs might be otherwise affecting the geometry to show instead.

clearLight
void NodePath::clear_light(void);

Description: Completely removes any lighting operations that may have been set via set_light() or set_light_off() from this particular node.
Description: Removes any reference to the indicated Light or PolylightNode from the NodePath.

clearMat
void NodePath::clear_mat(void);

Description: Completely removes any transform from the referenced node.

clearMaterial
void NodePath::clear_material(void);

Description: Completely removes any material adjustment that may have been set via set_material() from this particular node.

clearModelNodes
int NodePath::clear_model_nodes(void);

Description: Recursively walks through the scene graph at this level and below, looking for ModelNodes, and calls model_node->set_preserve_transform(PT_drop_node) on each one. This allows a subsequent call to flatten_strong() to eliminate all of the ModelNodes.
Returns the number of ModelNodes found.

clearNormalMap
void NodePath::clear_normal_map(void);

Description: Undoes the effect of a previous call to set_normal_map().

clearProjectTexture
void NodePath::clear_project_texture(TextureStage *stage);

Description: Undoes the effect of project_texture().

clearPythonTag
void NodePath::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearRenderMode
void NodePath::clear_render_mode(void);

Description: Completely removes any render mode adjustment that may have been set on this node via set_render_mode_wireframe() or set_render_mode_filled().

clearScissor
void NodePath::clear_scissor(void);

Description: Removes the scissor region that was defined at this node level by a previous call to set_scissor().

clearShader
void NodePath::clear_shader(void);

Description:

clearShaderInput
void NodePath::clear_shader_input(InternalName *id);

Description:

clearTag
void NodePath::clear_tag(string const &key);

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTexGen
void NodePath::clear_tex_gen(void);

Description: Removes the texture coordinate generation mode from all texture stages on this node.
Description: Disables automatic texture coordinate generation for the indicated texture stage.

clearTexProjector
void NodePath::clear_tex_projector(TextureStage *stage);

Description: Removes the TexProjectorEffect for the indicated stage from this node.
Description: Removes the TexProjectorEffect for all stages from this node.

clearTexTransform
void NodePath::clear_tex_transform(void);

Description: Removes all texture matrices from the current node.
Description: Removes the texture matrix on the current node for the given stage.

clearTexture
void NodePath::clear_texture(void);

Description: Completely removes any texture adjustment that may have been set via set_texture() or set_texture_off() from this particular node. This allows whatever textures might be otherwise affecting the geometry to show instead.
Description: Removes any reference to the indicated texture stage from the NodePath.

clearTransform
void NodePath::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Sets the transform object on this node to identity.
Description: Sets the transform object on this node to identity, relative to the other node. This effectively places this node at the same position as the other node.

clearTransparency
void NodePath::clear_transparency(void);

Description: Completely removes any transparency adjustment that may have been set on this node via set_transparency(). The geometry at this level and below will subsequently be rendered either transparent or not, to whatever other nodes may have had set_transparency() on them.

clearTwoSided
void NodePath::clear_two_sided(void);

Description: Completely removes any two-sided adjustment that may have been set on this node via set_two_sided(). The geometry at this level and below will subsequently be rendered either two-sided or one-sided, according to whatever other nodes may have had set_two_sided() on it, or according to the initial state otherwise.

compareTo
int NodePath::compare_to(NodePath const &other) const;

Description: 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.

composeColorScale
void NodePath::compose_color_scale(LVecBase4f const &scale, int priority = (0));

Description: Sets the color scale component of the transform
Description: multiplies the color scale component of the transform, with previous color scale leaving translation and rotation untouched.

copyTo
NodePath NodePath::copy_to(NodePath const &other, int sort = (0), Thread *current_thread = ((get_current_thread()))) const;

Description: Functions like instance_to(), except a deep copy is made of the referenced node and all of its descendents, which is then parented to the indicated node. A NodePath to the newly created copy is returned.

countNumDescendants
int NodePath::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

detachNode
void NodePath::detach_node(Thread *current_thread = ((get_current_thread())));

Description: Disconnects the referenced node from its parent, but does not immediately delete it. The NodePath retains a pointer to the node, and becomes a singleton NodePath.
This should be called to detach a node from the scene graph, with the option of reattaching it later to the same parent or to a different parent.
In practice, the only difference between remove_node() and detach_node() is that remove_node() also resets the NodePath to empty, which will cause the node to be deleted immediately if there are no other references. On the other hand, detach_node() leaves the NodePath referencing the node, which will keep at least one reference to the node for as long as the NodePath exists.

doBillboardAxis
void NodePath::do_billboard_axis(NodePath const &camera, float offset);

Description: Performs a billboard-type rotate to the indicated camera node, one time only, and leaves the object rotated. This is similar in principle to heads_up().

doBillboardPointEye
void NodePath::do_billboard_point_eye(NodePath const &camera, float offset);

Description: Performs a billboard-type rotate to the indicated camera node, one time only, and leaves the object rotated. This is similar in principle to look_at(), although the point_eye billboard effect cannot be achieved using the ordinary look_at() call.

doBillboardPointWorld
void NodePath::do_billboard_point_world(NodePath const &camera, float offset);

Description: Performs a billboard-type rotate to the indicated camera node, one time only, and leaves the object rotated. This is similar in principle to look_at().

fail
static NodePath NodePath::fail(void);

Description: Creates a NodePath with the ET_fail error type set.

find
NodePath NodePath::find(string const &path) const;

Description: Searches for a node below the referenced node that matches the indicated string. Returns the shortest match found, if any, or an empty NodePath if no match can be found.

findAllMatches
NodePathCollection NodePath::find_all_matches(string const &path) const;

Description: Returns the complete set of all NodePaths that begin with this NodePath and can be extended by path. The shortest paths will be listed first.

findAllMaterials
MaterialCollection NodePath::find_all_materials(void) const;

Description: Returns a list of a materials applied to geometry at this node and below.
Description: Returns a list of a materials applied to geometry at this node and below that match the indicated name (which may contain wildcard characters).

findAllPathsTo
NodePathCollection NodePath::find_all_paths_to(PandaNode *node) const;

Description: Returns the set of all NodePaths that extend from this NodePath down to the indicated node. The shortest paths will be listed first.

findAllTexcoords
InternalNameCollection NodePath::find_all_texcoords(void) const;

Description: Returns a list of all texture coordinate sets used by any geometry at this node level and below.
Description: Returns a list of all texture coordinate sets used by any geometry at this node level and below that match the indicated name (which may contain wildcard characters).

findAllTextures
TextureCollection NodePath::find_all_textures(void) const;

Description: Returns a list of a textures applied to geometry at this node and below.
Description: Returns a list of a textures applied to geometry at this node and below that match the indicated name (which may contain wildcard characters).
Description: Returns a list of a textures on geometry at this node and below that are assigned to the indicated texture stage.

findAllTextureStages
TextureStageCollection NodePath::find_all_texture_stages(void) const;

Description: Returns a list of a TextureStages applied to geometry at this node and below.
Description: Returns a list of a TextureStages applied to geometry at this node and below that match the indicated name (which may contain wildcard characters).

findAllVertexColumns
InternalNameCollection NodePath::find_all_vertex_columns(void) const;

Description: Returns a list of all vertex array columns stored on some geometry found at this node level and below.
Description: Returns a list of all vertex array columns stored on some geometry found at this node level and below that match the indicated name (which may contain wildcard characters).

findMaterial
Material *NodePath::find_material(string const &name) const;

Description: Returns the first material found applied to geometry at this node or below that matches the indicated name (which may contain wildcards). Returns the material if it is found, or NULL if it is not.

findNetPythonTag
NodePath NodePath::find_net_python_tag(string const &key) const;

Description: Returns the lowest ancestor of this node that contains a tag definition with the indicated key, if any, or an empty NodePath if no ancestor of this node contains this tag definition. See set_python_tag().

findNetTag
NodePath NodePath::find_net_tag(string const &key) const;

Description: Returns the lowest ancestor of this node that contains a tag definition with the indicated key, if any, or an empty NodePath if no ancestor of this node contains this tag definition. See set_tag().

findPathTo
NodePath NodePath::find_path_to(PandaNode *node) const;

Description: Searches for the indicated node below this node and returns the shortest NodePath that connects them.

findTexture
Texture *NodePath::find_texture(string const &name) const;

Description: Returns the first texture found applied to geometry at this node or below that matches the indicated name (which may contain wildcards). Returns the texture if it is found, or NULL if it is not.
Description: Returns the first texture found applied to geometry at this node or below that is assigned to the indicated texture stage. Returns the texture if it is found, or NULL if it is not.

findTextureStage
TextureStage *NodePath::find_texture_stage(string const &name) const;

Description: Returns the first TextureStage found applied to geometry at this node or below that matches the indicated name (which may contain wildcards). Returns the TextureStage if it is found, or NULL if it is not.

flattenLight
int NodePath::flatten_light(void);

Description: Lightly flattens out the hierarchy below this node by applying transforms, colors, and texture matrices from the nodes onto the vertices, but does not remove any nodes.
This can result in improved rendering performance because there will be fewer transforms in the resulting scene graph, but the number of nodes will remain the same.
In particular, any NodePaths that reference nodes within this hierarchy will not be damaged. However, since this operation will remove transforms from the scene graph, it may be dangerous to apply to nodes where you expect to dynamically modify the transform, or where you expect the geometry to remain in a particular local coordinate system.
The return value is always 0, since flatten_light does not remove any nodes.

flattenMedium
int NodePath::flatten_medium(void);

Description: A more thorough flattening than flatten_light(), this first applies all the transforms, colors, and texture matrices from the nodes onto the vertices, and then removes unneeded grouping nodes--nodes that have exactly one child, for instance, but have no special properties in themselves.
This results in improved performance over flatten_light() because the number of nodes in the scene graph is reduced.
The return value is the number of nodes removed.

flattenStrong
int NodePath::flatten_strong(void);

Description: The strongest possible flattening. This first applies all of the transforms to the vertices, as in flatten_medium(), but then it will combine sibling nodes together when possible, in addition to removing unnecessary parent-child nodes. This can result in substantially fewer nodes, but any nicely-grouped hierachical bounding volumes may be lost.
It is generally a good idea to apply this kind of flattening only to nodes that will be culled largely as a single unit, like a car. Applying this to an entire scene may result in overall poorer performance because of less-effective culling.

forceRecomputeBounds
void NodePath::force_recompute_bounds(void);

Description: Forces the recomputing of all the bounding volumes at every node in the subgraph beginning at this node and below.
This should not normally need to be called, since the bounding volumes are supposed to be recomputed automatically when necessary. It may be useful when debugging, to verify that the bounding volumes have not become inadvertently stale; it may also be useful to force animated characters to update their bounding volumes (which does not presently happen automatically).

getAntialias
unsigned short int NodePath::get_antialias(void) const;

Description: Returns the antialias setting that has been specifically set on this node via set_antialias(), or M_none if no setting has been made.

getAttrib
RenderAttrib const *NodePath::get_attrib(TypeHandle type) const;

Description: 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.

getAudioVolume
float NodePath::get_audio_volume(void) const;

Description: Returns the complete audio volume that has been applied to this node via a previous call to set_audio_volume(), or 1. (identity) if no volume has been applied to this particular node.

getBinDrawOrder
int NodePath::get_bin_draw_order(void) const;

Description: Returns the drawing order associated with the bin that this particular node was assigned to via set_bin(), or 0 if no bin was assigned. See set_bin() and has_bin().

getBinName
string NodePath::get_bin_name(void) const;

Description: Returns the name of the bin that this particular node was assigned to via set_bin(), or the empty string if no bin was assigned. See set_bin() and has_bin().

getBounds
PointerTo< BoundingVolume > NodePath::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a newly-allocated bounding volume containing the bottom node and all of its descendants. This is the bounding volume on the bottom arc, converted to the local coordinate space of the node.

getChild
NodePath NodePath::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a NodePath representing the nth child of the referenced node.

getChildren
NodePathCollection NodePath::get_children(Thread *current_thread = ((get_current_thread()))) const;

Methods that return collections of NodePaths derived from or related to this one.
Description: Returns the set of all child nodes of the referenced node.

getClassType
static TypeHandle NodePath::get_class_type(void);

Undocumented function.

getCollideMask
BitMask< unsigned int, 32 > NodePath::get_collide_mask(void) const;

Description: Returns the union of all of the into_collide_masks for nodes at this level and below. This is the same thing as node()->get_net_collide_mask().
If you want to return what the into_collide_mask of this node itself is, without regard to its children, use node()->get_into_collide_mask().

getColor
LVecBase4f NodePath::get_color(void) const;

Description: Returns the color that has been assigned to the node, or black if no color has been assigned.

getColorScale
LVecBase4f const &NodePath::get_color_scale(void) const;

Description: Returns the complete color scale vector that has been applied to this node via a previous call to set_color_scale() and/or set_alpha_scale(), or all 1's (identity) if no scale has been applied to this particular node.

getCommonAncestor
NodePath NodePath::get_common_ancestor(NodePath const &other, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the lowest NodePath that both of these two NodePaths have in common: the first ancestor that both of them share. If the two NodePaths are unrelated, returns NodePath::not_found().

getDepthTest
bool NodePath::get_depth_test(void) const;

Description: Returns true if depth-test rendering has been specifically set on this node via set_depth_test(), or false if depth-test rendering has been specifically disabled. If nothing has been specifically set, returns true. See also has_depth_test().

getDepthWrite
bool NodePath::get_depth_write(void) const;

Description: Returns true if depth-write rendering has been specifically set on this node via set_depth_write(), or false if depth-write rendering has been specifically disabled. If nothing has been specifically set, returns true. See also has_depth_write().

getDistance
float NodePath::get_distance(NodePath const &other) const;

Description: Returns the straight-line distance between this referenced node's coordinate frame's origin, and that of the other node's origin.

getEffect
RenderEffect const *NodePath::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *NodePath::get_effects(void) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getErrorType
NodePath::ErrorType NodePath::get_error_type(void) const;

Description: If is_empty() is true, this returns a code that represents the reason why the NodePath is empty.

getFog
Fog *NodePath::get_fog(void) const;

Description: Returns the fog that has been set on this particular node, or NULL if no fog has been set. This is not necessarily the fog that will be applied to the geometry at or below this level, as another fog at a higher or lower level may override.

getH
float NodePath::get_h(void) const;

Undocumented function.

getHiddenAncestor
NodePath NodePath::get_hidden_ancestor(BitMask< unsigned int, 32 > camera_mask = ((get_overall_bit())), Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the NodePath at or above the referenced node that is hidden to the indicated camera(s), or an empty NodePath if no ancestor of the referenced node is hidden (and the node should be visible).

getHpr
LVecBase3f NodePath::get_hpr(void) const;

Description: Retrieves the rotation component of the transform.
Description: Returns the relative orientation of the bottom node as seen from the other node.

getKey
int NodePath::get_key(void) const;

Description: Returns an integer that is guaranteed to be the same for all NodePaths that represent the same node instance, and different for all NodePaths that represent a different node instance.
The same key will be returned for a particular instance as long as at least one NodePath exists that represents that instance; if all NodePaths for a particular instance destruct and a new one is later created, it may have a different index. However, a given key will never be reused for a different instance (unless the app has been running long enough that we overflow the integer key value).

getMat
LMatrix4f const &NodePath::get_mat(void) const;

Description: Returns the transform matrix that has been applied to the referenced node, or the identity matrix if no matrix has been applied.
Description: Returns the matrix that describes the coordinate space of the bottom node, relative to the other path's bottom node's coordinate space.

getMaterial
PointerTo< Material > NodePath::get_material(void) const;

Description: Returns the material that has been set on this particular node, or NULL if no material has been set. This is not necessarily the material that will be applied to the geometry at or below this level, as another material at a higher or lower level may override. See also find_material().

getMaxSearchDepth
static int NodePath::get_max_search_depth(void);

Description: Returns the current setting of the search depth limit. See set_max_search_depth.

getName
string NodePath::get_name(void) const;

Description: Returns the name of the referenced node.

getNetAudioVolume
float NodePath::get_net_audio_volume(void) const;

Description: Returns the complete audio volume for this node taking highers nodes in the graph into account.

getNetPrevTransform
ConstPointerTo< TransformState > NodePath::get_net_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the net "previous" transform on this node from the root. See set_prev_transform().

getNetPythonTag
PyObject *NodePath::get_net_python_tag(string const &key) const;

Description: Returns the Python object that has been defined on this node, or the nearest ancestor node, for the indicated key. If no value has been defined for the indicated key on any ancestor node, returns None. See also get_python_tag().

getNetState
ConstPointerTo< RenderState > NodePath::get_net_state(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the net state on this node from the root.

getNetTag
string NodePath::get_net_tag(string const &key) const;

Description: Returns the tag value that has been defined on this node, or the nearest ancestor node, for the indicated key. If no value has been defined for the indicated key on any ancestor node, returns the empty string. See also get_tag().

getNetTransform
ConstPointerTo< TransformState > NodePath::get_net_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the net transform on this node from the root.

getNode
PandaNode *NodePath::get_node(int index, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth node of the path, where 0 is the referenced (bottom) node and get_num_nodes() - 1 is the top node. This requires iterating through the path.
Also see node(), which is a convenience function to return the same thing as get_node(0) (since the bottom node is the most important node in the NodePath, and is the one most frequently referenced).

getNumChildren
int NodePath::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of children of the referenced node.

getNumNodes
int NodePath::get_num_nodes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of nodes in the path.

getP
float NodePath::get_p(void) const;

Undocumented function.

getParent
NodePath NodePath::get_parent(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the NodePath to the parent of the referenced node: that is, this NodePath, shortened by one node. The parent of a singleton NodePath is defined to be the empty NodePath.

getPos
LPoint3f NodePath::get_pos(void) const;

Description: Retrieves the translation component of the transform.
Description: Returns the relative position of the referenced node as seen from the other node.

getPosDelta
LVector3f NodePath::get_pos_delta(void) const;

Description: Returns the delta vector from this node's position in the previous frame (according to set_prev_transform(), typically set via the use of set_fluid_pos()) and its position in the current frame. This is the vector used to determine collisions. Generally, if the node was last repositioned via set_pos(), the delta will be zero; if it was adjusted via set_fluid_pos(), the delta will represent the change from the previous frame's position.
Description: Returns the delta vector from this node's position in the previous frame (according to set_prev_transform(), typically set via the use of set_fluid_pos()) and its position in the current frame, as seen in the indicated node's coordinate space. This is the vector used to determine collisions. Generally, if the node was last repositioned via set_pos(), the delta will be zero; if it was adjusted via set_fluid_pos(), the delta will represent the change from the previous frame's position.

getPrevTransform
TransformState const *NodePath::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().
Description: Returns the relative "previous" transform to this node from the other node; i.e. the position of this node in the previous frame, as seen by the other node in the previous frame.

getPythonTag
PyObject *NodePath::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no object has been previously set, returns None. See also get_net_python_tag().

getQuat
LQuaternionf NodePath::get_quat(void) const;

Description: Retrieves the rotation component of the transform.
Description: Returns the relative orientation of the bottom node as seen from the other node.

getR
float NodePath::get_r(void) const;

Undocumented function.

getRelativePoint
LPoint3f NodePath::get_relative_point(NodePath const &other, LVecBase3f const &point) const;

Description: Given that the indicated point is in the coordinate system of the other node, returns the same point in this node's coordinate system.

getRelativeVector
LVector3f NodePath::get_relative_vector(NodePath const &other, LVecBase3f const &vec) const;

Description: Given that the indicated vector is in the coordinate system of the other node, returns the same vector in this node's coordinate system.

getRenderMode
RenderModeAttrib::Mode NodePath::get_render_mode(void) const;

Description: Returns the render mode that has been specifically set on this node via set_render_mode(), or M_unchanged if nothing has been set.

getRenderModePerspective
bool NodePath::get_render_mode_perspective(void) const;

Description: Returns the flag that has been set on this node via set_render_mode_perspective(), or false if no flag has been set.

getRenderModeThickness
float NodePath::get_render_mode_thickness(void) const;

Description: Returns the render mode thickness that has been specifically set on this node via set_render_mode(), or 1.0 if nothing has been set.

getSa
float NodePath::get_sa(void) const;

Description: Gets the alpha scale component of the transform

getSb
float NodePath::get_sb(void) const;

Description: Gets the blue scale component of the transform

getScale
LVecBase3f NodePath::get_scale(void) const;

Description: Retrieves the scale component of the transform.
Description: Returns the relative scale of the bottom node as seen from the other node.

getSg
float NodePath::get_sg(void) const;

Description: Gets the green scale component of the transform

getShader
Shader const *NodePath::get_shader(void) const;

Description:

getShaderInput
ShaderInput const *NodePath::get_shader_input(InternalName *id) const;

Description:

getShear
LVecBase3f NodePath::get_shear(void) const;

Description: Retrieves the shear component of the transform.
Description: Returns the relative shear of the bottom node as seen from the other node.

getShxy
float NodePath::get_shxy(void) const;

Description: Returns the relative shear of the referenced node as seen from the other node.

getShxz
float NodePath::get_shxz(void) const;

Undocumented function.

getShyz
float NodePath::get_shyz(void) const;

Undocumented function.

getSort
int NodePath::get_sort(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort value of the referenced node within its parent; that is, the sort number passed on the last reparenting operation for this node. This will control the position of the node within its parent's list of children.

getSr
float NodePath::get_sr(void) const;

Description: Gets the red scale component of the transform

getStashedAncestor
NodePath NodePath::get_stashed_ancestor(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the NodePath at or above the referenced node that is stashed, or an empty NodePath if no ancestor of the referenced node is stashed (and the node should be visible).

getStashedChildren
NodePathCollection NodePath::get_stashed_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the set of all child nodes of the referenced node that have been stashed. These children are not normally visible on the node, and do not appear in the list returned by get_children().

getState
RenderState const *NodePath::get_state(Thread *current_thread = ((get_current_thread()))) const;

Aggregate transform and state information.
Description: Returns the complete state object set on this node.
Description: Returns the state changes that must be made to transition to the render state of this node from the render state of the other node.

getSx
float NodePath::get_sx(void) const;

Description: Returns the relative scale of the referenced node as seen from the other node.

getSy
float NodePath::get_sy(void) const;

Undocumented function.

getSz
float NodePath::get_sz(void) const;

Undocumented function.

getTag
string NodePath::get_tag(string const &key) const;

Description: 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. See also get_net_tag().

getTexGen
RenderAttrib::TexGenMode NodePath::get_tex_gen(TextureStage *stage) const;

Description: Returns the texture coordinate generation mode for the given stage, or M_off if there is no explicit mode set for the given stage.

getTexGenLight
NodePath NodePath::get_tex_gen_light(TextureStage *stage) const;

Description: Returns the particular Light set for the indicated texgen mode's texture stage, or empty NodePath if no light is set. This is only meaningful if the texgen mode (returned by get_tex_gen()) is M_light_vector.

getTexHpr
LVecBase3f NodePath::get_tex_hpr(TextureStage *stage) const;

Description: Returns the 3-D HPR set for the UVW's for the given stage on the current node.
This call is appropriate for 3-d texture coordinates.

getTexOffset
LVecBase2f NodePath::get_tex_offset(TextureStage *stage) const;

Description: Returns the offset set for the UV's for the given stage on the current node.
This call is appropriate for ordinary 2-d texture coordinates.

getTexPos
LVecBase3f NodePath::get_tex_pos(TextureStage *stage) const;

Description: Returns the offset set for the UVW's for the given stage on the current node.
This call is appropriate for 3-d texture coordinates.

getTexProjectorFrom
NodePath NodePath::get_tex_projector_from(TextureStage *stage) const;

Description: Returns the "from" node associated with the TexProjectorEffect on the indicated stage. The relative transform between the "from" and the "to" nodes is automatically applied to the texture transform each frame.

getTexProjectorTo
NodePath NodePath::get_tex_projector_to(TextureStage *stage) const;

Description: Returns the "to" node associated with the TexProjectorEffect on the indicated stage. The relative transform between the "from" and the "to" nodes is automatically applied to the texture transform each frame.

getTexRotate
float NodePath::get_tex_rotate(TextureStage *stage) const;

Description: Returns the rotation set for the UV's for the given stage on the current node.
This call is appropriate for ordinary 2-d texture coordinates.

getTexScale
LVecBase2f NodePath::get_tex_scale(TextureStage *stage) const;

Description: Returns the scale set for the UV's for the given stage on the current node.
This call is appropriate for ordinary 2-d texture coordinates.

getTexScale3d
LVecBase3f NodePath::get_tex_scale_3d(TextureStage *stage) const;

Description: Returns the scale set for the UVW's for the given stage on the current node.
This call is appropriate for 3-d texture coordinates.

getTexTransform
ConstPointerTo< TransformState > NodePath::get_tex_transform(TextureStage *stage) const;

Description: Returns the texture matrix on the current node for the given stage, or identity transform if there is no explicit transform set for the given stage.
Description: Returns the texture matrix on the current node for the given stage, relative to the other node.

getTexture
Texture *NodePath::get_texture(void) const;

Description: Returns the base-level texture that has been set on this particular node, or NULL if no texture has been set. This is not necessarily the texture that will be applied to the geometry at or below this level, as another texture at a higher or lower level may override.
See also find_texture().
Description: Returns the texture that has been set on the indicated stage for this particular node, or NULL if no texture has been set for this stage.

getTop
NodePath NodePath::get_top(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a singleton NodePath that represents the top of the path, or empty NodePath if this path is empty.

getTopNode
PandaNode *NodePath::get_top_node(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the top node of the path, or NULL if the path is empty. This requires iterating through the path.

getTransform
TransformState const *NodePath::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete transform object set on this node.
Description: Returns the relative transform to this node from the other node; i.e. the transformation of this node as seen from the other node.

getTransparency
TransparencyAttrib::Mode NodePath::get_transparency(void) const;

Description: Returns the transparent rendering that has been specifically set on this node via set_transparency(), or M_none if nontransparent rendering has been specifically set, or if nothing has been specifically set. See also has_transparency(). This does not necessarily imply that the geometry will or will not be rendered transparent, as there may be other nodes that override.

getTwoSided
bool NodePath::get_two_sided(void) const;

Description: Returns true if two-sided rendering has been specifically set on this node via set_two_sided(), or false if one-sided rendering has been specifically set, or if nothing has been specifically set. See also has_two_sided(). This does not necessarily imply that the geometry will or will not be rendered two-sided, as there may be other nodes that override.

getX
float NodePath::get_x(void) const;

Undocumented function.

getY
float NodePath::get_y(void) const;

Undocumented function.

getZ
float NodePath::get_z(void) const;

Undocumented function.

hasAntialias
bool NodePath::has_antialias(void) const;

Description: Returns true if an antialias setting has been explicitly mode on this particular node via set_antialias(). If this returns true, then get_antialias() may be called to determine what the setting was.

hasAttrib
bool NodePath::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasAudioVolume
bool NodePath::has_audio_volume(void) const;

Description: Returns true if an audio volume has been applied to the referenced node, false otherwise. It is still possible that volume at this node might have been scaled by an ancestor node.

hasBillboard
bool NodePath::has_billboard(void) const;

Description: Returns true if there is any billboard effect on the node.

hasBin
bool NodePath::has_bin(void) const;

Description: Returns true if the node has been assigned to the a particular rendering bin via set_bin(), false otherwise.

hasClipPlane
bool NodePath::has_clip_plane(NodePath const &clip_plane) const;

Description: Returns true if the indicated clipping plane has been specifically applied to this particular node. This means that someone called set_clip_plane() on this node with the indicated clip_plane.

hasClipPlaneOff
bool NodePath::has_clip_plane_off(void) const;

Description: Returns true if all clipping planes have been specifically disabled on this particular node. This means that someone called set_clip_plane_off() on this node with no parameters.
Description: Returns true if the indicated clipping plane has been specifically disabled on this particular node. This means that someone called set_clip_plane_off() on this node with the indicated clip_plane.

hasColor
bool NodePath::has_color(void) const;

Description: Returns true if a color has been applied to the given node, false otherwise.

hasColorScale
bool NodePath::has_color_scale(void) const;

Description: Returns true if a color scale has been applied to the referenced node, false otherwise. It is still possible that color at this node might have been scaled by an ancestor node.

hasCompass
bool NodePath::has_compass(void) const;

Description: Returns true if there is any compass effect on the node.

hasDepthTest
bool NodePath::has_depth_test(void) const;

Description: Returns true if a depth-test adjustment has been explicitly set on this particular node via set_depth_test(). If this returns true, then get_depth_test() may be called to determine which has been set.

hasDepthWrite
bool NodePath::has_depth_write(void) const;

Description: Returns true if a depth-write adjustment has been explicitly set on this particular node via set_depth_write(). If this returns true, then get_depth_write() may be called to determine which has been set.

hasEffect
bool NodePath::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasFog
bool NodePath::has_fog(void) const;

Description: Returns true if a fog has been applied to this particular node via set_fog(), false otherwise. This is not the same thing as asking whether the geometry at this node will be rendered with fog, as there may be a fog in effect from a higher or lower level.

hasFogOff
bool NodePath::has_fog_off(void) const;

Description: Returns true if a fog has been specifically disabled on this particular node via set_fog_off(), false otherwise. This is not the same thing as asking whether the geometry at this node will be rendered unfogged, as there may be a fog in effect from a higher or lower level.

hasLight
bool NodePath::has_light(NodePath const &light) const;

Description: Returns true if the indicated Light or PolylightNode has been specifically enabled on this particular node. This means that someone called set_light() on this node with the indicated light.

hasLightOff
bool NodePath::has_light_off(void) const;

Description: Returns true if all Lights have been specifically disabled on this particular node. This means that someone called set_light_off() on this node with no parameters.
Description: Returns true if the indicated Light has been specifically disabled on this particular node. This means that someone called set_light_off() on this node with the indicated light.
This interface does not support PolylightNodes, which cannot be turned off at a lower level.

hasMat
bool NodePath::has_mat(void) const;

Description: Returns true if a non-identity transform matrix has been applied to the referenced node, false otherwise.

hasMaterial
bool NodePath::has_material(void) const;

Description: Returns true if a material has been applied to this particular node via set_material(), false otherwise.

hasNetPythonTag
bool NodePath::has_net_python_tag(string const &key) const;

Description: Returns true if the indicated Python object has been defined on this node or on any ancestor node, or false otherwise. See also has_python_tag().

hasNetTag
bool NodePath::has_net_tag(string const &key) const;

Description: Returns true if the indicated tag value has been defined on this node or on any ancestor node, or false otherwise. See also has_tag().

hasParent
bool NodePath::has_parent(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns true if the referenced node has a parent; i.e. the NodePath chain contains at least two nodes.

hasPythonTag
bool NodePath::has_python_tag(string const &key) const;

Description: Returns true if a Python object 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. See also has_net_python_tag().

hasRenderMode
bool NodePath::has_render_mode(void) const;

Description: Returns true if a render mode has been explicitly set on this particular node via set_render_mode() (or set_render_mode_wireframe() or set_render_mode_filled()), false otherwise.

hasScissor
bool NodePath::has_scissor(void) const;

Description: Returns true if a scissor region was defined at this node by a previous call to set_scissor(). This does not check for scissor regions inherited from a parent class. It also does not check for the presence of a low-level ScissorAttrib, which is different from the ScissorEffect added by set_scissor.

hasTag
bool NodePath::has_tag(string const &key) const;

Description: 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. See also has_net_tag().

hasTexcoord
bool NodePath::has_texcoord(string const &texcoord_name) const;

Description: Returns true if there are at least some vertices at this node and below that use the named texture coordinate set, false otherwise. Pass the empty string for the default texture coordinate set.

hasTexGen
bool NodePath::has_tex_gen(TextureStage *stage) const;

Description: Returns true if there is a mode for automatic texture coordinate generation on the current node for the given stage.

hasTexProjector
bool NodePath::has_tex_projector(TextureStage *stage) const;

Description: Returns true if this node has a TexProjectorEffect for the indicated stage, false otherwise.

hasTexTransform
bool NodePath::has_tex_transform(TextureStage *stage) const;

Description: Returns true if there is an explicit texture matrix on the current node for the given stage.

hasTexture
bool NodePath::has_texture(void) const;

Description: Returns true if a texture has been applied to this particular node via set_texture(), false otherwise. This is not the same thing as asking whether the geometry at this node will be rendered with texturing, as there may be a texture in effect from a higher or lower level.
Description: Returns true if texturing has been specifically enabled on this particular node for the indicated stage. This means that someone called set_texture() on this node with the indicated stage name, or the stage_name is the default stage_name, and someone called set_texture() on this node.

hasTextureOff
bool NodePath::has_texture_off(void) const;

Description: Returns true if texturing has been specifically disabled on this particular node via set_texture_off(), false otherwise. This is not the same thing as asking whether the geometry at this node will be rendered untextured, as there may be a texture in effect from a higher or lower level.
Description: Returns true if texturing has been specifically disabled on this particular node for the indicated stage. This means that someone called set_texture_off() on this node with the indicated stage name, or that someone called set_texture_off() on this node to remove all stages.

hasTransparency
bool NodePath::has_transparency(void) const;

Description: Returns true if a transparent-rendering adjustment has been explicitly set on this particular node via set_transparency(). If this returns true, then get_transparency() may be called to determine whether transparency has been explicitly enabled or explicitly disabled for this node.

hasTwoSided
bool NodePath::has_two_sided(void) const;

Description: Returns true if a two-sided adjustment has been explicitly set on this particular node via set_two_sided(). If this returns true, then get_two_sided() may be called to determine which has been set.

hasVertexColumn
bool NodePath::has_vertex_column(InternalName const *name) const;

Description: Returns true if there are at least some vertices at this node and below that contain a reference to the indicated vertex data column name, false otherwise.
This is particularly useful for testing whether a particular model has a given texture coordinate set (but see has_texcoord()).

headsUp
void NodePath::heads_up(float x, float y, float z);

Description: Behaves like look_at(), but with a strong preference to keeping the up vector oriented in the indicated "up" direction.

hide
void NodePath::hide(void);

Description: Makes the referenced node (and the entire subgraph below this node) invisible to all cameras. It remains part of the scene graph, its bounding volume still contributes to its parent's bounding volume, and it will still be involved in collision tests.
Description: Makes the referenced node invisible just to the cameras whose camera_mask shares the indicated bits.
This will also hide any nodes below this node in the scene graph, including those nodes for which show() has been called, but it will not hide descendent nodes for which show_through() has been called.

hideBounds
void NodePath::hide_bounds(void);

Description: Stops the rendering of the bounding volume begun with show_bounds().

instanceTo
NodePath NodePath::instance_to(NodePath const &other, int sort = (0), Thread *current_thread = ((get_current_thread()))) const;

Description: Adds the referenced node of the NodePath as a child of the referenced node of the indicated other NodePath. Any other parent-child relations of the node are unchanged; in particular, the node is not removed from its existing parent, if any.
If the node already had an existing parent, this method will create a new instance of the node within the scene graph.
This does not change the NodePath itself, but does return a new NodePath that reflects the new instance node.
If the destination NodePath is empty, this creates a new instance which is not yet parented to any node. A new instance of this sort cannot easily be differentiated from other similar instances, but it is nevertheless a different instance and it will return a different get_id() value.

instanceUnderNode
NodePath NodePath::instance_under_node(NodePath const &other, string const &name, int sort = (0), Thread *current_thread = ((get_current_thread()))) const;

Description: Behaves like instance_to(), but implicitly creates a new node to instance the geometry under, and returns a NodePath to that new node. This allows the programmer to set a unique state and/or transform on this instance.

isAncestorOf
bool NodePath::is_ancestor_of(NodePath const &other, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns true if the node represented by this NodePath is a parent or other ancestor of the other NodePath, or false if it is not.

isEmpty
bool NodePath::is_empty(void) const;

Methods to query a NodePath's contents.
Description: Returns true if the NodePath contains no nodes.

isHidden
bool NodePath::is_hidden(BitMask< unsigned int, 32 > camera_mask = ((get_overall_bit()))) const;

Description: Returns true if the referenced node is hidden from the indicated camera(s) either directly, or because some ancestor is hidden.

isSameGraph
bool NodePath::is_same_graph(NodePath const &other, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns true if the node represented by this NodePath is parented within the same graph as that of the other NodePath. This is essentially the same thing as asking whether get_top() of both NodePaths is the same (e.g., both "render").

isSingleton
bool NodePath::is_singleton(Thread *current_thread = ((get_current_thread()))) const;

Methods to query a NodePath's contents.
Description: Returns true if the NodePath contains exactly one node.

isStashed
bool NodePath::is_stashed(void) const;

Description: Returns true if the referenced node is stashed either directly, or because some ancestor is stashed.

listTags
void NodePath::list_tags(void) const;

HAVE_PYTHON
Description: Lists the tags to the nout stream, one per line. See PandaNode::list_tags() for a variant that allows you to specify the output stream.

lookAt
void NodePath::look_at(float x, float y, float z);

Description: Sets the transform on this NodePath so that it rotates to face the indicated point in space. This will overwrite any previously existing scale on the node, although it will preserve any translation.
Description: Sets the hpr on this NodePath so that it rotates to face the indicated point in space, which is relative to the other NodePath.
Description: Sets the hpr on this NodePath so that it rotates to face the indicated point in space.
Description: Sets the transform on this NodePath so that it rotates to face the indicated point in space, which is relative to the other NodePath.

ls
void NodePath::ls(void) const;

Description: Lists the hierarchy at and below the referenced node.

node
PandaNode *NodePath::node(void) const;

Description: Returns the referenced node of the path.

notFound
static NodePath NodePath::not_found(void);

Description: Creates a NodePath with the ET_not_found error type set.

operator !=
bool NodePath::operator !=(NodePath const &other) const;

Comparison methods
Description: Returns true if the two paths are not equivalent.

operator <
bool NodePath::operator <(NodePath const &other) const;

Description: Returns true if this NodePath sorts before the other one, false otherwise. The sorting order of two nonequivalent NodePaths is consistent but undefined, and is useful only for storing NodePaths in a sorted container like an STL set.

operator =
void NodePath::operator =(NodePath const &copy);

Description:

operator ==
bool NodePath::operator ==(NodePath const &other) const;

Comparison methods
Description: Returns true if the two paths are equivalent; that is, if they contain the same list of nodes in the same order.

output
void NodePath::output(ostream &out) const;

Handy ways to look at what's there, and other miscellaneous operations.
Description: Writes a sensible description of the NodePath to the indicated output stream.

premungeScene
void NodePath::premunge_scene(GraphicsStateGuardianBase *gsg = ((void *)(0)));

Description: Walks through the scene graph beginning at the bottom node, and internally adjusts any GeomVertexFormats for optimal rendering on the indicated GSG. If this step is not done prior to rendering, the formats will be optimized at render time instead, for a small cost.
It is not normally necessary to do this on a model loaded directly from disk, since the loader will do this by default.

prepareScene
void NodePath::prepare_scene(GraphicsStateGuardianBase *gsg);

Description: Walks through the scene graph beginning at the bottom node, and does whatever initialization is required to render the scene properly with the indicated GSG. It is not strictly necessary to call this, since the GSG will initialize itself when the scene is rendered, but this may take some of the overhead away from that process.
In particular, this will ensure that textures within the scene are loaded in texture memory, and display lists are built up from static geometry.

projectTexture
void NodePath::project_texture(TextureStage *stage, Texture *tex, NodePath const &projector);

Description: A convenience function to enable projective texturing at this node level and below, using the indicated NodePath (which should contain a LensNode) as the projector.

removed
static NodePath NodePath::removed(void);

Description: Creates a NodePath with the ET_removed error type set.

removeNode
void NodePath::remove_node(Thread *current_thread = ((get_current_thread())));

Description: Disconnects the referenced node from the scene graph. This will also delete the node if there are no other pointers to it.
Normally, this should be called only when you are really done with the node. If you want to remove a node from the scene graph but keep it around for later, you should probably use detach_node() instead.
In practice, the only difference between remove_node() and detach_node() is that remove_node() also resets the NodePath to empty, which will cause the node to be deleted immediately if there are no other references. On the other hand, detach_node() leaves the NodePath referencing the node, which will keep at least one reference to the node for as long as the NodePath exists.

reparentTo
void NodePath::reparent_to(NodePath const &other, int sort = (0), Thread *current_thread = ((get_current_thread())));

Methods that actually move nodes around in the scene graph. The optional "sort" parameter can be used to force a particular ordering between sibling nodes, useful when dealing with LOD's and similar switch nodes. If the sort value is the same, nodes will be arranged in the order they were added.
Description: Removes the referenced node of the NodePath from its current parent and attaches it to the referenced node of the indicated NodePath.
If the destination NodePath is empty, this is the same thing as detach_node().

reverseLs
void NodePath::reverse_ls(void) const;

Description: Lists the hierarchy at and above the referenced node.

setAllColorScale
void NodePath::set_all_color_scale(float scale, int priority = (0));

Description: Scales all the color components of the object by the same amount, darkening the object, without (much) affecting alpha. Note that any priority specified will also apply to the alpha scale.

setAlphaScale
void NodePath::set_alpha_scale(float scale, int priority = (0));

Description: Sets the alpha scale component of the transform without (much) affecting the color scale. Note that any priority specified will also apply to the color scale.

setAntialias
void NodePath::set_antialias(unsigned short int mode, int priority = (0));

Description: Specifies the antialiasing type that should be applied at this node and below. See AntialiasAttrib.

setAttrib
void NodePath::set_attrib(RenderAttrib const *attrib, int priority = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setAudioVolume
void NodePath::set_audio_volume(float volume, int priority = (0));

Description: Sets the audio volume component of the transform

setAudioVolumeOff
void NodePath::set_audio_volume_off(int priority = (0));

Description: Disables any audio volume attribute inherited from above. This is not the same thing as clear_audio_volume(), which undoes any previous set_audio_volume() operation on this node; rather, this actively disables any set_audio_volume() that might be inherited from a parent node.
It is legal to specify a new volume on the same node with a subsequent call to set_audio_volume(); this new scale will apply to lower nodes.

setBillboardAxis
void NodePath::set_billboard_axis(float offset = (0));

Description: Puts a billboard transition on the node such that it will rotate in two dimensions around the up axis.
Description: Puts a billboard transition on the node such that it will rotate in two dimensions around the up axis, towards a specified "camera" instead of to the viewing camera.

setBillboardPointEye
void NodePath::set_billboard_point_eye(float offset = (0));

Description: Puts a billboard transition on the node such that it will rotate in three dimensions about the origin, keeping its up vector oriented to the top of the camera.
Description: Puts a billboard transition on the node such that it will rotate in three dimensions about the origin, keeping its up vector oriented to the top of the camera, towards a specified "camera" instead of to the viewing camera.

setBillboardPointWorld
void NodePath::set_billboard_point_world(float offset = (0));

Description: Puts a billboard transition on the node such that it will rotate in three dimensions about the origin, keeping its up vector oriented to the sky.
Description: Puts a billboard transition on the node such that it will rotate in three dimensions about the origin, keeping its up vector oriented to the sky, towards a specified "camera" instead of to the viewing camera.

setBin
void NodePath::set_bin(string const &bin_name, int draw_order, int priority = (0));

Description: Assigns the geometry at this level and below to the named rendering bin. It is the user's responsibility to ensure that such a bin already exists, either via the cull-bin Configrc variable, or by explicitly creating a GeomBin of the appropriate type at runtime.
There are two default bins created when Panda is started: "default" and "fixed". Normally, all geometry is assigned to "default" unless specified otherwise. This bin renders opaque geometry in state-sorted order, followed by transparent geometry sorted back-to-front. If any geometry is assigned to "fixed", this will be rendered following all the geometry in "default", in the order specified by draw_order for each piece of geometry so assigned.
The draw_order parameter is meaningful only for GeomBinFixed type bins, e.g. "fixed". Other kinds of bins ignore it.

setClipPlane
void NodePath::set_clip_plane(NodePath const &clip_plane, int priority = (0));

Description: Adds the indicated clipping plane to the list of planes that apply to geometry at this node and below. The clipping plane itself, a PlaneNode, should be parented into the scene graph elsewhere, to represent the plane's position in space; but until set_clip_plane() is called it will clip no geometry.

setClipPlaneOff
void NodePath::set_clip_plane_off(int priority = (0));

Description: Sets the geometry at this level and below to render using no clip_planes at all. This is different from not specifying a clip_plane; rather, this specifically contradicts set_clip_plane() at a higher node level (or, with a priority, overrides a set_clip_plane() at a lower level).
If no clip_planes are in effect on a particular piece of geometry, that geometry is rendered without being clipped (other than by the viewing frustum).
Description: Sets the geometry at this level and below to render without being clipped by the indicated PlaneNode. This is different from not specifying the PlaneNode; rather, this specifically contradicts set_clip_plane() at a higher node level (or, with a priority, overrides a set_clip_plane() at a lower level).

setCollideMask
void NodePath::set_collide_mask(BitMask< unsigned int, 32 > new_mask, BitMask< unsigned int, 32 > bits_to_change = ((all_on())), TypeHandle node_type = ((none())));

Description: Recursively applies the indicated CollideMask to the into_collide_masks for all nodes at this level and below. If node_type is not TypeHandle::none(), then only nodes matching (or inheriting from) the indicated PandaNode subclass are modified.
The default is to change all bits, but if bits_to_change is not all bits on, then only the bits that are set in bits_to_change are modified, allowing this call to change only a subset of the bits in the subgraph.

setColor
void NodePath::set_color(float r, float g, float b, float a = (1), int priority = (0));

Methods that affect appearance of geometry: color, texture, etc. These affect the state at the bottom level only.
Description: Applies a scene-graph color to the referenced node. This color will apply to all geometry at this level and below (that does not specify a new color or a set_color_off()).

setColorOff
void NodePath::set_color_off(int priority = (0));

Description: Sets the geometry at this level and below to render using the geometry color. This is normally the default, but it may be useful to use this to contradict set_color() at a higher node level (or, with a priority, to override a set_color() at a lower level).

setColorScale
void NodePath::set_color_scale(LVecBase4f const &scale, int priority = (0));

Description: Sets the color scale component of the transform
Description: Sets the color scale component of the transform, leaving translation and rotation untouched.

setColorScaleOff
void NodePath::set_color_scale_off(int priority = (0));

Description: Disables any color scale attribute inherited from above. This is not the same thing as clear_color_scale(), which undoes any previous set_color_scale() operation on this node; rather, this actively disables any set_color_scale() that might be inherited from a parent node. This also disables set_alpha_scale() at the same time.
It is legal to specify a new color scale on the same node with a subsequent call to set_color_scale() or set_alpha_scale(); this new scale will apply to lower geometry.

setCompass
void NodePath::set_compass(NodePath const &reference = ((())));

Description: Puts a compass effect on the node, so that it will retain a fixed rotation relative to the reference node (or render if the reference node is empty) regardless of the transforms above it.

setDepthTest
void NodePath::set_depth_test(bool depth_test, int priority = (0));

Description: Specifically sets or disables the testing of the depth buffer on this particular node. This is normally on in the 3-d scene graph and off in the 2-d scene graph; it should be on for rendering most 3-d objects properly.

setDepthWrite
void NodePath::set_depth_write(bool depth_write, int priority = (0));

Description: Specifically sets or disables the writing to the depth buffer on this particular node. This is normally on in the 3-d scene graph and off in the 2-d scene graph; it should be on for rendering most 3-d objects properly.

setEffect
void NodePath::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void NodePath::set_effects(RenderEffects const *effects);

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFluidPos
void NodePath::set_fluid_pos(float x, float y, float z);

Description: Sets the translation component, without changing the "previous" position, so that the collision system will see the node as moving fluidly from its previous position to its new position.
Description: Sets the translation component, without changing the "previous" position, so that the collision system will see the node as moving fluidly from its previous position to its new position. See Also: NodePath::set_pos
Description: Sets the translation component of the transform, relative to the other node.

setFluidX
void NodePath::set_fluid_x(float x);

Undocumented function.

setFluidY
void NodePath::set_fluid_y(float y);

Undocumented function.

setFluidZ
void NodePath::set_fluid_z(float z);

Undocumented function.

setFog
void NodePath::set_fog(Fog *fog, int priority = (0));

Description: Sets the geometry at this level and below to render using the indicated fog.

setFogOff
void NodePath::set_fog_off(int priority = (0));

Description: Sets the geometry at this level and below to render using no fog. This is normally the default, but it may be useful to use this to contradict set_fog() at a higher node level (or, with a priority, to override a set_fog() at a lower level).

setH
void NodePath::set_h(float h);

Undocumented function.

setHpr
void NodePath::set_hpr(float h, float p, float r);

Description: Sets the rotation component of the transform, leaving translation and scale untouched.
Description: Sets the rotation component of the transform, relative to the other node.

setHprScale
void NodePath::set_hpr_scale(float h, float p, float r, float sx, float sy, float sz);

Description: Sets the rotation and scale components of the transform, leaving translation untouched.
Description: Sets the rotation and scale components of the transform, leaving translation untouched. This, or set_pos_hpr_scale, is the preferred way to update a transform when both hpr and scale are to be changed.

setLight
void NodePath::set_light(NodePath const &light, int priority = (0));

Description: Adds the indicated Light or PolylightNode to the list of lights that illuminate geometry at this node and below. The light itself should be parented into the scene graph elsewhere, to represent the light's position in space; but until set_light() is called it will illuminate no geometry.

setLightOff
void NodePath::set_light_off(int priority = (0));

Description: Sets the geometry at this level and below to render using no lights at all. This is different from not specifying a light; rather, this specifically contradicts set_light() at a higher node level (or, with a priority, overrides a set_light() at a lower level).
If no lights are in effect on a particular piece of geometry, that geometry is rendered with lighting disabled.
Description: Sets the geometry at this level and below to render without using the indicated Light. This is different from not specifying the Light; rather, this specifically contradicts set_light() at a higher node level (or, with a priority, overrides a set_light() at a lower level).
This interface does not support PolylightNodes, which cannot be turned off at a lower level.

setMat
void NodePath::set_mat(LMatrix4f const &mat);

Description: Directly sets an arbitrary 4x4 transform matrix.
Description: Converts the indicated matrix from the other's coordinate space to the local coordinate space, and applies it to the node.

setMaterial
void NodePath::set_material(Material *tex, int priority = (0));

Description: Sets the geometry at this level and below to render using the indicated material.
Previously, this operation made a copy of the material structure, but nowadays it assigns the pointer directly.

setMaterialOff
void NodePath::set_material_off(int priority = (0));

Description: Sets the geometry at this level and below to render using no material. This is normally the default, but it may be useful to use this to contradict set_material() at a higher node level (or, with a priority, to override a set_material() at a lower level).

setMaxSearchDepth
static void NodePath::set_max_search_depth(int max_search_depth);

Description: Certain operations, such as find() or find_all_matches(), require a traversal of the scene graph to search for the target node or nodes. This traversal does not attempt to detect cycles, so an arbitrary cap is set on the depth of the traversal as a poor man's cycle detection, in the event that a cycle has inadvertently been introduced into the scene graph.
There may be other reasons you'd want to truncate a search before the bottom of the scene graph has been reached. In any event, this function sets the limit on the number of levels that a traversal will continue, and hence the maximum length of a path that may be returned by a traversal.
This is a static method, and so changing this parameter affects all of the NodePaths in the universe.

setName
void NodePath::set_name(string const &name);

Description: Changes the name of the referenced node.

setNormalMap
void NodePath::set_normal_map(Texture *normal_map, string const &texcoord_name = ((string())), bool preserve_color = (0));

Description: A convenience function to set up a normal map on this geometry. This uses the single highest-priority light on the object only. It also requires multitexture, and consumes at least two texture stages, in addition to what may already be in use.
The normal_map parameter is the texture that contains the normal map information (with a 3-d delta vector encoded into the r,g,b of each texel). texcoord_name is the name of the texture coordinate set that contains the tangent and binormal we wish to use. If preserve_color is true, then one additional texture stage is consumed to blend in the geometry's original vertex color.
Only one normal map may be in effect through this interface at any given time.

setP
void NodePath::set_p(float p);

Undocumented function.

setPos
void NodePath::set_pos(float x, float y, float z);

Methods that get and set the matrix transform: pos, hpr, scale, in the local coordinate system.
Methods that get and set the matrix transforms relative to some other node in the scene graph. These perform an implicit wrt().
Description: Sets the translation component of the transform, leaving rotation and scale untouched. This also resets the node's "previous" position, so that the collision system will see the node as having suddenly appeared in the new position, without passing any points in between.
Description: Sets the translation component of the transform, relative to the other node.
Description: Sets the translation component of the transform, leaving rotation and scale untouched. This also resets the node's "previous" position, so that the collision system will see the node as having suddenly appeared in the new position, without passing any points in between. See Also: NodePath::set_fluid_pos

setPosHpr
void NodePath::set_pos_hpr(float x, float y, float z, float h, float p, float r);

Description: Sets the translation and rotation component of the transform, leaving scale untouched.
Description: Sets the translation and rotation component of the transform, relative to the other node.

setPosHprScale
void NodePath::set_pos_hpr_scale(float x, float y, float z, float h, float p, float r, float sx, float sy, float sz);

Description: Completely replaces the transform with new translation, rotation, and scale components.
Description: Completely replaces the transform with new translation, rotation, and scale components, relative to the other node.
Description: Replaces the translation, rotation, and scale components, implicitly setting shear to 0.
Description: Completely replaces the transform with new translation, rotation, and scale components, relative to the other node, implicitly setting shear to 0.

setPosHprScaleShear
void NodePath::set_pos_hpr_scale_shear(LVecBase3f const &pos, LVecBase3f const &hpr, LVecBase3f const &scale, LVecBase3f const &shear);

Description: Completely replaces the transform with new translation, rotation, scale, and shear components.
Description: Completely replaces the transform with new translation, rotation, scale, and shear components, relative to the other node.

setPosQuat
void NodePath::set_pos_quat(LVecBase3f const &pos, LQuaternionf const &quat);

Description: Sets the translation and rotation component of the transform, leaving scale untouched.
Description: Sets the translation and rotation component of the transform, relative to the other node.

setPosQuatScale
void NodePath::set_pos_quat_scale(LVecBase3f const &pos, LQuaternionf const &quat, LVecBase3f const &scale);

Description: Replaces the translation, rotation, and scale components, implicitly setting shear to 0.
Description: Completely replaces the transform with new translation, rotation, and scale components, relative to the other node, implicitly setting shear to 0.

setPosQuatScaleShear
void NodePath::set_pos_quat_scale_shear(LVecBase3f const &pos, LQuaternionf const &quat, LVecBase3f const &scale, LVecBase3f const &shear);

Description: Completely replaces the transform with new translation, rotation, scale, and shear components.
Description: Completely replaces the transform with new translation, rotation, scale, and shear components, relative to the other node.

setPrevTransform
void NodePath::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.
Description: Sets the "previous" transform object on this node, relative to the other node. This computes a new transform object that will have the indicated value when seen from the other node.

setPythonTag
void NodePath::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This object has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different Python object. There is no effective limit on the number of different keys that may be stored or on the nature of any one key's object.

setQuat
void NodePath::set_quat(LQuaternionf const &quat);

Description: Sets the rotation component of the transform, leaving translation and scale untouched.
Description: Sets the rotation component of the transform, relative to the other node.

setQuatScale
void NodePath::set_quat_scale(LQuaternionf const &quat, LVecBase3f const &scale);

Description: Sets the rotation and scale components of the transform, leaving translation untouched.
Description: Sets the rotation and scale components of the transform, leaving translation untouched. This, or set_pos_quat_scale, is the preferred way to update a transform when both quat and scale are to be changed.

setR
void NodePath::set_r(float r);

Undocumented function.

setRenderMode
void NodePath::set_render_mode(RenderModeAttrib::Mode mode, float thickness, int priority = (0));

Description: Sets up the geometry at this level and below (unless overridden) to render in the specified mode and with the indicated line and/or point thickness.

setRenderModeFilled
void NodePath::set_render_mode_filled(int priority = (0));

Description: Sets up the geometry at this level and below (unless overridden) to render in filled (i.e. not wireframe) mode.

setRenderModePerspective
void NodePath::set_render_mode_perspective(bool perspective, int priority = (0));

Description: Sets up the point geometry at this level and below to render as perspective sprites (that is, billboarded quads). The thickness, as specified with set_render_mode_thickness(), is the width of each point in 3-D units, unless it is overridden on a per-vertex basis. This does not affect geometry other than points.
If you want the quads to be individually textured, you should also set a TexGenAttrib::M_point_sprite on the node.

setRenderModeThickness
void NodePath::set_render_mode_thickness(float thickness, int priority = (0));

Description: Sets up the point geometry at this level and below to render as thick points (that is, billboarded quads). The thickness is in pixels, unless set_render_mode_perspective is also true, in which case it is in 3-D units.
If you want the quads to be individually textured, you should also set a TexGenAttrib::M_point_sprite on the node.

setRenderModeWireframe
void NodePath::set_render_mode_wireframe(int priority = (0));

Description: Sets up the geometry at this level and below (unless overridden) to render in wireframe mode.

setSa
void NodePath::set_sa(float sa);

Description: Sets the alpha scale component of the transform

setSb
void NodePath::set_sb(float sb);

Description: Sets the blue scale component of the transform

setScale
void NodePath::set_scale(float scale);

Description: Sets the scale component of the transform, leaving translation and rotation untouched.
Description: Sets the scale component of the transform, relative to the other node.

setScissor
void NodePath::set_scissor(float left, float right, float bottom, float top);

Description: Sets up a scissor region on the nodes rendered at this level and below. The four coordinates are understood to define a rectangle in screen space. These numbers are relative to the current DisplayRegion, where (0,0) is the lower-left corner of the DisplayRegion, and (1,1) is the upper-right corner.
Description: Sets up a scissor region on the nodes rendered at this level and below. The two points are understood to be relative to this node. When these points are projected into screen space, they define the diagonally-opposite points that determine the scissor region.
Description: Sets up a scissor region on the nodes rendered at this level and below. The four points are understood to be relative to this node. When these points are projected into screen space, they define the bounding volume of the scissor region (the scissor region is the smallest onscreen rectangle that encloses all four points).
Description: Sets up a scissor region on the nodes rendered at this level and below. The two points are understood to be relative to the indicated other node. When these points are projected into screen space, they define the diagonally-opposite points that determine the scissor region.
Description: Sets up a scissor region on the nodes rendered at this level and below. The four points are understood to be relative to the indicated other node. When these points are projected into screen space, they define the bounding volume of the scissor region (the scissor region is the smallest onscreen rectangle that encloses all four points).

setSg
void NodePath::set_sg(float sg);

Description: Sets the alpha scale component of the transform

setShader
void NodePath::set_shader(Shader const *sha, int priority = (0));

Description:

setShaderAuto
void NodePath::set_shader_auto(int priority = (0));

Description:

setShaderInput
void NodePath::set_shader_input(ShaderInput const *inp);

Description:

setShaderOff
void NodePath::set_shader_off(int priority = (0));

Description:

setShear
void NodePath::set_shear(float shxy, float shxz, float shyz);

Description: Sets the shear component of the transform, leaving translation, rotation, and scale untouched.
Description: Sets the shear component of the transform, relative to the other node.
Description: Sets the shear component of the transform, leaving translation and rotation untouched.

setShxy
void NodePath::set_shxy(float shxy);

Undocumented function.

setShxz
void NodePath::set_shxz(float shxz);

Undocumented function.

setShyz
void NodePath::set_shyz(float shyz);

Undocumented function.

setSr
void NodePath::set_sr(float sr);

Description: Sets the red scale component of the transform

setState
void NodePath::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Aggregate transform and state information.
Description: Changes the complete state object on this node.
Description: Sets the state object on this node, relative to the other node. This computes a new state object that will have the indicated value when seen from the other node.

setSx
void NodePath::set_sx(float sx);

Undocumented function.

setSy
void NodePath::set_sy(float sy);

Undocumented function.

setSz
void NodePath::set_sz(float sz);

Undocumented function.

setTag
void NodePath::set_tag(string const &key, string const &value);

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTexGen
void NodePath::set_tex_gen(TextureStage *stage, RenderAttrib::TexGenMode mode, int priority = (0));

Description: Enables automatic texture coordinate generation for the indicated texture stage.
Description: Enables automatic texture coordinate generation for the indicated texture stage. This version of this method is useful when setting M_light_vector, which requires the name of the texture coordinate set that supplies the tangent and binormal, as well as the specific light to generate coordinates for.
Description: Enables automatic texture coordinate generation for the indicated texture stage. This version of this method is useful when setting M_constant, which requires a constant texture coordinate value.

setTexHpr
void NodePath::set_tex_hpr(TextureStage *stage, float h, float p, float r);

Description: Sets a texture matrix on the current node to apply the indicated rotation, as a 3-D HPR, to UVW's for the given stage.
This call is appropriate for 3-d texture coordinates.

setTexOffset
void NodePath::set_tex_offset(TextureStage *stage, float u, float v);

Description: Sets a texture matrix on the current node to apply the indicated offset to UV's for the given stage.
This call is appropriate for ordinary 2-d texture coordinates.

setTexPos
void NodePath::set_tex_pos(TextureStage *stage, float u, float v, float w);

Description: Sets a texture matrix on the current node to apply the indicated offset to UVW's for the given stage.
This call is appropriate for 3-d texture coordinates.

setTexProjector
void NodePath::set_tex_projector(TextureStage *stage, NodePath const &from, NodePath const &to);

Description: Establishes a TexProjectorEffect on this node, which can be used to establish projective texturing (but see also the NodePath::project_texture() convenience function), or it can be used to bind this node's texture transform to particular node's position in space, allowing a LerpInterval (for instance) to adjust this node's texture coordinates.

setTexRotate
void NodePath::set_tex_rotate(TextureStage *stage, float r);

Description: Sets a texture matrix on the current node to apply the indicated rotation, clockwise in degrees, to UV's for the given stage.
This call is appropriate for ordinary 2-d texture coordinates.

setTexScale
void NodePath::set_tex_scale(TextureStage *stage, float scale);

Description: Sets a texture matrix on the current node to apply the indicated scale to UVW's for the given stage.
This call is appropriate for 2-d or 3-d texture coordinates.
Description: Sets a texture matrix on the current node to apply the indicated scale to UV's for the given stage.
This call is appropriate for ordinary 2-d texture coordinates.
This call is appropriate for 3-d texture coordinates.

setTexTransform
void NodePath::set_tex_transform(TextureStage *stage, TransformState const *transform);

Description: Sets the texture matrix on the current node to the indicated transform for the given stage.

setTexture
void NodePath::set_texture(Texture *tex, int priority = (0));

Description: Adds the indicated texture to the list of textures that will be rendered on the default texture stage.
This is the deprecated single-texture variant of this method; it is now superceded by set_texture() that accepts a stage and texture. However, this method may be used in the presence of multitexture if you just want to adjust the default stage.
Description: Adds the indicated texture to the list of textures that will be rendered on the indicated multitexture stage. If there are multiple texture stages specified (possibly on multiple different nodes at different levels), they will all be applied to geometry together, according to the stage specification set up in the TextureStage object.

setTextureOff
void NodePath::set_texture_off(int priority = (0));

Description: Sets the geometry at this level and below to render using no texture, on any stage. This is different from not specifying a texture; rather, this specifically contradicts set_texture() at a higher node level (or, with a priority, overrides a set_texture() at a lower level).
Description: Sets the geometry at this level and below to render using no texture, on the indicated stage. This is different from not specifying a texture; rather, this specifically contradicts set_texture() at a higher node level (or, with a priority, overrides a set_texture() at a lower level).

setTransform
void NodePath::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Changes the complete transform object on this node.
Description: Sets the transform object on this node, relative to the other node. This computes a new transform object that will have the indicated value when seen from the other node.

setTransparency
void NodePath::set_transparency(TransparencyAttrib::Mode mode, int priority = (0));

Description: Specifically sets or disables transparent rendering mode on this particular node. If no other nodes override, this will cause items with a non-1 value for alpha color to be rendered partially transparent.

setTwoSided
void NodePath::set_two_sided(bool two_sided, int priority = (0));

Description: Specifically sets or disables two-sided rendering mode on this particular node. If no other nodes override, this will cause backfacing polygons to be drawn (in two-sided mode, true) or culled (in one-sided mode, false).

setX
void NodePath::set_x(float x);

Undocumented function.

setY
void NodePath::set_y(float y);

Undocumented function.

setZ
void NodePath::set_z(float z);

Undocumented function.

show
void NodePath::show(void);

Variants on show and hide
Description: Undoes the effect of a previous hide() on this node: makes the referenced node (and the entire subgraph below this node) visible to all cameras.
This will not reveal the node if a parent node has been hidden.
Description: Makes the referenced node visible just to the cameras whose camera_mask shares the indicated bits.
This undoes the effect of a previous hide() call. It will not reveal the node if a parent node has been hidden. However, see show_through().

showBounds
void NodePath::show_bounds(void);

Description: Causes the bounding volume of the bottom node and all of its descendants (that is, the bounding volume associated with the the bottom arc) to be rendered, if possible. The rendering method is less than optimal; this is intended primarily for debugging.

showThrough
void NodePath::show_through(void);

Description: Makes the referenced node visible just to the cameras whose camera_mask shares the indicated bits.
Unlike show(), this will reveal the node even if a parent node has been hidden, thus "showing through" a parent's hide().
Unlike show(), this will reveal the node even if a parent node has been hidden via the one-parameter hide() method, thus "showing through" a parent's hide(). (However, it will not show through a parent's hide() call if the no-parameter form of hide() was used.)

showTightBounds
void NodePath::show_tight_bounds(void);

Description: Similar to show_bounds(), this draws a bounding box representing the "tight" bounds of this node and all of its descendants. The bounding box is recomputed every frame by reexamining all of the vertices; this is far from efficient, but this is intended for debugging.

stash
void NodePath::stash(int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Removes the referenced node (and the entire subgraph below this node) from the scene graph in any normal sense. The node will no longer be visible and is not tested for collisions; furthermore, no normal scene graph traversal will visit the node. The node's bounding volume no longer contributes to its parent's bounding volume.
A stashed node cannot be located by a normal find() operation (although a special find string can still retrieve it).

unifyTextureStages
void NodePath::unify_texture_stages(TextureStage *stage);

Description: Searches through all TextureStages at this node and below. Any TextureStages that share the same name as the indicated TextureStage object are replaced with this object, thus ensuring that all geometry at this node and below with a particular TextureStage name is using the same TextureStage object.

unstash
void NodePath::unstash(int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Undoes the effect of a previous stash() on this node: makes the referenced node (and the entire subgraph below this node) once again part of the scene graph.

unstashAll
void NodePath::unstash_all(Thread *current_thread = ((get_current_thread())));

Description: Unstashes this node and all stashed child nodes.

verifyComplete
bool NodePath::verify_complete(Thread *current_thread = ((get_current_thread()))) const;

Miscellaneous
Description: Returns true if all of the nodes described in the NodePath are connected, or false otherwise.

writeBamFile
bool NodePath::write_bam_file(string const &filename) const;

HAVE_PYTHON
Description: Writes the contents of this node and below out to a bam file with the indicated filename. This file may then be read in again, as is, at some later point. Returns true if successful, false on some kind of error.

writeBamStream
bool NodePath::write_bam_stream(ostream &out) const;

Description: Writes the contents of this node and below out to the indicated stream.

writeBounds
void NodePath::write_bounds(ostream &out) const;

Description: Writes a description of the bounding volume containing the bottom node and all of its descendants to the indicated output stream.

wrtReparentTo
void NodePath::wrt_reparent_to(NodePath const &other, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: This functions identically to reparent_to(), except the transform on this node is also adjusted so that the node remains in the same place in world coordinates, even if it is reparented into a different coordinate system.


NodePathCollection

    from pandac.PandaModules import NodePathCollection
    Class : NodePathCollection
    Description : This is a set of zero or more NodePaths. It's handy for returning from functions that need to return multiple NodePaths (for instance, NodePaths::get_children).

Inheritance:

    NodePathCollection:

Methods of NodePathCollection:

    NodePathCollection (Constructor)
    addPath
    addPathsFrom
    clear
    composeColorScale
    detach
    findAllMatches
    getCollideMask
    getNumPaths
    getPath
    hasPath
    hide
    isEmpty
    ls
    operator =
    operator []
    output
    removeDuplicatePaths
    removePath
    removePathsFrom
    reparentTo
    setAttrib
    setCollideMask
    setColor
    setColorScale
    setTexture
    setTextureOff
    show
    stash
    unstash
    write
    wrtReparentTo
NodePathCollection
NodePathCollection::NodePathCollection(void);

Description:

addPath
void NodePathCollection::add_path(NodePath const &node_path);

Description: Adds a new NodePath to the collection.

addPathsFrom
void NodePathCollection::add_paths_from(NodePathCollection const &other);

Description: Adds all the NodePaths indicated in the other collection to this path. The other paths are simply appended to the end of the paths in this list; duplicates are not automatically removed.

clear
void NodePathCollection::clear(void);

Description: Removes all NodePaths from the collection.

composeColorScale
void NodePathCollection::compose_color_scale(float r, float g, float b, float a = (1), int priority = (0));

Description: Applies color scales to all NodePaths in the collection. The existing color scale, if any, is multiplied by the specified color scale.

detach
void NodePathCollection::detach(void);

Description: Detaches all NodePaths in the collection.

findAllMatches
NodePathCollection NodePathCollection::find_all_matches(string const &path) const;

Description: Returns the complete set of all NodePaths that begin with any NodePath in this collection and can be extended by path. The shortest paths will be listed first.

getCollideMask
BitMask< unsigned int, 32 > NodePathCollection::get_collide_mask(void) const;

Description: Returns the union of all of the into_collide_masks for nodes at this level and below. This is the same thing as node()->get_net_collide_mask().
If you want to return what the into_collide_mask of this node itself is, without regard to its children, use node()->get_into_collide_mask().

getNumPaths
int NodePathCollection::get_num_paths(void) const;

Description: Returns the number of NodePaths in the collection.

getPath
NodePath NodePathCollection::get_path(int index) const;

Description: Returns the nth NodePath in the collection.

hasPath
bool NodePathCollection::has_path(NodePath const &path) const;

Description: Returns true if the indicated NodePath appears in this collection, false otherwise.

hide
void NodePathCollection::hide(void);

Description: Hides all NodePaths in the collection.

isEmpty
bool NodePathCollection::is_empty(void) const;

Description: Returns true if there are no NodePaths in the collection, false otherwise.

ls
void NodePathCollection::ls(void) const;

Handy operations on many NodePaths at once.
Description: Lists all the nodes at and below each node in the collection hierarchically.

operator =
void NodePathCollection::operator =(NodePathCollection const &copy);

Description:

operator []
NodePath NodePathCollection::operator [](int index) const;

Description: Returns the nth NodePath in the collection. This is the same as get_path(), but it may be a more convenient way to access it.

output
void NodePathCollection::output(ostream &out) const;

Description: Writes a brief one-line description of the NodePathCollection to the indicated output stream.

removeDuplicatePaths
void NodePathCollection::remove_duplicate_paths(void);

Description: Removes any duplicate entries of the same NodePaths on this collection. If a NodePath appears multiple times, the first appearance is retained; subsequent appearances are removed.

removePath
bool NodePathCollection::remove_path(NodePath const &node_path);

Description: Removes the indicated NodePath from the collection. Returns true if the path was removed, false if it was not a member of the collection.

removePathsFrom
void NodePathCollection::remove_paths_from(NodePathCollection const &other);

Description: Removes from this collection all of the NodePaths listed in the other collection.

reparentTo
void NodePathCollection::reparent_to(NodePath const &other);

Description: Reparents all the NodePaths in the collection to the indicated node.

setAttrib
void NodePathCollection::set_attrib(RenderAttrib const *attrib, int priority = (0));

Description: Applies the indicated RenderAttrib to all NodePaths in the collection. An effort is made to apply the attrib to many NodePaths as quickly as possible; redundant RenderState compositions are not duplicated.

setCollideMask
void NodePathCollection::set_collide_mask(BitMask< unsigned int, 32 > new_mask, BitMask< unsigned int, 32 > bits_to_change = ((all_on())), TypeHandle node_type = ((none())));

Description: Recursively applies the indicated CollideMask to the into_collide_masks for all nodes at this level and below. Only nodes
The default is to change all bits, but if bits_to_change is not all bits on, then only the bits that are set in bits_to_change are modified, allowing this call to change only a subset of the bits in the subgraph.

setColor
void NodePathCollection::set_color(float r, float g, float b, float a = (1), int priority = (0));

Description: Colors all NodePaths in the collection

setColorScale
void NodePathCollection::set_color_scale(float r, float g, float b, float a = (1), int priority = (0));

Description: Applies color scales to all NodePaths in the collection. The existing color scale is replaced.

setTexture
void NodePathCollection::set_texture(Texture *tex, int priority = (0));

Description: Adds the indicated texture to the list of textures that will be rendered on the default texture stage.
This is the deprecated single-texture variant of this method; it is now superceded by set_texture() that accepts a stage and texture. However, this method may be used in the presence of multitexture if you just want to adjust the default stage.
Description: Adds the indicated texture to the list of textures that will be rendered on the indicated multitexture stage. If there are multiple texture stages specified (possibly on multiple different nodes at different levels), they will all be applied to geometry together, according to the stage specification set up in the TextureStage object.

setTextureOff
void NodePathCollection::set_texture_off(int priority = (0));

Description: Sets the geometry at this level and below to render using no texture, on any stage. This is different from not specifying a texture; rather, this specifically contradicts set_texture() at a higher node level (or, with a priority, overrides a set_texture() at a lower level).
Description: Sets the geometry at this level and below to render using no texture, on the indicated stage. This is different from not specifying a texture; rather, this specifically contradicts set_texture() at a higher node level (or, with a priority, overrides a set_texture() at a lower level).

show
void NodePathCollection::show(void);

Description: Shows all NodePaths in the collection.

stash
void NodePathCollection::stash(void);

Description: Stashes all NodePaths in the collection.

unstash
void NodePathCollection::unstash(void);

Description: Unstashes all NodePaths in the collection.

write
void NodePathCollection::write(ostream &out, int indent_level = (0)) const;

Description: Writes a complete multi-line description of the NodePathCollection to the indicated output stream.

wrtReparentTo
void NodePathCollection::wrt_reparent_to(NodePath const &other);

Description: Reparents all the NodePaths in the collection to the indicated node, adjusting each transform so as not to move in world coordinates.


NodeReferenceCount

    from pandac.PandaModules import NodeReferenceCount
    Class : NodeReferenceCount
    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.

Inheritance:

    NodeReferenceCount: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of NodeReferenceCount:

    getClassType
    getNodeRefCount
    nodeRef
    nodeUnref
    testRefCountIntegrity

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle NodeReferenceCount::get_class_type(void);

Undocumented function.

getNodeRefCount
int NodeReferenceCount::get_node_ref_count(void) const;

Description: Returns the current reference count.

nodeRef
void NodeReferenceCount::node_ref(void) const;

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

nodeUnref
bool NodeReferenceCount::node_unref(void) const;

Description: 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.

testRefCountIntegrity
bool NodeReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


NodeVertexTransform

    from pandac.PandaModules import NodeVertexTransform
    Class : NodeVertexTransform
    Description : This VertexTransform gets its matrix from the Transform stored on a node. It can also compose its node's transform with another VertexTransform, allowing you to build up a chain of NodeVertexTransforms that represent a list of composed matrices.

Inheritance:

    NodeVertexTransform: VertexTransform
    VertexTransform: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of NodeVertexTransform:

    NodeVertexTransform (Constructor)
    getClassType
    getNode
    getPrev

Methods of VertexTransform:

    accumulateMatrix
    getClassType
    getGlobalModified
    getMatrix
    getModified
    getNextModified
    multMatrix
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
NodeVertexTransform
NodeVertexTransform::NodeVertexTransform(PandaNode const *node, VertexTransform const *prev = ((void *)(0)));

Description:

getClassType
static TypeHandle NodeVertexTransform::get_class_type(void);

Undocumented function.

getNode
PandaNode const *NodeVertexTransform::get_node(void) const;

Description: Returns the PandaNode whose transform supplies this object.

getPrev
VertexTransform const *NodeVertexTransform::get_prev(void) const;

Description: Returns the VertexTransform object whose matrix will be composed with the result of this node's transform.

accumulateMatrix
virtual void VertexTransform::accumulate_matrix(LMatrix4f &accum, float weight) const;

Description: Adds the value of this transform's matrix, modified by the indicated weight, into the indicated accumulation matrix. This is used to compute the result of several blended transforms.

getClassType
static TypeHandle VertexTransform::get_class_type(void);

Undocumented function.

getGlobalModified
static UpdateSeq VertexTransform::get_global_modified(Thread *current_thread);

Description: Returns the currently highest VertexTransform::get_modified() value in the world. This can be used as a quick way to determine if any VertexTransforms have changed value recently.

getMatrix
virtual void VertexTransform::get_matrix(LMatrix4f &matrix) const = 0;

Undocumented function.

getModified
UpdateSeq VertexTransform::get_modified(Thread *current_thread) const;

Description: Returns a sequence number that's guaranteed to change at least every time the value reported by get_matrix() changes.

getNextModified
static UpdateSeq VertexTransform::get_next_modified(Thread *current_thread);

Description: Returns a monotonically increasing sequence. Each time this is called, a new sequence number is returned, higher than the previous value.
This is used to ensure that all VertexTransform::get_modified() calls return an increasing number in the same space, so that TransformBlend::get_modified() is easy to determine. It is similar to Geom::get_modified(), but it is in a different space.

multMatrix
virtual void VertexTransform::mult_matrix(LMatrix4f &result, LMatrix4f const &previous) const;

Description: Premultiplies this transform's matrix with the indicated previous matrix, so that the result is the net composition of the given transform with this transform. The result is stored in the parameter "result", which should not be the same matrix as previous.

output
virtual void VertexTransform::output(ostream &out) const;

Description:

write
virtual void VertexTransform::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


NoDictKey

    from direct.showbase.ContainerLeakDetector import NoDictKey

Inheritance:

    NoDictKey:


NonlinearImager

    from pandac.PandaModules import NonlinearImager
    Class : NonlinearImager
    Description : This class object combines the rendered output of a 3-d from one or more linear (e.g. perspective) cameras, as seen through a single, possibly nonlinear camera.
    This can be used to generate real-time imagery of a 3-d scene using a nonlinear camera, for instance a fisheye camera, even though the underlying graphics engine may only support linear cameras. It can also pre-distort imagery to compensate for off-axis projectors, and/or curved screens of any complexity.
    A NonlinearImager may be visualized as a dark room into which a number of projection screens have been placed, of arbitrary size and shape and at any arbitrary position and orientation to each other. Onto each of these screens is projected the view as seen by a normal perspective camera that exists in the world (that is, under render).
    There also exist in the room one or more (possibly nonlinear) cameras, called viewers, that observe these screens. The image of the projection screens seen by each viewer is finally displayed on the viewer's associated DisplayRegion. By placing the viewer(s) appropriately relative to the screens, and by choosing suitable lens properties for the viewer(s), you can achieve a wide variety of distortion effects.
    There are several different LensNode (Camera) objects involved at each stage in the process. To help keep them all straight, different words are used to refer to each different kind of Camera used within this object. The camera(s) under render, that capture the original view of the world to be projected onto the screens, are called source cameras, and are set per screen via set_source_camera(). The LensNode that is associated with each screen to project the image as seen from the screen's source camera is called a projector; these are set via the ProjectionScreen::set_projector() interface. Finally, the cameras that view the whole configuration of screens are called viewers; each of these is associated with a DisplayRegion, and they are set via set_viewer_camera().
    Of all these lenses, only the source cameras must use linear (that is, perspective or orthographic) lenses. The projectors and viewers may be any arbitrary lens, linear or otherwise.

Inheritance:

    NonlinearImager:

Methods of NonlinearImager:

    NonlinearImager (Constructor)
    addScreen
    addViewer
    findScreen
    findViewer
    getBuffer
    getDarkRoom
    getGraphicsEngine
    getNumScreens
    getNumViewers
    getScreen
    getScreenActive
    getViewer
    getViewerCamera
    getViewerScene
    recompute
    removeAllScreens
    removeAllViewers
    removeScreen
    removeViewer
    setScreenActive
    setSourceCamera
    setTextureSize
    setViewerCamera
NonlinearImager
NonlinearImager::NonlinearImager(void);

Description:

addScreen
int NonlinearImager::add_screen(ProjectionScreen *screen);

Description: Adds a new ProjectionScreen to the list of screens that will be processed by the NonlinearImager. Each ProjectionScreen represents a view into the world. It must be based on a linear camera (or whatever kind of camera is respected by the graphics engine).
Each ProjectionScreen object should already have some screen geometry created.
As each frame is rendered, an offscreen image will be rendered from the source camera associated with each ProjectionScreen, and the resulting image will be applied to the screen geometry.
The return value is the index number of the new screen.

addViewer
int NonlinearImager::add_viewer(DisplayRegion *dr);

Description: Adds the indicated DisplayRegion as a viewer into the NonlinearImager room. The camera associated with the DisplayRegion at the time add_viewer() is called is used as the initial viewer camera; it may have a nonlinear lens, like a fisheye or cylindrical lens.
This sets up a special scene graph for this DisplayRegion alone and sets up the DisplayRegion with a specialty camera. If future changes to the camera are desired, you should use the set_viewer_camera() interface.
All viewers must share the same GraphicsEngine.
The return value is the index of the new viewer.

findScreen
int NonlinearImager::find_screen(NodePath const &screen) const;

Description: Returns the index number of the first appearance of the indicated screen within the imager's list, or -1 if it does not appear.

findViewer
int NonlinearImager::find_viewer(DisplayRegion *dr) const;

Description: Returns the index number of the indicated DisplayRegion within the list of viewers, or -1 if it is not found.

getBuffer
GraphicsOutput *NonlinearImager::get_buffer(int index) const;

Description: Returns the offscreen buffer that is automatically created for the nth projection screen. This may return NULL if the screen is inactive or if it has not been rendered yet.

getDarkRoom
NodePath NonlinearImager::get_dark_room(void) const;

Description: Returns the NodePath to the root of the dark room scene. This is the scene in which all of the ProjectionScreens and the viewer cameras reside. It's a standalone scene with a few projection screens arranged artfully around one or more viewers; it's so named because it's a little virtual theater.
Normally this scene is not rendered directly; it only exists as an abstract concept, and to define the relation between the ProjectionScreens and the viewers. But it may be rendered to help visualize the NonlinearImager's behavior.

getGraphicsEngine
GraphicsEngine *NonlinearImager::get_graphics_engine(void) const;

Description: Returns the GraphicsEngine that all of the viewers added to the NonlinearImager have in common.

getNumScreens
int NonlinearImager::get_num_screens(void) const;

Description: Returns the number of screens that have been added to the imager.

getNumViewers
int NonlinearImager::get_num_viewers(void) const;

Description: Returns the number of viewers that have been added to the imager.

getScreen
NodePath NonlinearImager::get_screen(int index) const;

Description: Returns the nth screen that has been added to the imager.

getScreenActive
bool NonlinearImager::get_screen_active(int index) const;

Description: Returns the active flag on the indicated screen.

getViewer
DisplayRegion *NonlinearImager::get_viewer(int index) const;

Description: Returns the nth viewer's DisplayRegion that has been added to the imager.

getViewerCamera
NodePath NonlinearImager::get_viewer_camera(int index) const;

Description: Returns the NodePath to the LensNode that is to serve as nth viewer for this screen.

getViewerScene
NodePath NonlinearImager::get_viewer_scene(int index) const;

Description: Returns a pointer to the root node of the internal scene graph for the nth viewer, which is used to render all of the screen meshes for this viewer.
This is the scene graph in which the screen meshes within the dark room have been flattened into the appropriate transformation according to the viewer's lens properties (and position relative to the screens). It is this scene graph that is finally rendered to the window.

recompute
void NonlinearImager::recompute(void);

Description: Forces a regeneration of all the mesh objects, etc.

removeAllScreens
void NonlinearImager::remove_all_screens(void);

Description: Removes all screens from the imager.

removeAllViewers
void NonlinearImager::remove_all_viewers(void);

Description: Removes all viewers from the imager.

removeScreen
void NonlinearImager::remove_screen(int index);

Description: Removes the screen with the indicated index number from the imager.

removeViewer
void NonlinearImager::remove_viewer(int index);

Description: Removes the viewer with the indicated index number from the imager.

setScreenActive
void NonlinearImager::set_screen_active(int index, bool active);

Description: Sets the active flag on the indicated screen. If the active flag is true, the screen will be used; otherwise, it will not appear.

setSourceCamera
void NonlinearImager::set_source_camera(int index, NodePath const &source_camera);

Description: Specifies the camera that will be used to render the image for this particular screen.
The parameter must be a NodePath whose node is a Camera. The camera itself indicates the scene that is to be rendered.

setTextureSize
void NonlinearImager::set_texture_size(int index, int width, int height);

Description: Sets the width and height of the texture used to render the scene for the indicated screen. This must be less than or equal to the window size, and it should be a power of two.
In general, the larger the texture, the greater the detail of the rendered scene.

setViewerCamera
void NonlinearImager::set_viewer_camera(int index, NodePath const &viewer_camera);

Description: Specifies the LensNode that is to serve as the viewer for this screen. The relative position of the LensNode to the NonlinearImager, as well as the properties of the lens associated with the LensNode, determines the UV's that will be assigned to the geometry within the NonlinearImager.
It is not necessary to call this except to change the camera after a viewer has been added, since the default is to use whatever camera is associated with the DisplayRegion at the time the viewer is added.
The NodePath must refer to a LensNode (or a Camera).


NonPhysicsWalker

    from direct.controls.NonPhysicsWalker import NonPhysicsWalker

Inheritance:

    NonPhysicsWalker:

Methods of NonPhysicsWalker:

    __init__
    _calcSpeeds
    addBlastForce
    deleteCollisions
    disableAvatarControls
    displayDebugInfo
    doDeltaPos
    enableAvatarControls
    flushEventHandlers
    getSpeeds
    getVelocity
    handleAvatarControls
    initializeCollisions
    oneTimeCollide
    placeOnFloor
    reset
    setAirborneHeightFunc
    setAvatar
    setCollisionsActive
    setFloorBitMask
    setTag
    setWalkSpeed
    setWallBitMask
    swapFloorBitMask
__init__
def __init__(self)

Undocumented function.

_calcSpeeds
def _calcSpeeds(self)

Undocumented function.

addBlastForce
def addBlastForce(self, vector)

Undocumented function.

deleteCollisions
def deleteCollisions(self)

Undocumented function.

disableAvatarControls
def disableAvatarControls(self)

Ignore the arrow keys, etc.

displayDebugInfo
def displayDebugInfo(self)

For debug use.

doDeltaPos
def doDeltaPos(self)

Undocumented function.

enableAvatarControls
def enableAvatarControls(self)

Activate the arrow keys, etc.

flushEventHandlers
def flushEventHandlers(self)

Undocumented function.

getSpeeds
def getSpeeds(self)

Undocumented function.

getVelocity
def getVelocity(self)

Undocumented function.

handleAvatarControls
def handleAvatarControls(self, task)

Check on the arrow keys and update the avatar.

initializeCollisions
def initializeCollisions(self, collisionTraverser, avatarNodePath, avatarRadius=1.4, floorOffset=1.0, reach=1.0)

Set up the avatar for collisions

oneTimeCollide
def oneTimeCollide(self)

Makes one quick collision pass for the avatar, for instance as a one-time straighten-things-up operation after collisions have been disabled.

placeOnFloor
def placeOnFloor(self)

Make a reasonable effor to place the avatar on the ground. For example, this is useful when switching away from the current walker.

reset
def reset(self)

Undocumented function.

setAirborneHeightFunc
def setAirborneHeightFunc(self, getAirborneHeight)

Undocumented function.

setAvatar
def setAvatar(self, avatar)

Undocumented function.

setCollisionsActive
def setCollisionsActive(self, active=1)

Undocumented function.

setFloorBitMask
def setFloorBitMask(self, bitMask)

Undocumented function.

setTag
def setTag(self, key, value)

Undocumented function.

setWalkSpeed
def setWalkSpeed(self, forward, jump, reverse, rotate)

Undocumented function.

setWallBitMask
def setWallBitMask(self, bitMask)

Undocumented function.

swapFloorBitMask
def swapFloorBitMask(self, oldMask, newMask)

Undocumented function.


Notifier

    from direct.directnotify.Notifier import Notifier

Inheritance:

    Notifier:

Methods of Notifier:

    __init__
    __log
    __print
    __str__
    debug
    debugCall
    debugStateCall
    error
    getDebug
    getInfo
    getLogging
    getOnlyTime
    getSeverity
    getTime
    getWarning
    info
    setDebug
    setInfo
    setLogging
    setServerDelta
    setSeverity
    setWarning
    warning
__init__
def __init__(self, name, logger=None)

name is a string logger is a Logger
Create a new instance of the Notifier class with a given name and an optional Logger class for piping output to. If no logger specified, use the global default

__log
def __log(self, logEntry)

Determine whether to send informational message to the logger

__print
def __print(self, string)

Prints the string to output followed by a newline.

__str__
def __str__(self)

Print handling routine

debug
def debug(self, debugString)

Issue the debug message if debug flag is on

debugCall
def debugCall(self, debugString='')

If this notify is in debug mode, print the time of the call followed by the notifier category and the function call (with parameters).

debugStateCall
def debugStateCall(self, obj=None, fsmMemberName='fsm', secondaryFsm='secondaryFSM')

If this notify is in debug mode, print the time of the call followed by the [fsm state] notifier category and the function call (with parameters).

error
def error(self, errorString, exception=StandardError)

Raise an exception with given string and optional type:
Exception: error

getDebug
def getDebug(self)

Return whether the printing of debug messages is on or off

getInfo
def getInfo(self)

Return whether the printing of info messages is on or off

getLogging
def getLogging(self)

Return 1 if logging enabled, 0 otherwise

getOnlyTime
def getOnlyTime(self)

Return the time as a string. The Only in the name is referring to not showing the date.

getSeverity
def getSeverity(self)

Undocumented function.

getTime
def getTime(self)

Return the time as a string suitable for printing at the head of any notify message

getWarning
def getWarning(self)

Return whether the printing of warning messages is on or off

info
def info(self, infoString)

Print the given informational string, if info flag is on

setDebug
def setDebug(self, bool)

Enable/Disable the printing of debug messages

setInfo
def setInfo(self, bool)

Enable/Disable informational message printing

setLogging
def setLogging(self, bool)

Set the logging flag to int (1=on, 0=off)

setServerDelta
def setServerDelta(self, delta, timezone)

Call this method on any Notify object to globally change the timestamp printed for each line of all Notify objects.
This synchronizes the timestamp with the server's known time of day, and also switches into the server's timezone.

setSeverity
def setSeverity(self, severity)

Undocumented function.

setWarning
def setWarning(self, bool)

Enable/Disable the printing of warning messages

warning
def warning(self, warningString)

Issue the warning message if warn flag is on


Notify

    from pandac.PandaModules import Notify
    Class : Notify
    Description : An object that handles general error reporting to the user. It contains a pointer to an ostream, initially cerr, which can be reset at will to point to different output devices, according to the needs of the application. All output generated within Panda should vector through the Notify ostream.
    This also includes a collection of Categories and Severities, which may be independently enabled or disabled, so that error messages may be squelched or respected according to the wishes of the user.

Inheritance:

    Notify:

Methods of Notify:

    Notify (Constructor)
    clearAssertFailed
    clearAssertHandler
    getAssertErrorMessage
    getAssertHandler
    getCategory
    getOstreamPtr
    getTopCategory
    hasAssertFailed
    hasAssertHandler
    null
    out
    ptr
    setAssertHandler
    setOstreamPtr
    writeString
Notify
Notify::Notify(void);

Undocumented function.

clearAssertFailed
void Notify::clear_assert_failed(void);

Undocumented function.

clearAssertHandler
void Notify::clear_assert_handler(void);

Undocumented function.

getAssertErrorMessage
string const &Notify::get_assert_error_message(void) const;

Undocumented function.

getAssertHandler
bool (*Notify::get_assert_handler(void))(char const *expression, int line, char const *source_file) const;

Undocumented function.

getCategory
NotifyCategory *Notify::get_category(string const &basename, NotifyCategory *parent_category);

Undocumented function.

getOstreamPtr
ostream *Notify::get_ostream_ptr(void) const;

Undocumented function.

getTopCategory
NotifyCategory *Notify::get_top_category(void);

Undocumented function.

hasAssertFailed
bool Notify::has_assert_failed(void) const;

Undocumented function.

hasAssertHandler
bool Notify::has_assert_handler(void) const;

Undocumented function.

null
static ostream &Notify::null(void);

Undocumented function.

out
static ostream &Notify::out(void);

Undocumented function.

ptr
static Notify *Notify::ptr(void);

Undocumented function.

setAssertHandler
void Notify::set_assert_handler(bool (*assert_handler)(char const *expression, int line, char const *source_file));

Undocumented function.

setOstreamPtr
void Notify::set_ostream_ptr(ostream *ostream_ptr, bool delete_later);

Undocumented function.

writeString
static void Notify::write_string(string const &str);

Undocumented function.


NotifyCategory

    from pandac.PandaModules import NotifyCategory
    Class : NotifyCategory
    Description : A particular category of error messages. Typically there will be one of these per package, so that we can turn on or off error messages at least at a package level; further nested categories can be created within a package if a finer grain of control is required.

Inheritance:

    NotifyCategory: MemoryBase ConfigFlags
    MemoryBase:
    ConfigFlags:

Methods of NotifyCategory:

    debug
    error
    fatal
    getBasename
    getChild
    getFullname
    getNumChildren
    getSeverity
    info
    isDebug
    isError
    isFatal
    isInfo
    isOn
    isSpam
    isWarning
    out
    setServerDelta
    setSeverity
    spam
    warning

Constants in ConfigFlags:

    VTUndefined | (ValueType)
VTList | (ValueType)
VTString | (ValueType)
VTFilename | (ValueType)
VTBool | (ValueType)
VTInt | (ValueType)
VTDouble | (ValueType)
VTEnum | (ValueType)
VTSearchPath | (ValueType)
VTInt64 | (ValueType)
FTrustLevelMask | (VariableFlags)
FOpen | (VariableFlags)
FClosed | (VariableFlags)
FDynamic | (VariableFlags)
FDconfig | (VariableFlags)
debug
ostream &NotifyCategory::debug(bool prefix = (1)) const;

Description: A shorthand way to write out(NS_debug).

error
ostream &NotifyCategory::error(bool prefix = (1)) const;

Description: A shorthand way to write out(NS_error).

fatal
ostream &NotifyCategory::fatal(bool prefix = (1)) const;

Description: A shorthand way to write out(NS_fatal).

getBasename
string NotifyCategory::get_basename(void) const;

Description:

getChild
NotifyCategory *NotifyCategory::get_child(int i) const;

Undocumented function.

getFullname
string NotifyCategory::get_fullname(void) const;

Description:

getNumChildren
int NotifyCategory::get_num_children(void) const;

Undocumented function.

getSeverity
NotifySeverity NotifyCategory::get_severity(void) const;

Description:

info
ostream &NotifyCategory::info(bool prefix = (1)) const;

Description: A shorthand way to write out(NS_info).

isDebug
bool NotifyCategory::is_debug(void) const;

Description: A shorthand way to write is_on(NS_debug).

isError
bool NotifyCategory::is_error(void) const;

Description: A shorthand way to write is_on(NS_error).

isFatal
bool NotifyCategory::is_fatal(void) const;

Description: A shorthand way to write is_on(NS_fatal).

isInfo
bool NotifyCategory::is_info(void) const;

Description: A shorthand way to write is_on(NS_info).

isOn
bool NotifyCategory::is_on(NotifySeverity severity) const;

Description: Returns true if messages of the indicated severity level ought to be reported for this Category.

isSpam
bool NotifyCategory::is_spam(void) const;

When NOTIFY_DEBUG is not defined, the categories will never be set to "spam" or "debug" severities, and these methods are redefined to be static to make it more obvious to the compiler. However, we still want to present a consistent interface to our scripting language, so during the interrogate pass (that is, when CPPPARSER is defined), we still pretend they're nonstatic.
Description: A shorthand way to write is_on(NS_spam).

isWarning
bool NotifyCategory::is_warning(void) const;

Description: A shorthand way to write is_on(NS_warning).

out
ostream &NotifyCategory::out(NotifySeverity severity, bool prefix = (1)) const;

Undocumented function.

setServerDelta
static void NotifyCategory::set_server_delta(long int delta);

Undocumented function.

setSeverity
void NotifyCategory::set_severity(NotifySeverity severity);

Description: Sets the severity level of messages that will be reported from this Category. This allows any message of this severity level or higher.

spam
ostream &NotifyCategory::spam(bool prefix = (1)) const;

Description: A shorthand way to write out(NS_spam).

warning
ostream &NotifyCategory::warning(bool prefix = (1)) const;

Description: A shorthand way to write out(NS_warning).


NotifyPanel

    from direct.tkpanels.NotifyPanel import NotifyPanel
    NotifyPanel class: this class contains methods for creating a panel to control direct/panda notify categories.

Inheritance:

    NotifyPanel:

Methods of NotifyPanel:

    __init__
    _getPandaCategories
    _getPandaCategoriesAsList
    getPandaCategories
    getPandaCategoriesAsList
    setActivePandaCategory
    setActiveSeverity
__init__
def __init__(self, directNotify, tl=None)

NotifyPanel class pops up a control panel to view/set notify levels for all available DIRECT and PANDA notify categories

_getPandaCategories
def _getPandaCategories(self, category)

Undocumented function.

_getPandaCategoriesAsList
def _getPandaCategoriesAsList(self, pc, list)

Undocumented function.

getPandaCategories
def getPandaCategories(self)

Undocumented function.

getPandaCategoriesAsList
def getPandaCategoriesAsList(self)

Undocumented function.

setActivePandaCategory
def setActivePandaCategory(self, event=None)

Undocumented function.

setActiveSeverity
def setActiveSeverity(self)

Undocumented function.


NotifySeverity

    from pandac.PandaModules import NotifySeverity

Inheritance:

    NotifySeverity:


NurbsCurve

    from pandac.PandaModules import NurbsCurve
    Class : NurbsCurve
    Description : A Nonuniform Rational B-Spline.
    This class is actually implemented as a PiecewiseCurve made up of several CubicCurvesegs, each of which is created using the nurbs_basis() method. The list of CV's and knots is kept here, within the NurbsCurve class.
    This class is the original Panda-native implementation of a NURBS curve. It is typedeffed as "NurbsCurve" and performs all NURBS curve functions if we do not have the NURBS++ library available.
    However, if we *do* have the NURBS++ library, another class exists, the NurbsPPCurve, which is a wrapper around that library and provides some additional functionality. In that case, the other class is typedeffed to "NurbsCurve" instead of this one, and performs most of the NURBS curve functions. This class then becomes vestigial.

Inheritance:

    NurbsCurve: PiecewiseCurve NurbsCurveInterface
    PiecewiseCurve: ParametricCurve
    ParametricCurve: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase
    NurbsCurveInterface:

Methods of NurbsCurve:

    NurbsCurve (Constructor)
    getClassType

Methods of PiecewiseCurve:

    PiecewiseCurve (Constructor)
    getClassType

Methods of ParametricCurve:

    adjustPoint
    adjustPt
    adjustTangent
    calcLength
    findLength
    get2ndtangent
    getClassType
    getCurveType
    getMaxT
    getNumDimensions
    getPoint
    getPt
    getTangent
    isValid
    recompute
    setCurveType
    setNumDimensions
    stitch
    writeEgg

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of NurbsCurveInterface:

    appendCv
    getClassType
    getCv
    getCvPoint
    getCvWeight
    getKnot
    getNumCvs
    getNumKnots
    getOrder
    insertCv
    removeAllCvs
    removeCv
    setCv
    setCvPoint
    setCvWeight
    setKnot
    setOrder
    writeCv

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
NurbsCurve
NurbsCurve::NurbsCurve(void);

Description:
Description: Constructs a NURBS curve equivalent to the indicated (possibly non-NURBS) curve.
Description: Constructs a NURBS curve according to the indicated NURBS parameters.

getClassType
static TypeHandle NurbsCurve::get_class_type(void);

Undocumented function.

PiecewiseCurve
PiecewiseCurve::PiecewiseCurve(void);

Description:

getClassType
static TypeHandle PiecewiseCurve::get_class_type(void);

Undocumented function.

adjustPoint
virtual bool ParametricCurve::adjust_point(float t, float px, float py, float pz);

Description: Recomputes the curve such that it passes through the point (px, py, pz) at time t, but keeps the same tangent value at that point.

adjustPt
virtual bool ParametricCurve::adjust_pt(float t, float px, float py, float pz, float tx, float ty, float tz);

Description: Recomputes the curve such that it passes through the point (px, py, pz) with the tangent (tx, ty, tz).

adjustTangent
virtual bool ParametricCurve::adjust_tangent(float t, float tx, float ty, float tz);

Description: Recomputes the curve such that it has the tangent (tx, ty, tz) at time t, but keeps the same position at the point.

calcLength
float ParametricCurve::calc_length(void) const;

Description: Approximates the length of the entire curve to within a few decimal places.
Description: Approximates the length of the curve segment from parametric time 'from' to time 'to'.

findLength
float ParametricCurve::find_length(float start_t, float length_offset) const;

Description: Returns the parametric value corresponding to the indicated distance along the curve from the starting parametric value.
This is the inverse of calc_length(): rather than determining the length along the curve between two parametric points, it determines the position in parametric time of a point n units along the curve.
The search distance must not be negative.

get2ndtangent
virtual bool ParametricCurve::get_2ndtangent(float t, LVecBase3f &tangent2) const = 0;

Undocumented function.

getClassType
static TypeHandle ParametricCurve::get_class_type(void);

Undocumented function.

getCurveType
int ParametricCurve::get_curve_type(void) const;

Description: Returns the flag indicating the use to which the curve is intended to be put.

getMaxT
virtual float ParametricCurve::get_max_t(void) const;

Description: Returns the upper bound of t for the entire curve. The curve is defined in the range 0.0f <= t <= get_max_t(). This base class function always returns 1.0f; derived classes might override this to return something else.

getNumDimensions
int ParametricCurve::get_num_dimensions(void) const;

Description: Returns the number of significant dimensions in the curve's vertices, as set by a previous call to set_num_dimensions(). This is only a hint as to how the curve is intended to be used; the actual number of dimensions of any curve is always three.

getPoint
virtual bool ParametricCurve::get_point(float t, LVecBase3f &point) const = 0;

Undocumented function.

getPt
virtual bool ParametricCurve::get_pt(float t, LVecBase3f &point, LVecBase3f &tangent) const = 0;

Undocumented function.

getTangent
virtual bool ParametricCurve::get_tangent(float t, LVecBase3f &tangent) const = 0;

Undocumented function.

isValid
virtual bool ParametricCurve::is_valid(void) const;

Description: Returns true if the curve is defined. This base class function always returns true; derived classes might override this to sometimes return false.

recompute
virtual bool ParametricCurve::recompute(void);

Description: Recalculates the curve, if necessary. Returns true if the resulting curve is valid, false otherwise.

setCurveType
void ParametricCurve::set_curve_type(int type);

Description: Sets the flag indicating the use to which the curve is intended to be put. This flag is optional and only serves to provide a hint to the egg reader and writer code; it has no effect on the curve's behavior.
Setting the curve type also sets the num_dimensions to 3 or 1 according to the type.
THis flag may have one of the values PCT_XYZ, PCT_HPR, or PCT_T.

setNumDimensions
void ParametricCurve::set_num_dimensions(int num);

Description: Specifies the number of significant dimensions in the curve's vertices. This should be one of 1, 2, or 3. Normally, XYZ and HPR curves have three dimensions; time curves should always have one dimension. This only serves as a hint to the mopath editor, and also controls how the curve is written out.

stitch
virtual bool ParametricCurve::stitch(ParametricCurve const *a, ParametricCurve const *b);

Description: Regenerates this curve as one long curve: the first curve connected end-to-end with the second one. Either a or b may be the same as 'this'.
Returns true if successful, false on failure or if the curve type does not support stitching.

writeEgg
bool ParametricCurve::write_egg(Filename filename, CoordinateSystem cs = (CS_default));

Description: Writes an egg description of the nurbs curve to the specified output file. Returns true if the file is successfully written.
Description: Writes an egg description of the nurbs curve to the specified output stream. Returns true if the file is successfully written.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

appendCv
int NurbsCurveInterface::append_cv(float x, float y, float z);

Description:

getClassType
static TypeHandle NurbsCurveInterface::get_class_type(void);

Undocumented function.

getCv
virtual LVecBase4f NurbsCurveInterface::get_cv(int n) const = 0;

Undocumented function.

getCvPoint
LVecBase3f NurbsCurveInterface::get_cv_point(int n) const;

Description: Returns the position of the indicated CV.

getCvWeight
float NurbsCurveInterface::get_cv_weight(int n) const;

Description: Returns the weight of the indicated CV.

getKnot
virtual float NurbsCurveInterface::get_knot(int n) const = 0;

Undocumented function.

getNumCvs
virtual int NurbsCurveInterface::get_num_cvs(void) const = 0;

Undocumented function.

getNumKnots
virtual int NurbsCurveInterface::get_num_knots(void) const = 0;

Undocumented function.

getOrder
virtual int NurbsCurveInterface::get_order(void) const = 0;

Undocumented function.

insertCv
virtual bool NurbsCurveInterface::insert_cv(float t) = 0;

Undocumented function.

removeAllCvs
virtual void NurbsCurveInterface::remove_all_cvs(void) = 0;

Undocumented function.

removeCv
virtual bool NurbsCurveInterface::remove_cv(int n) = 0;

Undocumented function.

setCv
virtual bool NurbsCurveInterface::set_cv(int n, LVecBase4f const &v) = 0;

Undocumented function.

setCvPoint
bool NurbsCurveInterface::set_cv_point(int n, float x, float y, float z);

Description: Repositions the indicated CV. Returns true if successful, false otherwise.

setCvWeight
bool NurbsCurveInterface::set_cv_weight(int n, float w);

Description: Sets the weight of the indicated CV without affecting its position in 3-d space.

setKnot
virtual bool NurbsCurveInterface::set_knot(int n, float t) = 0;

Undocumented function.

setOrder
virtual void NurbsCurveInterface::set_order(int order) = 0;

Undocumented function.

writeCv
void NurbsCurveInterface::write_cv(ostream &out, int n) const;

Description:


NurbsCurveEvaluator

    from pandac.PandaModules import NurbsCurveEvaluator
    Class : NurbsCurveEvaluator
    Description : This class is an abstraction for evaluating NURBS curves. It accepts an array of vertices, each of which may be in a different coordinate space (as defined by a NodePath), as well as an optional knot vector.
    This is not related to NurbsCurve, CubicCurveseg or any of the ParametricCurve-derived objects in this module. It is a completely parallel implementation of NURBS curves, and will probably eventually replace the whole ParametricCurve class hierarchy.

Inheritance:

    NurbsCurveEvaluator: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of NurbsCurveEvaluator:

    NurbsCurveEvaluator (Constructor)
    evaluate
    getExtendedVertex
    getKnot
    getNumKnots
    getNumSegments
    getNumVertices
    getOrder
    getVertex
    getVertexSpace
    normalizeKnots
    output
    reset
    setExtendedVertex
    setExtendedVertices
    setKnot
    setOrder
    setVertex
    setVertexSpace

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
NurbsCurveEvaluator
NurbsCurveEvaluator::NurbsCurveEvaluator(void);

Description:

evaluate
PointerTo< NurbsCurveResult > NurbsCurveEvaluator::evaluate(NodePath const &rel_to = ((()))) const;

Description: Returns a NurbsCurveResult object that represents the result of applying the knots to all of the current values of the vertices, transformed into the indicated coordinate space.
Description: Returns a NurbsCurveResult object that represents the result of applying the knots to all of the current values of the vertices, transformed into the indicated coordinate space, and then further transformed by the indicated matrix.

getExtendedVertex
float NurbsCurveEvaluator::get_extended_vertex(int i, int d) const;

Description: Returns an n-dimensional vertex value. See set_extended_vertex(). This returns the value set for the indicated dimension, or 0.0 if nothing has been set.

getKnot
float NurbsCurveEvaluator::get_knot(int i) const;

Description: Returns the value of the nth knot.

getNumKnots
int NurbsCurveEvaluator::get_num_knots(void) const;

Description: Returns the number of knot values in the curve. This is based on the number of vertices and the order.

getNumSegments
int NurbsCurveEvaluator::get_num_segments(void) const;

Description: Returns the number of piecewise continuous segments in the curve. This is based on the knot vector.

getNumVertices
int NurbsCurveEvaluator::get_num_vertices(void) const;

Description: Returns the number of control vertices in the curve. This is the number passed to the last call to reset().

getOrder
int NurbsCurveEvaluator::get_order(void) const;

Description: Returns the order of the curve as set by a previous call to set_order().

getVertex
LVecBase4f const &NurbsCurveEvaluator::get_vertex(int i) const;

Description: Returns the nth control vertex of the curve, relative to its indicated coordinate space.
Description: Returns the nth control vertex of the curve, relative to the given coordinate space.

getVertexSpace
NodePath NurbsCurveEvaluator::get_vertex_space(int i, NodePath const &rel_to) const;

Description: Returns the coordinate space of the nth control vertex of the curve, expressed as a NodePath.

normalizeKnots
void NurbsCurveEvaluator::normalize_knots(void);

Description: Normalizes the knot sequence so that the parametric range of the curve is 0 .. 1.

output
void NurbsCurveEvaluator::output(ostream &out) const;

Description:

reset
void NurbsCurveEvaluator::reset(int num_vertices);

Description: Resets all the vertices and knots to their default values, and sets the curve up with the indicated number of vertices. You must then call set_vertex() repeatedly to fill in all of the vertex values appropriately.

setExtendedVertex
void NurbsCurveEvaluator::set_extended_vertex(int i, int d, float value);

Description: Sets an n-dimensional vertex value. This allows definition of a NURBS surface or curve in a sparse n-dimensional space, typically used for associating additional properties (like color or joint membership) with each vertex of a surface.
The value d is an arbitrary integer value and specifies the dimension of question for this particular vertex. Any number of dimensions may be specified, and they need not be consecutive. If a value for a given dimension is not specified, is it implicitly 0.0.
The value is implicitly scaled by the homogenous weight value--that is, the fourth component of the value passed to set_vertex(). This means the ordinary vertex must be set first, before the extended vertices can be set.

setExtendedVertices
void NurbsCurveEvaluator::set_extended_vertices(int i, int d, void *values[](unsigned int size), int num_values);

Description: Simultaneously sets several extended values in the slots d through (d + num_values - 1) from the num_values elements of the indicated array. This is equivalent to calling set_extended_vertex() num_values times. See set_extended_vertex().

setKnot
void NurbsCurveEvaluator::set_knot(int i, float knot);

Description: Sets the value of the nth knot. Each knot value should be greater than or equal to the preceding value. If no knot values are set, a default knot vector is supplied.

setOrder
void NurbsCurveEvaluator::set_order(int order);

Description: Sets the order of the curve. This resets the knot vector to the default knot vector for the number of vertices.
The order must be 1, 2, 3, or 4, and the value is one more than the degree of the curve.

setVertex
void NurbsCurveEvaluator::set_vertex(int i, LVecBase4f const &vertex);

Description: Sets the nth control vertex of the curve, as a vertex in 4-d homogeneous space. In this form, the first three components of the vertex should already have been scaled by the fourth component, which is the homogeneous weight.
Description: Sets the nth control vertex of the curve. This flavor sets the vertex as a 3-d coordinate and a weight; the 3-d coordinate values are implicitly scaled up by the weight factor.

setVertexSpace
void NurbsCurveEvaluator::set_vertex_space(int i, NodePath const &space);

Description: Sets the coordinate space of the nth control vertex. If this is not specified, or is set to an empty NodePath, the nth control vertex is deemed to be in the coordinate space passed to evaluate().
This specifies the space as a fixed NodePath, which is always the same NodePath. Also see setting the space as a path string, which can specify a different NodePath for different instances of the curve.
Description: Sets the coordinate space of the nth control vertex. If this is not specified, or is set to an empty string, the nth control vertex is deemed to be in the coordinate space passed to evaluate().
This specifies the space as a string, which describes the path to find the node relative to the rel_to NodePath when the curve is evaluated.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


NurbsCurveInterface

    from pandac.PandaModules import NurbsCurveInterface
    Class : NurbsCurveInterface
    Description : This abstract class defines the interface only for a Nurbs-style curve, with knots and coordinates in homogeneous space.
    The NurbsCurve class inherits both from this and from ParametricCurve.

Inheritance:

    NurbsCurveInterface:

Methods of NurbsCurveInterface:

    appendCv
    getClassType
    getCv
    getCvPoint
    getCvWeight
    getKnot
    getNumCvs
    getNumKnots
    getOrder
    insertCv
    removeAllCvs
    removeCv
    setCv
    setCvPoint
    setCvWeight
    setKnot
    setOrder
    writeCv
appendCv
int NurbsCurveInterface::append_cv(float x, float y, float z);

Description:

getClassType
static TypeHandle NurbsCurveInterface::get_class_type(void);

Undocumented function.

getCv
virtual LVecBase4f NurbsCurveInterface::get_cv(int n) const = 0;

Undocumented function.

getCvPoint
LVecBase3f NurbsCurveInterface::get_cv_point(int n) const;

Description: Returns the position of the indicated CV.

getCvWeight
float NurbsCurveInterface::get_cv_weight(int n) const;

Description: Returns the weight of the indicated CV.

getKnot
virtual float NurbsCurveInterface::get_knot(int n) const = 0;

Undocumented function.

getNumCvs
virtual int NurbsCurveInterface::get_num_cvs(void) const = 0;

Undocumented function.

getNumKnots
virtual int NurbsCurveInterface::get_num_knots(void) const = 0;

Undocumented function.

getOrder
virtual int NurbsCurveInterface::get_order(void) const = 0;

Undocumented function.

insertCv
virtual bool NurbsCurveInterface::insert_cv(float t) = 0;

Undocumented function.

removeAllCvs
virtual void NurbsCurveInterface::remove_all_cvs(void) = 0;

Undocumented function.

removeCv
virtual bool NurbsCurveInterface::remove_cv(int n) = 0;

Undocumented function.

setCv
virtual bool NurbsCurveInterface::set_cv(int n, LVecBase4f const &v) = 0;

Undocumented function.

setCvPoint
bool NurbsCurveInterface::set_cv_point(int n, float x, float y, float z);

Description: Repositions the indicated CV. Returns true if successful, false otherwise.

setCvWeight
bool NurbsCurveInterface::set_cv_weight(int n, float w);

Description: Sets the weight of the indicated CV without affecting its position in 3-d space.

setKnot
virtual bool NurbsCurveInterface::set_knot(int n, float t) = 0;

Undocumented function.

setOrder
virtual void NurbsCurveInterface::set_order(int order) = 0;

Undocumented function.

writeCv
void NurbsCurveInterface::write_cv(ostream &out, int n) const;

Description:


NurbsCurveResult

    from pandac.PandaModules import NurbsCurveResult
    Class : NurbsCurveResult
    Description : The result of a NurbsCurveEvaluator. This object represents a curve in a particular coordinate space. It can return the point and/or tangent to the curve at any point.
    This is not related to NurbsCurve, CubicCurveseg or any of the ParametricCurve-derived objects in this module. It is a completely parallel implementation of NURBS curves, and will probably eventually replace the whole ParametricCurve class hierarchy.

Inheritance:

    NurbsCurveResult: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of NurbsCurveResult:

    adaptiveSample
    evalExtendedPoint
    evalExtendedPoints
    evalPoint
    evalSegmentExtendedPoint
    evalSegmentExtendedPoints
    evalSegmentPoint
    evalSegmentTangent
    evalTangent
    getEndT
    getNumSamples
    getNumSegments
    getSamplePoint
    getSampleT
    getSegmentT
    getStartT

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
adaptiveSample
void NurbsCurveResult::adaptive_sample(float tolerance);

Description: Determines the set of subdivisions necessary to approximate the curve with a set of linear segments, no point of which is farther than tolerance units from the actual curve.
After this call, you may walk through the resulting set of samples with get_num_samples(), get_sample_t(), and get_sample_point().

evalExtendedPoint
float NurbsCurveResult::eval_extended_point(float t, int d);

Description: Evaluates the curve in n-dimensional space according to the extended vertices associated with the curve in the indicated dimension.

evalExtendedPoints
bool NurbsCurveResult::eval_extended_points(float t, int d, void *result[](unsigned int size), int num_values);

Description: Simultaneously performs eval_extended_point on a contiguous sequence of dimensions. The dimensions evaluated are d through (d + num_values - 1); the results are filled into the num_values elements in the indicated result array.

evalPoint
bool NurbsCurveResult::eval_point(float t, LVecBase3f &point);

Description: Computes the point on the curve corresponding to the indicated value in parametric time. Returns true if the t value is valid, false otherwise.

evalSegmentExtendedPoint
float NurbsCurveResult::eval_segment_extended_point(int segment, float t, int d) const;

Description: Evaluates the curve in n-dimensional space according to the extended vertices associated with the curve in the indicated dimension.

evalSegmentExtendedPoints
void NurbsCurveResult::eval_segment_extended_points(int segment, float t, int d, void *result[](unsigned int size), int num_values) const;

Description: Simultaneously performs eval_extended_point on a contiguous sequence of dimensions. The dimensions evaluated are d through (d + num_values - 1); the results are filled into the num_values elements in the indicated result array.

evalSegmentPoint
void NurbsCurveResult::eval_segment_point(int segment, float t, LVecBase3f &point) const;

Description: Evaluates the point on the curve corresponding to the indicated value in parametric time within the indicated curve segment. t should be in the range [0, 1].
The curve is internally represented as a number of connected (or possibly unconnected) piecewise continuous segments. The exact number of segments for a particular curve depends on the knot vector, and is returned by get_num_segments(). Normally, eval_point() is used to evaluate a point along the continuous curve, but when you care more about local continuity, you can use eval_segment_point() to evaluate the points along each segment.

evalSegmentTangent
void NurbsCurveResult::eval_segment_tangent(int segment, float t, LVecBase3f &tangent) const;

Description: As eval_segment_point, but computes the tangent to the curve at the indicated point. The tangent vector will not necessarily be normalized, and could be zero, particularly at the endpoints.

evalTangent
bool NurbsCurveResult::eval_tangent(float t, LVecBase3f &tangent);

Description: Computes the tangent to the curve at the indicated point in parametric time. This tangent vector will not necessarily be normalized, and could be zero. See also eval_point().

getEndT
float NurbsCurveResult::get_end_t(void) const;

Description: Returns the last legal value of t on the curve.

getNumSamples
int NurbsCurveResult::get_num_samples(void) const;

Description: Returns the number of sample points generated by the previous call to adaptive_sample().

getNumSegments
int NurbsCurveResult::get_num_segments(void) const;

Description: Returns the number of piecewise continuous segments within the curve. This number is usually not important unless you plan to call eval_segment_point().

getSamplePoint
LPoint3f const &NurbsCurveResult::get_sample_point(int n) const;

Description: Returns the point on the curve of the nth sample point generated by the previous call to adaptive_sample().
For tangents, or extended points, you should use get_sample_t() and pass it into eval_tangent() or eval_extended_point().

getSampleT
float NurbsCurveResult::get_sample_t(int n) const;

Description: Returns the t value of the nth sample point generated by the previous call to adaptive_sample().

getSegmentT
float NurbsCurveResult::get_segment_t(int segment, float t) const;

Description: Accepts a t value in the range [0, 1], and assumed to be relative to the indicated segment (as in eval_segment_point()), and returns the corresponding t value in the entire curve (as in eval_point()).

getStartT
float NurbsCurveResult::get_start_t(void) const;

Description: Returns the first legal value of t on the curve. Usually this is 0.0.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


NurbsSurfaceEvaluator

    from pandac.PandaModules import NurbsSurfaceEvaluator
    Class : NurbsSurfaceEvaluator
    Description : This class is an abstraction for evaluating NURBS surfaces. It accepts an array of vertices, each of which may be in a different coordinate space (as defined by a NodePath), as well as an optional knot vector.

Inheritance:

    NurbsSurfaceEvaluator: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of NurbsSurfaceEvaluator:

    NurbsSurfaceEvaluator (Constructor)
    evaluate
    getExtendedVertex
    getNumUKnots
    getNumUSegments
    getNumUVertices
    getNumVKnots
    getNumVSegments
    getNumVVertices
    getUKnot
    getUOrder
    getVertex
    getVertexSpace
    getVKnot
    getVOrder
    normalizeUKnots
    normalizeVKnots
    output
    reset
    setExtendedVertex
    setExtendedVertices
    setUKnot
    setUOrder
    setVertex
    setVertexSpace
    setVKnot
    setVOrder

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
NurbsSurfaceEvaluator
NurbsSurfaceEvaluator::NurbsSurfaceEvaluator(void);

Description:

evaluate
PointerTo< NurbsSurfaceResult > NurbsSurfaceEvaluator::evaluate(NodePath const &rel_to = ((()))) const;

Description: Returns a NurbsSurfaceResult object that represents the result of applying the knots to all of the current values of the vertices, transformed into the indicated coordinate space.

getExtendedVertex
float NurbsSurfaceEvaluator::get_extended_vertex(int ui, int vi, int d) const;

Description: Returns an n-dimensional vertex value. See set_extended_vertex(). This returns the value set for the indicated dimension, or 0.0 if nothing has been set.

getNumUKnots
int NurbsSurfaceEvaluator::get_num_u_knots(void) const;

Description: Returns the number of knot values in the surface in the U direction. This is based on the number of vertices and the order.

getNumUSegments
int NurbsSurfaceEvaluator::get_num_u_segments(void) const;

Description: Returns the number of piecewise continuous segments in the surface in the U direction. This is based on the knot vector.

getNumUVertices
int NurbsSurfaceEvaluator::get_num_u_vertices(void) const;

Description: Returns the number of control vertices in the U direction on the surface. This is the number passed to the last call to reset().

getNumVKnots
int NurbsSurfaceEvaluator::get_num_v_knots(void) const;

Description: Returns the number of knot values in the surface in the V direction. This is based on the number of vertices and the order.

getNumVSegments
int NurbsSurfaceEvaluator::get_num_v_segments(void) const;

Description: Returns the number of piecewise continuous segments in the surface in the V direction. This is based on the knot vector.

getNumVVertices
int NurbsSurfaceEvaluator::get_num_v_vertices(void) const;

Description: Returns the number of control vertices in the V direction on the surface. This is the number passed to the last call to reset().

getUKnot
float NurbsSurfaceEvaluator::get_u_knot(int i) const;

Description: Returns the value of the nth knot.

getUOrder
int NurbsSurfaceEvaluator::get_u_order(void) const;

Description: Returns the order of the surface in the U direction as set by a previous call to set_u_order().

getVertex
LVecBase4f const &NurbsSurfaceEvaluator::get_vertex(int ui, int vi) const;

Description: Returns the nth control vertex of the surface, relative to its indicated coordinate space.
Description: Returns the nth control vertex of the surface, relative to the given coordinate space.

getVertexSpace
NodePath NurbsSurfaceEvaluator::get_vertex_space(int ui, int vi, NodePath const &rel_to) const;

Description: Returns the coordinate space of the nth control vertex of the surface, expressed as a NodePath.

getVKnot
float NurbsSurfaceEvaluator::get_v_knot(int i) const;

Description: Returns the value of the nth knot.

getVOrder
int NurbsSurfaceEvaluator::get_v_order(void) const;

Description: Returns the order of the surface in the V direction as set by a previous call to set_v_order().

normalizeUKnots
void NurbsSurfaceEvaluator::normalize_u_knots(void);

Description: Normalizes the knot sequence so that the parametric range of the surface in the U direction is 0 .. 1.

normalizeVKnots
void NurbsSurfaceEvaluator::normalize_v_knots(void);

Description: Normalizes the knot sequence so that the parametric range of the surface in the U direction is 0 .. 1.

output
void NurbsSurfaceEvaluator::output(ostream &out) const;

Description:

reset
void NurbsSurfaceEvaluator::reset(int num_u_vertices, int num_v_vertices);

Description: Resets all the vertices and knots to their default values, and sets the surface up with the indicated number of vertices. You must then call set_vertex() repeatedly to fill in all of the vertex values appropriately.

setExtendedVertex
void NurbsSurfaceEvaluator::set_extended_vertex(int ui, int vi, int d, float value);

Description: Sets an n-dimensional vertex value. This allows definition of a NURBS surface or surface in a sparse n-dimensional space, typically used for associating additional properties (like color or joint membership) with each vertex of a surface.
The value d is an arbitrary integer value and specifies the dimension of question for this particular vertex. Any number of dimensions may be specified, and they need not be consecutive. If a value for a given dimension is not specified, is it implicitly 0.0.
The value is implicitly scaled by the homogenous weight value--that is, the fourth component of the value passed to set_vertex(). This means the ordinary vertex must be set first, before the extended vertices can be set.

setExtendedVertices
void NurbsSurfaceEvaluator::set_extended_vertices(int ui, int vi, int d, void *values[](unsigned int size), int num_values);

Description: Simultaneously sets several extended values in the slots d through (d + num_values - 1) from the num_values elements of the indicated array. This is equivalent to calling set_extended_vertex() num_values times. See set_extended_vertex().

setUKnot
void NurbsSurfaceEvaluator::set_u_knot(int i, float knot);

Description: Sets the value of the nth knot. Each knot value should be greater than or equal to the preceding value. If no knot values are set, a default knot vector is supplied.

setUOrder
void NurbsSurfaceEvaluator::set_u_order(int u_order);

Description: Sets the order of the surface in the U direction. This resets the knot vector to the default knot vector for the number of vertices.
The order must be 1, 2, 3, or 4, and the value is one more than the degree of the surface.

setVertex
void NurbsSurfaceEvaluator::set_vertex(int ui, int vi, LVecBase4f const &vertex);

Description: Sets the nth control vertex of the surface, as a vertex in 4-d homogeneous space. In this form, the first three components of the vertex should already have been scaled by the fourth component, which is the homogeneous weight.
Description: Sets the nth control vertex of the surface. This flavor sets the vertex as a 3-d coordinate and a weight; the 3-d coordinate values are implicitly scaled up by the weight factor.

setVertexSpace
void NurbsSurfaceEvaluator::set_vertex_space(int ui, int vi, NodePath const &space);

Description: Sets the coordinate space of the nth control vertex. If this is not specified, or is set to an empty NodePath, the nth control vertex is deemed to be in the coordinate space passed to evaluate().
This specifies the space as a fixed NodePath, which is always the same NodePath. Also see setting the space as a path string, which can specify a different NodePath for different instances of the surface.
Description: Sets the coordinate space of the nth control vertex. If this is not specified, or is set to an empty string, the nth control vertex is deemed to be in the coordinate space passed to evaluate().
This specifies the space as a string, which describes the path to find the node relative to the rel_to NodePath when the surface is evaluated.

setVKnot
void NurbsSurfaceEvaluator::set_v_knot(int i, float knot);

Description: Sets the value of the nth knot. Each knot value should be greater than or equal to the preceding value. If no knot values are set, a default knot vector is supplied.

setVOrder
void NurbsSurfaceEvaluator::set_v_order(int v_order);

Description: Sets the order of the surface in the V direction. This resets the knot vector to the default knot vector for the number of vertices.
The order must be 1, 2, 3, or 4, and the value is one more than the degree of the surface.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


NurbsSurfaceResult

    from pandac.PandaModules import NurbsSurfaceResult
    Class : NurbsSurfaceResult
    Description : The result of a NurbsSurfaceEvaluator. This object represents a surface in a particular coordinate space. It can return the point and/or normal to the surface at any point.

Inheritance:

    NurbsSurfaceResult: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of NurbsSurfaceResult:

    evalExtendedPoint
    evalExtendedPoints
    evalNormal
    evalPoint
    evalSegmentExtendedPoint
    evalSegmentExtendedPoints
    evalSegmentNormal
    evalSegmentPoint
    getEndU
    getEndV
    getNumUSegments
    getNumVSegments
    getSegmentU
    getSegmentV
    getStartU
    getStartV

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
evalExtendedPoint
float NurbsSurfaceResult::eval_extended_point(float u, float v, int d);

Description: Evaluates the surface in n-dimensional space according to the extended vertices associated with the surface in the indicated dimension.

evalExtendedPoints
bool NurbsSurfaceResult::eval_extended_points(float u, float v, int d, void *result[](unsigned int size), int num_values);

Description: Simultaneously performs eval_extended_point on a contiguous sequence of dimensions. The dimensions evaluated are d through (d + num_values - 1); the results are filled into the num_values elements in the indicated result array.

evalNormal
bool NurbsSurfaceResult::eval_normal(float u, float v, LVecBase3f &normal);

Description: Computes the normal to the surface at the indicated point in parametric time. This normal vector will not necessarily be normalized, and could be zero. See also eval_point().

evalPoint
bool NurbsSurfaceResult::eval_point(float u, float v, LVecBase3f &point);

Description: Computes the point on the surface corresponding to the indicated value in parametric time. Returns true if the u, v values are valid, false otherwise.

evalSegmentExtendedPoint
float NurbsSurfaceResult::eval_segment_extended_point(int ui, int vi, float u, float v, int d) const;

Description: Evaluates the surface in n-dimensional space according to the extended vertices associated with the surface in the indicated dimension.

evalSegmentExtendedPoints
void NurbsSurfaceResult::eval_segment_extended_points(int ui, int vi, float u, float v, int d, void *result[](unsigned int size), int num_values) const;

Description: Simultaneously performs eval_extended_point on a contiguous sequence of dimensions. The dimensions evaluated are d through (d + num_values - 1); the results are filled into the num_values elements in the indicated result array.

evalSegmentNormal
void NurbsSurfaceResult::eval_segment_normal(int ui, int vi, float u, float v, LVecBase3f &normal) const;

Description: As eval_segment_point, but computes the normal to the surface at the indicated point. The normal vector will not necessarily be normalized, and could be zero.

evalSegmentPoint
void NurbsSurfaceResult::eval_segment_point(int ui, int vi, float u, float v, LVecBase3f &point) const;

Description: Evaluates the point on the surface corresponding to the indicated value in parametric time within the indicated surface segment. u and v should be in the range [0, 1].
The surface is internally represented as a number of connected (or possibly unconnected) piecewise continuous segments. The exact number of segments for a particular surface depends on the knot vector, and is returned by get_num_segments(). Normally, eval_point() is used to evaluate a point along the continuous surface, but when you care more about local continuity, you can use eval_segment_point() to evaluate the points along each segment.

getEndU
float NurbsSurfaceResult::get_end_u(void) const;

Description: Returns the last legal value of u on the surface.

getEndV
float NurbsSurfaceResult::get_end_v(void) const;

Description: Returns the last legal value of v on the surface.

getNumUSegments
int NurbsSurfaceResult::get_num_u_segments(void) const;

Description: Returns the number of piecewise continuous segments within the surface in the U direction. This number is usually not important unless you plan to call eval_segment_point().

getNumVSegments
int NurbsSurfaceResult::get_num_v_segments(void) const;

Description: Returns the number of piecewise continuous segments within the surface in the V direction. This number is usually not important unless you plan to call eval_segment_point().

getSegmentU
float NurbsSurfaceResult::get_segment_u(int ui, float u) const;

Description: Accepts a u value in the range [0, 1], and assumed to be relative to the indicated segment (as in eval_segment_point()), and returns the corresponding u value in the entire surface (as in eval_point()).

getSegmentV
float NurbsSurfaceResult::get_segment_v(int vi, float v) const;

Description: Accepts a v value in the range [0, 1], and assumed to be relative to the indicated segment (as in eval_segment_point()), and returns the corresponding v value in the entire surface (as in eval_point()).

getStartU
float NurbsSurfaceResult::get_start_u(void) const;

Description: Returns the first legal value of u on the surface. Usually this is 0.0.

getStartV
float NurbsSurfaceResult::get_start_v(void) const;

Description: Returns the first legal value of v on the surface. Usually this is 0.0.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ObjectHandles

    from direct.directtools.DirectManipulation import ObjectHandles

Inheritance:

    ObjectHandles:

Methods of ObjectHandles:

    __init__
    activate
    coaModeColor
    createGuideLines
    createObjectHandleLines
    deactivate
    disableHandle
    disableHandles
    enableHandle
    enableHandles
    getAxisIntersectPt
    getScalingFactor
    getWidgetIntersectPt
    growToFit
    hideAllHandles
    hideGuides
    hideWidget
    manipModeColor
    multiplyScalingFactorBy
    setDirectScalingFactor
    setScalingFactor
    showAllHandles
    showGuides
    showHandle
    showWidget
    showWidgetIfActive
    toggleWidget
    transferObjectHandlesScale
__init__
def __init__(self)

Undocumented function.

activate
def activate(self)

Undocumented function.

coaModeColor
def coaModeColor(self)

Undocumented function.

createGuideLines
def createGuideLines(self)

Undocumented function.

createObjectHandleLines
def createObjectHandleLines(self)

Undocumented function.

deactivate
def deactivate(self)

Undocumented function.

disableHandle
def disableHandle(self, handle)

Undocumented function.

disableHandles
def disableHandles(self, handles)

Undocumented function.

enableHandle
def enableHandle(self, handle)

Undocumented function.

enableHandles
def enableHandles(self, handles)

Undocumented function.

getAxisIntersectPt
def getAxisIntersectPt(self, axis)

Undocumented function.

getScalingFactor
def getScalingFactor(self)

Undocumented function.

getWidgetIntersectPt
def getWidgetIntersectPt(self, nodePath, plane)

Undocumented function.

growToFit
def growToFit(self)

Undocumented function.

hideAllHandles
def hideAllHandles(self)

Undocumented function.

hideGuides
def hideGuides(self)

Undocumented function.

hideWidget
def hideWidget(self)

Undocumented function.

manipModeColor
def manipModeColor(self)

Undocumented function.

multiplyScalingFactorBy
def multiplyScalingFactorBy(self, factor)

Undocumented function.

setDirectScalingFactor
def setDirectScalingFactor(self, factor)

Undocumented function.

setScalingFactor
def setScalingFactor(self, scaleFactor)

Undocumented function.

showAllHandles
def showAllHandles(self)

Undocumented function.

showGuides
def showGuides(self)

Undocumented function.

showHandle
def showHandle(self, handle)

Undocumented function.

showWidget
def showWidget(self)

Undocumented function.

showWidgetIfActive
def showWidgetIfActive(self)

Undocumented function.

toggleWidget
def toggleWidget(self)

Undocumented function.

transferObjectHandlesScale
def transferObjectHandlesScale(self)

Undocumented function.


ObjectPool

    from direct.showbase.ObjectPool import ObjectPool
    manipulate a pool of Python objects

Inheritance:

    ObjectPool:

Methods of ObjectPool:

    __init__
    __len__
    _getInternalObjs
    containerLenStr
    destroy
    diff
    getObjsOfType
    getTypes
    printObjsByType
    printObjsOfType
    printReferrers
    typeFreqStr
__init__
def __init__(self, objects)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

_getInternalObjs
def _getInternalObjs(self)

Undocumented function.

containerLenStr
def containerLenStr(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

diff
def diff(self, other)

print difference between this pool and 'other' pool

getObjsOfType
def getObjsOfType(self, type)

Undocumented function.

getTypes
def getTypes(self)

Undocumented function.

printObjsByType
def printObjsByType(self, printReferrers=False)

Undocumented function.

printObjsOfType
def printObjsOfType(self, type)

Undocumented function.

printReferrers
def printReferrers(self, numEach=3)

referrers of the first few of each type of object

typeFreqStr
def typeFreqStr(self)

Undocumented function.


ObjectRef

    from direct.showbase.ContainerLeakDetector import ObjectRef
    stores a reference to a container in a way that does not prevent garbage collection of the container if possible stored as a series of 'indirections' (obj.foo -> '.foo', dict[key] -> '[key]', etc.)

Inheritance:

    ObjectRef:

Methods of ObjectRef:

    __init__
    __repr__
    _getContainerByEval
    destroy
    getContainerGen
    getEvalStrGen
    getNumIndirections
    goesThrough
__init__
def __init__(self, indirection, objId, other=None)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

_getContainerByEval
def _getContainerByEval(self, evalStr, curObj=None)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getContainerGen
def getContainerGen(self)

Undocumented function.

getEvalStrGen
def getEvalStrGen(self)

Undocumented function.

getNumIndirections
def getNumIndirections(self)

Undocumented function.

goesThrough
def goesThrough(self, obj)

Undocumented function.


ObjectReport

    from direct.showbase.ObjectReport import ObjectReport
    report on every Python object in the current process

Inheritance:

    ObjectReport:

Methods of ObjectReport:

    __init__
    _getObjectList
    destroy
    diff
    getObjectPool
    typeFreqStr
__init__
def __init__(self, name, log=True)

Undocumented function.

_getObjectList
def _getObjectList(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

diff
def diff(self, other)

Undocumented function.

getObjectPool
def getObjectPool(self)

Undocumented function.

typeFreqStr
def typeFreqStr(self)

Undocumented function.


ObserverWalker

    from direct.controls.ObserverWalker import ObserverWalker

Inheritance:

    ObserverWalker:

Methods of ObserverWalker:

    deleteCollisions
    disableAvatarControls
    enableAvatarControls
    initializeCollisions
    oneTimeCollide
    setCollisionsActive
deleteCollisions
def deleteCollisions(self)

Undocumented function.

disableAvatarControls
def disableAvatarControls(self)

Ignore the arrow keys, etc.

enableAvatarControls
def enableAvatarControls(self)

Activate the arrow keys, etc.

initializeCollisions
def initializeCollisions(self, collisionTraverser, avatarNodePath, avatarRadius=1.4, floorOffset=1.0, reach=1.0)

Set up the avatar for collisions

oneTimeCollide
def oneTimeCollide(self)

Makes one quick collision pass for the avatar, for instance as a one-time straighten-things-up operation after collisions have been disabled.

setCollisionsActive
def setCollisionsActive(self, active=1)

Undocumented function.


OdeAMotorJoint

    from pandac.PandaModules import OdeAMotorJoint
    Class : OdeAMotorJoint
    Description :

Inheritance:

    OdeAMotorJoint: OdeJoint
    OdeJoint: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeAMotorJoint:

    OdeAMotorJoint (Constructor)
    addTorques
    getAngle
    getAngleRate
    getAxis
    getAxisRel
    getClassType
    getMode
    getNumAxes
    getParamBounce
    getParamCFM
    getParamFMax
    getParamFudgeFactor
    getParamHiStop
    getParamLoStop
    getParamStopCFM
    getParamStopERP
    getParamVel
    setAngle
    setAxis
    setMode
    setNumAxes
    setParamBounce
    setParamCFM
    setParamFMax
    setParamFudgeFactor
    setParamHiStop
    setParamLoStop
    setParamStopCFM
    setParamStopERP
    setParamVel

Methods of OdeJoint:

    attachBodies
    attachBody
    compareTo
    convertToAMotor
    convertToBall
    convertToContact
    convertToFixed
    convertToHinge
    convertToHinge2
    convertToLMotor
    convertToNull
    convertToPlane2d
    convertToSlider
    convertToUniversal
    destroy
    detach
    getBody
    getClassType
    getJointType
    operator ==
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeJoint:

    JTNone | (JointType)
JTBall | (JointType)
JTHinge | (JointType)
JTSlider | (JointType)
JTContact | (JointType)
JTUniversal | (JointType)
JTHinge2 | (JointType)
JTFixed | (JointType)
JTNull | (JointType)
JTAMotor | (JointType)
JTLMotor | (JointType)
JTPlane2d | (JointType)
OdeAMotorJoint
OdeAMotorJoint::OdeAMotorJoint(OdeWorld &world);

Undocumented function.

addTorques
void OdeAMotorJoint::add_torques(float torque1, float torque2, float torque3);

Undocumented function.

getAngle
float OdeAMotorJoint::get_angle(int anum) const;

Undocumented function.

getAngleRate
float OdeAMotorJoint::get_angle_rate(int anum) const;

Undocumented function.

getAxis
LVecBase3f OdeAMotorJoint::get_axis(int anum) const;

Undocumented function.

getAxisRel
int OdeAMotorJoint::get_axis_rel(int anum) const;

Undocumented function.

getClassType
static TypeHandle OdeAMotorJoint::get_class_type(void);

Undocumented function.

getMode
int OdeAMotorJoint::get_mode(void) const;

Undocumented function.

getNumAxes
int OdeAMotorJoint::get_num_axes(void) const;

Undocumented function.

getParamBounce
float OdeAMotorJoint::get_param_bounce(int axis) const;

Undocumented function.

getParamCFM
float OdeAMotorJoint::get_param_CFM(int axis) const;

Undocumented function.

getParamFMax
float OdeAMotorJoint::get_param_f_max(int axis) const;

Undocumented function.

getParamFudgeFactor
float OdeAMotorJoint::get_param_fudge_factor(int axis) const;

Undocumented function.

getParamHiStop
float OdeAMotorJoint::get_param_hi_stop(int axis) const;

Undocumented function.

getParamLoStop
float OdeAMotorJoint::get_param_lo_stop(int axis) const;

Undocumented function.

getParamStopCFM
float OdeAMotorJoint::get_param_stop_CFM(int axis) const;

Undocumented function.

getParamStopERP
float OdeAMotorJoint::get_param_stop_ERP(int axis) const;

Undocumented function.

getParamVel
float OdeAMotorJoint::get_param_vel(int axis) const;

Undocumented function.

setAngle
void OdeAMotorJoint::set_angle(int anum, float angle);

Undocumented function.

setAxis
void OdeAMotorJoint::set_axis(int anum, int rel, float x, float y, float z);

Undocumented function.

setMode
void OdeAMotorJoint::set_mode(int mode);

Undocumented function.

setNumAxes
void OdeAMotorJoint::set_num_axes(int num);

Undocumented function.

setParamBounce
void OdeAMotorJoint::set_param_bounce(int axis, float val);

Undocumented function.

setParamCFM
void OdeAMotorJoint::set_param_CFM(int axis, float val);

Undocumented function.

setParamFMax
void OdeAMotorJoint::set_param_f_max(int axis, float val);

Undocumented function.

setParamFudgeFactor
void OdeAMotorJoint::set_param_fudge_factor(int axis, float val);

Undocumented function.

setParamHiStop
void OdeAMotorJoint::set_param_hi_stop(int axis, float val);

Undocumented function.

setParamLoStop
void OdeAMotorJoint::set_param_lo_stop(int axis, float val);

Undocumented function.

setParamStopCFM
void OdeAMotorJoint::set_param_stop_CFM(int axis, float val);

Undocumented function.

setParamStopERP
void OdeAMotorJoint::set_param_stop_ERP(int axis, float val);

Undocumented function.

setParamVel
void OdeAMotorJoint::set_param_vel(int axis, float val);

Undocumented function.

attachBodies
void OdeJoint::attach_bodies(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

attachBody
void OdeJoint::attach_body(OdeBody const &body, int index);

Undocumented function.

compareTo
int OdeJoint::compare_to(OdeJoint const &other) const;

Undocumented function.

convertToAMotor
OdeAMotorJoint OdeJoint::convert_to_a_motor(void) const;

Undocumented function.

convertToBall
OdeBallJoint OdeJoint::convert_to_ball(void) const;

Undocumented function.

convertToContact
OdeContactJoint OdeJoint::convert_to_contact(void) const;

Undocumented function.

convertToFixed
OdeFixedJoint OdeJoint::convert_to_fixed(void) const;

Undocumented function.

convertToHinge
OdeHingeJoint OdeJoint::convert_to_hinge(void) const;

Undocumented function.

convertToHinge2
OdeHinge2Joint OdeJoint::convert_to_hinge2(void) const;

Undocumented function.

convertToLMotor
OdeLMotorJoint OdeJoint::convert_to_l_motor(void) const;

Undocumented function.

convertToNull
OdeNullJoint OdeJoint::convert_to_null(void) const;

Undocumented function.

convertToPlane2d
OdePlane2dJoint OdeJoint::convert_to_plane2d(void) const;

Undocumented function.

convertToSlider
OdeSliderJoint OdeJoint::convert_to_slider(void) const;

Undocumented function.

convertToUniversal
OdeUniversalJoint OdeJoint::convert_to_universal(void) const;

Undocumented function.

destroy
void OdeJoint::destroy(void);

Undocumented function.

detach
void OdeJoint::detach(void);

Undocumented function.

getBody
OdeBody OdeJoint::get_body(int index) const;

Undocumented function.

getClassType
static TypeHandle OdeJoint::get_class_type(void);

Undocumented function.

getJointType
int OdeJoint::get_joint_type(void) const;

* INLINE void *get_data(); */

operator ==
bool OdeJoint::operator ==(OdeJoint const &other) const;

Undocumented function.

write
virtual void OdeJoint::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeBallJoint

    from pandac.PandaModules import OdeBallJoint
    Class : OdeBallJoint
    Description :

Inheritance:

    OdeBallJoint: OdeJoint
    OdeJoint: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeBallJoint:

    OdeBallJoint (Constructor)
    getAnchor
    getAnchor2
    getClassType
    setAnchor
    setAnchor2

Methods of OdeJoint:

    attachBodies
    attachBody
    compareTo
    convertToAMotor
    convertToBall
    convertToContact
    convertToFixed
    convertToHinge
    convertToHinge2
    convertToLMotor
    convertToNull
    convertToPlane2d
    convertToSlider
    convertToUniversal
    destroy
    detach
    getBody
    getClassType
    getJointType
    operator ==
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeJoint:

    JTNone | (JointType)
JTBall | (JointType)
JTHinge | (JointType)
JTSlider | (JointType)
JTContact | (JointType)
JTUniversal | (JointType)
JTHinge2 | (JointType)
JTFixed | (JointType)
JTNull | (JointType)
JTAMotor | (JointType)
JTLMotor | (JointType)
JTPlane2d | (JointType)
OdeBallJoint
OdeBallJoint::OdeBallJoint(OdeWorld &world);

Undocumented function.

getAnchor
LVecBase3f OdeBallJoint::get_anchor(void) const;

Undocumented function.

getAnchor2
LVecBase3f OdeBallJoint::get_anchor2(void) const;

Undocumented function.

getClassType
static TypeHandle OdeBallJoint::get_class_type(void);

Undocumented function.

setAnchor
void OdeBallJoint::set_anchor(float x, float y, float z);

Undocumented function.

setAnchor2
void OdeBallJoint::set_anchor2(float x, float y, float z);

Undocumented function.

attachBodies
void OdeJoint::attach_bodies(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

attachBody
void OdeJoint::attach_body(OdeBody const &body, int index);

Undocumented function.

compareTo
int OdeJoint::compare_to(OdeJoint const &other) const;

Undocumented function.

convertToAMotor
OdeAMotorJoint OdeJoint::convert_to_a_motor(void) const;

Undocumented function.

convertToBall
OdeBallJoint OdeJoint::convert_to_ball(void) const;

Undocumented function.

convertToContact
OdeContactJoint OdeJoint::convert_to_contact(void) const;

Undocumented function.

convertToFixed
OdeFixedJoint OdeJoint::convert_to_fixed(void) const;

Undocumented function.

convertToHinge
OdeHingeJoint OdeJoint::convert_to_hinge(void) const;

Undocumented function.

convertToHinge2
OdeHinge2Joint OdeJoint::convert_to_hinge2(void) const;

Undocumented function.

convertToLMotor
OdeLMotorJoint OdeJoint::convert_to_l_motor(void) const;

Undocumented function.

convertToNull
OdeNullJoint OdeJoint::convert_to_null(void) const;

Undocumented function.

convertToPlane2d
OdePlane2dJoint OdeJoint::convert_to_plane2d(void) const;

Undocumented function.

convertToSlider
OdeSliderJoint OdeJoint::convert_to_slider(void) const;

Undocumented function.

convertToUniversal
OdeUniversalJoint OdeJoint::convert_to_universal(void) const;

Undocumented function.

destroy
void OdeJoint::destroy(void);

Undocumented function.

detach
void OdeJoint::detach(void);

Undocumented function.

getBody
OdeBody OdeJoint::get_body(int index) const;

Undocumented function.

getClassType
static TypeHandle OdeJoint::get_class_type(void);

Undocumented function.

getJointType
int OdeJoint::get_joint_type(void) const;

* INLINE void *get_data(); */

operator ==
bool OdeJoint::operator ==(OdeJoint const &other) const;

Undocumented function.

write
virtual void OdeJoint::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeBody

    from pandac.PandaModules import OdeBody
    Class : OdeBody
    Description :

Inheritance:

    OdeBody: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeBody:

    OdeBody (Constructor)
    addForce
    addForceAtPos
    addForceAtRelPos
    addRelForce
    addRelForceAtPos
    addRelForceAtRelPos
    addRelTorque
    addTorque
    compareTo
    destroy
    disable
    enable
    getAngularVel
    getAutoDisableAngularThreshold
    getAutoDisableFlag
    getAutoDisableLinearThreshold
    getAutoDisableSteps
    getAutoDisableTime
    getClassType
    getData
    getFiniteRotationAxis
    getFiniteRotationMode
    getGravityMode
    getJoint
    getLinearVel
    getMass
    getNumJoints
    getPointVel
    getPosition
    getPosRelPoint
    getQuaternion
    getRelPointPos
    getRelPointVel
    getRotation
    isEnabled
    setAngularVel
    setAutoDisableAngularThreshold
    setAutoDisableDefaults
    setAutoDisableFlag
    setAutoDisableLinearThreshold
    setAutoDisableSteps
    setAutoDisableTime
    setData
    setFiniteRotationAxis
    setFiniteRotationMode
    setForce
    setGravityMode
    setLinearVel
    setMass
    setPosition
    setQuaternion
    setRotation
    setTorque
    vectorFromWorld
    vectorToWorld
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
OdeBody
OdeBody::OdeBody(OdeWorld &world);

Undocumented function.

addForce
void OdeBody::add_force(float fx, float fy, float fz);

Undocumented function.

addForceAtPos
void OdeBody::add_force_at_pos(float fx, float fy, float fz, float px, float py, float pz);

Undocumented function.

addForceAtRelPos
void OdeBody::add_force_at_rel_pos(float fx, float fy, float fz, float px, float py, float pz);

Undocumented function.

addRelForce
void OdeBody::add_rel_force(float fx, float fy, float fz);

Undocumented function.

addRelForceAtPos
void OdeBody::add_rel_force_at_pos(float fx, float fy, float fz, float px, float py, float pz);

Undocumented function.

addRelForceAtRelPos
void OdeBody::add_rel_force_at_rel_pos(float fx, float fy, float fz, float px, float py, float pz);

Undocumented function.

addRelTorque
void OdeBody::add_rel_torque(float fx, float fy, float fz);

Undocumented function.

addTorque
void OdeBody::add_torque(float fx, float fy, float fz);

Undocumented function.

compareTo
int OdeBody::compare_to(OdeBody const &other) const;

Undocumented function.

destroy
void OdeBody::destroy(void);

Undocumented function.

disable
void OdeBody::disable(void);

Undocumented function.

enable
void OdeBody::enable(void);

Undocumented function.

getAngularVel
LVecBase3f OdeBody::get_angular_vel(void) const;

Undocumented function.

getAutoDisableAngularThreshold
float OdeBody::get_auto_disable_angular_threshold(void) const;

Undocumented function.

getAutoDisableFlag
int OdeBody::get_auto_disable_flag(void) const;

Undocumented function.

getAutoDisableLinearThreshold
float OdeBody::get_auto_disable_linear_threshold(void) const;

Undocumented function.

getAutoDisableSteps
int OdeBody::get_auto_disable_steps(void) const;

Undocumented function.

getAutoDisableTime
float OdeBody::get_auto_disable_time(void) const;

Undocumented function.

getClassType
static TypeHandle OdeBody::get_class_type(void);

Undocumented function.

getData
void *OdeBody::get_data(void) const;

Undocumented function.

getFiniteRotationAxis
LVecBase3f OdeBody::get_finite_rotation_axis(void) const;

Undocumented function.

getFiniteRotationMode
int OdeBody::get_finite_rotation_mode(void) const;

Undocumented function.

getGravityMode
int OdeBody::get_gravity_mode(void) const;

Undocumented function.

getJoint
OdeJoint OdeBody::get_joint(int index) const;

Undocumented function.

getLinearVel
LVecBase3f OdeBody::get_linear_vel(void) const;

Undocumented function.

getMass
OdeMass OdeBody::get_mass(void) const;

Undocumented function.

getNumJoints
int OdeBody::get_num_joints(void) const;

Undocumented function.

getPointVel
LPoint3f OdeBody::get_point_vel(float px, float py, float pz) const;

Undocumented function.

getPosition
LVecBase3f OdeBody::get_position(void) const;

Undocumented function.

getPosRelPoint
LPoint3f OdeBody::get_pos_rel_point(float px, float py, float pz) const;

Undocumented function.

getQuaternion
LVecBase4f OdeBody::get_quaternion(void) const;

Undocumented function.

getRelPointPos
LPoint3f OdeBody::get_rel_point_pos(float px, float py, float pz) const;

Undocumented function.

getRelPointVel
LPoint3f OdeBody::get_rel_point_vel(float px, float py, float pz) const;

Undocumented function.

getRotation
LMatrix3f OdeBody::get_rotation(void) const;

Undocumented function.

isEnabled
int OdeBody::is_enabled(void) const;

Undocumented function.

setAngularVel
void OdeBody::set_angular_vel(float x, float y, float z);

Undocumented function.

setAutoDisableAngularThreshold
void OdeBody::set_auto_disable_angular_threshold(float angular_threshold);

Undocumented function.

setAutoDisableDefaults
void OdeBody::set_auto_disable_defaults(void);

Undocumented function.

setAutoDisableFlag
void OdeBody::set_auto_disable_flag(int do_auto_disable);

Undocumented function.

setAutoDisableLinearThreshold
void OdeBody::set_auto_disable_linear_threshold(float linear_threshold);

Undocumented function.

setAutoDisableSteps
void OdeBody::set_auto_disable_steps(int steps);

Undocumented function.

setAutoDisableTime
void OdeBody::set_auto_disable_time(float time);

Undocumented function.

setData
void OdeBody::set_data(void *data);

Undocumented function.

setFiniteRotationAxis
void OdeBody::set_finite_rotation_axis(float x, float y, float z);

Undocumented function.

setFiniteRotationMode
void OdeBody::set_finite_rotation_mode(int mode);

Undocumented function.

setForce
void OdeBody::set_force(float x, float y, float z);

Undocumented function.

setGravityMode
void OdeBody::set_gravity_mode(int mode);

Undocumented function.

setLinearVel
void OdeBody::set_linear_vel(float x, float y, float z);

Undocumented function.

setMass
void OdeBody::set_mass(OdeMass &mass);

Undocumented function.

setPosition
void OdeBody::set_position(float x, float y, float z);

Undocumented function.

setQuaternion
void OdeBody::set_quaternion(LQuaternionf const q);

Undocumented function.

setRotation
void OdeBody::set_rotation(LMatrix3f const r);

Undocumented function.

setTorque
void OdeBody::set_torque(float x, float y, float z);

Undocumented function.

vectorFromWorld
LVecBase3f OdeBody::vector_from_world(float px, float py, float pz) const;

Undocumented function.

vectorToWorld
LVecBase3f OdeBody::vector_to_world(float px, float py, float pz) const;

Undocumented function.

write
virtual void OdeBody::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeBoxGeom

    from pandac.PandaModules import OdeBoxGeom
    Class : OdeBoxGeom
    Description :

Inheritance:

    OdeBoxGeom: OdeGeom
    OdeGeom: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeBoxGeom:

    OdeBoxGeom (Constructor)
    getClassType
    getLengths
    getPointDepth
    setLengths

Methods of OdeGeom:

    clearOffset
    compareTo
    convertToBox
    convertToCappedCylinder
    convertToCylinder
    convertToHashSpace
    convertToPlane
    convertToQuadTreeSpace
    convertToRay
    convertToSimpleSpace
    convertToSphere
    convertToTriMesh
    destroy
    disable
    enable
    getAABB
    getBody
    getCategoryBits
    getClass
    getClassType
    getCollideBits
    getOffsetPosition
    getOffsetQuaternion
    getOffsetRotation
    getPosition
    getQuaternion
    getRotation
    getSpace
    isEnabled
    isOffset
    isSpace
    setBody
    setCategoryBits
    setCollideBits
    setOffsetPosition
    setOffsetQuaternion
    setOffsetRotation
    setOffsetWorldPosition
    setOffsetWorldQuaternion
    setOffsetWorldRotation
    setPosition
    setQuaternion
    setRotation
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeGeom:

    GCSphere | (GeomClass)
GCBox | (GeomClass)
GCCappedCylinder | (GeomClass)
GCCylinder | (GeomClass)
GCPlane | (GeomClass)
GCRay | (GeomClass)
GCTriMesh | (GeomClass)
GCSimpleSpace | (GeomClass)
GCHashSpace | (GeomClass)
GCQuadTreeSpace | (GeomClass)
OdeBoxGeom
OdeBoxGeom::OdeBoxGeom(float lx, float ly, float lz);

Undocumented function.

getClassType
static TypeHandle OdeBoxGeom::get_class_type(void);

Undocumented function.

getLengths
LVecBase3f OdeBoxGeom::get_lengths(void);

Undocumented function.

getPointDepth
float OdeBoxGeom::get_point_depth(float x, float y, float z);

Undocumented function.

setLengths
void OdeBoxGeom::set_lengths(float lx, float ly, float lz);

Undocumented function.

clearOffset
void OdeGeom::clear_offset(void);

Undocumented function.

compareTo
int OdeGeom::compare_to(OdeGeom const &other) const;

Undocumented function.

convertToBox
OdeBoxGeom OdeGeom::convert_to_box(void) const;

Undocumented function.

convertToCappedCylinder
OdeCappedCylinderGeom OdeGeom::convert_to_capped_cylinder(void) const;

Undocumented function.

convertToCylinder
OdeCylinderGeom OdeGeom::convert_to_cylinder(void) const;

OdeConvexGeom convert_to_convex() const;

convertToHashSpace
OdeHashSpace OdeGeom::convert_to_hash_space(void) const;

Undocumented function.

convertToPlane
OdePlaneGeom OdeGeom::convert_to_plane(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToQuadTreeSpace
OdeQuadTreeSpace OdeGeom::convert_to_quad_tree_space(void) const;

Undocumented function.

convertToRay
OdeRayGeom OdeGeom::convert_to_ray(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToSimpleSpace
OdeSimpleSpace OdeGeom::convert_to_simple_space(void) const;

Undocumented function.

convertToSphere
OdeSphereGeom OdeGeom::convert_to_sphere(void) const;

Undocumented function.

convertToTriMesh
OdeTriMeshGeom OdeGeom::convert_to_tri_mesh(void) const;

Undocumented function.

destroy
void OdeGeom::destroy(void);

Undocumented function.

disable
void OdeGeom::disable(void);

Undocumented function.

enable
void OdeGeom::enable(void);

Undocumented function.

getAABB
void OdeGeom::get_AABB(LVecBase3f &min, LVecBase3f &max) const;

Undocumented function.

getBody
OdeBody OdeGeom::get_body(void) const;

INLINE void set_data(void* data);

getCategoryBits
BitMask< unsigned int, 32 > OdeGeom::get_category_bits(void);

Undocumented function.

getClass
int OdeGeom::get_class(void) const;

Undocumented function.

getClassType
static TypeHandle OdeGeom::get_class_type(void);

Undocumented function.

getCollideBits
BitMask< unsigned int, 32 > OdeGeom::get_collide_bits(void);

Undocumented function.

getOffsetPosition
LPoint3f OdeGeom::get_offset_position(void) const;

Undocumented function.

getOffsetQuaternion
LQuaternionf OdeGeom::get_offset_quaternion(void) const;

Undocumented function.

getOffsetRotation
LMatrix3f OdeGeom::get_offset_rotation(void) const;

Undocumented function.

getPosition
LPoint3f OdeGeom::get_position(void) const;

Undocumented function.

getQuaternion
LQuaternionf OdeGeom::get_quaternion(void) const;

Undocumented function.

getRotation
LMatrix3f OdeGeom::get_rotation(void) const;

Undocumented function.

getSpace
OdeSpace OdeGeom::get_space(void) const;

Undocumented function.

isEnabled
int OdeGeom::is_enabled(void);

Undocumented function.

isOffset
int OdeGeom::is_offset(void);

Undocumented function.

isSpace
int OdeGeom::is_space(void);

Undocumented function.

setBody
void OdeGeom::set_body(OdeBody &body);

INLINE void set_data(void* data);

setCategoryBits
void OdeGeom::set_category_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCollideBits
void OdeGeom::set_collide_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setOffsetPosition
void OdeGeom::set_offset_position(float x, float y, float z);

Undocumented function.

setOffsetQuaternion
void OdeGeom::set_offset_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetRotation
void OdeGeom::set_offset_rotation(LMatrix3f const &r);

Undocumented function.

setOffsetWorldPosition
void OdeGeom::set_offset_world_position(float x, float y, float z);

Undocumented function.

setOffsetWorldQuaternion
void OdeGeom::set_offset_world_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetWorldRotation
void OdeGeom::set_offset_world_rotation(LMatrix3f const &r);

Undocumented function.

setPosition
void OdeGeom::set_position(float x, float y, float z);

Undocumented function.

setQuaternion
void OdeGeom::set_quaternion(LQuaternionf const &q);

Undocumented function.

setRotation
void OdeGeom::set_rotation(LMatrix3f const &r);

Undocumented function.

write
virtual void OdeGeom::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeCappedCylinderGeom

    from pandac.PandaModules import OdeCappedCylinderGeom
    Class : OdeCappedCylinderGeom
    Description :

Inheritance:

    OdeCappedCylinderGeom: OdeGeom
    OdeGeom: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeCappedCylinderGeom:

    OdeCappedCylinderGeom (Constructor)
    getClassType
    getLength
    getParams
    getPointDepth
    getRadius
    setParams

Methods of OdeGeom:

    clearOffset
    compareTo
    convertToBox
    convertToCappedCylinder
    convertToCylinder
    convertToHashSpace
    convertToPlane
    convertToQuadTreeSpace
    convertToRay
    convertToSimpleSpace
    convertToSphere
    convertToTriMesh
    destroy
    disable
    enable
    getAABB
    getBody
    getCategoryBits
    getClass
    getClassType
    getCollideBits
    getOffsetPosition
    getOffsetQuaternion
    getOffsetRotation
    getPosition
    getQuaternion
    getRotation
    getSpace
    isEnabled
    isOffset
    isSpace
    setBody
    setCategoryBits
    setCollideBits
    setOffsetPosition
    setOffsetQuaternion
    setOffsetRotation
    setOffsetWorldPosition
    setOffsetWorldQuaternion
    setOffsetWorldRotation
    setPosition
    setQuaternion
    setRotation
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeGeom:

    GCSphere | (GeomClass)
GCBox | (GeomClass)
GCCappedCylinder | (GeomClass)
GCCylinder | (GeomClass)
GCPlane | (GeomClass)
GCRay | (GeomClass)
GCTriMesh | (GeomClass)
GCSimpleSpace | (GeomClass)
GCHashSpace | (GeomClass)
GCQuadTreeSpace | (GeomClass)
OdeCappedCylinderGeom
OdeCappedCylinderGeom::OdeCappedCylinderGeom(float radius, float length);

Undocumented function.

getClassType
static TypeHandle OdeCappedCylinderGeom::get_class_type(void);

Undocumented function.

getLength
float OdeCappedCylinderGeom::get_length(void) const;

Undocumented function.

getParams
void OdeCappedCylinderGeom::get_params(float *radius, float *length) const;

Undocumented function.

getPointDepth
float OdeCappedCylinderGeom::get_point_depth(float x, float y, float z) const;

Undocumented function.

getRadius
float OdeCappedCylinderGeom::get_radius(void) const;

Undocumented function.

setParams
void OdeCappedCylinderGeom::set_params(float radius, float length);

Undocumented function.

clearOffset
void OdeGeom::clear_offset(void);

Undocumented function.

compareTo
int OdeGeom::compare_to(OdeGeom const &other) const;

Undocumented function.

convertToBox
OdeBoxGeom OdeGeom::convert_to_box(void) const;

Undocumented function.

convertToCappedCylinder
OdeCappedCylinderGeom OdeGeom::convert_to_capped_cylinder(void) const;

Undocumented function.

convertToCylinder
OdeCylinderGeom OdeGeom::convert_to_cylinder(void) const;

OdeConvexGeom convert_to_convex() const;

convertToHashSpace
OdeHashSpace OdeGeom::convert_to_hash_space(void) const;

Undocumented function.

convertToPlane
OdePlaneGeom OdeGeom::convert_to_plane(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToQuadTreeSpace
OdeQuadTreeSpace OdeGeom::convert_to_quad_tree_space(void) const;

Undocumented function.

convertToRay
OdeRayGeom OdeGeom::convert_to_ray(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToSimpleSpace
OdeSimpleSpace OdeGeom::convert_to_simple_space(void) const;

Undocumented function.

convertToSphere
OdeSphereGeom OdeGeom::convert_to_sphere(void) const;

Undocumented function.

convertToTriMesh
OdeTriMeshGeom OdeGeom::convert_to_tri_mesh(void) const;

Undocumented function.

destroy
void OdeGeom::destroy(void);

Undocumented function.

disable
void OdeGeom::disable(void);

Undocumented function.

enable
void OdeGeom::enable(void);

Undocumented function.

getAABB
void OdeGeom::get_AABB(LVecBase3f &min, LVecBase3f &max) const;

Undocumented function.

getBody
OdeBody OdeGeom::get_body(void) const;

INLINE void set_data(void* data);

getCategoryBits
BitMask< unsigned int, 32 > OdeGeom::get_category_bits(void);

Undocumented function.

getClass
int OdeGeom::get_class(void) const;

Undocumented function.

getClassType
static TypeHandle OdeGeom::get_class_type(void);

Undocumented function.

getCollideBits
BitMask< unsigned int, 32 > OdeGeom::get_collide_bits(void);

Undocumented function.

getOffsetPosition
LPoint3f OdeGeom::get_offset_position(void) const;

Undocumented function.

getOffsetQuaternion
LQuaternionf OdeGeom::get_offset_quaternion(void) const;

Undocumented function.

getOffsetRotation
LMatrix3f OdeGeom::get_offset_rotation(void) const;

Undocumented function.

getPosition
LPoint3f OdeGeom::get_position(void) const;

Undocumented function.

getQuaternion
LQuaternionf OdeGeom::get_quaternion(void) const;

Undocumented function.

getRotation
LMatrix3f OdeGeom::get_rotation(void) const;

Undocumented function.

getSpace
OdeSpace OdeGeom::get_space(void) const;

Undocumented function.

isEnabled
int OdeGeom::is_enabled(void);

Undocumented function.

isOffset
int OdeGeom::is_offset(void);

Undocumented function.

isSpace
int OdeGeom::is_space(void);

Undocumented function.

setBody
void OdeGeom::set_body(OdeBody &body);

INLINE void set_data(void* data);

setCategoryBits
void OdeGeom::set_category_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCollideBits
void OdeGeom::set_collide_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setOffsetPosition
void OdeGeom::set_offset_position(float x, float y, float z);

Undocumented function.

setOffsetQuaternion
void OdeGeom::set_offset_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetRotation
void OdeGeom::set_offset_rotation(LMatrix3f const &r);

Undocumented function.

setOffsetWorldPosition
void OdeGeom::set_offset_world_position(float x, float y, float z);

Undocumented function.

setOffsetWorldQuaternion
void OdeGeom::set_offset_world_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetWorldRotation
void OdeGeom::set_offset_world_rotation(LMatrix3f const &r);

Undocumented function.

setPosition
void OdeGeom::set_position(float x, float y, float z);

Undocumented function.

setQuaternion
void OdeGeom::set_quaternion(LQuaternionf const &q);

Undocumented function.

setRotation
void OdeGeom::set_rotation(LMatrix3f const &r);

Undocumented function.

write
virtual void OdeGeom::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeContact

    from pandac.PandaModules import OdeContact
    Class : OdeContact
    Description :

Inheritance:

    OdeContact: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of OdeContact:

    OdeContact (Constructor)
    getClassType
    getFdir1
    getGeom
    getSurface
    setFdir1
    setGeom
    setSurface

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
OdeContact
OdeContact::OdeContact(void);

Undocumented function.

getClassType
static TypeHandle OdeContact::get_class_type(void);

Undocumented function.

getFdir1
LVecBase3f OdeContact::get_fdir1(void) const;

Undocumented function.

getGeom
OdeContactGeom OdeContact::get_geom(void);

Undocumented function.

getSurface
OdeSurfaceParameters OdeContact::get_surface(void) const;

Undocumented function.

setFdir1
void OdeContact::set_fdir1(LVecBase3f const &fdir1);

Undocumented function.

setGeom
void OdeContact::set_geom(OdeContactGeom const &contact_geom);

Undocumented function.

setSurface
void OdeContact::set_surface(OdeSurfaceParameters const &surface_parameters);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


OdeContactGeom

    from pandac.PandaModules import OdeContactGeom
    Class : OdeContactGeom
    Description :

Inheritance:

    OdeContactGeom: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of OdeContactGeom:

    OdeContactGeom (Constructor)
    getClassType
    getDepth
    getG1
    getG2
    getNormal
    getPos
    getSide1
    getSide2
    setDepth
    setG1
    setG2
    setNormal
    setPos

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
OdeContactGeom
OdeContactGeom::OdeContactGeom(void);

Undocumented function.

getClassType
static TypeHandle OdeContactGeom::get_class_type(void);

Undocumented function.

getDepth
float OdeContactGeom::get_depth(void) const;

Undocumented function.

getG1
OdeGeom OdeContactGeom::get_g1(void) const;

Undocumented function.

getG2
OdeGeom OdeContactGeom::get_g2(void) const;

Undocumented function.

getNormal
LVecBase3f OdeContactGeom::get_normal(void) const;

Undocumented function.

getPos
LVecBase3f OdeContactGeom::get_pos(void) const;

Undocumented function.

getSide1
int OdeContactGeom::get_side1(void) const;

Undocumented function.

getSide2
int OdeContactGeom::get_side2(void) const;

Undocumented function.

setDepth
void OdeContactGeom::set_depth(float const depth);

Undocumented function.

setG1
void OdeContactGeom::set_g1(OdeGeom const &geom);

Undocumented function.

setG2
void OdeContactGeom::set_g2(OdeGeom const &geom);

Undocumented function.

setNormal
void OdeContactGeom::set_normal(LVecBase3f const &normal);

Undocumented function.

setPos
void OdeContactGeom::set_pos(LVecBase3f const &pos);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


OdeContactJoint

    from pandac.PandaModules import OdeContactJoint
    Class : OdeContactJoint
    Description :

Inheritance:

    OdeContactJoint: OdeJoint
    OdeJoint: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeContactJoint:

    OdeContactJoint (Constructor)
    getClassType

Methods of OdeJoint:

    attachBodies
    attachBody
    compareTo
    convertToAMotor
    convertToBall
    convertToContact
    convertToFixed
    convertToHinge
    convertToHinge2
    convertToLMotor
    convertToNull
    convertToPlane2d
    convertToSlider
    convertToUniversal
    destroy
    detach
    getBody
    getClassType
    getJointType
    operator ==
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeJoint:

    JTNone | (JointType)
JTBall | (JointType)
JTHinge | (JointType)
JTSlider | (JointType)
JTContact | (JointType)
JTUniversal | (JointType)
JTHinge2 | (JointType)
JTFixed | (JointType)
JTNull | (JointType)
JTAMotor | (JointType)
JTLMotor | (JointType)
JTPlane2d | (JointType)
OdeContactJoint
OdeContactJoint::OdeContactJoint(OdeWorld &world, OdeContact const &contact);

Undocumented function.

getClassType
static TypeHandle OdeContactJoint::get_class_type(void);

Undocumented function.

attachBodies
void OdeJoint::attach_bodies(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

attachBody
void OdeJoint::attach_body(OdeBody const &body, int index);

Undocumented function.

compareTo
int OdeJoint::compare_to(OdeJoint const &other) const;

Undocumented function.

convertToAMotor
OdeAMotorJoint OdeJoint::convert_to_a_motor(void) const;

Undocumented function.

convertToBall
OdeBallJoint OdeJoint::convert_to_ball(void) const;

Undocumented function.

convertToContact
OdeContactJoint OdeJoint::convert_to_contact(void) const;

Undocumented function.

convertToFixed
OdeFixedJoint OdeJoint::convert_to_fixed(void) const;

Undocumented function.

convertToHinge
OdeHingeJoint OdeJoint::convert_to_hinge(void) const;

Undocumented function.

convertToHinge2
OdeHinge2Joint OdeJoint::convert_to_hinge2(void) const;

Undocumented function.

convertToLMotor
OdeLMotorJoint OdeJoint::convert_to_l_motor(void) const;

Undocumented function.

convertToNull
OdeNullJoint OdeJoint::convert_to_null(void) const;

Undocumented function.

convertToPlane2d
OdePlane2dJoint OdeJoint::convert_to_plane2d(void) const;

Undocumented function.

convertToSlider
OdeSliderJoint OdeJoint::convert_to_slider(void) const;

Undocumented function.

convertToUniversal
OdeUniversalJoint OdeJoint::convert_to_universal(void) const;

Undocumented function.

destroy
void OdeJoint::destroy(void);

Undocumented function.

detach
void OdeJoint::detach(void);

Undocumented function.

getBody
OdeBody OdeJoint::get_body(int index) const;

Undocumented function.

getClassType
static TypeHandle OdeJoint::get_class_type(void);

Undocumented function.

getJointType
int OdeJoint::get_joint_type(void) const;

* INLINE void *get_data(); */

operator ==
bool OdeJoint::operator ==(OdeJoint const &other) const;

Undocumented function.

write
virtual void OdeJoint::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeCylinderGeom

    from pandac.PandaModules import OdeCylinderGeom
    Class : OdeCylinderGeom
    Description :

Inheritance:

    OdeCylinderGeom: OdeGeom
    OdeGeom: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeCylinderGeom:

    OdeCylinderGeom (Constructor)
    getClassType
    getLength
    getParams
    getRadius
    setParams

Methods of OdeGeom:

    clearOffset
    compareTo
    convertToBox
    convertToCappedCylinder
    convertToCylinder
    convertToHashSpace
    convertToPlane
    convertToQuadTreeSpace
    convertToRay
    convertToSimpleSpace
    convertToSphere
    convertToTriMesh
    destroy
    disable
    enable
    getAABB
    getBody
    getCategoryBits
    getClass
    getClassType
    getCollideBits
    getOffsetPosition
    getOffsetQuaternion
    getOffsetRotation
    getPosition
    getQuaternion
    getRotation
    getSpace
    isEnabled
    isOffset
    isSpace
    setBody
    setCategoryBits
    setCollideBits
    setOffsetPosition
    setOffsetQuaternion
    setOffsetRotation
    setOffsetWorldPosition
    setOffsetWorldQuaternion
    setOffsetWorldRotation
    setPosition
    setQuaternion
    setRotation
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeGeom:

    GCSphere | (GeomClass)
GCBox | (GeomClass)
GCCappedCylinder | (GeomClass)
GCCylinder | (GeomClass)
GCPlane | (GeomClass)
GCRay | (GeomClass)
GCTriMesh | (GeomClass)
GCSimpleSpace | (GeomClass)
GCHashSpace | (GeomClass)
GCQuadTreeSpace | (GeomClass)
OdeCylinderGeom
OdeCylinderGeom::OdeCylinderGeom(float radius, float length);

Undocumented function.

getClassType
static TypeHandle OdeCylinderGeom::get_class_type(void);

Undocumented function.

getLength
float OdeCylinderGeom::get_length(void) const;

Undocumented function.

getParams
void OdeCylinderGeom::get_params(float *radius, float *length) const;

Undocumented function.

getRadius
float OdeCylinderGeom::get_radius(void) const;

Undocumented function.

setParams
void OdeCylinderGeom::set_params(float radius, float length);

Undocumented function.

clearOffset
void OdeGeom::clear_offset(void);

Undocumented function.

compareTo
int OdeGeom::compare_to(OdeGeom const &other) const;

Undocumented function.

convertToBox
OdeBoxGeom OdeGeom::convert_to_box(void) const;

Undocumented function.

convertToCappedCylinder
OdeCappedCylinderGeom OdeGeom::convert_to_capped_cylinder(void) const;

Undocumented function.

convertToCylinder
OdeCylinderGeom OdeGeom::convert_to_cylinder(void) const;

OdeConvexGeom convert_to_convex() const;

convertToHashSpace
OdeHashSpace OdeGeom::convert_to_hash_space(void) const;

Undocumented function.

convertToPlane
OdePlaneGeom OdeGeom::convert_to_plane(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToQuadTreeSpace
OdeQuadTreeSpace OdeGeom::convert_to_quad_tree_space(void) const;

Undocumented function.

convertToRay
OdeRayGeom OdeGeom::convert_to_ray(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToSimpleSpace
OdeSimpleSpace OdeGeom::convert_to_simple_space(void) const;

Undocumented function.

convertToSphere
OdeSphereGeom OdeGeom::convert_to_sphere(void) const;

Undocumented function.

convertToTriMesh
OdeTriMeshGeom OdeGeom::convert_to_tri_mesh(void) const;

Undocumented function.

destroy
void OdeGeom::destroy(void);

Undocumented function.

disable
void OdeGeom::disable(void);

Undocumented function.

enable
void OdeGeom::enable(void);

Undocumented function.

getAABB
void OdeGeom::get_AABB(LVecBase3f &min, LVecBase3f &max) const;

Undocumented function.

getBody
OdeBody OdeGeom::get_body(void) const;

INLINE void set_data(void* data);

getCategoryBits
BitMask< unsigned int, 32 > OdeGeom::get_category_bits(void);

Undocumented function.

getClass
int OdeGeom::get_class(void) const;

Undocumented function.

getClassType
static TypeHandle OdeGeom::get_class_type(void);

Undocumented function.

getCollideBits
BitMask< unsigned int, 32 > OdeGeom::get_collide_bits(void);

Undocumented function.

getOffsetPosition
LPoint3f OdeGeom::get_offset_position(void) const;

Undocumented function.

getOffsetQuaternion
LQuaternionf OdeGeom::get_offset_quaternion(void) const;

Undocumented function.

getOffsetRotation
LMatrix3f OdeGeom::get_offset_rotation(void) const;

Undocumented function.

getPosition
LPoint3f OdeGeom::get_position(void) const;

Undocumented function.

getQuaternion
LQuaternionf OdeGeom::get_quaternion(void) const;

Undocumented function.

getRotation
LMatrix3f OdeGeom::get_rotation(void) const;

Undocumented function.

getSpace
OdeSpace OdeGeom::get_space(void) const;

Undocumented function.

isEnabled
int OdeGeom::is_enabled(void);

Undocumented function.

isOffset
int OdeGeom::is_offset(void);

Undocumented function.

isSpace
int OdeGeom::is_space(void);

Undocumented function.

setBody
void OdeGeom::set_body(OdeBody &body);

INLINE void set_data(void* data);

setCategoryBits
void OdeGeom::set_category_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCollideBits
void OdeGeom::set_collide_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setOffsetPosition
void OdeGeom::set_offset_position(float x, float y, float z);

Undocumented function.

setOffsetQuaternion
void OdeGeom::set_offset_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetRotation
void OdeGeom::set_offset_rotation(LMatrix3f const &r);

Undocumented function.

setOffsetWorldPosition
void OdeGeom::set_offset_world_position(float x, float y, float z);

Undocumented function.

setOffsetWorldQuaternion
void OdeGeom::set_offset_world_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetWorldRotation
void OdeGeom::set_offset_world_rotation(LMatrix3f const &r);

Undocumented function.

setPosition
void OdeGeom::set_position(float x, float y, float z);

Undocumented function.

setQuaternion
void OdeGeom::set_quaternion(LQuaternionf const &q);

Undocumented function.

setRotation
void OdeGeom::set_rotation(LMatrix3f const &r);

Undocumented function.

write
virtual void OdeGeom::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeFixedJoint

    from pandac.PandaModules import OdeFixedJoint
    Class : OdeFixedJoint
    Description :

Inheritance:

    OdeFixedJoint: OdeJoint
    OdeJoint: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeFixedJoint:

    OdeFixedJoint (Constructor)
    getClassType
    set

Methods of OdeJoint:

    attachBodies
    attachBody
    compareTo
    convertToAMotor
    convertToBall
    convertToContact
    convertToFixed
    convertToHinge
    convertToHinge2
    convertToLMotor
    convertToNull
    convertToPlane2d
    convertToSlider
    convertToUniversal
    destroy
    detach
    getBody
    getClassType
    getJointType
    operator ==
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeJoint:

    JTNone | (JointType)
JTBall | (JointType)
JTHinge | (JointType)
JTSlider | (JointType)
JTContact | (JointType)
JTUniversal | (JointType)
JTHinge2 | (JointType)
JTFixed | (JointType)
JTNull | (JointType)
JTAMotor | (JointType)
JTLMotor | (JointType)
JTPlane2d | (JointType)
OdeFixedJoint
OdeFixedJoint::OdeFixedJoint(OdeWorld &world);

Undocumented function.

getClassType
static TypeHandle OdeFixedJoint::get_class_type(void);

Undocumented function.

set
void OdeFixedJoint::set(void);

Undocumented function.

attachBodies
void OdeJoint::attach_bodies(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

attachBody
void OdeJoint::attach_body(OdeBody const &body, int index);

Undocumented function.

compareTo
int OdeJoint::compare_to(OdeJoint const &other) const;

Undocumented function.

convertToAMotor
OdeAMotorJoint OdeJoint::convert_to_a_motor(void) const;

Undocumented function.

convertToBall
OdeBallJoint OdeJoint::convert_to_ball(void) const;

Undocumented function.

convertToContact
OdeContactJoint OdeJoint::convert_to_contact(void) const;

Undocumented function.

convertToFixed
OdeFixedJoint OdeJoint::convert_to_fixed(void) const;

Undocumented function.

convertToHinge
OdeHingeJoint OdeJoint::convert_to_hinge(void) const;

Undocumented function.

convertToHinge2
OdeHinge2Joint OdeJoint::convert_to_hinge2(void) const;

Undocumented function.

convertToLMotor
OdeLMotorJoint OdeJoint::convert_to_l_motor(void) const;

Undocumented function.

convertToNull
OdeNullJoint OdeJoint::convert_to_null(void) const;

Undocumented function.

convertToPlane2d
OdePlane2dJoint OdeJoint::convert_to_plane2d(void) const;

Undocumented function.

convertToSlider
OdeSliderJoint OdeJoint::convert_to_slider(void) const;

Undocumented function.

convertToUniversal
OdeUniversalJoint OdeJoint::convert_to_universal(void) const;

Undocumented function.

destroy
void OdeJoint::destroy(void);

Undocumented function.

detach
void OdeJoint::detach(void);

Undocumented function.

getBody
OdeBody OdeJoint::get_body(int index) const;

Undocumented function.

getClassType
static TypeHandle OdeJoint::get_class_type(void);

Undocumented function.

getJointType
int OdeJoint::get_joint_type(void) const;

* INLINE void *get_data(); */

operator ==
bool OdeJoint::operator ==(OdeJoint const &other) const;

Undocumented function.

write
virtual void OdeJoint::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeGeom

    from pandac.PandaModules import OdeGeom
    Class : OdeGeom
    Description :

Inheritance:

    OdeGeom: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeGeom:

    clearOffset
    compareTo
    convertToBox
    convertToCappedCylinder
    convertToCylinder
    convertToHashSpace
    convertToPlane
    convertToQuadTreeSpace
    convertToRay
    convertToSimpleSpace
    convertToSphere
    convertToTriMesh
    destroy
    disable
    enable
    getAABB
    getBody
    getCategoryBits
    getClass
    getClassType
    getCollideBits
    getOffsetPosition
    getOffsetQuaternion
    getOffsetRotation
    getPosition
    getQuaternion
    getRotation
    getSpace
    isEnabled
    isOffset
    isSpace
    setBody
    setCategoryBits
    setCollideBits
    setOffsetPosition
    setOffsetQuaternion
    setOffsetRotation
    setOffsetWorldPosition
    setOffsetWorldQuaternion
    setOffsetWorldRotation
    setPosition
    setQuaternion
    setRotation
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeGeom:

    GCSphere | (GeomClass)
GCBox | (GeomClass)
GCCappedCylinder | (GeomClass)
GCCylinder | (GeomClass)
GCPlane | (GeomClass)
GCRay | (GeomClass)
GCTriMesh | (GeomClass)
GCSimpleSpace | (GeomClass)
GCHashSpace | (GeomClass)
GCQuadTreeSpace | (GeomClass)
clearOffset
void OdeGeom::clear_offset(void);

Undocumented function.

compareTo
int OdeGeom::compare_to(OdeGeom const &other) const;

Undocumented function.

convertToBox
OdeBoxGeom OdeGeom::convert_to_box(void) const;

Undocumented function.

convertToCappedCylinder
OdeCappedCylinderGeom OdeGeom::convert_to_capped_cylinder(void) const;

Undocumented function.

convertToCylinder
OdeCylinderGeom OdeGeom::convert_to_cylinder(void) const;

OdeConvexGeom convert_to_convex() const;

convertToHashSpace
OdeHashSpace OdeGeom::convert_to_hash_space(void) const;

Undocumented function.

convertToPlane
OdePlaneGeom OdeGeom::convert_to_plane(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToQuadTreeSpace
OdeQuadTreeSpace OdeGeom::convert_to_quad_tree_space(void) const;

Undocumented function.

convertToRay
OdeRayGeom OdeGeom::convert_to_ray(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToSimpleSpace
OdeSimpleSpace OdeGeom::convert_to_simple_space(void) const;

Undocumented function.

convertToSphere
OdeSphereGeom OdeGeom::convert_to_sphere(void) const;

Undocumented function.

convertToTriMesh
OdeTriMeshGeom OdeGeom::convert_to_tri_mesh(void) const;

Undocumented function.

destroy
void OdeGeom::destroy(void);

Undocumented function.

disable
void OdeGeom::disable(void);

Undocumented function.

enable
void OdeGeom::enable(void);

Undocumented function.

getAABB
void OdeGeom::get_AABB(LVecBase3f &min, LVecBase3f &max) const;

Undocumented function.

getBody
OdeBody OdeGeom::get_body(void) const;

INLINE void set_data(void* data);

getCategoryBits
BitMask< unsigned int, 32 > OdeGeom::get_category_bits(void);

Undocumented function.

getClass
int OdeGeom::get_class(void) const;

Undocumented function.

getClassType
static TypeHandle OdeGeom::get_class_type(void);

Undocumented function.

getCollideBits
BitMask< unsigned int, 32 > OdeGeom::get_collide_bits(void);

Undocumented function.

getOffsetPosition
LPoint3f OdeGeom::get_offset_position(void) const;

Undocumented function.

getOffsetQuaternion
LQuaternionf OdeGeom::get_offset_quaternion(void) const;

Undocumented function.

getOffsetRotation
LMatrix3f OdeGeom::get_offset_rotation(void) const;

Undocumented function.

getPosition
LPoint3f OdeGeom::get_position(void) const;

Undocumented function.

getQuaternion
LQuaternionf OdeGeom::get_quaternion(void) const;

Undocumented function.

getRotation
LMatrix3f OdeGeom::get_rotation(void) const;

Undocumented function.

getSpace
OdeSpace OdeGeom::get_space(void) const;

Undocumented function.

isEnabled
int OdeGeom::is_enabled(void);

Undocumented function.

isOffset
int OdeGeom::is_offset(void);

Undocumented function.

isSpace
int OdeGeom::is_space(void);

Undocumented function.

setBody
void OdeGeom::set_body(OdeBody &body);

INLINE void set_data(void* data);

setCategoryBits
void OdeGeom::set_category_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCollideBits
void OdeGeom::set_collide_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setOffsetPosition
void OdeGeom::set_offset_position(float x, float y, float z);

Undocumented function.

setOffsetQuaternion
void OdeGeom::set_offset_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetRotation
void OdeGeom::set_offset_rotation(LMatrix3f const &r);

Undocumented function.

setOffsetWorldPosition
void OdeGeom::set_offset_world_position(float x, float y, float z);

Undocumented function.

setOffsetWorldQuaternion
void OdeGeom::set_offset_world_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetWorldRotation
void OdeGeom::set_offset_world_rotation(LMatrix3f const &r);

Undocumented function.

setPosition
void OdeGeom::set_position(float x, float y, float z);

Undocumented function.

setQuaternion
void OdeGeom::set_quaternion(LQuaternionf const &q);

Undocumented function.

setRotation
void OdeGeom::set_rotation(LMatrix3f const &r);

Undocumented function.

write
virtual void OdeGeom::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeHashSpace

    from pandac.PandaModules import OdeHashSpace
    Class : OdeHashSpace
    Description : c

Inheritance:

    OdeHashSpace: OdeSpace
    OdeSpace: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeHashSpace:

    OdeHashSpace (Constructor)
    getClassType
    getMaxLevel
    getMinLevel
    setLevels

Methods of OdeSpace:

    add
    autoCallback
    autoCollide
    clean
    convertToHashSpace
    convertToQuadTreeSpace
    convertToSimpleSpace
    destroy
    disable
    enable
    getAABB
    getCategoryBits
    getClass
    getClassType
    getCleanup
    getCollideBits
    getCollideId
    getContactData
    getContactId
    getGeom
    getNumGeoms
    getSpace
    getSurfaceType
    isEnabled
    isSpace
    query
    remove
    setAutoCollideJointGroup
    setAutoCollideWorld
    setCategoryBits
    setCleanup
    setCollideBits
    setCollideId
    setSurfaceType
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
OdeHashSpace
OdeHashSpace::OdeHashSpace(void);

Undocumented function.

getClassType
static TypeHandle OdeHashSpace::get_class_type(void);

Undocumented function.

getMaxLevel
int OdeHashSpace::get_max_level(void) const;

Undocumented function.

getMinLevel
int OdeHashSpace::get_min_level(void) const;

Undocumented function.

setLevels
void OdeHashSpace::set_levels(int minlevel, int maxlevel);

Undocumented function.

add
void OdeSpace::add(OdeGeom &geom);

Undocumented function.

autoCallback
static void OdeSpace::autoCallback(void *, dxGeom *, dxGeom *);

Undocumented function.

autoCollide
int OdeSpace::autoCollide(void);

Undocumented function.

clean
void OdeSpace::clean(void);

Undocumented function.

convertToHashSpace
OdeHashSpace OdeSpace::convert_to_hash_space(void) const;

Undocumented function.

convertToQuadTreeSpace
OdeQuadTreeSpace OdeSpace::convert_to_quad_tree_space(void) const;

Undocumented function.

convertToSimpleSpace
OdeSimpleSpace OdeSpace::convert_to_simple_space(void) const;

Undocumented function.

destroy
void OdeSpace::destroy(void);

Undocumented function.

disable
void OdeSpace::disable(void);

Undocumented function.

enable
void OdeSpace::enable(void);

Undocumented function.

getAABB
void OdeSpace::get_AABB(LVecBase3f &min, LVecBase3f &max) const;

Undocumented function.

getCategoryBits
BitMask< unsigned int, 32 > OdeSpace::get_category_bits(void);

Undocumented function.

getClass
int OdeSpace::get_class(void) const;

Undocumented function.

getClassType
static TypeHandle OdeSpace::get_class_type(void);

Undocumented function.

getCleanup
int OdeSpace::get_cleanup(void) const;

Undocumented function.

getCollideBits
BitMask< unsigned int, 32 > OdeSpace::get_collide_bits(void);

Undocumented function.

getCollideId
int OdeSpace::get_collide_id(dxGeom *o1);

Undocumented function.

getContactData
static double OdeSpace::get_contact_data(int data_index);

Undocumented function.

getContactId
int OdeSpace::get_contact_id(int data_index, int first = (0));

Undocumented function.

getGeom
OdeGeom OdeSpace::get_geom(int i);

Undocumented function.

getNumGeoms
int OdeSpace::get_num_geoms(void) const;

Undocumented function.

getSpace
OdeSpace OdeSpace::get_space(void) const;

Undocumented function.

getSurfaceType
int OdeSpace::get_surface_type(dxGeom *o1);

Undocumented function.

isEnabled
int OdeSpace::is_enabled(void);

Undocumented function.

isSpace
int OdeSpace::is_space(void);

Undocumented function.

query
int OdeSpace::query(OdeGeom const &geom) const;

Undocumented function.

remove
void OdeSpace::remove(OdeGeom &geom);

Undocumented function.

setAutoCollideJointGroup
void OdeSpace::set_auto_collide_joint_group(OdeJointGroup &);

Undocumented function.

setAutoCollideWorld
void OdeSpace::set_auto_collide_world(OdeWorld &);

Undocumented function.

setCategoryBits
void OdeSpace::set_category_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCleanup
void OdeSpace::set_cleanup(int mode);

Undocumented function.

setCollideBits
void OdeSpace::set_collide_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCollideId
int OdeSpace::set_collide_id(int collide_id, dxGeom *id);

Undocumented function.

setSurfaceType
void OdeSpace::set_surface_type(int surface_type, dxGeom *id);

Undocumented function.

write
virtual void OdeSpace::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeHinge2Joint

    from pandac.PandaModules import OdeHinge2Joint
    Class : OdeHinge2Joint
    Description :

Inheritance:

    OdeHinge2Joint: OdeJoint
    OdeJoint: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeHinge2Joint:

    OdeHinge2Joint (Constructor)
    addTorques
    getAnchor
    getAnchor2
    getAngle1
    getAngle1Rate
    getAngle2Rate
    getAxis1
    getAxis2
    getClassType
    getParamBounce
    getParamCFM
    getParamFMax
    getParamFudgeFactor
    getParamHiStop
    getParamLoStop
    getParamStopCFM
    getParamStopERP
    getParamSuspensionCFM
    getParamSuspensionERP
    getParamVel
    setAnchor
    setAxis1
    setAxis2
    setParamBounce
    setParamCFM
    setParamFMax
    setParamFudgeFactor
    setParamHiStop
    setParamLoStop
    setParamStopCFM
    setParamStopERP
    setParamSuspensionCFM
    setParamSuspensionERP
    setParamVel

Methods of OdeJoint:

    attachBodies
    attachBody
    compareTo
    convertToAMotor
    convertToBall
    convertToContact
    convertToFixed
    convertToHinge
    convertToHinge2
    convertToLMotor
    convertToNull
    convertToPlane2d
    convertToSlider
    convertToUniversal
    destroy
    detach
    getBody
    getClassType
    getJointType
    operator ==
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeJoint:

    JTNone | (JointType)
JTBall | (JointType)
JTHinge | (JointType)
JTSlider | (JointType)
JTContact | (JointType)
JTUniversal | (JointType)
JTHinge2 | (JointType)
JTFixed | (JointType)
JTNull | (JointType)
JTAMotor | (JointType)
JTLMotor | (JointType)
JTPlane2d | (JointType)
OdeHinge2Joint
OdeHinge2Joint::OdeHinge2Joint(OdeWorld &world, OdeJointGroup &joint_group);

Undocumented function.

addTorques
void OdeHinge2Joint::add_torques(float torque1, float torque2);

Undocumented function.

getAnchor
LVecBase3f OdeHinge2Joint::get_anchor(void) const;

Undocumented function.

getAnchor2
LVecBase3f OdeHinge2Joint::get_anchor2(void) const;

Undocumented function.

getAngle1
float OdeHinge2Joint::get_angle1(void) const;

Undocumented function.

getAngle1Rate
float OdeHinge2Joint::get_angle1_rate(void) const;

Undocumented function.

getAngle2Rate
float OdeHinge2Joint::get_angle2_rate(void) const;

Undocumented function.

getAxis1
LVecBase3f OdeHinge2Joint::get_axis1(void) const;

Undocumented function.

getAxis2
LVecBase3f OdeHinge2Joint::get_axis2(void) const;

Undocumented function.

getClassType
static TypeHandle OdeHinge2Joint::get_class_type(void);

Undocumented function.

getParamBounce
float OdeHinge2Joint::get_param_bounce(int axis) const;

Undocumented function.

getParamCFM
float OdeHinge2Joint::get_param_CFM(int axis) const;

Undocumented function.

getParamFMax
float OdeHinge2Joint::get_param_f_max(int axis) const;

Undocumented function.

getParamFudgeFactor
float OdeHinge2Joint::get_param_fudge_factor(int axis) const;

Undocumented function.

getParamHiStop
float OdeHinge2Joint::get_param_hi_stop(int axis) const;

Undocumented function.

getParamLoStop
float OdeHinge2Joint::get_param_lo_stop(int axis) const;

Undocumented function.

getParamStopCFM
float OdeHinge2Joint::get_param_stop_CFM(int axis) const;

Undocumented function.

getParamStopERP
float OdeHinge2Joint::get_param_stop_ERP(int axis) const;

Undocumented function.

getParamSuspensionCFM
float OdeHinge2Joint::get_param_suspension_CFM(int axis) const;

Undocumented function.

getParamSuspensionERP
float OdeHinge2Joint::get_param_suspension_ERP(int axis) const;

Undocumented function.

getParamVel
float OdeHinge2Joint::get_param_vel(int axis) const;

Undocumented function.

setAnchor
void OdeHinge2Joint::set_anchor(float x, float y, float z);

Undocumented function.

setAxis1
void OdeHinge2Joint::set_axis1(float x, float y, float z);

Undocumented function.

setAxis2
void OdeHinge2Joint::set_axis2(float x, float y, float z);

Undocumented function.

setParamBounce
void OdeHinge2Joint::set_param_bounce(int axis, float val);

Undocumented function.

setParamCFM
void OdeHinge2Joint::set_param_CFM(int axis, float val);

Undocumented function.

setParamFMax
void OdeHinge2Joint::set_param_f_max(int axis, float val);

Undocumented function.

setParamFudgeFactor
void OdeHinge2Joint::set_param_fudge_factor(int axis, float val);

Undocumented function.

setParamHiStop
void OdeHinge2Joint::set_param_hi_stop(int axis, float val);

Undocumented function.

setParamLoStop
void OdeHinge2Joint::set_param_lo_stop(int axis, float val);

Undocumented function.

setParamStopCFM
void OdeHinge2Joint::set_param_stop_CFM(int axis, float val);

Undocumented function.

setParamStopERP
void OdeHinge2Joint::set_param_stop_ERP(int axis, float val);

Undocumented function.

setParamSuspensionCFM
void OdeHinge2Joint::set_param_suspension_CFM(int axis, float val);

Undocumented function.

setParamSuspensionERP
void OdeHinge2Joint::set_param_suspension_ERP(int axis, float val);

Undocumented function.

setParamVel
void OdeHinge2Joint::set_param_vel(int axis, float val);

Undocumented function.

attachBodies
void OdeJoint::attach_bodies(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

attachBody
void OdeJoint::attach_body(OdeBody const &body, int index);

Undocumented function.

compareTo
int OdeJoint::compare_to(OdeJoint const &other) const;

Undocumented function.

convertToAMotor
OdeAMotorJoint OdeJoint::convert_to_a_motor(void) const;

Undocumented function.

convertToBall
OdeBallJoint OdeJoint::convert_to_ball(void) const;

Undocumented function.

convertToContact
OdeContactJoint OdeJoint::convert_to_contact(void) const;

Undocumented function.

convertToFixed
OdeFixedJoint OdeJoint::convert_to_fixed(void) const;

Undocumented function.

convertToHinge
OdeHingeJoint OdeJoint::convert_to_hinge(void) const;

Undocumented function.

convertToHinge2
OdeHinge2Joint OdeJoint::convert_to_hinge2(void) const;

Undocumented function.

convertToLMotor
OdeLMotorJoint OdeJoint::convert_to_l_motor(void) const;

Undocumented function.

convertToNull
OdeNullJoint OdeJoint::convert_to_null(void) const;

Undocumented function.

convertToPlane2d
OdePlane2dJoint OdeJoint::convert_to_plane2d(void) const;

Undocumented function.

convertToSlider
OdeSliderJoint OdeJoint::convert_to_slider(void) const;

Undocumented function.

convertToUniversal
OdeUniversalJoint OdeJoint::convert_to_universal(void) const;

Undocumented function.

destroy
void OdeJoint::destroy(void);

Undocumented function.

detach
void OdeJoint::detach(void);

Undocumented function.

getBody
OdeBody OdeJoint::get_body(int index) const;

Undocumented function.

getClassType
static TypeHandle OdeJoint::get_class_type(void);

Undocumented function.

getJointType
int OdeJoint::get_joint_type(void) const;

* INLINE void *get_data(); */

operator ==
bool OdeJoint::operator ==(OdeJoint const &other) const;

Undocumented function.

write
virtual void OdeJoint::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeHingeJoint

    from pandac.PandaModules import OdeHingeJoint
    Class : OdeHingeJoint
    Description :

Inheritance:

    OdeHingeJoint: OdeJoint
    OdeJoint: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeHingeJoint:

    OdeHingeJoint (Constructor)
    addTorque
    getAnchor
    getAnchor2
    getAngle
    getAngleRate
    getAxis
    getClassType
    getParamBounce
    getParamCFM
    getParamFMax
    getParamFudgeFactor
    getParamHiStop
    getParamLoStop
    getParamStopCFM
    getParamStopERP
    getParamVel
    setAnchor
    setAnchorDelta
    setAxis
    setParamBounce
    setParamCFM
    setParamFMax
    setParamFudgeFactor
    setParamHiStop
    setParamLoStop
    setParamStopCFM
    setParamStopERP
    setParamVel

Methods of OdeJoint:

    attachBodies
    attachBody
    compareTo
    convertToAMotor
    convertToBall
    convertToContact
    convertToFixed
    convertToHinge
    convertToHinge2
    convertToLMotor
    convertToNull
    convertToPlane2d
    convertToSlider
    convertToUniversal
    destroy
    detach
    getBody
    getClassType
    getJointType
    operator ==
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeJoint:

    JTNone | (JointType)
JTBall | (JointType)
JTHinge | (JointType)
JTSlider | (JointType)
JTContact | (JointType)
JTUniversal | (JointType)
JTHinge2 | (JointType)
JTFixed | (JointType)
JTNull | (JointType)
JTAMotor | (JointType)
JTLMotor | (JointType)
JTPlane2d | (JointType)
OdeHingeJoint
OdeHingeJoint::OdeHingeJoint(OdeWorld &world);

Undocumented function.

addTorque
void OdeHingeJoint::add_torque(float torque);

Undocumented function.

getAnchor
LVecBase3f OdeHingeJoint::get_anchor(void) const;

Undocumented function.

getAnchor2
LVecBase3f OdeHingeJoint::get_anchor2(void) const;

Undocumented function.

getAngle
float OdeHingeJoint::get_angle(void) const;

Undocumented function.

getAngleRate
float OdeHingeJoint::get_angle_rate(void) const;

Undocumented function.

getAxis
LVecBase3f OdeHingeJoint::get_axis(void) const;

Undocumented function.

getClassType
static TypeHandle OdeHingeJoint::get_class_type(void);

Undocumented function.

getParamBounce
float OdeHingeJoint::get_param_bounce(void) const;

Undocumented function.

getParamCFM
float OdeHingeJoint::get_param_CFM(void) const;

Undocumented function.

getParamFMax
float OdeHingeJoint::get_param_f_max(void) const;

Undocumented function.

getParamFudgeFactor
float OdeHingeJoint::get_param_fudge_factor(void) const;

Undocumented function.

getParamHiStop
float OdeHingeJoint::get_param_hi_stop(void) const;

Undocumented function.

getParamLoStop
float OdeHingeJoint::get_param_lo_stop(void) const;

Undocumented function.

getParamStopCFM
float OdeHingeJoint::get_param_stop_CFM(void) const;

Undocumented function.

getParamStopERP
float OdeHingeJoint::get_param_stop_ERP(void) const;

Undocumented function.

getParamVel
float OdeHingeJoint::get_param_vel(void) const;

Undocumented function.

setAnchor
void OdeHingeJoint::set_anchor(float x, float y, float z);

Undocumented function.

setAnchorDelta
void OdeHingeJoint::set_anchor_delta(float x, float y, float z, float ax, float ay, float az);

Undocumented function.

setAxis
void OdeHingeJoint::set_axis(float x, float y, float z);

Undocumented function.

setParamBounce
void OdeHingeJoint::set_param_bounce(float val);

Undocumented function.

setParamCFM
void OdeHingeJoint::set_param_CFM(float val);

Undocumented function.

setParamFMax
void OdeHingeJoint::set_param_f_max(float val);

Undocumented function.

setParamFudgeFactor
void OdeHingeJoint::set_param_fudge_factor(float val);

Undocumented function.

setParamHiStop
void OdeHingeJoint::set_param_hi_stop(float val);

Undocumented function.

setParamLoStop
void OdeHingeJoint::set_param_lo_stop(float val);

Undocumented function.

setParamStopCFM
void OdeHingeJoint::set_param_stop_CFM(float val);

Undocumented function.

setParamStopERP
void OdeHingeJoint::set_param_stop_ERP(float val);

Undocumented function.

setParamVel
void OdeHingeJoint::set_param_vel(float val);

Undocumented function.

attachBodies
void OdeJoint::attach_bodies(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

attachBody
void OdeJoint::attach_body(OdeBody const &body, int index);

Undocumented function.

compareTo
int OdeJoint::compare_to(OdeJoint const &other) const;

Undocumented function.

convertToAMotor
OdeAMotorJoint OdeJoint::convert_to_a_motor(void) const;

Undocumented function.

convertToBall
OdeBallJoint OdeJoint::convert_to_ball(void) const;

Undocumented function.

convertToContact
OdeContactJoint OdeJoint::convert_to_contact(void) const;

Undocumented function.

convertToFixed
OdeFixedJoint OdeJoint::convert_to_fixed(void) const;

Undocumented function.

convertToHinge
OdeHingeJoint OdeJoint::convert_to_hinge(void) const;

Undocumented function.

convertToHinge2
OdeHinge2Joint OdeJoint::convert_to_hinge2(void) const;

Undocumented function.

convertToLMotor
OdeLMotorJoint OdeJoint::convert_to_l_motor(void) const;

Undocumented function.

convertToNull
OdeNullJoint OdeJoint::convert_to_null(void) const;

Undocumented function.

convertToPlane2d
OdePlane2dJoint OdeJoint::convert_to_plane2d(void) const;

Undocumented function.

convertToSlider
OdeSliderJoint OdeJoint::convert_to_slider(void) const;

Undocumented function.

convertToUniversal
OdeUniversalJoint OdeJoint::convert_to_universal(void) const;

Undocumented function.

destroy
void OdeJoint::destroy(void);

Undocumented function.

detach
void OdeJoint::detach(void);

Undocumented function.

getBody
OdeBody OdeJoint::get_body(int index) const;

Undocumented function.

getClassType
static TypeHandle OdeJoint::get_class_type(void);

Undocumented function.

getJointType
int OdeJoint::get_joint_type(void) const;

* INLINE void *get_data(); */

operator ==
bool OdeJoint::operator ==(OdeJoint const &other) const;

Undocumented function.

write
virtual void OdeJoint::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeJoint

    from pandac.PandaModules import OdeJoint
    Class : OdeJoint
    Description :

Inheritance:

    OdeJoint: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeJoint:

    attachBodies
    attachBody
    compareTo
    convertToAMotor
    convertToBall
    convertToContact
    convertToFixed
    convertToHinge
    convertToHinge2
    convertToLMotor
    convertToNull
    convertToPlane2d
    convertToSlider
    convertToUniversal
    destroy
    detach
    getBody
    getClassType
    getJointType
    operator ==
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeJoint:

    JTNone | (JointType)
JTBall | (JointType)
JTHinge | (JointType)
JTSlider | (JointType)
JTContact | (JointType)
JTUniversal | (JointType)
JTHinge2 | (JointType)
JTFixed | (JointType)
JTNull | (JointType)
JTAMotor | (JointType)
JTLMotor | (JointType)
JTPlane2d | (JointType)
attachBodies
void OdeJoint::attach_bodies(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

attachBody
void OdeJoint::attach_body(OdeBody const &body, int index);

Undocumented function.

compareTo
int OdeJoint::compare_to(OdeJoint const &other) const;

Undocumented function.

convertToAMotor
OdeAMotorJoint OdeJoint::convert_to_a_motor(void) const;

Undocumented function.

convertToBall
OdeBallJoint OdeJoint::convert_to_ball(void) const;

Undocumented function.

convertToContact
OdeContactJoint OdeJoint::convert_to_contact(void) const;

Undocumented function.

convertToFixed
OdeFixedJoint OdeJoint::convert_to_fixed(void) const;

Undocumented function.

convertToHinge
OdeHingeJoint OdeJoint::convert_to_hinge(void) const;

Undocumented function.

convertToHinge2
OdeHinge2Joint OdeJoint::convert_to_hinge2(void) const;

Undocumented function.

convertToLMotor
OdeLMotorJoint OdeJoint::convert_to_l_motor(void) const;

Undocumented function.

convertToNull
OdeNullJoint OdeJoint::convert_to_null(void) const;

Undocumented function.

convertToPlane2d
OdePlane2dJoint OdeJoint::convert_to_plane2d(void) const;

Undocumented function.

convertToSlider
OdeSliderJoint OdeJoint::convert_to_slider(void) const;

Undocumented function.

convertToUniversal
OdeUniversalJoint OdeJoint::convert_to_universal(void) const;

Undocumented function.

destroy
void OdeJoint::destroy(void);

Undocumented function.

detach
void OdeJoint::detach(void);

Undocumented function.

getBody
OdeBody OdeJoint::get_body(int index) const;

Undocumented function.

getClassType
static TypeHandle OdeJoint::get_class_type(void);

Undocumented function.

getJointType
int OdeJoint::get_joint_type(void) const;

* INLINE void *get_data(); */

operator ==
bool OdeJoint::operator ==(OdeJoint const &other) const;

Undocumented function.

write
virtual void OdeJoint::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeJointCollection

    from pandac.PandaModules import OdeJointCollection
    Class : OdeJointCollection
    Description :

Inheritance:

    OdeJointCollection:

Methods of OdeJointCollection:

    OdeJointCollection (Constructor)
    addJoint
    addJointsFrom
    clear
    getJoint
    getNumJoints
    hasJoint
    isEmpty
    operator =
    operator []
    removeDuplicateJoints
    removeJoint
    removeJointsFrom
OdeJointCollection
OdeJointCollection::OdeJointCollection(void);

Undocumented function.

addJoint
void OdeJointCollection::add_joint(OdeJoint const &joint);

Undocumented function.

addJointsFrom
void OdeJointCollection::add_joints_from(OdeJointCollection const &other);

Undocumented function.

clear
void OdeJointCollection::clear(void);

Undocumented function.

getJoint
OdeJoint OdeJointCollection::get_joint(int index) const;

Undocumented function.

getNumJoints
int OdeJointCollection::get_num_joints(void) const;

Undocumented function.

hasJoint
bool OdeJointCollection::has_joint(OdeJoint const &joint) const;

Undocumented function.

isEmpty
bool OdeJointCollection::is_empty(void) const;

Undocumented function.

operator =
void OdeJointCollection::operator =(OdeJointCollection const &copy);

Undocumented function.

operator []
OdeJoint OdeJointCollection::operator [](int index) const;

Undocumented function.

removeDuplicateJoints
void OdeJointCollection::remove_duplicate_joints(void);

Undocumented function.

removeJoint
bool OdeJointCollection::remove_joint(OdeJoint const &joint);

Undocumented function.

removeJointsFrom
void OdeJointCollection::remove_joints_from(OdeJointCollection const &other);

Undocumented function.


OdeJointGroup

    from pandac.PandaModules import OdeJointGroup
    Class : OdeJointGroup
    Description :

Inheritance:

    OdeJointGroup: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeJointGroup:

    OdeJointGroup (Constructor)
    compareTo
    destroy
    empty
    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
OdeJointGroup
OdeJointGroup::OdeJointGroup(void);

Undocumented function.

compareTo
int OdeJointGroup::compare_to(OdeJointGroup const &other) const;

Undocumented function.

destroy
void OdeJointGroup::destroy(void);

Undocumented function.

empty
void OdeJointGroup::empty(void) const;

Undocumented function.

getClassType
static TypeHandle OdeJointGroup::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeLMotorJoint

    from pandac.PandaModules import OdeLMotorJoint
    Class : OdeLMotorJoint
    Description :

Inheritance:

    OdeLMotorJoint: OdeJoint
    OdeJoint: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeLMotorJoint:

    OdeLMotorJoint (Constructor)
    getAxis
    getClassType
    getNumAxes
    getParam
    setAxis
    setNumAxes
    setParam

Methods of OdeJoint:

    attachBodies
    attachBody
    compareTo
    convertToAMotor
    convertToBall
    convertToContact
    convertToFixed
    convertToHinge
    convertToHinge2
    convertToLMotor
    convertToNull
    convertToPlane2d
    convertToSlider
    convertToUniversal
    destroy
    detach
    getBody
    getClassType
    getJointType
    operator ==
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeJoint:

    JTNone | (JointType)
JTBall | (JointType)
JTHinge | (JointType)
JTSlider | (JointType)
JTContact | (JointType)
JTUniversal | (JointType)
JTHinge2 | (JointType)
JTFixed | (JointType)
JTNull | (JointType)
JTAMotor | (JointType)
JTLMotor | (JointType)
JTPlane2d | (JointType)
OdeLMotorJoint
OdeLMotorJoint::OdeLMotorJoint(OdeWorld &world);

Undocumented function.

getAxis
LVecBase3f OdeLMotorJoint::get_axis(int anum) const;

Undocumented function.

getClassType
static TypeHandle OdeLMotorJoint::get_class_type(void);

Undocumented function.

getNumAxes
int OdeLMotorJoint::get_num_axes(void) const;

Undocumented function.

getParam
float OdeLMotorJoint::get_param(int parameter) const;

Undocumented function.

setAxis
void OdeLMotorJoint::set_axis(int anum, int rel, float x, float y, float z);

Undocumented function.

setNumAxes
void OdeLMotorJoint::set_num_axes(int num);

Undocumented function.

setParam
void OdeLMotorJoint::set_param(int parameter, float value);

Undocumented function.

attachBodies
void OdeJoint::attach_bodies(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

attachBody
void OdeJoint::attach_body(OdeBody const &body, int index);

Undocumented function.

compareTo
int OdeJoint::compare_to(OdeJoint const &other) const;

Undocumented function.

convertToAMotor
OdeAMotorJoint OdeJoint::convert_to_a_motor(void) const;

Undocumented function.

convertToBall
OdeBallJoint OdeJoint::convert_to_ball(void) const;

Undocumented function.

convertToContact
OdeContactJoint OdeJoint::convert_to_contact(void) const;

Undocumented function.

convertToFixed
OdeFixedJoint OdeJoint::convert_to_fixed(void) const;

Undocumented function.

convertToHinge
OdeHingeJoint OdeJoint::convert_to_hinge(void) const;

Undocumented function.

convertToHinge2
OdeHinge2Joint OdeJoint::convert_to_hinge2(void) const;

Undocumented function.

convertToLMotor
OdeLMotorJoint OdeJoint::convert_to_l_motor(void) const;

Undocumented function.

convertToNull
OdeNullJoint OdeJoint::convert_to_null(void) const;

Undocumented function.

convertToPlane2d
OdePlane2dJoint OdeJoint::convert_to_plane2d(void) const;

Undocumented function.

convertToSlider
OdeSliderJoint OdeJoint::convert_to_slider(void) const;

Undocumented function.

convertToUniversal
OdeUniversalJoint OdeJoint::convert_to_universal(void) const;

Undocumented function.

destroy
void OdeJoint::destroy(void);

Undocumented function.

detach
void OdeJoint::detach(void);

Undocumented function.

getBody
OdeBody OdeJoint::get_body(int index) const;

Undocumented function.

getClassType
static TypeHandle OdeJoint::get_class_type(void);

Undocumented function.

getJointType
int OdeJoint::get_joint_type(void) const;

* INLINE void *get_data(); */

operator ==
bool OdeJoint::operator ==(OdeJoint const &other) const;

Undocumented function.

write
virtual void OdeJoint::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeMass

    from pandac.PandaModules import OdeMass
    Class : OdeMass
    Description :

Inheritance:

    OdeMass: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of OdeMass:

    OdeMass (Constructor)
    add
    adjust
    check
    getCenter
    getClassType
    getInertialTensor
    getMagnitude
    rotate
    setBox
    setBoxTotal
    setCapsule
    setCapsuleTotal
    setCylinder
    setCylinderTotal
    setParameters
    setSphere
    setSphereTotal
    setZero
    translate
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
OdeMass
OdeMass::OdeMass(void);

Undocumented function.

add
void OdeMass::add(OdeMass &other);

Undocumented function.

adjust
void OdeMass::adjust(float newmass);

Undocumented function.

check
int OdeMass::check(void);

Undocumented function.

getCenter
LPoint3f OdeMass::get_center(void) const;

Undocumented function.

getClassType
static TypeHandle OdeMass::get_class_type(void);

Undocumented function.

getInertialTensor
LMatrix3f OdeMass::get_inertial_tensor(void) const;

Undocumented function.

getMagnitude
float OdeMass::get_magnitude(void) const;

Undocumented function.

rotate
void OdeMass::rotate(LMatrix3f const &r);

Undocumented function.

setBox
void OdeMass::set_box(float density, float lx, float ly, float lz);

Undocumented function.

setBoxTotal
void OdeMass::set_box_total(float total_mass, float lx, float ly, float lz);

Undocumented function.

setCapsule
void OdeMass::set_capsule(float density, int direction, float radius, float length);

Undocumented function.

setCapsuleTotal
void OdeMass::set_capsule_total(float total_mass, int direction, float radius, float length);

Undocumented function.

setCylinder
void OdeMass::set_cylinder(float density, int direction, float radius, float length);

Undocumented function.

setCylinderTotal
void OdeMass::set_cylinder_total(float total_mass, int direction, float radius, float length);

Undocumented function.

setParameters
void OdeMass::set_parameters(float themass, float cgx, float cgy, float cgz, float I11, float I22, float I33, float I12, float I13, float I23);

Undocumented function.

setSphere
void OdeMass::set_sphere(float density, float radius);

Undocumented function.

setSphereTotal
void OdeMass::set_sphere_total(float total_mass, float radius);

Undocumented function.

setZero
void OdeMass::set_zero(void);

Undocumented function.

translate
void OdeMass::translate(float x, float y, float z);

Undocumented function.

write
virtual void OdeMass::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


OdeNullJoint

    from pandac.PandaModules import OdeNullJoint
    Class : OdeNullJoint
    Description :

Inheritance:

    OdeNullJoint: OdeJoint
    OdeJoint: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeNullJoint:

    OdeNullJoint (Constructor)
    getClassType

Methods of OdeJoint:

    attachBodies
    attachBody
    compareTo
    convertToAMotor
    convertToBall
    convertToContact
    convertToFixed
    convertToHinge
    convertToHinge2
    convertToLMotor
    convertToNull
    convertToPlane2d
    convertToSlider
    convertToUniversal
    destroy
    detach
    getBody
    getClassType
    getJointType
    operator ==
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeJoint:

    JTNone | (JointType)
JTBall | (JointType)
JTHinge | (JointType)
JTSlider | (JointType)
JTContact | (JointType)
JTUniversal | (JointType)
JTHinge2 | (JointType)
JTFixed | (JointType)
JTNull | (JointType)
JTAMotor | (JointType)
JTLMotor | (JointType)
JTPlane2d | (JointType)
OdeNullJoint
OdeNullJoint::OdeNullJoint(OdeWorld &world);

Undocumented function.

getClassType
static TypeHandle OdeNullJoint::get_class_type(void);

Undocumented function.

attachBodies
void OdeJoint::attach_bodies(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

attachBody
void OdeJoint::attach_body(OdeBody const &body, int index);

Undocumented function.

compareTo
int OdeJoint::compare_to(OdeJoint const &other) const;

Undocumented function.

convertToAMotor
OdeAMotorJoint OdeJoint::convert_to_a_motor(void) const;

Undocumented function.

convertToBall
OdeBallJoint OdeJoint::convert_to_ball(void) const;

Undocumented function.

convertToContact
OdeContactJoint OdeJoint::convert_to_contact(void) const;

Undocumented function.

convertToFixed
OdeFixedJoint OdeJoint::convert_to_fixed(void) const;

Undocumented function.

convertToHinge
OdeHingeJoint OdeJoint::convert_to_hinge(void) const;

Undocumented function.

convertToHinge2
OdeHinge2Joint OdeJoint::convert_to_hinge2(void) const;

Undocumented function.

convertToLMotor
OdeLMotorJoint OdeJoint::convert_to_l_motor(void) const;

Undocumented function.

convertToNull
OdeNullJoint OdeJoint::convert_to_null(void) const;

Undocumented function.

convertToPlane2d
OdePlane2dJoint OdeJoint::convert_to_plane2d(void) const;

Undocumented function.

convertToSlider
OdeSliderJoint OdeJoint::convert_to_slider(void) const;

Undocumented function.

convertToUniversal
OdeUniversalJoint OdeJoint::convert_to_universal(void) const;

Undocumented function.

destroy
void OdeJoint::destroy(void);

Undocumented function.

detach
void OdeJoint::detach(void);

Undocumented function.

getBody
OdeBody OdeJoint::get_body(int index) const;

Undocumented function.

getClassType
static TypeHandle OdeJoint::get_class_type(void);

Undocumented function.

getJointType
int OdeJoint::get_joint_type(void) const;

* INLINE void *get_data(); */

operator ==
bool OdeJoint::operator ==(OdeJoint const &other) const;

Undocumented function.

write
virtual void OdeJoint::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdePlane2dJoint

    from pandac.PandaModules import OdePlane2dJoint
    Class : OdePlane2dJoint
    Description :

Inheritance:

    OdePlane2dJoint: OdeJoint
    OdeJoint: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdePlane2dJoint:

    OdePlane2dJoint (Constructor)
    getClassType
    setAngleParam
    setXParam
    setYParam

Methods of OdeJoint:

    attachBodies
    attachBody
    compareTo
    convertToAMotor
    convertToBall
    convertToContact
    convertToFixed
    convertToHinge
    convertToHinge2
    convertToLMotor
    convertToNull
    convertToPlane2d
    convertToSlider
    convertToUniversal
    destroy
    detach
    getBody
    getClassType
    getJointType
    operator ==
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeJoint:

    JTNone | (JointType)
JTBall | (JointType)
JTHinge | (JointType)
JTSlider | (JointType)
JTContact | (JointType)
JTUniversal | (JointType)
JTHinge2 | (JointType)
JTFixed | (JointType)
JTNull | (JointType)
JTAMotor | (JointType)
JTLMotor | (JointType)
JTPlane2d | (JointType)
OdePlane2dJoint
OdePlane2dJoint::OdePlane2dJoint(OdeWorld &world);

Undocumented function.

getClassType
static TypeHandle OdePlane2dJoint::get_class_type(void);

Undocumented function.

setAngleParam
void OdePlane2dJoint::set_angle_param(int parameter, float value);

Undocumented function.

setXParam
void OdePlane2dJoint::set_x_param(int parameter, float value);

Filename: odePlane2dJoint.I Created by: joswilso (27Dec06)
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."

setYParam
void OdePlane2dJoint::set_y_param(int parameter, float value);

Undocumented function.

attachBodies
void OdeJoint::attach_bodies(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

attachBody
void OdeJoint::attach_body(OdeBody const &body, int index);

Undocumented function.

compareTo
int OdeJoint::compare_to(OdeJoint const &other) const;

Undocumented function.

convertToAMotor
OdeAMotorJoint OdeJoint::convert_to_a_motor(void) const;

Undocumented function.

convertToBall
OdeBallJoint OdeJoint::convert_to_ball(void) const;

Undocumented function.

convertToContact
OdeContactJoint OdeJoint::convert_to_contact(void) const;

Undocumented function.

convertToFixed
OdeFixedJoint OdeJoint::convert_to_fixed(void) const;

Undocumented function.

convertToHinge
OdeHingeJoint OdeJoint::convert_to_hinge(void) const;

Undocumented function.

convertToHinge2
OdeHinge2Joint OdeJoint::convert_to_hinge2(void) const;

Undocumented function.

convertToLMotor
OdeLMotorJoint OdeJoint::convert_to_l_motor(void) const;

Undocumented function.

convertToNull
OdeNullJoint OdeJoint::convert_to_null(void) const;

Undocumented function.

convertToPlane2d
OdePlane2dJoint OdeJoint::convert_to_plane2d(void) const;

Undocumented function.

convertToSlider
OdeSliderJoint OdeJoint::convert_to_slider(void) const;

Undocumented function.

convertToUniversal
OdeUniversalJoint OdeJoint::convert_to_universal(void) const;

Undocumented function.

destroy
void OdeJoint::destroy(void);

Undocumented function.

detach
void OdeJoint::detach(void);

Undocumented function.

getBody
OdeBody OdeJoint::get_body(int index) const;

Undocumented function.

getClassType
static TypeHandle OdeJoint::get_class_type(void);

Undocumented function.

getJointType
int OdeJoint::get_joint_type(void) const;

* INLINE void *get_data(); */

operator ==
bool OdeJoint::operator ==(OdeJoint const &other) const;

Undocumented function.

write
virtual void OdeJoint::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdePlaneGeom

    from pandac.PandaModules import OdePlaneGeom
    Class : OdePlaneGeom
    Description :

Inheritance:

    OdePlaneGeom: OdeGeom
    OdeGeom: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdePlaneGeom:

    OdePlaneGeom (Constructor)
    getClassType
    getParams
    getPointDepth
    setParams

Methods of OdeGeom:

    clearOffset
    compareTo
    convertToBox
    convertToCappedCylinder
    convertToCylinder
    convertToHashSpace
    convertToPlane
    convertToQuadTreeSpace
    convertToRay
    convertToSimpleSpace
    convertToSphere
    convertToTriMesh
    destroy
    disable
    enable
    getAABB
    getBody
    getCategoryBits
    getClass
    getClassType
    getCollideBits
    getOffsetPosition
    getOffsetQuaternion
    getOffsetRotation
    getPosition
    getQuaternion
    getRotation
    getSpace
    isEnabled
    isOffset
    isSpace
    setBody
    setCategoryBits
    setCollideBits
    setOffsetPosition
    setOffsetQuaternion
    setOffsetRotation
    setOffsetWorldPosition
    setOffsetWorldQuaternion
    setOffsetWorldRotation
    setPosition
    setQuaternion
    setRotation
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeGeom:

    GCSphere | (GeomClass)
GCBox | (GeomClass)
GCCappedCylinder | (GeomClass)
GCCylinder | (GeomClass)
GCPlane | (GeomClass)
GCRay | (GeomClass)
GCTriMesh | (GeomClass)
GCSimpleSpace | (GeomClass)
GCHashSpace | (GeomClass)
GCQuadTreeSpace | (GeomClass)
OdePlaneGeom
OdePlaneGeom::OdePlaneGeom(float a, float b, float c, float d);

Undocumented function.

getClassType
static TypeHandle OdePlaneGeom::get_class_type(void);

Undocumented function.

getParams
LVecBase4f OdePlaneGeom::get_params(void) const;

Undocumented function.

getPointDepth
float OdePlaneGeom::get_point_depth(float x, float y, float z) const;

Undocumented function.

setParams
void OdePlaneGeom::set_params(float a, float b, float c, float d);

Undocumented function.

clearOffset
void OdeGeom::clear_offset(void);

Undocumented function.

compareTo
int OdeGeom::compare_to(OdeGeom const &other) const;

Undocumented function.

convertToBox
OdeBoxGeom OdeGeom::convert_to_box(void) const;

Undocumented function.

convertToCappedCylinder
OdeCappedCylinderGeom OdeGeom::convert_to_capped_cylinder(void) const;

Undocumented function.

convertToCylinder
OdeCylinderGeom OdeGeom::convert_to_cylinder(void) const;

OdeConvexGeom convert_to_convex() const;

convertToHashSpace
OdeHashSpace OdeGeom::convert_to_hash_space(void) const;

Undocumented function.

convertToPlane
OdePlaneGeom OdeGeom::convert_to_plane(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToQuadTreeSpace
OdeQuadTreeSpace OdeGeom::convert_to_quad_tree_space(void) const;

Undocumented function.

convertToRay
OdeRayGeom OdeGeom::convert_to_ray(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToSimpleSpace
OdeSimpleSpace OdeGeom::convert_to_simple_space(void) const;

Undocumented function.

convertToSphere
OdeSphereGeom OdeGeom::convert_to_sphere(void) const;

Undocumented function.

convertToTriMesh
OdeTriMeshGeom OdeGeom::convert_to_tri_mesh(void) const;

Undocumented function.

destroy
void OdeGeom::destroy(void);

Undocumented function.

disable
void OdeGeom::disable(void);

Undocumented function.

enable
void OdeGeom::enable(void);

Undocumented function.

getAABB
void OdeGeom::get_AABB(LVecBase3f &min, LVecBase3f &max) const;

Undocumented function.

getBody
OdeBody OdeGeom::get_body(void) const;

INLINE void set_data(void* data);

getCategoryBits
BitMask< unsigned int, 32 > OdeGeom::get_category_bits(void);

Undocumented function.

getClass
int OdeGeom::get_class(void) const;

Undocumented function.

getClassType
static TypeHandle OdeGeom::get_class_type(void);

Undocumented function.

getCollideBits
BitMask< unsigned int, 32 > OdeGeom::get_collide_bits(void);

Undocumented function.

getOffsetPosition
LPoint3f OdeGeom::get_offset_position(void) const;

Undocumented function.

getOffsetQuaternion
LQuaternionf OdeGeom::get_offset_quaternion(void) const;

Undocumented function.

getOffsetRotation
LMatrix3f OdeGeom::get_offset_rotation(void) const;

Undocumented function.

getPosition
LPoint3f OdeGeom::get_position(void) const;

Undocumented function.

getQuaternion
LQuaternionf OdeGeom::get_quaternion(void) const;

Undocumented function.

getRotation
LMatrix3f OdeGeom::get_rotation(void) const;

Undocumented function.

getSpace
OdeSpace OdeGeom::get_space(void) const;

Undocumented function.

isEnabled
int OdeGeom::is_enabled(void);

Undocumented function.

isOffset
int OdeGeom::is_offset(void);

Undocumented function.

isSpace
int OdeGeom::is_space(void);

Undocumented function.

setBody
void OdeGeom::set_body(OdeBody &body);

INLINE void set_data(void* data);

setCategoryBits
void OdeGeom::set_category_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCollideBits
void OdeGeom::set_collide_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setOffsetPosition
void OdeGeom::set_offset_position(float x, float y, float z);

Undocumented function.

setOffsetQuaternion
void OdeGeom::set_offset_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetRotation
void OdeGeom::set_offset_rotation(LMatrix3f const &r);

Undocumented function.

setOffsetWorldPosition
void OdeGeom::set_offset_world_position(float x, float y, float z);

Undocumented function.

setOffsetWorldQuaternion
void OdeGeom::set_offset_world_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetWorldRotation
void OdeGeom::set_offset_world_rotation(LMatrix3f const &r);

Undocumented function.

setPosition
void OdeGeom::set_position(float x, float y, float z);

Undocumented function.

setQuaternion
void OdeGeom::set_quaternion(LQuaternionf const &q);

Undocumented function.

setRotation
void OdeGeom::set_rotation(LMatrix3f const &r);

Undocumented function.

write
virtual void OdeGeom::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeQuadTreeSpace

    from pandac.PandaModules import OdeQuadTreeSpace
    Class : OdeQuadTreeSpace
    Description : c

Inheritance:

    OdeQuadTreeSpace: OdeSpace
    OdeSpace: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeQuadTreeSpace:

    OdeQuadTreeSpace (Constructor)
    getClassType

Methods of OdeSpace:

    add
    autoCallback
    autoCollide
    clean
    convertToHashSpace
    convertToQuadTreeSpace
    convertToSimpleSpace
    destroy
    disable
    enable
    getAABB
    getCategoryBits
    getClass
    getClassType
    getCleanup
    getCollideBits
    getCollideId
    getContactData
    getContactId
    getGeom
    getNumGeoms
    getSpace
    getSurfaceType
    isEnabled
    isSpace
    query
    remove
    setAutoCollideJointGroup
    setAutoCollideWorld
    setCategoryBits
    setCleanup
    setCollideBits
    setCollideId
    setSurfaceType
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
OdeQuadTreeSpace
OdeQuadTreeSpace::OdeQuadTreeSpace(LPoint3f const &center, LVecBase3f const &extents, int const depth);

Undocumented function.

getClassType
static TypeHandle OdeQuadTreeSpace::get_class_type(void);

Undocumented function.

add
void OdeSpace::add(OdeGeom &geom);

Undocumented function.

autoCallback
static void OdeSpace::autoCallback(void *, dxGeom *, dxGeom *);

Undocumented function.

autoCollide
int OdeSpace::autoCollide(void);

Undocumented function.

clean
void OdeSpace::clean(void);

Undocumented function.

convertToHashSpace
OdeHashSpace OdeSpace::convert_to_hash_space(void) const;

Undocumented function.

convertToQuadTreeSpace
OdeQuadTreeSpace OdeSpace::convert_to_quad_tree_space(void) const;

Undocumented function.

convertToSimpleSpace
OdeSimpleSpace OdeSpace::convert_to_simple_space(void) const;

Undocumented function.

destroy
void OdeSpace::destroy(void);

Undocumented function.

disable
void OdeSpace::disable(void);

Undocumented function.

enable
void OdeSpace::enable(void);

Undocumented function.

getAABB
void OdeSpace::get_AABB(LVecBase3f &min, LVecBase3f &max) const;

Undocumented function.

getCategoryBits
BitMask< unsigned int, 32 > OdeSpace::get_category_bits(void);

Undocumented function.

getClass
int OdeSpace::get_class(void) const;

Undocumented function.

getClassType
static TypeHandle OdeSpace::get_class_type(void);

Undocumented function.

getCleanup
int OdeSpace::get_cleanup(void) const;

Undocumented function.

getCollideBits
BitMask< unsigned int, 32 > OdeSpace::get_collide_bits(void);

Undocumented function.

getCollideId
int OdeSpace::get_collide_id(dxGeom *o1);

Undocumented function.

getContactData
static double OdeSpace::get_contact_data(int data_index);

Undocumented function.

getContactId
int OdeSpace::get_contact_id(int data_index, int first = (0));

Undocumented function.

getGeom
OdeGeom OdeSpace::get_geom(int i);

Undocumented function.

getNumGeoms
int OdeSpace::get_num_geoms(void) const;

Undocumented function.

getSpace
OdeSpace OdeSpace::get_space(void) const;

Undocumented function.

getSurfaceType
int OdeSpace::get_surface_type(dxGeom *o1);

Undocumented function.

isEnabled
int OdeSpace::is_enabled(void);

Undocumented function.

isSpace
int OdeSpace::is_space(void);

Undocumented function.

query
int OdeSpace::query(OdeGeom const &geom) const;

Undocumented function.

remove
void OdeSpace::remove(OdeGeom &geom);

Undocumented function.

setAutoCollideJointGroup
void OdeSpace::set_auto_collide_joint_group(OdeJointGroup &);

Undocumented function.

setAutoCollideWorld
void OdeSpace::set_auto_collide_world(OdeWorld &);

Undocumented function.

setCategoryBits
void OdeSpace::set_category_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCleanup
void OdeSpace::set_cleanup(int mode);

Undocumented function.

setCollideBits
void OdeSpace::set_collide_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCollideId
int OdeSpace::set_collide_id(int collide_id, dxGeom *id);

Undocumented function.

setSurfaceType
void OdeSpace::set_surface_type(int surface_type, dxGeom *id);

Undocumented function.

write
virtual void OdeSpace::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeRayGeom

    from pandac.PandaModules import OdeRayGeom
    Class : OdeRayGeom
    Description :

Inheritance:

    OdeRayGeom: OdeGeom
    OdeGeom: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeRayGeom:

    OdeRayGeom (Constructor)
    get
    getBackfaceCull
    getClassType
    getClosestHit
    getDirection
    getFirstContact
    getLength
    getParams
    getStart
    set
    setClosestHit
    setLength
    setParams

Methods of OdeGeom:

    clearOffset
    compareTo
    convertToBox
    convertToCappedCylinder
    convertToCylinder
    convertToHashSpace
    convertToPlane
    convertToQuadTreeSpace
    convertToRay
    convertToSimpleSpace
    convertToSphere
    convertToTriMesh
    destroy
    disable
    enable
    getAABB
    getBody
    getCategoryBits
    getClass
    getClassType
    getCollideBits
    getOffsetPosition
    getOffsetQuaternion
    getOffsetRotation
    getPosition
    getQuaternion
    getRotation
    getSpace
    isEnabled
    isOffset
    isSpace
    setBody
    setCategoryBits
    setCollideBits
    setOffsetPosition
    setOffsetQuaternion
    setOffsetRotation
    setOffsetWorldPosition
    setOffsetWorldQuaternion
    setOffsetWorldRotation
    setPosition
    setQuaternion
    setRotation
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeGeom:

    GCSphere | (GeomClass)
GCBox | (GeomClass)
GCCappedCylinder | (GeomClass)
GCCylinder | (GeomClass)
GCPlane | (GeomClass)
GCRay | (GeomClass)
GCTriMesh | (GeomClass)
GCSimpleSpace | (GeomClass)
GCHashSpace | (GeomClass)
GCQuadTreeSpace | (GeomClass)
OdeRayGeom
OdeRayGeom::OdeRayGeom(float length);

Undocumented function.

get
void OdeRayGeom::get(LVecBase3f &start, LVecBase3f &dir) const;

Undocumented function.

getBackfaceCull
int OdeRayGeom::get_backface_cull(void) const;

Undocumented function.

getClassType
static TypeHandle OdeRayGeom::get_class_type(void);

Undocumented function.

getClosestHit
int OdeRayGeom::get_closest_hit(void);

Undocumented function.

getDirection
LVecBase3f OdeRayGeom::get_direction(void) const;

Undocumented function.

getFirstContact
int OdeRayGeom::get_first_contact(void) const;

Undocumented function.

getLength
float OdeRayGeom::get_length(void);

Undocumented function.

getParams
void OdeRayGeom::get_params(int &first_contact, int &backface_cull) const;

Undocumented function.

getStart
LVecBase3f OdeRayGeom::get_start(void) const;

Undocumented function.

set
void OdeRayGeom::set(float px, float py, float pz, float dx, float dy, float dz);

Undocumented function.

setClosestHit
void OdeRayGeom::set_closest_hit(int closest_hit);

Undocumented function.

setLength
void OdeRayGeom::set_length(float length);

Undocumented function.

setParams
void OdeRayGeom::set_params(int first_contact, int backface_cull);

Undocumented function.

clearOffset
void OdeGeom::clear_offset(void);

Undocumented function.

compareTo
int OdeGeom::compare_to(OdeGeom const &other) const;

Undocumented function.

convertToBox
OdeBoxGeom OdeGeom::convert_to_box(void) const;

Undocumented function.

convertToCappedCylinder
OdeCappedCylinderGeom OdeGeom::convert_to_capped_cylinder(void) const;

Undocumented function.

convertToCylinder
OdeCylinderGeom OdeGeom::convert_to_cylinder(void) const;

OdeConvexGeom convert_to_convex() const;

convertToHashSpace
OdeHashSpace OdeGeom::convert_to_hash_space(void) const;

Undocumented function.

convertToPlane
OdePlaneGeom OdeGeom::convert_to_plane(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToQuadTreeSpace
OdeQuadTreeSpace OdeGeom::convert_to_quad_tree_space(void) const;

Undocumented function.

convertToRay
OdeRayGeom OdeGeom::convert_to_ray(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToSimpleSpace
OdeSimpleSpace OdeGeom::convert_to_simple_space(void) const;

Undocumented function.

convertToSphere
OdeSphereGeom OdeGeom::convert_to_sphere(void) const;

Undocumented function.

convertToTriMesh
OdeTriMeshGeom OdeGeom::convert_to_tri_mesh(void) const;

Undocumented function.

destroy
void OdeGeom::destroy(void);

Undocumented function.

disable
void OdeGeom::disable(void);

Undocumented function.

enable
void OdeGeom::enable(void);

Undocumented function.

getAABB
void OdeGeom::get_AABB(LVecBase3f &min, LVecBase3f &max) const;

Undocumented function.

getBody
OdeBody OdeGeom::get_body(void) const;

INLINE void set_data(void* data);

getCategoryBits
BitMask< unsigned int, 32 > OdeGeom::get_category_bits(void);

Undocumented function.

getClass
int OdeGeom::get_class(void) const;

Undocumented function.

getClassType
static TypeHandle OdeGeom::get_class_type(void);

Undocumented function.

getCollideBits
BitMask< unsigned int, 32 > OdeGeom::get_collide_bits(void);

Undocumented function.

getOffsetPosition
LPoint3f OdeGeom::get_offset_position(void) const;

Undocumented function.

getOffsetQuaternion
LQuaternionf OdeGeom::get_offset_quaternion(void) const;

Undocumented function.

getOffsetRotation
LMatrix3f OdeGeom::get_offset_rotation(void) const;

Undocumented function.

getPosition
LPoint3f OdeGeom::get_position(void) const;

Undocumented function.

getQuaternion
LQuaternionf OdeGeom::get_quaternion(void) const;

Undocumented function.

getRotation
LMatrix3f OdeGeom::get_rotation(void) const;

Undocumented function.

getSpace
OdeSpace OdeGeom::get_space(void) const;

Undocumented function.

isEnabled
int OdeGeom::is_enabled(void);

Undocumented function.

isOffset
int OdeGeom::is_offset(void);

Undocumented function.

isSpace
int OdeGeom::is_space(void);

Undocumented function.

setBody
void OdeGeom::set_body(OdeBody &body);

INLINE void set_data(void* data);

setCategoryBits
void OdeGeom::set_category_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCollideBits
void OdeGeom::set_collide_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setOffsetPosition
void OdeGeom::set_offset_position(float x, float y, float z);

Undocumented function.

setOffsetQuaternion
void OdeGeom::set_offset_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetRotation
void OdeGeom::set_offset_rotation(LMatrix3f const &r);

Undocumented function.

setOffsetWorldPosition
void OdeGeom::set_offset_world_position(float x, float y, float z);

Undocumented function.

setOffsetWorldQuaternion
void OdeGeom::set_offset_world_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetWorldRotation
void OdeGeom::set_offset_world_rotation(LMatrix3f const &r);

Undocumented function.

setPosition
void OdeGeom::set_position(float x, float y, float z);

Undocumented function.

setQuaternion
void OdeGeom::set_quaternion(LQuaternionf const &q);

Undocumented function.

setRotation
void OdeGeom::set_rotation(LMatrix3f const &r);

Undocumented function.

write
virtual void OdeGeom::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeSimpleSpace

    from pandac.PandaModules import OdeSimpleSpace
    Class : OdeSimpleSpace
    Description : c

Inheritance:

    OdeSimpleSpace: OdeSpace
    OdeSpace: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeSimpleSpace:

    OdeSimpleSpace (Constructor)
    getClassType

Methods of OdeSpace:

    add
    autoCallback
    autoCollide
    clean
    convertToHashSpace
    convertToQuadTreeSpace
    convertToSimpleSpace
    destroy
    disable
    enable
    getAABB
    getCategoryBits
    getClass
    getClassType
    getCleanup
    getCollideBits
    getCollideId
    getContactData
    getContactId
    getGeom
    getNumGeoms
    getSpace
    getSurfaceType
    isEnabled
    isSpace
    query
    remove
    setAutoCollideJointGroup
    setAutoCollideWorld
    setCategoryBits
    setCleanup
    setCollideBits
    setCollideId
    setSurfaceType
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
OdeSimpleSpace
OdeSimpleSpace::OdeSimpleSpace(void);

Undocumented function.

getClassType
static TypeHandle OdeSimpleSpace::get_class_type(void);

Undocumented function.

add
void OdeSpace::add(OdeGeom &geom);

Undocumented function.

autoCallback
static void OdeSpace::autoCallback(void *, dxGeom *, dxGeom *);

Undocumented function.

autoCollide
int OdeSpace::autoCollide(void);

Undocumented function.

clean
void OdeSpace::clean(void);

Undocumented function.

convertToHashSpace
OdeHashSpace OdeSpace::convert_to_hash_space(void) const;

Undocumented function.

convertToQuadTreeSpace
OdeQuadTreeSpace OdeSpace::convert_to_quad_tree_space(void) const;

Undocumented function.

convertToSimpleSpace
OdeSimpleSpace OdeSpace::convert_to_simple_space(void) const;

Undocumented function.

destroy
void OdeSpace::destroy(void);

Undocumented function.

disable
void OdeSpace::disable(void);

Undocumented function.

enable
void OdeSpace::enable(void);

Undocumented function.

getAABB
void OdeSpace::get_AABB(LVecBase3f &min, LVecBase3f &max) const;

Undocumented function.

getCategoryBits
BitMask< unsigned int, 32 > OdeSpace::get_category_bits(void);

Undocumented function.

getClass
int OdeSpace::get_class(void) const;

Undocumented function.

getClassType
static TypeHandle OdeSpace::get_class_type(void);

Undocumented function.

getCleanup
int OdeSpace::get_cleanup(void) const;

Undocumented function.

getCollideBits
BitMask< unsigned int, 32 > OdeSpace::get_collide_bits(void);

Undocumented function.

getCollideId
int OdeSpace::get_collide_id(dxGeom *o1);

Undocumented function.

getContactData
static double OdeSpace::get_contact_data(int data_index);

Undocumented function.

getContactId
int OdeSpace::get_contact_id(int data_index, int first = (0));

Undocumented function.

getGeom
OdeGeom OdeSpace::get_geom(int i);

Undocumented function.

getNumGeoms
int OdeSpace::get_num_geoms(void) const;

Undocumented function.

getSpace
OdeSpace OdeSpace::get_space(void) const;

Undocumented function.

getSurfaceType
int OdeSpace::get_surface_type(dxGeom *o1);

Undocumented function.

isEnabled
int OdeSpace::is_enabled(void);

Undocumented function.

isSpace
int OdeSpace::is_space(void);

Undocumented function.

query
int OdeSpace::query(OdeGeom const &geom) const;

Undocumented function.

remove
void OdeSpace::remove(OdeGeom &geom);

Undocumented function.

setAutoCollideJointGroup
void OdeSpace::set_auto_collide_joint_group(OdeJointGroup &);

Undocumented function.

setAutoCollideWorld
void OdeSpace::set_auto_collide_world(OdeWorld &);

Undocumented function.

setCategoryBits
void OdeSpace::set_category_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCleanup
void OdeSpace::set_cleanup(int mode);

Undocumented function.

setCollideBits
void OdeSpace::set_collide_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCollideId
int OdeSpace::set_collide_id(int collide_id, dxGeom *id);

Undocumented function.

setSurfaceType
void OdeSpace::set_surface_type(int surface_type, dxGeom *id);

Undocumented function.

write
virtual void OdeSpace::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeSliderJoint

    from pandac.PandaModules import OdeSliderJoint
    Class : OdeSliderJoint
    Description :

Inheritance:

    OdeSliderJoint: OdeJoint
    OdeJoint: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeSliderJoint:

    OdeSliderJoint (Constructor)
    addForce
    getAxis
    getClassType
    getParamBounce
    getParamCFM
    getParamFMax
    getParamFudgeFactor
    getParamHiStop
    getParamLoStop
    getParamStopCFM
    getParamStopERP
    getParamVel
    getPosition
    getPositionRate
    setAxis
    setAxisDelta
    setParamBounce
    setParamCFM
    setParamFMax
    setParamFudgeFactor
    setParamHiStop
    setParamLoStop
    setParamStopCFM
    setParamStopERP
    setParamVel

Methods of OdeJoint:

    attachBodies
    attachBody
    compareTo
    convertToAMotor
    convertToBall
    convertToContact
    convertToFixed
    convertToHinge
    convertToHinge2
    convertToLMotor
    convertToNull
    convertToPlane2d
    convertToSlider
    convertToUniversal
    destroy
    detach
    getBody
    getClassType
    getJointType
    operator ==
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeJoint:

    JTNone | (JointType)
JTBall | (JointType)
JTHinge | (JointType)
JTSlider | (JointType)
JTContact | (JointType)
JTUniversal | (JointType)
JTHinge2 | (JointType)
JTFixed | (JointType)
JTNull | (JointType)
JTAMotor | (JointType)
JTLMotor | (JointType)
JTPlane2d | (JointType)
OdeSliderJoint
OdeSliderJoint::OdeSliderJoint(OdeWorld &world);

Undocumented function.

addForce
void OdeSliderJoint::add_force(float force);

Undocumented function.

getAxis
LVecBase3f OdeSliderJoint::get_axis(void) const;

Undocumented function.

getClassType
static TypeHandle OdeSliderJoint::get_class_type(void);

Undocumented function.

getParamBounce
float OdeSliderJoint::get_param_bounce(void) const;

Undocumented function.

getParamCFM
float OdeSliderJoint::get_param_CFM(void) const;

Undocumented function.

getParamFMax
float OdeSliderJoint::get_param_f_max(void) const;

Undocumented function.

getParamFudgeFactor
float OdeSliderJoint::get_param_fudge_factor(void) const;

Undocumented function.

getParamHiStop
float OdeSliderJoint::get_param_hi_stop(void) const;

Undocumented function.

getParamLoStop
float OdeSliderJoint::get_param_lo_stop(void) const;

Undocumented function.

getParamStopCFM
float OdeSliderJoint::get_param_stop_CFM(void) const;

Undocumented function.

getParamStopERP
float OdeSliderJoint::get_param_stop_ERP(void) const;

Undocumented function.

getParamVel
float OdeSliderJoint::get_param_vel(void) const;

Undocumented function.

getPosition
float OdeSliderJoint::get_position(void) const;

Undocumented function.

getPositionRate
float OdeSliderJoint::get_position_rate(void) const;

Undocumented function.

setAxis
void OdeSliderJoint::set_axis(float x, float y, float z);

Undocumented function.

setAxisDelta
void OdeSliderJoint::set_axis_delta(float x, float y, float z, float ax, float ay, float az);

Undocumented function.

setParamBounce
void OdeSliderJoint::set_param_bounce(float val);

Undocumented function.

setParamCFM
void OdeSliderJoint::set_param_CFM(float val);

Undocumented function.

setParamFMax
void OdeSliderJoint::set_param_f_max(float val);

Undocumented function.

setParamFudgeFactor
void OdeSliderJoint::set_param_fudge_factor(float val);

Undocumented function.

setParamHiStop
void OdeSliderJoint::set_param_hi_stop(float val);

Undocumented function.

setParamLoStop
void OdeSliderJoint::set_param_lo_stop(float val);

Undocumented function.

setParamStopCFM
void OdeSliderJoint::set_param_stop_CFM(float val);

Undocumented function.

setParamStopERP
void OdeSliderJoint::set_param_stop_ERP(float val);

Undocumented function.

setParamVel
void OdeSliderJoint::set_param_vel(float val);

Undocumented function.

attachBodies
void OdeJoint::attach_bodies(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

attachBody
void OdeJoint::attach_body(OdeBody const &body, int index);

Undocumented function.

compareTo
int OdeJoint::compare_to(OdeJoint const &other) const;

Undocumented function.

convertToAMotor
OdeAMotorJoint OdeJoint::convert_to_a_motor(void) const;

Undocumented function.

convertToBall
OdeBallJoint OdeJoint::convert_to_ball(void) const;

Undocumented function.

convertToContact
OdeContactJoint OdeJoint::convert_to_contact(void) const;

Undocumented function.

convertToFixed
OdeFixedJoint OdeJoint::convert_to_fixed(void) const;

Undocumented function.

convertToHinge
OdeHingeJoint OdeJoint::convert_to_hinge(void) const;

Undocumented function.

convertToHinge2
OdeHinge2Joint OdeJoint::convert_to_hinge2(void) const;

Undocumented function.

convertToLMotor
OdeLMotorJoint OdeJoint::convert_to_l_motor(void) const;

Undocumented function.

convertToNull
OdeNullJoint OdeJoint::convert_to_null(void) const;

Undocumented function.

convertToPlane2d
OdePlane2dJoint OdeJoint::convert_to_plane2d(void) const;

Undocumented function.

convertToSlider
OdeSliderJoint OdeJoint::convert_to_slider(void) const;

Undocumented function.

convertToUniversal
OdeUniversalJoint OdeJoint::convert_to_universal(void) const;

Undocumented function.

destroy
void OdeJoint::destroy(void);

Undocumented function.

detach
void OdeJoint::detach(void);

Undocumented function.

getBody
OdeBody OdeJoint::get_body(int index) const;

Undocumented function.

getClassType
static TypeHandle OdeJoint::get_class_type(void);

Undocumented function.

getJointType
int OdeJoint::get_joint_type(void) const;

* INLINE void *get_data(); */

operator ==
bool OdeJoint::operator ==(OdeJoint const &other) const;

Undocumented function.

write
virtual void OdeJoint::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeSpace

    from pandac.PandaModules import OdeSpace
    Class : OdeSpace
    Description :

Inheritance:

    OdeSpace: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeSpace:

    add
    autoCallback
    autoCollide
    clean
    convertToHashSpace
    convertToQuadTreeSpace
    convertToSimpleSpace
    destroy
    disable
    enable
    getAABB
    getCategoryBits
    getClass
    getClassType
    getCleanup
    getCollideBits
    getCollideId
    getContactData
    getContactId
    getGeom
    getNumGeoms
    getSpace
    getSurfaceType
    isEnabled
    isSpace
    query
    remove
    setAutoCollideJointGroup
    setAutoCollideWorld
    setCategoryBits
    setCleanup
    setCollideBits
    setCollideId
    setSurfaceType
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
add
void OdeSpace::add(OdeGeom &geom);

Undocumented function.

autoCallback
static void OdeSpace::autoCallback(void *, dxGeom *, dxGeom *);

Undocumented function.

autoCollide
int OdeSpace::autoCollide(void);

Undocumented function.

clean
void OdeSpace::clean(void);

Undocumented function.

convertToHashSpace
OdeHashSpace OdeSpace::convert_to_hash_space(void) const;

Undocumented function.

convertToQuadTreeSpace
OdeQuadTreeSpace OdeSpace::convert_to_quad_tree_space(void) const;

Undocumented function.

convertToSimpleSpace
OdeSimpleSpace OdeSpace::convert_to_simple_space(void) const;

Undocumented function.

destroy
void OdeSpace::destroy(void);

Undocumented function.

disable
void OdeSpace::disable(void);

Undocumented function.

enable
void OdeSpace::enable(void);

Undocumented function.

getAABB
void OdeSpace::get_AABB(LVecBase3f &min, LVecBase3f &max) const;

Undocumented function.

getCategoryBits
BitMask< unsigned int, 32 > OdeSpace::get_category_bits(void);

Undocumented function.

getClass
int OdeSpace::get_class(void) const;

Undocumented function.

getClassType
static TypeHandle OdeSpace::get_class_type(void);

Undocumented function.

getCleanup
int OdeSpace::get_cleanup(void) const;

Undocumented function.

getCollideBits
BitMask< unsigned int, 32 > OdeSpace::get_collide_bits(void);

Undocumented function.

getCollideId
int OdeSpace::get_collide_id(dxGeom *o1);

Undocumented function.

getContactData
static double OdeSpace::get_contact_data(int data_index);

Undocumented function.

getContactId
int OdeSpace::get_contact_id(int data_index, int first = (0));

Undocumented function.

getGeom
OdeGeom OdeSpace::get_geom(int i);

Undocumented function.

getNumGeoms
int OdeSpace::get_num_geoms(void) const;

Undocumented function.

getSpace
OdeSpace OdeSpace::get_space(void) const;

Undocumented function.

getSurfaceType
int OdeSpace::get_surface_type(dxGeom *o1);

Undocumented function.

isEnabled
int OdeSpace::is_enabled(void);

Undocumented function.

isSpace
int OdeSpace::is_space(void);

Undocumented function.

query
int OdeSpace::query(OdeGeom const &geom) const;

Undocumented function.

remove
void OdeSpace::remove(OdeGeom &geom);

Undocumented function.

setAutoCollideJointGroup
void OdeSpace::set_auto_collide_joint_group(OdeJointGroup &);

Undocumented function.

setAutoCollideWorld
void OdeSpace::set_auto_collide_world(OdeWorld &);

Undocumented function.

setCategoryBits
void OdeSpace::set_category_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCleanup
void OdeSpace::set_cleanup(int mode);

Undocumented function.

setCollideBits
void OdeSpace::set_collide_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCollideId
int OdeSpace::set_collide_id(int collide_id, dxGeom *id);

Undocumented function.

setSurfaceType
void OdeSpace::set_surface_type(int surface_type, dxGeom *id);

Undocumented function.

write
virtual void OdeSpace::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeSphereGeom

    from pandac.PandaModules import OdeSphereGeom
    Class : OdeSphereGeom
    Description :

Inheritance:

    OdeSphereGeom: OdeGeom
    OdeGeom: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeSphereGeom:

    OdeSphereGeom (Constructor)
    getClassType
    getPointDepth
    getRadius
    setRadius

Methods of OdeGeom:

    clearOffset
    compareTo
    convertToBox
    convertToCappedCylinder
    convertToCylinder
    convertToHashSpace
    convertToPlane
    convertToQuadTreeSpace
    convertToRay
    convertToSimpleSpace
    convertToSphere
    convertToTriMesh
    destroy
    disable
    enable
    getAABB
    getBody
    getCategoryBits
    getClass
    getClassType
    getCollideBits
    getOffsetPosition
    getOffsetQuaternion
    getOffsetRotation
    getPosition
    getQuaternion
    getRotation
    getSpace
    isEnabled
    isOffset
    isSpace
    setBody
    setCategoryBits
    setCollideBits
    setOffsetPosition
    setOffsetQuaternion
    setOffsetRotation
    setOffsetWorldPosition
    setOffsetWorldQuaternion
    setOffsetWorldRotation
    setPosition
    setQuaternion
    setRotation
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeGeom:

    GCSphere | (GeomClass)
GCBox | (GeomClass)
GCCappedCylinder | (GeomClass)
GCCylinder | (GeomClass)
GCPlane | (GeomClass)
GCRay | (GeomClass)
GCTriMesh | (GeomClass)
GCSimpleSpace | (GeomClass)
GCHashSpace | (GeomClass)
GCQuadTreeSpace | (GeomClass)
OdeSphereGeom
OdeSphereGeom::OdeSphereGeom(float radius);

Undocumented function.

getClassType
static TypeHandle OdeSphereGeom::get_class_type(void);

Undocumented function.

getPointDepth
float OdeSphereGeom::get_point_depth(float x, float y, float z) const;

Undocumented function.

getRadius
float OdeSphereGeom::get_radius(void) const;

Undocumented function.

setRadius
void OdeSphereGeom::set_radius(float radius);

Undocumented function.

clearOffset
void OdeGeom::clear_offset(void);

Undocumented function.

compareTo
int OdeGeom::compare_to(OdeGeom const &other) const;

Undocumented function.

convertToBox
OdeBoxGeom OdeGeom::convert_to_box(void) const;

Undocumented function.

convertToCappedCylinder
OdeCappedCylinderGeom OdeGeom::convert_to_capped_cylinder(void) const;

Undocumented function.

convertToCylinder
OdeCylinderGeom OdeGeom::convert_to_cylinder(void) const;

OdeConvexGeom convert_to_convex() const;

convertToHashSpace
OdeHashSpace OdeGeom::convert_to_hash_space(void) const;

Undocumented function.

convertToPlane
OdePlaneGeom OdeGeom::convert_to_plane(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToQuadTreeSpace
OdeQuadTreeSpace OdeGeom::convert_to_quad_tree_space(void) const;

Undocumented function.

convertToRay
OdeRayGeom OdeGeom::convert_to_ray(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToSimpleSpace
OdeSimpleSpace OdeGeom::convert_to_simple_space(void) const;

Undocumented function.

convertToSphere
OdeSphereGeom OdeGeom::convert_to_sphere(void) const;

Undocumented function.

convertToTriMesh
OdeTriMeshGeom OdeGeom::convert_to_tri_mesh(void) const;

Undocumented function.

destroy
void OdeGeom::destroy(void);

Undocumented function.

disable
void OdeGeom::disable(void);

Undocumented function.

enable
void OdeGeom::enable(void);

Undocumented function.

getAABB
void OdeGeom::get_AABB(LVecBase3f &min, LVecBase3f &max) const;

Undocumented function.

getBody
OdeBody OdeGeom::get_body(void) const;

INLINE void set_data(void* data);

getCategoryBits
BitMask< unsigned int, 32 > OdeGeom::get_category_bits(void);

Undocumented function.

getClass
int OdeGeom::get_class(void) const;

Undocumented function.

getClassType
static TypeHandle OdeGeom::get_class_type(void);

Undocumented function.

getCollideBits
BitMask< unsigned int, 32 > OdeGeom::get_collide_bits(void);

Undocumented function.

getOffsetPosition
LPoint3f OdeGeom::get_offset_position(void) const;

Undocumented function.

getOffsetQuaternion
LQuaternionf OdeGeom::get_offset_quaternion(void) const;

Undocumented function.

getOffsetRotation
LMatrix3f OdeGeom::get_offset_rotation(void) const;

Undocumented function.

getPosition
LPoint3f OdeGeom::get_position(void) const;

Undocumented function.

getQuaternion
LQuaternionf OdeGeom::get_quaternion(void) const;

Undocumented function.

getRotation
LMatrix3f OdeGeom::get_rotation(void) const;

Undocumented function.

getSpace
OdeSpace OdeGeom::get_space(void) const;

Undocumented function.

isEnabled
int OdeGeom::is_enabled(void);

Undocumented function.

isOffset
int OdeGeom::is_offset(void);

Undocumented function.

isSpace
int OdeGeom::is_space(void);

Undocumented function.

setBody
void OdeGeom::set_body(OdeBody &body);

INLINE void set_data(void* data);

setCategoryBits
void OdeGeom::set_category_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCollideBits
void OdeGeom::set_collide_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setOffsetPosition
void OdeGeom::set_offset_position(float x, float y, float z);

Undocumented function.

setOffsetQuaternion
void OdeGeom::set_offset_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetRotation
void OdeGeom::set_offset_rotation(LMatrix3f const &r);

Undocumented function.

setOffsetWorldPosition
void OdeGeom::set_offset_world_position(float x, float y, float z);

Undocumented function.

setOffsetWorldQuaternion
void OdeGeom::set_offset_world_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetWorldRotation
void OdeGeom::set_offset_world_rotation(LMatrix3f const &r);

Undocumented function.

setPosition
void OdeGeom::set_position(float x, float y, float z);

Undocumented function.

setQuaternion
void OdeGeom::set_quaternion(LQuaternionf const &q);

Undocumented function.

setRotation
void OdeGeom::set_rotation(LMatrix3f const &r);

Undocumented function.

write
virtual void OdeGeom::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeSurfaceParameters

    from pandac.PandaModules import OdeSurfaceParameters
    Class : OdeSurfaceParameters
    Description :

Inheritance:

    OdeSurfaceParameters: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeSurfaceParameters:

    OdeSurfaceParameters (Constructor)
    getBounce
    getBounceVel
    getClassType
    getMode
    getMotion1
    getMotion2
    getMu
    getMu2
    getSlip1
    getSlip2
    getSoftCfm
    getSoftErp
    setBounce
    setBounceVel
    setMode
    setMotion1
    setMotion2
    setMu
    setMu2
    setSlip1
    setSlip2
    setSoftCfm
    setSoftErp

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeSurfaceParameters:

    MFContactMu2 | (ModeFlags)
MFContactFDir1 | (ModeFlags)
MFContactBounce | (ModeFlags)
MFContactSoftERP | (ModeFlags)
MFContactSoftCFM | (ModeFlags)
MFContactMotion1 | (ModeFlags)
MFContactMotion2 | (ModeFlags)
MFContactSlip1 | (ModeFlags)
MFContactSlip2 | (ModeFlags)
MFContactApprox0 | (ModeFlags)
MFContactApprox11 | (ModeFlags)
MFContactApprox12 | (ModeFlags)
MFContactApprox1 | (ModeFlags)
OdeSurfaceParameters
OdeSurfaceParameters::OdeSurfaceParameters(int mode = (0), float mu = (0));

Undocumented function.

getBounce
float OdeSurfaceParameters::get_bounce(void) const;

Undocumented function.

getBounceVel
float OdeSurfaceParameters::get_bounce_vel(void) const;

Undocumented function.

getClassType
static TypeHandle OdeSurfaceParameters::get_class_type(void);

Undocumented function.

getMode
int OdeSurfaceParameters::get_mode(void) const;

Undocumented function.

getMotion1
float OdeSurfaceParameters::get_motion1(void) const;

Undocumented function.

getMotion2
float OdeSurfaceParameters::get_motion2(void) const;

Undocumented function.

getMu
float OdeSurfaceParameters::get_mu(void) const;

Undocumented function.

getMu2
float OdeSurfaceParameters::get_mu2(void) const;

Undocumented function.

getSlip1
float OdeSurfaceParameters::get_slip1(void) const;

Undocumented function.

getSlip2
float OdeSurfaceParameters::get_slip2(void) const;

Undocumented function.

getSoftCfm
float OdeSurfaceParameters::get_soft_cfm(void) const;

Undocumented function.

getSoftErp
float OdeSurfaceParameters::get_soft_erp(void) const;

Undocumented function.

setBounce
void OdeSurfaceParameters::set_bounce(float bounce);

Undocumented function.

setBounceVel
void OdeSurfaceParameters::set_bounce_vel(float bounce_vel);

Undocumented function.

setMode
void OdeSurfaceParameters::set_mode(int mode);

Undocumented function.

setMotion1
void OdeSurfaceParameters::set_motion1(float motion);

Undocumented function.

setMotion2
void OdeSurfaceParameters::set_motion2(float motion);

Undocumented function.

setMu
void OdeSurfaceParameters::set_mu(float mu);

Undocumented function.

setMu2
void OdeSurfaceParameters::set_mu2(float mu2);

Undocumented function.

setSlip1
void OdeSurfaceParameters::set_slip1(float slip);

Undocumented function.

setSlip2
void OdeSurfaceParameters::set_slip2(float slip);

Undocumented function.

setSoftCfm
void OdeSurfaceParameters::set_soft_cfm(float soft_cfm);

Undocumented function.

setSoftErp
void OdeSurfaceParameters::set_soft_erp(float soft_erp);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeTriMeshData

    from pandac.PandaModules import OdeTriMeshData
    Class : OdeTriMeshData
    Description :

Inheritance:

    OdeTriMeshData: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of OdeTriMeshData:

    OdeTriMeshData (Constructor)
    destroy
    getClassType
    write
    writeFaces

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in OdeTriMeshData:

    DTFaceNormals | (DataType)
DTLastTransformation | (DataType)
OdeTriMeshData
OdeTriMeshData::OdeTriMeshData(NodePath const &model, bool use_normals = (0));

Undocumented function.

destroy
void OdeTriMeshData::destroy(void);

Undocumented function.

getClassType
static TypeHandle OdeTriMeshData::get_class_type(void);

Undocumented function.

write
virtual void OdeTriMeshData::write(ostream &out = (cout), unsigned int indent = (0)) const;

INLINE void set(int data_id, void* in_data); INLINE void* get(int data_id); INLINE void get_buffer(unsigned char** buf, int* buf_len) const; INLINE void set_buffer(unsigned char* buf); INLINE void update();

writeFaces
void OdeTriMeshData::write_faces(ostream &out) const;

INLINE void set(int data_id, void* in_data); INLINE void* get(int data_id); INLINE void get_buffer(unsigned char** buf, int* buf_len) const; INLINE void set_buffer(unsigned char* buf); INLINE void update();

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


OdeTriMeshGeom

    from pandac.PandaModules import OdeTriMeshGeom
    Class : OdeTriMeshGeom
    Description :

Inheritance:

    OdeTriMeshGeom: OdeGeom
    OdeGeom: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeTriMeshGeom:

    OdeTriMeshGeom (Constructor)
    clearTCCache
    destroy
    enableTC
    getClassType
    getData
    getNumTriangles
    getPoint
    getTriangle
    isTCEnabled
    setData

Methods of OdeGeom:

    clearOffset
    compareTo
    convertToBox
    convertToCappedCylinder
    convertToCylinder
    convertToHashSpace
    convertToPlane
    convertToQuadTreeSpace
    convertToRay
    convertToSimpleSpace
    convertToSphere
    convertToTriMesh
    destroy
    disable
    enable
    getAABB
    getBody
    getCategoryBits
    getClass
    getClassType
    getCollideBits
    getOffsetPosition
    getOffsetQuaternion
    getOffsetRotation
    getPosition
    getQuaternion
    getRotation
    getSpace
    isEnabled
    isOffset
    isSpace
    setBody
    setCategoryBits
    setCollideBits
    setOffsetPosition
    setOffsetQuaternion
    setOffsetRotation
    setOffsetWorldPosition
    setOffsetWorldQuaternion
    setOffsetWorldRotation
    setPosition
    setQuaternion
    setRotation
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeGeom:

    GCSphere | (GeomClass)
GCBox | (GeomClass)
GCCappedCylinder | (GeomClass)
GCCylinder | (GeomClass)
GCPlane | (GeomClass)
GCRay | (GeomClass)
GCTriMesh | (GeomClass)
GCSimpleSpace | (GeomClass)
GCHashSpace | (GeomClass)
GCQuadTreeSpace | (GeomClass)
OdeTriMeshGeom
OdeTriMeshGeom::OdeTriMeshGeom(OdeTriMeshData &data);

* ODE_API dGeomID dCreateTriMesh(dSpaceID space, dTriMeshDataID Data, dTriCallback* Callback, dTriArrayCallback* ArrayCallback, dTriRayCallback* RayCallback); */

clearTCCache
void OdeTriMeshGeom::clear_TC_cache(OdeGeom const &geom);

Undocumented function.

destroy
void OdeTriMeshGeom::destroy(void);

Undocumented function.

enableTC
void OdeTriMeshGeom::enable_TC(int geom_class, int enable);

Undocumented function.

getClassType
static TypeHandle OdeTriMeshGeom::get_class_type(void);

Undocumented function.

getData
PointerTo< OdeTriMeshData > OdeTriMeshGeom::get_data(void) const;

Undocumented function.

getNumTriangles
int OdeTriMeshGeom::get_num_triangles(void) const;

Undocumented function.

getPoint
LPoint3f OdeTriMeshGeom::get_point(int face_index, float u, float v) const;

Undocumented function.

getTriangle
void OdeTriMeshGeom::get_triangle(int face_index, LPoint3f &v0, LPoint3f &v1, LPoint3f &v2) const;

Undocumented function.

isTCEnabled
int OdeTriMeshGeom::is_TC_enabled(int geom_class) const;

Undocumented function.

setData
void OdeTriMeshGeom::set_data(OdeTriMeshData &data);

Undocumented function.

clearOffset
void OdeGeom::clear_offset(void);

Undocumented function.

compareTo
int OdeGeom::compare_to(OdeGeom const &other) const;

Undocumented function.

convertToBox
OdeBoxGeom OdeGeom::convert_to_box(void) const;

Undocumented function.

convertToCappedCylinder
OdeCappedCylinderGeom OdeGeom::convert_to_capped_cylinder(void) const;

Undocumented function.

convertToCylinder
OdeCylinderGeom OdeGeom::convert_to_cylinder(void) const;

OdeConvexGeom convert_to_convex() const;

convertToHashSpace
OdeHashSpace OdeGeom::convert_to_hash_space(void) const;

Undocumented function.

convertToPlane
OdePlaneGeom OdeGeom::convert_to_plane(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToQuadTreeSpace
OdeQuadTreeSpace OdeGeom::convert_to_quad_tree_space(void) const;

Undocumented function.

convertToRay
OdeRayGeom OdeGeom::convert_to_ray(void) const;

OdeHeightfieldGeom convert_to_heightfield() const;

convertToSimpleSpace
OdeSimpleSpace OdeGeom::convert_to_simple_space(void) const;

Undocumented function.

convertToSphere
OdeSphereGeom OdeGeom::convert_to_sphere(void) const;

Undocumented function.

convertToTriMesh
OdeTriMeshGeom OdeGeom::convert_to_tri_mesh(void) const;

Undocumented function.

destroy
void OdeGeom::destroy(void);

Undocumented function.

disable
void OdeGeom::disable(void);

Undocumented function.

enable
void OdeGeom::enable(void);

Undocumented function.

getAABB
void OdeGeom::get_AABB(LVecBase3f &min, LVecBase3f &max) const;

Undocumented function.

getBody
OdeBody OdeGeom::get_body(void) const;

INLINE void set_data(void* data);

getCategoryBits
BitMask< unsigned int, 32 > OdeGeom::get_category_bits(void);

Undocumented function.

getClass
int OdeGeom::get_class(void) const;

Undocumented function.

getClassType
static TypeHandle OdeGeom::get_class_type(void);

Undocumented function.

getCollideBits
BitMask< unsigned int, 32 > OdeGeom::get_collide_bits(void);

Undocumented function.

getOffsetPosition
LPoint3f OdeGeom::get_offset_position(void) const;

Undocumented function.

getOffsetQuaternion
LQuaternionf OdeGeom::get_offset_quaternion(void) const;

Undocumented function.

getOffsetRotation
LMatrix3f OdeGeom::get_offset_rotation(void) const;

Undocumented function.

getPosition
LPoint3f OdeGeom::get_position(void) const;

Undocumented function.

getQuaternion
LQuaternionf OdeGeom::get_quaternion(void) const;

Undocumented function.

getRotation
LMatrix3f OdeGeom::get_rotation(void) const;

Undocumented function.

getSpace
OdeSpace OdeGeom::get_space(void) const;

Undocumented function.

isEnabled
int OdeGeom::is_enabled(void);

Undocumented function.

isOffset
int OdeGeom::is_offset(void);

Undocumented function.

isSpace
int OdeGeom::is_space(void);

Undocumented function.

setBody
void OdeGeom::set_body(OdeBody &body);

INLINE void set_data(void* data);

setCategoryBits
void OdeGeom::set_category_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setCollideBits
void OdeGeom::set_collide_bits(BitMask< unsigned int, 32 > const &bits);

Undocumented function.

setOffsetPosition
void OdeGeom::set_offset_position(float x, float y, float z);

Undocumented function.

setOffsetQuaternion
void OdeGeom::set_offset_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetRotation
void OdeGeom::set_offset_rotation(LMatrix3f const &r);

Undocumented function.

setOffsetWorldPosition
void OdeGeom::set_offset_world_position(float x, float y, float z);

Undocumented function.

setOffsetWorldQuaternion
void OdeGeom::set_offset_world_quaternion(LQuaternionf const &q);

Undocumented function.

setOffsetWorldRotation
void OdeGeom::set_offset_world_rotation(LMatrix3f const &r);

Undocumented function.

setPosition
void OdeGeom::set_position(float x, float y, float z);

Undocumented function.

setQuaternion
void OdeGeom::set_quaternion(LQuaternionf const &q);

Undocumented function.

setRotation
void OdeGeom::set_rotation(LMatrix3f const &r);

Undocumented function.

write
virtual void OdeGeom::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeUniversalJoint

    from pandac.PandaModules import OdeUniversalJoint
    Class : OdeUniversalJoint
    Description :

Inheritance:

    OdeUniversalJoint: OdeJoint
    OdeJoint: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeUniversalJoint:

    OdeUniversalJoint (Constructor)
    addTorques
    getAnchor
    getAnchor2
    getAngle1
    getAngle1Rate
    getAngle2
    getAngle2Rate
    getAxis1
    getAxis2
    getClassType
    getParamBounce
    getParamCFM
    getParamFMax
    getParamFudgeFactor
    getParamHiStop
    getParamLoStop
    getParamStopCFM
    getParamStopERP
    getParamVel
    setAnchor
    setAxis1
    setAxis2
    setParamBounce
    setParamCFM
    setParamFMax
    setParamFudgeFactor
    setParamHiStop
    setParamLoStop
    setParamStopCFM
    setParamStopERP
    setParamVel

Methods of OdeJoint:

    attachBodies
    attachBody
    compareTo
    convertToAMotor
    convertToBall
    convertToContact
    convertToFixed
    convertToHinge
    convertToHinge2
    convertToLMotor
    convertToNull
    convertToPlane2d
    convertToSlider
    convertToUniversal
    destroy
    detach
    getBody
    getClassType
    getJointType
    operator ==
    write

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Constants in OdeJoint:

    JTNone | (JointType)
JTBall | (JointType)
JTHinge | (JointType)
JTSlider | (JointType)
JTContact | (JointType)
JTUniversal | (JointType)
JTHinge2 | (JointType)
JTFixed | (JointType)
JTNull | (JointType)
JTAMotor | (JointType)
JTLMotor | (JointType)
JTPlane2d | (JointType)
OdeUniversalJoint
OdeUniversalJoint::OdeUniversalJoint(OdeWorld &world);

Undocumented function.

addTorques
void OdeUniversalJoint::add_torques(float torque1, float torque2);

Undocumented function.

getAnchor
LVecBase3f OdeUniversalJoint::get_anchor(void) const;

Undocumented function.

getAnchor2
LVecBase3f OdeUniversalJoint::get_anchor2(void) const;

Undocumented function.

getAngle1
float OdeUniversalJoint::get_angle1(void) const;

Undocumented function.

getAngle1Rate
float OdeUniversalJoint::get_angle1_rate(void) const;

Undocumented function.

getAngle2
float OdeUniversalJoint::get_angle2(void) const;

Undocumented function.

getAngle2Rate
float OdeUniversalJoint::get_angle2_rate(void) const;

Undocumented function.

getAxis1
LVecBase3f OdeUniversalJoint::get_axis1(void) const;

Undocumented function.

getAxis2
LVecBase3f OdeUniversalJoint::get_axis2(void) const;

Undocumented function.

getClassType
static TypeHandle OdeUniversalJoint::get_class_type(void);

Undocumented function.

getParamBounce
float OdeUniversalJoint::get_param_bounce(int axis) const;

Undocumented function.

getParamCFM
float OdeUniversalJoint::get_param_CFM(int axis) const;

Undocumented function.

getParamFMax
float OdeUniversalJoint::get_param_f_max(int axis) const;

Undocumented function.

getParamFudgeFactor
float OdeUniversalJoint::get_param_fudge_factor(int axis) const;

Undocumented function.

getParamHiStop
float OdeUniversalJoint::get_param_hi_stop(int axis) const;

Undocumented function.

getParamLoStop
float OdeUniversalJoint::get_param_lo_stop(int axis) const;

Undocumented function.

getParamStopCFM
float OdeUniversalJoint::get_param_stop_CFM(int axis) const;

Undocumented function.

getParamStopERP
float OdeUniversalJoint::get_param_stop_ERP(int axis) const;

Undocumented function.

getParamVel
float OdeUniversalJoint::get_param_vel(int axis) const;

Undocumented function.

setAnchor
void OdeUniversalJoint::set_anchor(float x, float y, float z);

Undocumented function.

setAxis1
void OdeUniversalJoint::set_axis1(float x, float y, float z);

Undocumented function.

setAxis2
void OdeUniversalJoint::set_axis2(float x, float y, float z);

Undocumented function.

setParamBounce
void OdeUniversalJoint::set_param_bounce(int axis, float val);

Undocumented function.

setParamCFM
void OdeUniversalJoint::set_param_CFM(int axis, float val);

Undocumented function.

setParamFMax
void OdeUniversalJoint::set_param_f_max(int axis, float val);

Undocumented function.

setParamFudgeFactor
void OdeUniversalJoint::set_param_fudge_factor(int axis, float val);

Undocumented function.

setParamHiStop
void OdeUniversalJoint::set_param_hi_stop(int axis, float val);

Undocumented function.

setParamLoStop
void OdeUniversalJoint::set_param_lo_stop(int axis, float val);

Undocumented function.

setParamStopCFM
void OdeUniversalJoint::set_param_stop_CFM(int axis, float val);

Undocumented function.

setParamStopERP
void OdeUniversalJoint::set_param_stop_ERP(int axis, float val);

Undocumented function.

setParamVel
void OdeUniversalJoint::set_param_vel(int axis, float val);

Undocumented function.

attachBodies
void OdeJoint::attach_bodies(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

attachBody
void OdeJoint::attach_body(OdeBody const &body, int index);

Undocumented function.

compareTo
int OdeJoint::compare_to(OdeJoint const &other) const;

Undocumented function.

convertToAMotor
OdeAMotorJoint OdeJoint::convert_to_a_motor(void) const;

Undocumented function.

convertToBall
OdeBallJoint OdeJoint::convert_to_ball(void) const;

Undocumented function.

convertToContact
OdeContactJoint OdeJoint::convert_to_contact(void) const;

Undocumented function.

convertToFixed
OdeFixedJoint OdeJoint::convert_to_fixed(void) const;

Undocumented function.

convertToHinge
OdeHingeJoint OdeJoint::convert_to_hinge(void) const;

Undocumented function.

convertToHinge2
OdeHinge2Joint OdeJoint::convert_to_hinge2(void) const;

Undocumented function.

convertToLMotor
OdeLMotorJoint OdeJoint::convert_to_l_motor(void) const;

Undocumented function.

convertToNull
OdeNullJoint OdeJoint::convert_to_null(void) const;

Undocumented function.

convertToPlane2d
OdePlane2dJoint OdeJoint::convert_to_plane2d(void) const;

Undocumented function.

convertToSlider
OdeSliderJoint OdeJoint::convert_to_slider(void) const;

Undocumented function.

convertToUniversal
OdeUniversalJoint OdeJoint::convert_to_universal(void) const;

Undocumented function.

destroy
void OdeJoint::destroy(void);

Undocumented function.

detach
void OdeJoint::detach(void);

Undocumented function.

getBody
OdeBody OdeJoint::get_body(int index) const;

Undocumented function.

getClassType
static TypeHandle OdeJoint::get_class_type(void);

Undocumented function.

getJointType
int OdeJoint::get_joint_type(void) const;

* INLINE void *get_data(); */

operator ==
bool OdeJoint::operator ==(OdeJoint const &other) const;

Undocumented function.

write
virtual void OdeJoint::write(ostream &out = (cout), unsigned int indent = (0)) const;

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OdeUtil

    from pandac.PandaModules import OdeUtil
    Class : OdeUtil
    Description :

Inheritance:

    OdeUtil:

Methods of OdeUtil:

    areConnected
    areConnectedExcluding
    getConnectingJoint
    getConnectingJointList
    getInfinity
    randGetSeed
    randSetSeed
areConnected
static int OdeUtil::are_connected(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

areConnectedExcluding
static int OdeUtil::are_connected_excluding(OdeBody const &body1, OdeBody const &body2, int const joint_type);

Undocumented function.

getConnectingJoint
static OdeJoint OdeUtil::get_connecting_joint(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

getConnectingJointList
static OdeJointCollection OdeUtil::get_connecting_joint_list(OdeBody const &body1, OdeBody const &body2);

Undocumented function.

getInfinity
static float OdeUtil::get_infinity(void);

RAU we can't access OC_infinity as constants are not exposed in python

randGetSeed
static int OdeUtil::rand_get_seed(void);

Undocumented function.

randSetSeed
static void OdeUtil::rand_set_seed(int s);

Undocumented function.


OdeWorld

    from pandac.PandaModules import OdeWorld
    Class : OdeWorld
    Description :

Inheritance:

    OdeWorld: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of OdeWorld:

    OdeWorld (Constructor)
    addBodyDampening
    applyDampening
    compareTo
    destroy
    getAutoDisableAngularThreshold
    getAutoDisableFlag
    getAutoDisableLinearThreshold
    getAutoDisableSteps
    getAutoDisableTime
    getAutoEnableDepthSf1
    getCfm
    getClassType
    getContactMaxCorrectingVel
    getContactSurfaceLayer
    getErp
    getGravity
    getQuickStepNumIterations
    getQuickStepW
    impulseToForce
    initSurfaceTable
    quickStep
    setAutoDisableAngularThreshold
    setAutoDisableFlag
    setAutoDisableLinearThreshold
    setAutoDisableSteps
    setAutoDisableTime
    setAutoEnableDepthSf1
    setCfm
    setContactMaxCorrectingVel
    setContactSurfaceLayer
    setErp
    setGravity
    setQuickStepNumIterations
    setQuickStepW
    setSurfaceEntry
    step
    stepFast1

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
OdeWorld
OdeWorld::OdeWorld(void);

Undocumented function.

addBodyDampening
void OdeWorld::add_body_dampening(OdeBody &body, int surface);

void assign_surface_body(OdeBody& body, int surface);

applyDampening
float OdeWorld::apply_dampening(float dt, OdeBody &body);

Undocumented function.

compareTo
int OdeWorld::compare_to(OdeWorld const &other) const;

Undocumented function.

destroy
void OdeWorld::destroy(void);

Undocumented function.

getAutoDisableAngularThreshold
float OdeWorld::get_auto_disable_angular_threshold(void) const;

Undocumented function.

getAutoDisableFlag
int OdeWorld::get_auto_disable_flag(void) const;

Undocumented function.

getAutoDisableLinearThreshold
float OdeWorld::get_auto_disable_linear_threshold(void) const;

Undocumented function.

getAutoDisableSteps
int OdeWorld::get_auto_disable_steps(void) const;

Undocumented function.

getAutoDisableTime
float OdeWorld::get_auto_disable_time(void) const;

Undocumented function.

getAutoEnableDepthSf1
int OdeWorld::get_auto_enable_depth_sf1(void) const;

Undocumented function.

getCfm
float OdeWorld::get_cfm(void) const;

Undocumented function.

getClassType
static TypeHandle OdeWorld::get_class_type(void);

Undocumented function.

getContactMaxCorrectingVel
float OdeWorld::get_contact_max_correcting_vel(void) const;

Undocumented function.

getContactSurfaceLayer
float OdeWorld::get_contact_surface_layer(void) const;

Undocumented function.

getErp
float OdeWorld::get_erp(void) const;

Undocumented function.

getGravity
LVecBase3f OdeWorld::get_gravity(void) const;

Undocumented function.

getQuickStepNumIterations
int OdeWorld::get_quick_step_num_iterations(void) const;

Undocumented function.

getQuickStepW
float OdeWorld::get_quick_step_w(void) const;

Undocumented function.

impulseToForce
LVecBase3f OdeWorld::impulse_to_force(float stepsize, float ix, float iy, float iz);

Undocumented function.

initSurfaceTable
void OdeWorld::init_surface_table(unsigned char num_surfaces);

Undocumented function.

quickStep
void OdeWorld::quick_step(float stepsize);

Undocumented function.

setAutoDisableAngularThreshold
void OdeWorld::set_auto_disable_angular_threshold(float angular_threshold);

Undocumented function.

setAutoDisableFlag
void OdeWorld::set_auto_disable_flag(int do_auto_disable);

Undocumented function.

setAutoDisableLinearThreshold
void OdeWorld::set_auto_disable_linear_threshold(float linear_threshold);

Undocumented function.

setAutoDisableSteps
void OdeWorld::set_auto_disable_steps(int steps);

Undocumented function.

setAutoDisableTime
void OdeWorld::set_auto_disable_time(float time);

Undocumented function.

setAutoEnableDepthSf1
void OdeWorld::set_auto_enable_depth_sf1(int auto_enable_depth);

Undocumented function.

setCfm
void OdeWorld::set_cfm(float cfm);

Undocumented function.

setContactMaxCorrectingVel
void OdeWorld::set_contact_max_correcting_vel(float vel);

Undocumented function.

setContactSurfaceLayer
void OdeWorld::set_contact_surface_layer(float depth);

Undocumented function.

setErp
void OdeWorld::set_erp(float erp);

Undocumented function.

setGravity
void OdeWorld::set_gravity(float x, float y, float z);

Undocumented function.

setQuickStepNumIterations
void OdeWorld::set_quick_step_num_iterations(int num);

Undocumented function.

setQuickStepW
void OdeWorld::set_quick_step_w(float over_relaxation);

Undocumented function.

setSurfaceEntry
void OdeWorld::set_surface_entry(unsigned char pos1, unsigned char pos2, float mu, float bounce, float bounce_vel, float soft_erp, float soft_cfm, float slip, float dampen);

void assign_surface_body(OdeBody& body, int surface);

step
void OdeWorld::step(float stepsize);

Undocumented function.

stepFast1
void OdeWorld::step_fast1(float stepsize, int maxiterations);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


OkCancelDialog

    from direct.gui.DirectDialog import OkCancelDialog

Inheritance:

    OkCancelDialog:

Methods of OkCancelDialog:

    __init__
__init__
def __init__(self, parent=None, **kw)

Undocumented function.


OkDialog

    from direct.gui.DirectDialog import OkDialog

Inheritance:

    OkDialog:

Methods of OkDialog:

    __init__
__init__
def __init__(self, parent=None, **kw)

Undocumented function.


OldClientRepository

    from direct.distributed.OldClientRepository import OldClientRepository
    This is the open-source ClientRepository as provided by CMU. It communicates with the ServerRepository in this same directory.
    If you are looking for the VR Studio's implementation of the client repository, look to OTPClientRepository (elsewhere).

Inheritance:

    OldClientRepository:

Methods of OldClientRepository:

    __init__
    createWithRequired
    generateWithRequiredFields
    handleDatagram
    handleGenerateWithRequired
    handleRequestGenerates
    handleSetDOIDrange
    haveCreateAuthority
    isLocalId
    sendDeleteMsg
    sendDisableMsg
    sendRemoveZoneMsg
    sendSetZoneMsg
    sendUpdateZone
__init__
def __init__(self, dcFileNames=None)

Undocumented function.

createWithRequired
def createWithRequired(self, className, zoneId=0, optionalFields=None)

Undocumented function.

generateWithRequiredFields
def generateWithRequiredFields(self, dclass, doId, di)

Undocumented function.

handleDatagram
def handleDatagram(self, di)

Undocumented function.

handleGenerateWithRequired
def handleGenerateWithRequired(self, di)

Undocumented function.

handleRequestGenerates
def handleRequestGenerates(self, di)

Undocumented function.

handleSetDOIDrange
def handleSetDOIDrange(self, di)

Undocumented function.

haveCreateAuthority
def haveCreateAuthority(self)

Undocumented function.

isLocalId
def isLocalId(self, id)

Undocumented function.

sendDeleteMsg
def sendDeleteMsg(self, doId)

Undocumented function.

sendDisableMsg
def sendDisableMsg(self, doId)

Undocumented function.

sendRemoveZoneMsg
def sendRemoveZoneMsg(self, zoneId, visibleZoneList=None)

Undocumented function.

sendSetZoneMsg
def sendSetZoneMsg(self, zoneId, visibleZoneList=None)

Undocumented function.

sendUpdateZone
def sendUpdateZone(self, obj, zoneId)

Undocumented function.


OldLevelEditor

    from direct.leveleditor.LevelEditor import OldLevelEditor

Inheritance:

    OldLevelEditor:


OmniBoundingVolume

    from pandac.PandaModules import OmniBoundingVolume
    Class : OmniBoundingVolume
    Description : This is a special kind of GeometricBoundingVolume that fills all of space.

Inheritance:

    OmniBoundingVolume: GeometricBoundingVolume
    GeometricBoundingVolume: BoundingVolume
    BoundingVolume: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of OmniBoundingVolume:

    OmniBoundingVolume (Constructor)
    getClassType

Methods of GeometricBoundingVolume:

    around
    contains
    extendBy
    getApproxCenter
    getClassType
    xform

Methods of BoundingVolume:

    around
    contains
    extendBy
    getClassType
    isEmpty
    isInfinite
    makeCopy
    output
    setInfinite
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BoundingVolume:

    IFNoIntersection | (IntersectionFlags)
IFPossible | (IntersectionFlags)
IFSome | (IntersectionFlags)
IFAll | (IntersectionFlags)
IFDontUnderstand | (IntersectionFlags)
BTBest | (BoundsType)
BTSphere | (BoundsType)
BTBox | (BoundsType)
BTInvalid | (BoundsType)
OmniBoundingVolume
OmniBoundingVolume::OmniBoundingVolume(void);

Description:

getClassType
static TypeHandle OmniBoundingVolume::get_class_type(void);

Undocumented function.

around
bool GeometricBoundingVolume::around(GeometricBoundingVolume const **first, GeometricBoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated.
Description: Resets the volume to enclose only the points indicated.

contains
int GeometricBoundingVolume::contains(GeometricBoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated point.
Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated line segment.

extendBy
bool GeometricBoundingVolume::extend_by(GeometricBoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.
Description: Increases the size of the volume to include the given point.

getApproxCenter
virtual LPoint3f GeometricBoundingVolume::get_approx_center(void) const = 0;

Undocumented function.

getClassType
static TypeHandle GeometricBoundingVolume::get_class_type(void);

Undocumented function.

xform
virtual void GeometricBoundingVolume::xform(LMatrix4f const &mat) = 0;

Undocumented function.

around
bool BoundingVolume::around(BoundingVolume const **first, BoundingVolume const **last);

It might be nice to make these template member functions so we could have true STL-style first/last iterators, but that's impossible for virtual functions.
Description: Resets the volume to enclose only the volumes indicated. Returns true if successful, false if the volume doesn't know how to do that or can't do that.

contains
int BoundingVolume::contains(BoundingVolume const *vol) const;

Description: Returns the appropriate set of IntersectionFlags to indicate the amount of intersection with the indicated volume.

extendBy
bool BoundingVolume::extend_by(BoundingVolume const *vol);

Description: Increases the size of the volume to include the given volume.

getClassType
static TypeHandle BoundingVolume::get_class_type(void);

Undocumented function.

isEmpty
bool BoundingVolume::is_empty(void) const;

Description: Any kind of volume might be empty. This is a degenerate volume that contains no points; it's not the same as, for instance, a sphere with radius zero, since that contains one point (the center). It intersects with no other volumes.

isInfinite
bool BoundingVolume::is_infinite(void) const;

Description: The other side of the empty coin is an infinite volume. This is a degenerate state of a normally finite volume that contains all points. (Note that some kinds of infinite bounding volumes, like binary separating planes, do not contain all points and thus correctly return is_infinite() == false, even though they are technically infinite. This is a special case of the word 'infinite' meaning the volume covers all points in space.)
It completely intersects with all other volumes except empty volumes.

makeCopy
virtual BoundingVolume *BoundingVolume::make_copy(void) const = 0;

Undocumented function.

output
virtual void BoundingVolume::output(ostream &out) const = 0;

Undocumented function.

setInfinite
void BoundingVolume::set_infinite(void);

Description: Marks the volume as infinite, even if it is normally finite. You can think of this as an infinite extend_by() operation.

write
virtual void BoundingVolume::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


OnScreenDebug

    from direct.showbase.OnScreenDebug import OnScreenDebug

Inheritance:

    OnScreenDebug:

Methods of OnScreenDebug:

    __init__
    add
    append
    clear
    has
    load
    remove
    removeAllWithPrefix
    render
__init__
def __init__(self)

Undocumented function.

add
def add(self, key, value)

Undocumented function.

append
def append(self, text)

Undocumented function.

clear
def clear(self)

Undocumented function.

has
def has(self, key)

Undocumented function.

load
def load(self)

Undocumented function.

remove
def remove(self, key)

Undocumented function.

removeAllWithPrefix
def removeAllWithPrefix(self, prefix)

Undocumented function.

render
def render(self)

Undocumented function.


OnscreenGeom

    from direct.gui.OnscreenGeom import OnscreenGeom

Inheritance:

    OnscreenGeom:

Methods of OnscreenGeom:

    __init__
    __setitem__
    cget
    configure
    destroy
    getGeom
    setGeom
__init__
def __init__(self, geom=None, pos=None, hpr=None, scale=None, color=None, parent=None, sort=0)

Make a geom node from string or a node path, put it into the 2d sg and set it up with all the indicated parameters.
The parameters are as follows:
geom: the actual geometry to display or a file name. This may be omitted and specified later via setGeom() if you don't have it available.
pos: the x, y, z position of the geometry on the screen. This maybe a 3-tuple of floats or a vector. y should be zero
hpr: the h, p, r of the geometry on the screen. This maybe a 3-tuple of floats or a vector.
scale: the size of the geometry. This may either be a single float, a 3-tuple of floats, or a vector, specifying a different x, y, z scale. y should be 1
color: the (r, g, b, a) color of the geometry. This is normally a 4-tuple of floats or ints.
parent: the NodePath to parent the geometry to initially.

__setitem__
def __setitem__(self, key, value)

Undocumented function.

cget
def cget(self, option)

Undocumented function.

configure
def configure(self, option=None, **kw)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getGeom
def getGeom(self)

Undocumented function.

setGeom
def setGeom(self, geom, parent=NodePath(), transform=None, sort=0, color=None)

Undocumented function.


OnscreenImage

    from direct.gui.OnscreenImage import OnscreenImage

Inheritance:

    OnscreenImage:

Methods of OnscreenImage:

    __init__
    __setitem__
    cget
    configure
    destroy
    getImage
    setImage
__init__
def __init__(self, image=None, pos=None, hpr=None, scale=None, color=None, parent=None, sort=0)

Make a image node from string or a node path, put it into the 2d sg and set it up with all the indicated parameters.
The parameters are as follows:
image: the actual geometry to display or a file name. This may be omitted and specified later via setImage() if you don't have it available.
pos: the x, y, z position of the geometry on the screen. This maybe a 3-tuple of floats or a vector. y should be zero
hpr: the h, p, r of the geometry on the screen. This maybe a 3-tuple of floats or a vector.
scale: the size of the geometry. This may either be a single float, a 3-tuple of floats, or a vector, specifying a different x, y, z scale. y should be 1
color: the (r, g, b, a) color of the geometry. This is normally a 4-tuple of floats or ints.
parent: the NodePath to parent the geometry to initially.

__setitem__
def __setitem__(self, key, value)

Undocumented function.

cget
def cget(self, option)

Undocumented function.

configure
def configure(self, option=None, **kw)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getImage
def getImage(self)

Undocumented function.

setImage
def setImage(self, image, parent=NodePath(), transform=None, sort=0)

Undocumented function.


OnscreenText

    from direct.gui.OnscreenText import OnscreenText

Inheritance:

    OnscreenText:

Methods of OnscreenText:

    __init__
    __setitem__
    appendText
    cget
    cleanup
    clearText
    configure
    destroy
    freeze
    getDecal
    getFont
    getPos
    getRoll
    getScale
    getText
    getWordwrap
    setAlign
    setBg
    setDecal
    setFg
    setFont
    setFrame
    setPos
    setRoll
    setScale
    setShadow
    setText
    setWordwrap
    setX
    setY
    thaw
    updateTransformMat
__init__
def __init__(self, text='', style=Plain, pos=(0, 0), roll=0, scale=None, fg=None, bg=None, shadow=None, shadowOffset=(0.04, 0.04), frame=None, align=None, wordwrap=None, drawOrder=None, decal=0, font=None, parent=None, sort=0, mayChange=0)

Make a text node from string, put it into the 2d sg and set it up with all the indicated parameters.
The parameters are as follows:
text: the actual text to display. This may be omitted and specified later via setText() if you don't have it available, but it is better to specify it up front.
style: one of the pre-canned style parameters defined at the head of this file. This sets up the default values for many of the remaining parameters if they are unspecified; however, a parameter may still be specified to explicitly set it, overriding the pre-canned style.
pos: the x, y position of the text on the screen.
scale: the size of the text. This may either be a single float (and it will usually be a small number like 0.07) or it may be a 2-tuple of floats, specifying a different x, y scale.
fg: the (r, g, b, a) foreground color of the text. This is normally a 4-tuple of floats or ints.
bg: the (r, g, b, a) background color of the text. If the fourth value, a, is nonzero, a card is created to place behind the text and set to the given color.
shadow: the (r, g, b, a) color of the shadow behind the text. If the fourth value, a, is nonzero, a little drop shadow is created and placed behind the text.
frame: the (r, g, b, a) color of the frame drawn around the text. If the fourth value, a, is nonzero, a frame is created around the text.
align: one of TextNode.ALeft, TextNode.ARight, or TextNode.ACenter.
wordwrap: either the width to wordwrap the text at, or None to specify no automatic word wrapping.
drawOrder: the drawing order of this text with respect to all other things in the 'fixed' bin within render2d. The text will actually use drawOrder through drawOrder + 2.
decal: if this is True, the text is decalled onto its background card. Useful when the text will be parented into the 3-D scene graph.
font: the font to use for the text.
parent: the NodePath to parent the text to initially.
mayChange: pass true if the text or its properties may need to be changed at runtime, false if it is static once created (which leads to better memory optimization).

__setitem__
def __setitem__(self, key, value)

Undocumented function.

appendText
def appendText(self, text)

Undocumented function.

cget
def cget(self, option)

Undocumented function.

cleanup
def cleanup(self)

Undocumented function.

clearText
def clearText(self)

Undocumented function.

configure
def configure(self, option=None, **kw)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

freeze
def freeze(self)

Undocumented function.

getDecal
def getDecal(self)

Undocumented function.

getFont
def getFont(self)

Undocumented function.

getPos
def getPos(self)

Undocumented function.

getRoll
def getRoll(self)

Undocumented function.

getScale
def getScale(self)

Undocumented function.

getText
def getText(self)

Undocumented function.

getWordwrap
def getWordwrap(self)

Undocumented function.

setAlign
def setAlign(self, align)

Undocumented function.

setBg
def setBg(self, bg)

Undocumented function.

setDecal
def setDecal(self, decal)

Undocumented function.

setFg
def setFg(self, fg)

Undocumented function.

setFont
def setFont(self, font)

Undocumented function.

setFrame
def setFrame(self, frame)

Undocumented function.

setPos
def setPos(self, x, y)

setPos(self, float, float) Position the onscreen text in 2d screen space

setRoll
def setRoll(self, roll)

setRoll(self, float) Rotate the onscreen text around the screen's normal

setScale
def setScale(self, sx, sy=None)

setScale(self, float, float) Scale the text in 2d space. You may specify either a single uniform scale, or two scales, or a tuple of two scales.

setShadow
def setShadow(self, shadow)

Undocumented function.

setText
def setText(self, text)

Undocumented function.

setWordwrap
def setWordwrap(self, wordwrap)

Undocumented function.

setX
def setX(self, x)

Undocumented function.

setY
def setY(self, y)

Undocumented function.

thaw
def thaw(self)

Undocumented function.

updateTransformMat
def updateTransformMat(self)

Undocumented function.


OrthographicLens

    from pandac.PandaModules import OrthographicLens
    Class : OrthographicLens
    Description : An orthographic lens. Although this kind of lens is linear, like a PerspectiveLens, it doesn't respect field-of-view or focal length parameters, and adjusting these will have no effect. Instead, its field of view is controlled by adjusting the film_size; the orthographic lens represents a planar projection onto its imaginary film of the specified size, hanging in space.

Inheritance:

    OrthographicLens: Lens
    Lens: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of OrthographicLens:

    OrthographicLens (Constructor)
    getClassType

Methods of Lens:

    clear
    clearKeystone
    clearViewMat
    extrude
    extrudeVec
    getAspectRatio
    getChangeEvent
    getClassType
    getConvergenceDistance
    getCoordinateSystem
    getDefaultFar
    getDefaultNear
    getFar
    getFilmMat
    getFilmMatInv
    getFilmOffset
    getFilmSize
    getFocalLength
    getFov
    getHfov
    getInterocularDistance
    getKeystone
    getLensMat
    getLensMatInv
    getMinFov
    getNear
    getNodalPoint
    getProjectionMat
    getProjectionMatInv
    getUpVector
    getVfov
    getViewHpr
    getViewMat
    getViewVector
    isLinear
    isOrthographic
    isPerspective
    makeBounds
    makeCopy
    makeGeometry
    output
    project
    recomputeAll
    setAspectRatio
    setChangeEvent
    setConvergenceDistance
    setCoordinateSystem
    setFar
    setFilmOffset
    setFilmSize
    setFocalLength
    setFov
    setFrustumFromCorners
    setInterocularDistance
    setKeystone
    setMinFov
    setNear
    setNearFar
    setViewHpr
    setViewMat
    setViewVector
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in Lens:

    SCMono | (StereoChannel)
SCLeft | (StereoChannel)
SCRight | (StereoChannel)
SCStereo | (StereoChannel)
FCRoll | (FromCorners)
FCCameraPlane | (FromCorners)
FCOffAxis | (FromCorners)
FCAspectRatio | (FromCorners)
FCShear | (FromCorners)
FCKeystone | (FromCorners)
OrthographicLens
OrthographicLens::OrthographicLens(void);

Description:

getClassType
static TypeHandle OrthographicLens::get_class_type(void);

Undocumented function.

clear
void Lens::clear(void);

Description: Resets all lens parameters to their initial default settings.

clearKeystone
void Lens::clear_keystone(void);

Description: Disables the lens keystone correction.

clearViewMat
void Lens::clear_view_mat(void);

Description: Resets the lens transform to identity.

extrude
bool Lens::extrude(LPoint2f const &point2d, LPoint3f &near_point, LPoint3f &far_point) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the corresponding vector in space that maps to this point, if such a vector can be determined. The vector is returned by indicating the points on the near plane and far plane that both map to the indicated 2-d point.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

extrudeVec
bool Lens::extrude_vec(LPoint2f const &point2d, LVector3f &vec3d) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the vector that corresponds to the view direction. This will be parallel to the normal on the surface (the far plane) corresponding to the lens shape at this point.
See the comment block on Lens::extrude_vec_impl() for a more in-depth comment on the meaning of this vector.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

getAspectRatio
float Lens::get_aspect_ratio(void) const;

Description: Returns the aspect ratio of the Lens. This is determined based on the indicated film size; see set_film_size().

getChangeEvent
string const &Lens::get_change_event(void) const;

Description: Returns the name of the event that will be generated whenever any properties of this particular Lens have changed.

getClassType
static TypeHandle Lens::get_class_type(void);

Undocumented function.

getConvergenceDistance
float Lens::get_convergence_distance(void) const;

Description: See set_convergence_distance().

getCoordinateSystem
CoordinateSystem Lens::get_coordinate_system(void) const;

Description: Returns the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

getDefaultFar
static float Lens::get_default_far(void);

Description: Returns the default far plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getDefaultNear
static float Lens::get_default_near(void);

Description: Returns the default near plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getFar
float Lens::get_far(void) const;

Description: Returns the position of the far plane (or cylinder, sphere, whatever).

getFilmMat
LMatrix4f const &Lens::get_film_mat(void) const;

Description: Returns the matrix that transforms from a point behind the lens to a point on the film.

getFilmMatInv
LMatrix4f const &Lens::get_film_mat_inv(void) const;

Description: Returns the matrix that transforms from a point on the film to a point behind the lens.

getFilmOffset
LVector2f const &Lens::get_film_offset(void) const;

Description: Returns the horizontal and vertical offset amounts of this Lens. See set_film_offset().

getFilmSize
LVecBase2f const &Lens::get_film_size(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_film_size().

getFocalLength
float Lens::get_focal_length(void) const;

Description: Returns the focal length of the lens. This may have been set explicitly by a previous call to set_focal_length(), or it may be computed based on the lens' fov and film_size. For certain kinds of lenses, the focal length has no meaning.

getFov
LVecBase2f const &Lens::get_fov(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_fov().

getHfov
float Lens::get_hfov(void) const;

Description: Returns the horizontal component of fov only. See get_fov().

getInterocularDistance
float Lens::get_interocular_distance(void) const;

Description: See set_interocular_distance().

getKeystone
LVecBase2f const &Lens::get_keystone(void) const;

Description: Returns the keystone correction specified for the lens.

getLensMat
LMatrix4f const &Lens::get_lens_mat(void) const;

Description: Returns the matrix that transforms from a point in front of the lens to a point in space.

getLensMatInv
LMatrix4f const &Lens::get_lens_mat_inv(void) const;

Description: Returns the matrix that transforms from a point in space to a point in front of the lens.

getMinFov
float Lens::get_min_fov(void) const;

Description: Returns the field of view of the narrowest dimension of the window. See set_min_fov().

getNear
float Lens::get_near(void) const;

Description: Returns the position of the near plane (or cylinder, sphere, whatever).

getNodalPoint
LPoint3f Lens::get_nodal_point(void) const;

Description: Returns the center point of the lens: the point from which the lens is viewing.

getProjectionMat
LMatrix4f const &Lens::get_projection_mat(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the complete transformation matrix from a 3-d point in space to a point on the film, if such a matrix exists, or the identity matrix if the lens is nonlinear.

getProjectionMatInv
LMatrix4f const &Lens::get_projection_mat_inv(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the matrix that transforms from a 2-d point on the film to a 3-d vector in space, if such a matrix exists.

getUpVector
LVector3f const &Lens::get_up_vector(void) const;

Description: Returns the axis perpendicular to the camera's view vector that indicates the "up" direction.

getVfov
float Lens::get_vfov(void) const;

Description: Returns the vertical component of fov only. See get_fov().

getViewHpr
LVecBase3f const &Lens::get_view_hpr(void) const;

Description: Returns the direction in which the lens is facing.

getViewMat
LMatrix4f const &Lens::get_view_mat(void) const;

Description: Returns the direction in which the lens is facing.

getViewVector
LVector3f const &Lens::get_view_vector(void) const;

Description: Returns the axis along which the lens is facing.

isLinear
virtual bool Lens::is_linear(void) const;

Description: Returns true if the lens represents a linear projection (e.g. PerspectiveLens, OrthographicLens), and therefore there is a valid matrix returned by get_projection_mat(), or false otherwise.

isOrthographic
virtual bool Lens::is_orthographic(void) const;

Description: Returns true if the lens represents a orthographic projection (i.e. it is a OrthographicLens), false otherwise.

isPerspective
virtual bool Lens::is_perspective(void) const;

Description: Returns true if the lens represents a perspective projection (i.e. it is a PerspectiveLens), false otherwise.

makeBounds
virtual PointerTo< BoundingVolume > Lens::make_bounds(void) const;

Description: Allocates and returns a new BoundingVolume that encloses the frustum used for this kind of lens, if possible. If a suitable bounding volume cannot be created, returns NULL.

makeCopy
virtual PointerTo< Lens > Lens::make_copy(void) const = 0;

Undocumented function.

makeGeometry
virtual PointerTo< Geom > Lens::make_geometry(void);

Description: Allocates and returns a new Geom that can be rendered to show a visible representation of the frustum used for this kind of lens, if it makes sense to do so. If a visible representation cannot be created, returns NULL.

output
virtual void Lens::output(ostream &out) const;

Description:

project
bool Lens::project(LPoint3f const &point3d, LPoint3f &point2d) const;

Description: Given a 3-d point in space, determine the 2-d point this maps to, in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner.
Returns true if the 3-d point is in front of the lens and within the viewing frustum (in which case point2d is filled in), or false otherwise (in which case point2d will be filled in with something, which may or may not be meaningful).
The z coordinate will also be set to a value in the range (-1, 1), where 1 represents a point on the near plane, and -1 represents a point on the far plane.

recomputeAll
void Lens::recompute_all(void);

Description: Forces all internal parameters of the Lens to be recomputed. Normally, this should never need to be called; it is provided only to assist in debugging.

setAspectRatio
void Lens::set_aspect_ratio(float aspect_ratio);

Description: Sets the aspect ratio of the lens. This is the ratio of the height to the width of the generated image. Setting this overrides the two-parameter fov or film size setting.

setChangeEvent
void Lens::set_change_event(string const &event);

Description: Sets the name of the event that will be generated whenever any properties of the Lens have changed. If this is not set for a particular lens, no event will be generated.
The event is thrown with one parameter, the lens itself. This can be used to automatically track changes to camera fov, etc. in the application.

setConvergenceDistance
void Lens::set_convergence_distance(float convergence_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setCoordinateSystem
void Lens::set_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

setFar
void Lens::set_far(float far_distance);

Description: Defines the position of the far plane (or cylinder, sphere, whatever). Points farther from the lens than this may not be rendered.

setFilmOffset
void Lens::set_film_offset(float x, float y);

Description: Sets the horizontal and vertical offset amounts of this Lens. These are both in the same units specified in set_film_size().
This can be used to establish an off-axis lens.

setFilmSize
void Lens::set_film_size(float width);

Description: Sets the size and shape of the "film" within the lens. This both establishes the units used by calls like set_focal_length(), and establishes the aspect ratio of the frame.
In a physical camera, the field of view of a lens is determined by the lens' focal length and by the size of the film area exposed by the lens. For instance, a 35mm camera exposes a rectangle on the film about 24mm x 36mm, which means a 50mm lens gives about a 40-degree horizontal field of view.
In the virtual camera, you may set the film size to any units here, and specify a focal length in the same units to simulate the same effect. Or, you may ignore this parameter, and specify the field of view and aspect ratio of the lens directly.
Description: Sets the horizontal size of the film without changing its shape. The aspect ratio remains unchanged; this computes the vertical size of the film to automatically maintain the aspect ratio.

setFocalLength
void Lens::set_focal_length(float focal_length);

Description: Sets the focal length of the lens. This may adjust the field-of-view correspondingly, and is an alternate way to specify field of view.
For certain kinds of lenses (e.g. OrthographicLens), the focal length has no meaning.

setFov
void Lens::set_fov(float fov);

Description: Sets the field of view of the lens in both dimensions. This establishes both the field of view and the aspect ratio of the lens. This is one way to specify the field of view of a lens; set_focal_length() is another way.
For certain kinds of lenses (like OrthoLens), the field of view has no meaning.
Description: Sets the horizontal field of view of the lens without changing the aspect ratio. The vertical field of view is adjusted to maintain the same aspect ratio.
For certain kinds of lenses (like OrthographicLens), the field of view has no meaning.

setFrustumFromCorners
void Lens::set_frustum_from_corners(LVecBase3f const &ul, LVecBase3f const &ur, LVecBase3f const &ll, LVecBase3f const &lr, int flags);

Description: Sets up the lens to use the frustum defined by the four indicated points. This is most useful for a PerspectiveLens, but it may be called for other kinds of lenses as well.
The frustum will be rooted at the origin (or by whatever translation might have been specified in a previous call to set_view_mat).
It is legal for the four points not to be arranged in a rectangle; if this is the case, the frustum will be fitted as tightly as possible to cover all four points.
The flags parameter contains the union of one or more of the following bits to control the behavior of this function:
FC_roll - If this is included, the camera may be rotated so that its up vector is perpendicular to the top line. Otherwise, the standard up vector is used.
FC_camera_plane - This allows the camera plane to be adjusted to be as nearly perpendicular to the center of the frustum as possible. Without this bit, the orientation camera plane is defined by position of the four points (which should all be coplanar). With this bit, the camera plane is arbitarary, and may be chosen so that the four points do not themselves lie in the camera plane (but the points will still be within the frustum).
FC_off_axis - This allows the resulting frustum to be off-axis to get the tightest possible fit. Without this bit, the viewing axis will be centered within the frustum, but there may be more wasted space along the edges.
FC_aspect_ratio - This allows the frustum to be scaled non-proportionately in the vertical and horizontal dimensions, if necessary, to get a tighter fit. Without this bit, the current aspect ratio will be preserved.
FC_shear - This allows the frustum to be sheared, if necessary, to get the tightest possible fit. This may result in a parallelogram-based frustum, which will give a slanted appearance to the rendered image. Without this bit, the frustum will be rectangle-based.
In general, if 0 is passed in as the value for flags, the generated frustum will be a loose fit but sane; if -1 is passed in, it will be a tighter fit and possibly screwy.

setInterocularDistance
void Lens::set_interocular_distance(float interocular_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setKeystone
void Lens::set_keystone(LVecBase2f const &keystone);

Description: Indicates the ratio of keystone correction to perform on the lens, in each of three axes. This will build a special non-affine scale factor into the projection matrix that will compensate for keystoning of a projected image; this can be used to compensate for a projector that for physical reasons cannot be aimed directly at it screen.
The default value is taken from the default-keystone Config variable. 0, 0 indicates no keystone correction; specify a small value (usually in the range -1 .. 1) in either the x or y position to generate a keystone correction in that axis.

setMinFov
void Lens::set_min_fov(float min_fov);

Description: Sets the field of view of the smallest dimension of the window. If the window is wider than it is tall, this specifies the vertical field of view; if it is taller than it is wide, this specifies the horizontal field of view.
In many cases, this is preferable to setting either the horizontal or vertical field of view explicitly. Setting this parameter means that pulling the window wider will widen the field of view, which is usually what you expect to happen.

setNear
void Lens::set_near(float near_distance);

Description: Defines the position of the near plane (or cylinder, sphere, whatever). Points closer to the lens than this may not be rendered.

setNearFar
void Lens::set_near_far(float near_distance, float far_distance);

Description: Simultaneously changes the near and far planes.

setViewHpr
void Lens::set_view_hpr(float h, float p, float r);

Description: Sets the direction in which the lens is facing. Normally, this is down the forward axis (usually the Y axis), but it may be rotated. This is only one way of specifying the rotation; you may also specify an explicit vector in which to look, or you may give a complete transformation matrix.

setViewMat
void Lens::set_view_mat(LMatrix4f const &view_mat);

Description: Sets an arbitrary transformation on the lens. This replaces the individual transformation components like set_view_hpr().
Setting a transformation here will have a slightly different effect than putting one on the LensNode that contains this lens. In particular, lighting and other effects computations will still be performed on the lens in its untransformed (facing forward) position, but the actual projection matrix will be transformed by this matrix.

setViewVector
void Lens::set_view_vector(float x, float y, float z, float i, float j, float k);

Description: Specifies the direction in which the lens is facing by giving an axis to look along, and a perpendicular (or at least non-parallel) up axis.
See also set_view_hpr().

write
virtual void Lens::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


OSocketStream

    from pandac.PandaModules import OSocketStream
    Class : OSocketStream
    Description : A base class for ostreams that write to a (possibly non-blocking) socket. It adds is_closed(), which can be called after any write operation fails to check whether the socket has been closed, or whether more data may be sent later.

Inheritance:

    OSocketStream: ostream SSWriter
    ostream: ios
    ios: ios_base
    ios_base:
    SSWriter:

Methods of OSocketStream:

    close
    flush
    isClosed

Methods of ostream:

    flush
    put
    seekp
    tellp

Methods of ios:

    bad
    clear
    eof
    fail
    good

Methods of SSWriter:

    close
    considerFlush
    flush
    getCollectTcp
    getCollectTcpInterval
    isClosed
    sendDatagram
    setCollectTcp
    setCollectTcpInterval

Constants in ios_base:

    beg | (seekdir)
cur | (seekdir)
end | (seekdir)
close
virtual void OSocketStream::close(void) = 0;

Undocumented function.

flush
bool OSocketStream::flush(void);

Description: Sends the most recently queued data now. This only has meaning if set_collect_tcp() has been set to true.

isClosed
virtual bool OSocketStream::is_closed(void) = 0;

Undocumented function.

flush
void ostream::flush(void);

Undocumented function.

put
void ostream::put(char c);

Undocumented function.

seekp
void ostream::seekp(unsigned long int pos);

Undocumented function.

tellp
unsigned long int ostream::tellp(void);

Undocumented function.

bad
bool ios::bad(void) const;

Undocumented function.

clear
void ios::clear(void);

Undocumented function.

eof
bool ios::eof(void) const;

Undocumented function.

fail
bool ios::fail(void) const;

Undocumented function.

good
bool ios::good(void) const;

Undocumented function.

close
virtual void SSWriter::close(void) = 0;

Undocumented function.

considerFlush
bool SSWriter::consider_flush(void);

Description: Sends the most recently queued data if enough time has elapsed. This only has meaning if set_collect_tcp() has been set to true.

flush
bool SSWriter::flush(void);

Description: Sends the most recently queued data now. This only has meaning if set_collect_tcp() has been set to true.

getCollectTcp
bool SSWriter::get_collect_tcp(void) const;

Description: Returns the current setting of "collect-tcp" mode. See set_collect_tcp().

getCollectTcpInterval
double SSWriter::get_collect_tcp_interval(void) const;

Description: Returns the interval in time, in seconds, for which to hold TCP packets before sending all of the recently received packets at once. This only has meaning if "collect-tcp" mode is enabled; see set_collect_tcp().

isClosed
virtual bool SSWriter::is_closed(void) = 0;

Undocumented function.

sendDatagram
bool SSWriter::send_datagram(Datagram const &dg);

Description: Transmits the indicated datagram over the socket by prepending it with a little-endian 16-bit byte count. Does not return until the data is sent or the connection is closed, even if the socket stream is non-blocking.

setCollectTcp
void SSWriter::set_collect_tcp(bool collect_tcp);

Description: Enables or disables "collect-tcp" mode. In this mode, individual TCP packets are not sent immediately, but rather they are collected together and accumulated to be sent periodically as one larger TCP packet. This cuts down on overhead from the TCP/IP protocol, especially if many small packets need to be sent on the same connection, but it introduces additional latency (since packets must be held before they can be sent).
See set_collect_tcp_interval() to specify the interval of time for which to hold packets before sending them.
If you enable this mode, you may also need to periodically call consider_flush() to flush the queue if no packets have been sent recently.

setCollectTcpInterval
void SSWriter::set_collect_tcp_interval(double interval);

Description: Specifies the interval in time, in seconds, for which to hold TCP packets before sending all of the recently received packets at once. This only has meaning if "collect-tcp" mode is enabled; see set_collect_tcp().


ostream

    from pandac.PandaModules import ostream

Inheritance:

    ostream: ios
    ios: ios_base
    ios_base:

Methods of ostream:

    flush
    put
    seekp
    tellp

Methods of ios:

    bad
    clear
    eof
    fail
    good

Constants in ios_base:

    beg | (seekdir)
cur | (seekdir)
end | (seekdir)
flush
void ostream::flush(void);

Undocumented function.

put
void ostream::put(char c);

Undocumented function.

seekp
void ostream::seekp(unsigned long int pos);

Undocumented function.

tellp
unsigned long int ostream::tellp(void);

Undocumented function.

bad
bool ios::bad(void) const;

Undocumented function.

clear
void ios::clear(void);

Undocumented function.

eof
bool ios::eof(void) const;

Undocumented function.

fail
bool ios::fail(void) const;

Undocumented function.

good
bool ios::good(void) const;

Undocumented function.


PackageArchive

    from direct.pyinst.imputil import PackageArchive
    PackageArchiveImporter subclass that refers to a specific archive.

Inheritance:

    PackageArchive:

Methods of PackageArchive:

    __init__
    get_archive
__init__
def __init__(self, modname, archive_pathname)

Undocumented function.

get_archive
def get_archive(self, modname)

Undocumented function.


PackageArchiveImporter

    from direct.pyinst.imputil import PackageArchiveImporter
    Importer subclass to import from (file) archives.

Inheritance:

    PackageArchiveImporter:

Methods of PackageArchiveImporter:

    get_archive
    get_code
    get_subfile
get_archive
def get_archive(self, modname)

Get an archive of modules.
This method should locate an archive and return a value which can be used by get_subfile to load modules from it. The value may be a simple pathname, an open file, or a complex object that caches information for future imports.
Return None if the archive was not found.

get_code
def get_code(self, parent, modname, fqname)

Undocumented function.

get_subfile
def get_subfile(self, archive, modname)

Get code from a subfile in the specified archive.
Given the specified archive (as returned by get_archive()), locate and return a code object for the specified module name.
A 2-tuple may be returned, consisting of a code object and a dict of name/values to place into the target module.
Return None if the subfile was not found.


PandaNode

    from pandac.PandaModules import PandaNode
    Class : PandaNode
    Description : A basic node of the scene graph or data graph. This is the base class of all specialized nodes, and also serves as a generic node with no special properties.

Inheritance:

    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PandaSystem

    from pandac.PandaModules import PandaSystem
    Class : PandaSystem
    Description : This class is used as a namespace to group several global properties of Panda. Application developers can use this class to query the runtime version or capabilities of the current Panda environment.

Inheritance:

    PandaSystem:

Methods of PandaSystem:

    addSystem
    getBuildDate
    getClassType
    getCompiler
    getDistributor
    getGlobalPtr
    getMajorVersion
    getMinorVersion
    getNumSystems
    getSequenceVersion
    getSystem
    getSystemTag
    getVersionString
    hasSystem
    heapTrim
    isOfficialVersion
    output
    setSystemTag
    write
addSystem
void PandaSystem::add_system(string const &system);

Undocumented function.

getBuildDate
static string PandaSystem::get_build_date(void);

Undocumented function.

getClassType
static TypeHandle PandaSystem::get_class_type(void);

Undocumented function.

getCompiler
static string PandaSystem::get_compiler(void);

Undocumented function.

getDistributor
static string PandaSystem::get_distributor(void);

Undocumented function.

getGlobalPtr
static PandaSystem *PandaSystem::get_global_ptr(void);

Undocumented function.

getMajorVersion
static int PandaSystem::get_major_version(void);

Undocumented function.

getMinorVersion
static int PandaSystem::get_minor_version(void);

Undocumented function.

getNumSystems
int PandaSystem::get_num_systems(void) const;

Undocumented function.

getSequenceVersion
static int PandaSystem::get_sequence_version(void);

Undocumented function.

getSystem
string PandaSystem::get_system(int n) const;

Undocumented function.

getSystemTag
string PandaSystem::get_system_tag(string const &system, string const &tag) const;

Undocumented function.

getVersionString
static string PandaSystem::get_version_string(void);

Undocumented function.

hasSystem
bool PandaSystem::has_system(string const &system) const;

Undocumented function.

heapTrim
bool PandaSystem::heap_trim(unsigned int pad);

Undocumented function.

isOfficialVersion
static bool PandaSystem::is_official_version(void);

Undocumented function.

output
void PandaSystem::output(ostream &out) const;

Undocumented function.

setSystemTag
void PandaSystem::set_system_tag(string const &system, string const &tag, string const &value);

Undocumented function.

write
void PandaSystem::write(ostream &out) const;

Undocumented function.


Parabolad

    from pandac.PandaModules import Parabolad
    Filename: parabola_src.h Created by: drose (10Oct07)
    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."
    Class : Parabola
    Description : An abstract mathematical description of a parabola, particularly useful for describing arcs of projectiles.
    The parabolic equation, given parametrically here, is P = At^2 + Bt + C.

Inheritance:

    Parabolad:

Methods of Parabolad:

    Parabolad (Constructor)
    calcPoint
    getA
    getB
    getC
    operator =
    output
    write
    xform
Parabolad
Parabolad::Parabolad(void);

Filename: parabola_src.I Created by: drose (10Oct07)
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."
Description: Constructs a meaningless degenerate parabola.
Description: Constructs a parabola given the three points of the parametric equation: the acceleration, initial velocity, and start point.
Description:

calcPoint
LPoint3d Parabolad::calc_point(double t) const;

Description: Computes the point on the parabola at time t.

getA
LVecBase3d const &Parabolad::get_a(void) const;

Description: Returns the first point of the parabola's parametric equation: the acceleration.

getB
LVecBase3d const &Parabolad::get_b(void) const;

Description: Returns the second point of the parabola's parametric equation: the initial velocity.

getC
LVecBase3d const &Parabolad::get_c(void) const;

Description: Returns the third point of the parabola's parametric equation: the start point.

operator =
void Parabolad::operator =(Parabolad const &copy);

Description:

output
void Parabolad::output(ostream &out) const;

Description:

write
void Parabolad::write(ostream &out, int indent_level = (0)) const;

Description:

xform
void Parabolad::xform(LMatrix4d const &mat);

Filename: parabola_src.cxx Created by: drose (10Oct07)
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."
Description: Transforms the parabola by the indicated matrix.


Parabolaf

    from pandac.PandaModules import Parabolaf
    Filename: parabola_src.h Created by: drose (10Oct07)
    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."
    Class : Parabola
    Description : An abstract mathematical description of a parabola, particularly useful for describing arcs of projectiles.
    The parabolic equation, given parametrically here, is P = At^2 + Bt + C.

Inheritance:

    Parabolaf:

Methods of Parabolaf:

    Parabolaf (Constructor)
    calcPoint
    getA
    getB
    getC
    operator =
    output
    write
    xform
Parabolaf
Parabolaf::Parabolaf(void);

Filename: parabola_src.I Created by: drose (10Oct07)
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."
Description: Constructs a meaningless degenerate parabola.
Description: Constructs a parabola given the three points of the parametric equation: the acceleration, initial velocity, and start point.
Description:

calcPoint
LPoint3f Parabolaf::calc_point(float t) const;

Description: Computes the point on the parabola at time t.

getA
LVecBase3f const &Parabolaf::get_a(void) const;

Description: Returns the first point of the parabola's parametric equation: the acceleration.

getB
LVecBase3f const &Parabolaf::get_b(void) const;

Description: Returns the second point of the parabola's parametric equation: the initial velocity.

getC
LVecBase3f const &Parabolaf::get_c(void) const;

Description: Returns the third point of the parabola's parametric equation: the start point.

operator =
void Parabolaf::operator =(Parabolaf const &copy);

Description:

output
void Parabolaf::output(ostream &out) const;

Description:

write
void Parabolaf::write(ostream &out, int indent_level = (0)) const;

Description:

xform
void Parabolaf::xform(LMatrix4f const &mat);

Filename: parabola_src.cxx Created by: drose (10Oct07)
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."
Description: Transforms the parabola by the indicated matrix.


Parallel

    from direct.interval.MetaInterval import Parallel

Inheritance:

    Parallel:

Methods of Parallel:

    applyIvals
applyIvals
def applyIvals(self, meta, relTime, relTo)

Undocumented function.


ParallelEndTogether

    from direct.interval.MetaInterval import ParallelEndTogether

Inheritance:

    ParallelEndTogether:

Methods of ParallelEndTogether:

    applyIvals
applyIvals
def applyIvals(self, meta, relTime, relTo)

Undocumented function.


ParametricCurve

    from pandac.PandaModules import ParametricCurve
    Class : ParametricCurve
    Description : A virtual base class for parametric curves. This encapsulates all curves in 3-d space defined for a single parameter t in the range [0,get_max_t()].

Inheritance:

    ParametricCurve: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of ParametricCurve:

    adjustPoint
    adjustPt
    adjustTangent
    calcLength
    findLength
    get2ndtangent
    getClassType
    getCurveType
    getMaxT
    getNumDimensions
    getPoint
    getPt
    getTangent
    isValid
    recompute
    setCurveType
    setNumDimensions
    stitch
    writeEgg

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
adjustPoint
virtual bool ParametricCurve::adjust_point(float t, float px, float py, float pz);

Description: Recomputes the curve such that it passes through the point (px, py, pz) at time t, but keeps the same tangent value at that point.

adjustPt
virtual bool ParametricCurve::adjust_pt(float t, float px, float py, float pz, float tx, float ty, float tz);

Description: Recomputes the curve such that it passes through the point (px, py, pz) with the tangent (tx, ty, tz).

adjustTangent
virtual bool ParametricCurve::adjust_tangent(float t, float tx, float ty, float tz);

Description: Recomputes the curve such that it has the tangent (tx, ty, tz) at time t, but keeps the same position at the point.

calcLength
float ParametricCurve::calc_length(void) const;

Description: Approximates the length of the entire curve to within a few decimal places.
Description: Approximates the length of the curve segment from parametric time 'from' to time 'to'.

findLength
float ParametricCurve::find_length(float start_t, float length_offset) const;

Description: Returns the parametric value corresponding to the indicated distance along the curve from the starting parametric value.
This is the inverse of calc_length(): rather than determining the length along the curve between two parametric points, it determines the position in parametric time of a point n units along the curve.
The search distance must not be negative.

get2ndtangent
virtual bool ParametricCurve::get_2ndtangent(float t, LVecBase3f &tangent2) const = 0;

Undocumented function.

getClassType
static TypeHandle ParametricCurve::get_class_type(void);

Undocumented function.

getCurveType
int ParametricCurve::get_curve_type(void) const;

Description: Returns the flag indicating the use to which the curve is intended to be put.

getMaxT
virtual float ParametricCurve::get_max_t(void) const;

Description: Returns the upper bound of t for the entire curve. The curve is defined in the range 0.0f <= t <= get_max_t(). This base class function always returns 1.0f; derived classes might override this to return something else.

getNumDimensions
int ParametricCurve::get_num_dimensions(void) const;

Description: Returns the number of significant dimensions in the curve's vertices, as set by a previous call to set_num_dimensions(). This is only a hint as to how the curve is intended to be used; the actual number of dimensions of any curve is always three.

getPoint
virtual bool ParametricCurve::get_point(float t, LVecBase3f &point) const = 0;

Undocumented function.

getPt
virtual bool ParametricCurve::get_pt(float t, LVecBase3f &point, LVecBase3f &tangent) const = 0;

Undocumented function.

getTangent
virtual bool ParametricCurve::get_tangent(float t, LVecBase3f &tangent) const = 0;

Undocumented function.

isValid
virtual bool ParametricCurve::is_valid(void) const;

Description: Returns true if the curve is defined. This base class function always returns true; derived classes might override this to sometimes return false.

recompute
virtual bool ParametricCurve::recompute(void);

Description: Recalculates the curve, if necessary. Returns true if the resulting curve is valid, false otherwise.

setCurveType
void ParametricCurve::set_curve_type(int type);

Description: Sets the flag indicating the use to which the curve is intended to be put. This flag is optional and only serves to provide a hint to the egg reader and writer code; it has no effect on the curve's behavior.
Setting the curve type also sets the num_dimensions to 3 or 1 according to the type.
THis flag may have one of the values PCT_XYZ, PCT_HPR, or PCT_T.

setNumDimensions
void ParametricCurve::set_num_dimensions(int num);

Description: Specifies the number of significant dimensions in the curve's vertices. This should be one of 1, 2, or 3. Normally, XYZ and HPR curves have three dimensions; time curves should always have one dimension. This only serves as a hint to the mopath editor, and also controls how the curve is written out.

stitch
virtual bool ParametricCurve::stitch(ParametricCurve const *a, ParametricCurve const *b);

Description: Regenerates this curve as one long curve: the first curve connected end-to-end with the second one. Either a or b may be the same as 'this'.
Returns true if successful, false on failure or if the curve type does not support stitching.

writeEgg
bool ParametricCurve::write_egg(Filename filename, CoordinateSystem cs = (CS_default));

Description: Writes an egg description of the nurbs curve to the specified output file. Returns true if the file is successfully written.
Description: Writes an egg description of the nurbs curve to the specified output stream. Returns true if the file is successfully written.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ParametricCurveCollection

    from pandac.PandaModules import ParametricCurveCollection
    Class : ParametricCurveCollection
    Description : This is a set of zero or more ParametricCurves, which may or may not be related. If they are related, the set should contain no more than one XYZ curve, no more than one HPR curve, and zero or more Timewarp curves, which can then be evaluated as a unit to return a single transformation matrix for a given unit of time.

Inheritance:

    ParametricCurveCollection: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of ParametricCurveCollection:

    ParametricCurveCollection (Constructor)
    addCurve
    addCurves
    adjustHpr
    adjustXyz
    clear
    clearTimewarps
    evaluate
    evaluateHpr
    evaluateT
    evaluateXyz
    faceForward
    getCurve
    getDefaultCurve
    getHprCurve
    getMaxT
    getNumCurves
    getNumTimewarps
    getTimewarpCurve
    getXyzCurve
    hasCurve
    makeEven
    output
    recompute
    removeCurve
    resetMaxT
    stitch
    write
    writeEgg

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
ParametricCurveCollection
ParametricCurveCollection::ParametricCurveCollection(void);

Description:

addCurve
void ParametricCurveCollection::add_curve(ParametricCurve *curve);

Description: Adds a new ParametricCurve to the collection.
Description: Adds a new ParametricCurve to the collection at the indicated index.

addCurves
int ParametricCurveCollection::add_curves(PandaNode *node);

Description: Adds all the curves found in the scene graph rooted at the given node. Returns the number of curves found.

adjustHpr
bool ParametricCurveCollection::adjust_hpr(float t, float h, float p, float r);

Description: Adjust the HPR curve at the indicated time to the new value. The curve shape will change correspondingly. Returns true if successful, false if unable to make the adjustment for some reason.

adjustXyz
bool ParametricCurveCollection::adjust_xyz(float t, float x, float y, float z);

Description: Adjust the XYZ curve at the indicated time to the new value. The curve shape will change correspondingly. Returns true if successful, false if unable to make the adjustment for some reason.

clear
void ParametricCurveCollection::clear(void);

Description: Removes all ParametricCurves from the collection.

clearTimewarps
void ParametricCurveCollection::clear_timewarps(void);

Description: Removes all the timewarp curves from the collection.

evaluate
bool ParametricCurveCollection::evaluate(float t, LVecBase3f &xyz, LVecBase3f &hpr) const;

Description: Computes the position and rotation represented by the first XYZ and HPR curves in the collection at the given point t, after t has been modified by all the timewarp curves in the collection applied in sequence, from back to front.
Returns true if the point is valid (i.e. t is within the bounds indicated by all the timewarp curves and within the bounds of the curves themselves), or false otherwise.
Description: Computes the transform matrix representing translation to the position indicated by the first XYZ curve in the collection and the rotation indicated by the first HPR curve in the collection, after t has been modified by all the timewarp curves in the collection applied in sequence, from back to front.

evaluateHpr
bool ParametricCurveCollection::evaluate_hpr(float t, LVecBase3f &hpr) const;

Description: Computes only the HPR part of the curves. See evaluate().

evaluateT
float ParametricCurveCollection::evaluate_t(float t) const;

Description: Determines the value of t that should be passed to the XYZ and HPR curves, after applying the given value of t to all the timewarps. Return -1.0f if the value of t exceeds one of the timewarps' ranges.

evaluateXyz
bool ParametricCurveCollection::evaluate_xyz(float t, LVecBase3f &xyz) const;

Description: Computes only the XYZ part of the curves. See evaluate().

faceForward
void ParametricCurveCollection::face_forward(float segments_per_unit);

Description: Discards the existing HPR curve and generates a new one that looks in the direction of travel along the XYZ curve, based on the XYZ curve's tangent at each point.

getCurve
ParametricCurve *ParametricCurveCollection::get_curve(int index) const;

Description: Returns the nth ParametricCurve in the collection.

getDefaultCurve
ParametricCurve *ParametricCurveCollection::get_default_curve(void) const;

Description: If there is an XYZ curve in the collection, returns it; otherwise, returns the first curve whose type is unspecified. Returns NULL if no curve meets the criteria.

getHprCurve
ParametricCurve *ParametricCurveCollection::get_hpr_curve(void) const;

Description: Returns the first HPR curve in the collection, if any, or NULL if there are none.

getMaxT
float ParametricCurveCollection::get_max_t(void) const;

Description: Returns the maximum T value associated with the
*last* curve in the collection. Normally, this will
be either the XYZ or HPR curve, or a timewarp curve.

getNumCurves
int ParametricCurveCollection::get_num_curves(void) const;

Description: Returns the number of ParametricCurves in the collection.

getNumTimewarps
int ParametricCurveCollection::get_num_timewarps(void) const;

Description: Returns the number of timewarp curves in the collection.

getTimewarpCurve
ParametricCurve *ParametricCurveCollection::get_timewarp_curve(int n) const;

Description: Returns the nth timewarp curve in the collection.

getXyzCurve
ParametricCurve *ParametricCurveCollection::get_xyz_curve(void) const;

Description: Returns the first XYZ curve in the collection, if any, or NULL if there are none.

hasCurve
bool ParametricCurveCollection::has_curve(ParametricCurve *curve) const;

Description: Returns true if the indicated ParametricCurve appears in this collection, false otherwise.

makeEven
void ParametricCurveCollection::make_even(float max_t, float segments_per_unit);

Description: Discards all existing timewarp curves and recomputes a new timewarp curve that maps distance along the curve to parametric time, so that the distance between any two points in parametric time is proportional to the approximate distance of those same two points along the XYZ curve.
segments_per_unit represents the number of segments to take per each unit of parametric time of the original XYZ curve.
The new timewarp curve (and thus, the apparent range of the collection) will range from 0 to max_t.

output
void ParametricCurveCollection::output(ostream &out) const;

Description: Writes a brief one-line description of the ParametricCurveCollection to the indicated output stream.

recompute
bool ParametricCurveCollection::recompute(void);

Description: Ensures all the curves are freshly computed and up-to-date. Returns true if everything is valid, false if at least one curve is incorrect.

removeCurve
bool ParametricCurveCollection::remove_curve(ParametricCurve *curve);

Description: Removes the indicated ParametricCurve from the collection. Returns true if the curve was removed, false if it was not a member of the collection.
Description: Removes the indicated ParametricCurve from the collection, by its index number.

resetMaxT
void ParametricCurveCollection::reset_max_t(float max_t);

Description: Adjusts the apparent length of the curve by applying a new timewarp that maps the range [0..max_t] to the range [0..get_max_t()]. After this call, the curve collection will contain one more timewarp curve, and get_max_t() will return the given max_t value.

stitch
bool ParametricCurveCollection::stitch(ParametricCurveCollection const *a, ParametricCurveCollection const *b);

Description: Regenerates this curve as one long curve: the first curve connected end-to-end with the second one. Either a or b may be the same as 'this'. This will lose any timewarps on the input curves.
Returns true if successful, false on failure.

write
void ParametricCurveCollection::write(ostream &out, int indent_level = (0)) const;

Description: Writes a complete multi-line description of the ParametricCurveCollection to the indicated output stream.

writeEgg
bool ParametricCurveCollection::write_egg(Filename filename, CoordinateSystem cs = (CS_default));

Description: Writes an egg description of all the nurbs curves in the collection to the specified output file. Returns true if the file is successfully written.
Description: Writes an egg description of all the nurbs curves in the collection to the specified output stream. Returns true if the file is successfully written.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ParamObj

    from direct.showbase.PythonUtil import ParamObj

Inheritance:

    ParamObj:

Methods of ParamObj:

    __init__
    __repr__
    _handleLockParams
    _handleUnlockParams
    destroy
    getCurrentParams
    getPriorValue
    lockParams
    paramsLocked
    setDefaultParams
    unlockParams
__init__
def __init__(self, *args, **kwArgs)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

_handleLockParams
def _handleLockParams(self)

Undocumented function.

_handleUnlockParams
def _handleUnlockParams(self)

Undocumented function.

destroy
def destroy(self)

for param in self.ParamSet.getParams(): setterName = getSetterName(param) self.__dict__[setterName].destroy() del self.__dict__[setterName]

getCurrentParams
def getCurrentParams(self)

Undocumented function.

getPriorValue
def getPriorValue(self)

Undocumented function.

lockParams
def lockParams(self)

Undocumented function.

paramsLocked
def paramsLocked(self)

Undocumented function.

setDefaultParams
def setDefaultParams(self)

Undocumented function.

unlockParams
def unlockParams(self)

Undocumented function.


ParasiteBuffer

    from pandac.PandaModules import ParasiteBuffer
    Class : ParasiteBuffer
    Description : This is a special GraphicsOutput type that acts a lot like a GraphicsBuffer, effectively allowing rendering to an offscreen buffer, except it does not create any framebuffer space for itself. Instead, it renders into the framebuffer owned by some other GraphicsOutput.
    The x_size and y_size must therefore fit within the bounds of the source GraphicsOutput.
    Since the framebuffer will be subsequently cleared when the actual owner draws in it later, this only makes sense if we are going to copy the contents of the framebuffer to a texture immediately after we draw it. Thus, has_texture() is implicitly true for a ParasiteBuffer.
    This class is useful to render offscreen to a texture while preventing the waste of framebuffer memory for API's that are unable to render directly into a texture (and must render into a separate framebuffer first and then copy to texture). It is also the only way to render to a texture on API's that do not support offscreen rendering.

Inheritance:

    ParasiteBuffer: GraphicsOutput
    GraphicsOutput: TypedWritableReferenceCount DrawableRegion
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    DrawableRegion:

Methods of ParasiteBuffer:

    getClassType
    setSize

Methods of GraphicsOutput:

    addRenderTexture
    clearChildSort
    clearDeleteFlag
    clearRenderTextures
    countTextures
    getActiveDisplayRegion
    getChildSort
    getClassType
    getDeleteFlag
    getDisplayRegion
    getFbProperties
    getFbXSize
    getFbYSize
    getGsg
    getInverted
    getLeftEyeColorMask
    getName
    getNumActiveDisplayRegions
    getNumDisplayRegions
    getOneShot
    getPipe
    getRedBlueStereo
    getRightEyeColorMask
    getRtmMode
    getScreenshot
    getSort
    getTexture
    getTextureCard
    getTexturePlane
    getXSize
    getYSize
    hasSize
    hasTexture
    isActive
    isStereo
    isValid
    makeCubeMap
    makeDisplayRegion
    makeScreenshotFilename
    makeTextureBuffer
    removeAllDisplayRegions
    removeDisplayRegion
    saveScreenshot
    saveScreenshotDefault
    setActive
    setChildSort
    setInverted
    setOneShot
    setRedBlueStereo
    setSort
    setupRenderTexture
    shareDepthBuffer
    triggerCopy
    unshareDepthBuffer

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of DrawableRegion:

    disableClears
    getClearActive
    getClearColor
    getClearColorActive
    getClearDepth
    getClearDepthActive
    getClearStencil
    getClearStencilActive
    getClearValue
    getPixelFactor
    getPixelZoom
    getRenderbufferType
    isAnyClearActive
    setClearActive
    setClearColor
    setClearColorActive
    setClearDepth
    setClearDepthActive
    setClearStencil
    setClearStencilActive
    setClearValue
    setPixelZoom
    supportsPixelZoom

Constants in GraphicsOutput:

    RTMNone | (RenderTextureMode)
RTMBindOrCopy | (RenderTextureMode)
RTMCopyTexture | (RenderTextureMode)
RTMCopyRam | (RenderTextureMode)
RTMTriggeredCopyTexture | (RenderTextureMode)
RTMTriggeredCopyRam | (RenderTextureMode)
FMRender | (FrameMode)
FMParasite | (FrameMode)
FMRefresh | (FrameMode)

Constants in DrawableRegion:

    RTPStencil | (RenderTexturePlane)
RTPDepthStencil | (RenderTexturePlane)
RTPDepth | (RenderTexturePlane)
RTPColor | (RenderTexturePlane)
RTPAuxRgba0 | (RenderTexturePlane)
RTPAuxRgba1 | (RenderTexturePlane)
RTPAuxRgba2 | (RenderTexturePlane)
RTPAuxRgba3 | (RenderTexturePlane)
RTPAuxHrgba0 | (RenderTexturePlane)
RTPAuxHrgba1 | (RenderTexturePlane)
RTPAuxHrgba2 | (RenderTexturePlane)
RTPAuxHrgba3 | (RenderTexturePlane)
RTPAuxFloat0 | (RenderTexturePlane)
RTPAuxFloat1 | (RenderTexturePlane)
RTPAuxFloat2 | (RenderTexturePlane)
RTPAuxFloat3 | (RenderTexturePlane)
RTPCOUNT | (RenderTexturePlane)
getClassType
static TypeHandle ParasiteBuffer::get_class_type(void);

Undocumented function.

setSize
void ParasiteBuffer::set_size(int x, int y);

Description: This is called by the GraphicsEngine to request that the buffer resize itself. Although calls to get the size will return the new value, much of the actual resizing work doesn't take place until the next begin_frame. Not all buffers are resizeable.

addRenderTexture
void GraphicsOutput::add_render_texture(Texture *tex, GraphicsOutput::RenderTextureMode mode, DrawableRegion::RenderTexturePlane bitplane = (RTP_COUNT));

Description: Creates a new Texture object, suitable for rendering the contents of this buffer into, and appends it to the list of render textures.
If tex is not NULL, it is the texture that will be set up for rendering into; otherwise, a new Texture object will be created, in which case you may call get_texture() to retrieve the new texture pointer.
You can specify a bitplane to attach the texture to. the legal choices are:
* RTP_depth_stencil
* RTP_color
* RTP_aux_rgba_0
* RTP_aux_rgba_1
* RTP_aux_rgba_2
* RTP_aux_rgba_3
If you do not specify a bitplane to attach the texture to, this routine will use a default based on the texture's format:
* F_depth_stencil attaches to RTP_depth_stencil
* all other formats attach to RTP_color.
The texture's format will be changed to match the format of the bitplane to which it is attached. For example, if you pass in an F_rgba texture and order that it be attached to RTP_depth_stencil, it will turn into an F_depth_stencil texture.
Also see make_texture_buffer(), which is a higher-level interface for preparing render-to-a-texture mode.

clearChildSort
void GraphicsOutput::clear_child_sort(void);

Description: Resets the sort value of future offscreen buffers created by make_texture_sort() to the default value. See set_child_sort().

clearDeleteFlag
void GraphicsOutput::clear_delete_flag(void);

Description: Resets the delete flag, so the GraphicsOutput will not be automatically deleted before the beginning of the next frame.

clearRenderTextures
void GraphicsOutput::clear_render_textures(void);

Description: If the GraphicsOutput is currently rendering to a texture, then all textures are dissociated from the GraphicsOuput.

countTextures
int GraphicsOutput::count_textures(void) const;

Description: If the GraphicsOutput is set to render into a texture, returns the number of textures that are being rendered into. Normally, the textures would be associated with different buffers - a color texture, a depth texture, and a stencil texture.

getActiveDisplayRegion
PointerTo< DisplayRegion > GraphicsOutput::get_active_display_region(int n) const;

Description: Returns the nth active DisplayRegion of those that have been created within the window. This may return NULL if n is out of bounds; particularly likely if the number of display regions has changed since the last call to get_num_active_display_regions().

getChildSort
int GraphicsOutput::get_child_sort(void) const;

Description: Returns the sort value of future offscreen buffers created by make_texture_sort(). See set_child_sort().

getClassType
static TypeHandle GraphicsOutput::get_class_type(void);

Undocumented function.

getDeleteFlag
bool GraphicsOutput::get_delete_flag(void) const;

Description: Returns the current setting of the delete flag. When this is true, the GraphicsOutput will automatically be removed before the beginning of the next frame by the GraphicsEngine.

getDisplayRegion
PointerTo< DisplayRegion > GraphicsOutput::get_display_region(int n) const;

Description: Returns the nth DisplayRegion of those that have been created within the window. This may return NULL if n is out of bounds; particularly likely if the number of display regions has changed since the last call to get_num_display_regions().

getFbProperties
FrameBufferProperties const &GraphicsOutput::get_fb_properties(void) const;

Description: Returns the framebuffer properties of the window.

getFbXSize
int GraphicsOutput::get_fb_x_size(void) const;

Description: Returns the internal width of the window or buffer. This is almost always the same as get_x_size(), except when a pixel_zoom is in effect--see set_pixel_zoom().

getFbYSize
int GraphicsOutput::get_fb_y_size(void) const;

Description: Returns the internal height of the window or buffer. This is almost always the same as get_y_size(), except when a pixel_zoom is in effect--see set_pixel_zoom().

getGsg
GraphicsStateGuardian *GraphicsOutput::get_gsg(void) const;

Description: Returns the GSG that is associated with this window. There is a one-to-one association between windows and GSG's.
This may return NULL if the graphics context has not yet been created for the window, e.g. before the first frame has rendered; or after the window has been closed.

getInverted
bool GraphicsOutput::get_inverted(void) const;

Description: Returns the current setting of the inverted flag. When this is true, the scene is rendered into the window upside-down, flipped like a mirror along the X axis. See set_inverted().

getLeftEyeColorMask
unsigned int GraphicsOutput::get_left_eye_color_mask(void) const;

Description: Returns the color mask in effect when rendering a left-eye view in red_blue stereo mode. This is one or more bits defined in ColorWriteAttrib::Channels. See set_red_blue_stereo().

getName
string const &GraphicsOutput::get_name(void) const;

Description: Returns the name that was passed to the GraphicsOutput constructor.

getNumActiveDisplayRegions
int GraphicsOutput::get_num_active_display_regions(void) const;

Description: Returns the number of active DisplayRegions that have been created within the window.

getNumDisplayRegions
int GraphicsOutput::get_num_display_regions(void) const;

Description: Returns the number of DisplayRegions that have been created within the window, active or otherwise.

getOneShot
bool GraphicsOutput::get_one_shot(void) const;

Description: Returns the current setting of the one-shot flag. When this is true, the GraphicsOutput will automatically detach its texture (if it has one) and remove itself from the GraphicsEngine after it renders the next frame.

getPipe
GraphicsPipe *GraphicsOutput::get_pipe(void) const;

Description: Returns the GraphicsPipe that this window is associated with. It is possible that the GraphicsPipe might have been deleted while an outstanding PT(GraphicsOutput) prevented all of its children windows from also being deleted; in this unlikely case, get_pipe() may return NULL.

getRedBlueStereo
bool GraphicsOutput::get_red_blue_stereo(void) const;

Description: Returns whether red-blue stereo mode is in effect for this particular window. See set_red_blue_stereo().

getRightEyeColorMask
unsigned int GraphicsOutput::get_right_eye_color_mask(void) const;

Description: Returns the color mask in effect when rendering a right-eye view in red_blue stereo mode. This is one or more bits defined in ColorWriteAttrib::Channels. See set_red_blue_stereo().

getRtmMode
GraphicsOutput::RenderTextureMode GraphicsOutput::get_rtm_mode(int i = (0)) const;

Description: Returns the RenderTextureMode associated with the nth render-texture. Returns RTM_none if there is no such texture.

getScreenshot
bool GraphicsOutput::get_screenshot(PNMImage &image);

Description: Captures the most-recently rendered image from the framebuffer into the indicated PNMImage. Returns true on success, false on failure.

getSort
int GraphicsOutput::get_sort(void) const;

Description: Returns the sorting order of this particular GraphicsOutput. The various GraphicsOutputs within a particular thread will be rendered in the indicated order.

getTexture
Texture *GraphicsOutput::get_texture(int i = (0)) const;

Description: Returns the nth texture into which the GraphicsOutput renders. Returns NULL if there is no such texture.
If the texture is non-NULL, it may be applied to geometry to be rendered for any other windows or outputs that share the same GSG as this GraphicsOutput. The effect is undefined for windows that share a different GSG; usually in these cases the texture will be invalid.

getTextureCard
NodePath GraphicsOutput::get_texture_card(void);

Description: Returns a PandaNode containing a square polygon. The dimensions are (-1,0,-1) to (1,0,1). The texture coordinates are such that the texture of this GraphicsOutput is aligned properly to the polygon. The GraphicsOutput promises to surgically update the Geom inside the PandaNode if necessary to maintain this invariant.
Each invocation of this function returns a freshly- allocated PandaNode. You can therefore safely modify the RenderAttribs of the PandaNode. The PandaNode is initially textured with the texture of this GraphicOutput.

getTexturePlane
DrawableRegion::RenderTexturePlane GraphicsOutput::get_texture_plane(int i = (0)) const;

Description: Returns the RenderTexturePlane associated with the nth render-texture. Returns 0 if there is no such texture.

getXSize
int GraphicsOutput::get_x_size(void) const;

Description: Returns the visible width of the window or buffer, if it is known. In certain cases (e.g. fullscreen windows), the size may not be known until after the object has been fully created. Check has_size() first.
Certain objects (like windows) may change size spontaneously; this method is not thread-safe. To get the size of a window in a thread-safe manner, query get_properties().

getYSize
int GraphicsOutput::get_y_size(void) const;

Description: Returns the visible height of the window or buffer, if it is known. In certain cases (e.g. fullscreen windows), the size may not be known until after the object has been fully created. Check has_size() first.
Certain objects (like windows) may change size spontaneously; this method is not thread-safe. To get the size of a window in a thread-safe manner, query get_properties().

hasSize
bool GraphicsOutput::has_size(void) const;

Description: Returns true if the size of the window/frame buffer is known, false otherwise. In certain cases the size may not be known until after the object has been fully created. Also, certain objects (like windows) may change size spontaneously.

hasTexture
bool GraphicsOutput::has_texture(void) const;

Description: Returns true if the GraphicsOutput is rendering into any textures at all.

isActive
virtual bool GraphicsOutput::is_active(void) const;

Description: Returns true if the window is ready to be rendered into, false otherwise.

isStereo
bool GraphicsOutput::is_stereo(void) const;

Description: Returns Returns true if this window can render stereo DisplayRegions, either through red-blue stereo (see set_red_blue_stereo()) or through true hardware stereo rendering.

isValid
bool GraphicsOutput::is_valid(void) const;

Description: Returns true if the output is fully created and ready for rendering, false otherwise.

makeCubeMap
GraphicsOutput *GraphicsOutput::make_cube_map(string const &name, int size, NodePath &camera_rig, BitMask< unsigned int, 32 > camera_mask = ((get_all_camera_mask())), bool to_ram = (0));

Description: This is similar to make_texture_buffer() in that it allocates a separate buffer suitable for rendering to a texture that can be assigned to geometry in this window, but in this case, the buffer is set up to render the six faces of a cube map.
The buffer is automatically set up with six display regions and six cameras, each of which are assigned the indicated draw_mask and parented to the given camera_rig node (which you should then put in your scene to render the cube map from the appropriate point of view).
You may take the texture associated with the buffer and apply it to geometry, particularly with TexGenAttrib::M_world_cube_map also in effect, to apply a reflection of everything seen by the camera rig.

makeDisplayRegion
DisplayRegion *GraphicsOutput::make_display_region(void);

Description: Creates a new DisplayRegion that covers the entire window.
Description: Creates a new DisplayRegion that covers the indicated sub-rectangle within the window. The range on all parameters is 0..1.

makeScreenshotFilename
static Filename GraphicsOutput::make_screenshot_filename(string const &prefix = ("screenshot"));

Description: Saves a screenshot of the region to a default filename, and returns the filename, or empty string if the screenshot failed. The default filename is generated from the supplied prefix and from the Config variable screenshot-filename, which contains the following strings:
%~p - the supplied prefix %~f - the frame count %~e - the value of screenshot-extension All other % strings in strftime().

makeTextureBuffer
GraphicsOutput *GraphicsOutput::make_texture_buffer(string const &name, int x_size, int y_size, Texture *tex = ((void *)(0)), bool to_ram = (0));

Description: Creates and returns an offscreen buffer for rendering into, the result of which will be a texture suitable for applying to geometry within the scene rendered into this window.
If tex is not NULL, it is the texture that will be set up for rendering into; otherwise, a new Texture object will be created. In either case, the target texture can be retrieved from the return value with buffer->get_texture() (assuming the return value is not NULL).
If to_ram is true, the buffer will be set up to download its contents to the system RAM memory associated with the Texture object, instead of keeping it strictly within texture memory; this is much slower, but it allows using the texture with any GSG.
This will attempt to be smart about maximizing render performance while minimizing framebuffer waste. It might return a GraphicsBuffer set to render directly into a texture, if possible; or it might return a ParasiteBuffer that renders into this window. The return value is NULL if the buffer could not be created for some reason.
When you are done using the buffer, you should remove it with a call to GraphicsEngine::remove_window() (or set the one_shot flag so it removes itself after one frame).

removeAllDisplayRegions
void GraphicsOutput::remove_all_display_regions(void);

Description: Removes all display regions from the window, except the default one that is created with the window.

removeDisplayRegion
bool GraphicsOutput::remove_display_region(DisplayRegion *display_region);

Description: Removes the indicated DisplayRegion from the window, and destructs it if there are no other references.
Returns true if the DisplayRegion is found and removed, false if it was not a part of the window.

saveScreenshot
bool GraphicsOutput::save_screenshot(Filename const &filename, string const &image_comment = (""));

Description: Saves a screenshot of the region to the indicated filename. The image comment is an optional user readable string that will be saved with the header of the image (if the file format supports embedded data; for example jpg allows comments). Returns true on success, false on failure.

saveScreenshotDefault
Filename GraphicsOutput::save_screenshot_default(string const &prefix = ("screenshot"));

Description: Saves a screenshot of the region to a default filename, and returns the filename, or empty string if the screenshot failed. The filename is generated by make_screenshot_filename().

setActive
void GraphicsOutput::set_active(bool active);

Description: Sets the active flag associated with the GraphicsOutput. If the GraphicsOutput is marked inactive, nothing is rendered.

setChildSort
void GraphicsOutput::set_child_sort(int child_sort);

Description: Specifies the sort value of future offscreen buffers created by make_texture_sort().
The purpose of this method is to allow the user to limit the sort value chosen for a buffer created via make_texture_buffer(). Normally, this buffer will be assigned a value of get_sort() - 1, so that it will be rendered before this window is rendered; but sometimes this isn't sufficiently early, especially if other buffers also have a view into the same scene.
If you specify a value here, then new buffers created via make_texture_buffer() will be given that sort value instead of get_sort() - 1.

setInverted
void GraphicsOutput::set_inverted(bool inverted);

Description: Changes the current setting of the inverted flag. When this is true, the scene is rendered into the window upside-down and backwards, that is, inverted as if viewed through a mirror placed on the floor.
This is primarily intended to support DirectX (and a few buggy OpenGL graphics drivers) that perform a framebuffer-to-texture copy upside-down from the usual OpenGL (and Panda) convention. Panda will automatically set this flag for offscreen buffers on hardware that is known to do this, to compensate when rendering offscreen into a texture.

setOneShot
void GraphicsOutput::set_one_shot(bool one_shot);

Description: Changes the current setting of the one-shot flag. When this is true, the GraphicsOutput will automatically detach its texture (if it has one) and remove itself from the GraphicsEngine after it renders the next frame.

setRedBlueStereo
void GraphicsOutput::set_red_blue_stereo(bool red_blue_stereo, unsigned int left_eye_color_mask, unsigned int right_eye_color_mask);

Description: Enables red-blue stereo mode on this particular window. When red-blue stereo mode is in effect, DisplayRegions that have the "left" channel set will render in the red (or specified) channel only, while DisplayRegions that have the "right" channel set will render in the blue (or specified) channel only.
The remaining two parameters specify the particular color channel(s) to associate with each eye. Use the bits defined in ColorWriteAttrib::Channels.
This can be used to achieve a cheesy stereo mode in the absence of hardware-supported stereo.

setSort
void GraphicsOutput::set_sort(int sort);

Description: Adjusts the sorting order of this particular GraphicsOutput, relative to other GraphicsOutputs.

setupRenderTexture
void GraphicsOutput::setup_render_texture(Texture *tex, bool allow_bind, bool to_ram);

Description: This is a deprecated interface that made sense back when GraphicsOutputs could only render into one texture at a time. From now on, use clear_render_textures and add_render_texture instead.

shareDepthBuffer
virtual bool GraphicsOutput::share_depth_buffer(GraphicsOutput *graphics_output);

Description: Will attempt to use the depth buffer of the input graphics_output. The buffer sizes must be exactly the same.

triggerCopy
void GraphicsOutput::trigger_copy(void);

Description: When the GraphicsOutput is in triggered copy mode, this function triggers the copy (at the end of the next frame).

unshareDepthBuffer
virtual void GraphicsOutput::unshare_depth_buffer(void);

Description: Discontinue sharing the depth buffer.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

disableClears
void DrawableRegion::disable_clears(void);

Description: Disables both the color and depth clear. See set_clear_color_active and set_clear_depth_active.

getClearActive
bool DrawableRegion::get_clear_active(int n) const;

Description: Gets the clear-active flag for any bitplane.

getClearColor
LVecBase4f const &DrawableRegion::get_clear_color(void) const;

Description: Returns the current clear color value. This is the value that will be used to clear the color buffer every frame, but only if get_clear_color_active() returns true. If get_clear_color_active() returns false, this is meaningless.

getClearColorActive
bool DrawableRegion::get_clear_color_active(void) const;

Description: Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. See set_clear_color_active().

getClearDepth
float DrawableRegion::get_clear_depth(void) const;

Description: Returns the current clear depth value. This is the value that will be used to clear the depth buffer every frame, but only if get_clear_depth_active() returns true. If get_clear_depth_active() returns false, this is meaningless.

getClearDepthActive
bool DrawableRegion::get_clear_depth_active(void) const;

Description: Returns the current setting of the flag that indicates whether the depth buffer should be cleared every frame. See set_clear_depth_active().

getClearStencil
unsigned int DrawableRegion::get_clear_stencil(void) const;

Description: Returns the current clear stencil value. This is the value that will be used to clear the stencil buffer every frame, but only if get_clear_stencil_active() returns true. If get_clear_stencil_active() returns false, this is meaningless.

getClearStencilActive
bool DrawableRegion::get_clear_stencil_active(void) const;

Description: Returns the current setting of the flag that indicates whether the color buffer should be cleared every frame. See set_clear_stencil_active().

getClearValue
LVecBase4f const &DrawableRegion::get_clear_value(int n) const;

Description: Returns the clear value for any bitplane.

getPixelFactor
float DrawableRegion::get_pixel_factor(void) const;

Description: Returns the amount by which the height and width of the region will be scaled internally, based on the zoom factor set by set_pixel_zoom(). This will return 1.0 if the pixel_zoom was not set or if it is not being respected (for instance, because the underlying renderer doesn't support it--see supports_pixel_zoom).

getPixelZoom
float DrawableRegion::get_pixel_zoom(void) const;

Description: Returns the value set by set_pixel_zoom(), regardless of whether it is being respected or not. Also see get_pixel_factor().

getRenderbufferType
static int DrawableRegion::get_renderbuffer_type(int plane);

Description: Returns the RenderBuffer::Type that corresponds to a RenderTexturePlane.

isAnyClearActive
bool DrawableRegion::is_any_clear_active(void) const;

Description: Returns true if any of the clear types (so far there are just color or depth) have been set active, or false if none of them are active and there is no need to clear.

setClearActive
void DrawableRegion::set_clear_active(int n, bool clear_aux_active);

Description: Sets the clear-active flag for any bitplane.

setClearColor
void DrawableRegion::set_clear_color(LVecBase4f const &color);

Description: Sets the clear color to the indicated value. This is the value that will be used to clear the color buffer every frame, but only if get_clear_color_active() returns true. If get_clear_color_active() returns false, this is meaningless.

setClearColorActive
void DrawableRegion::set_clear_color_active(bool clear_color_active);

Description: Toggles the flag that indicates whether the color buffer should be cleared every frame. If this is true, the color buffer will be cleared to the color indicated by set_clear_color(); otherwise, it will be left alone.

setClearDepth
void DrawableRegion::set_clear_depth(float depth);

Description: Sets the clear depth to the indicated value. This is the value that will be used to clear the depth buffer every frame, but only if get_clear_depth_active() returns true. If get_clear_depth_active() returns false, this is meaningless.

setClearDepthActive
void DrawableRegion::set_clear_depth_active(bool clear_depth_active);

Description: Toggles the flag that indicates whether the depth buffer should be cleared every frame. If this is true, the depth buffer will be cleared to the depth value indicated by set_clear_depth(); otherwise, it will be left alone.

setClearStencil
void DrawableRegion::set_clear_stencil(unsigned int stencil);

Description: Sets the clear stencil to the indicated value. This is the value that will be used to clear the stencil buffer every frame, but only if get_clear_color_active() returns true. If get_clear_stencil_active() returns false, this is meaningless.

setClearStencilActive
void DrawableRegion::set_clear_stencil_active(bool clear_stencil_active);

Description: Toggles the flag that indicates whether the stencil buffer should be cleared every frame. If this is true, the stencil buffer will be cleared to the value indicated by set_clear_stencil(); otherwise, it will be left alone.

setClearValue
void DrawableRegion::set_clear_value(int n, LVecBase4f const &color);

Description: Sets the clear value for any bitplane.

setPixelZoom
void DrawableRegion::set_pixel_zoom(float pixel_zoom);

Description: Sets the amount by which the pixels of the region are scaled internally when filling the image interally. Setting this number larger makes the pixels blockier, but may make the rendering faster, particularly for software renderers. Setting this number to 2.0 reduces the number of pixels that have to be filled by the renderer by a factor of 2.0. It doesn't make sense to set this lower than 1.0.
It is possible to set this on either individual DisplayRegions or on overall GraphicsWindows, but you will get better performance for setting it on the window rather than its individual DisplayRegions. Also, you may not set it on a DisplayRegion that doesn't have both clear_color() and clear_depth() enabled.
This property is only supported on renderers for which it is particularly useful--currently, this is the tinydisplay software renderer. Other kinds of renderers allow you to set this property, but ignore it.

supportsPixelZoom
virtual bool DrawableRegion::supports_pixel_zoom(void) const;

Description: Returns true if a call to set_pixel_zoom() will be respected, false if it will be ignored. If this returns false, then get_pixel_factor() will always return 1.0, regardless of what value you specify for set_pixel_zoom().
This may return false if the underlying renderer doesn't support pixel zooming, or if you have called this on a DisplayRegion that doesn't have both set_clear_color() and set_clear_depth() enabled.


ParentInterval

    from direct.interval.FunctionInterval import ParentInterval

Inheritance:

    ParentInterval:

Methods of ParentInterval:

    __init__
__init__
def __init__(self, nodePath, parent, name=None)

__init__(nodePath, parent, name)


ParentMgr

    from direct.distributed.ParentMgr import ParentMgr
    ParentMgr holds a table of nodes that avatars may be parented to in a distributed manner. All clients within a particular zone maintain identical tables of these nodes, and the nodes are referenced by 'tokens' which the clients can pass to each other to communicate distributed reparenting information.
    The functionality of ParentMgr used to be implemented with a simple token->node dictionary. As distributed 'parent' objects were manifested, they would add themselves to the dictionary. Problems occured when distributed avatars were manifested before the objects to which they were parented to.
    Since the order of object manifestation depends on the order of the classes in the DC file, we could maintain an ordering of DC definitions that ensures that the necessary objects are manifested before avatars. However, it's easy enough to keep a list of pending reparents and thus support the general case without requiring any strict ordering in the DC.

Inheritance:

    ParentMgr:

Methods of ParentMgr:

    __init__
    destroy
    privRemoveReparentRequest
    registerParent
    requestReparent
    unregisterParent
__init__
def __init__(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

privRemoveReparentRequest
def privRemoveReparentRequest(self, child)

this internal function removes any currently-pending reparent request for the given child nodepath

registerParent
def registerParent(self, token, parent)

Undocumented function.

requestReparent
def requestReparent(self, child, parentToken)

Undocumented function.

unregisterParent
def unregisterParent(self, token)

Undocumented function.


PartBundle

    from pandac.PandaModules import PartBundle
    Class : PartBundle
    Description : This is the root of a MovingPart hierarchy. It defines the hierarchy of moving parts that make up an animatable object.

Inheritance:

    PartBundle: PartGroup
    PartGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of PartBundle:

    applyTransform
    bindAnim
    clearControlEffects
    controlJoint
    forceUpdate
    freezeJoint
    getAnimBlendFlag
    getBlendType
    getClassType
    getControlEffect
    getFrameBlendFlag
    getNode
    getNumNodes
    getRootXform
    output
    releaseJoint
    setAnimBlendFlag
    setBlendType
    setControlEffect
    setFrameBlendFlag
    setRootXform
    update
    xform

Methods of PartGroup:

    applyControl
    applyFreeze
    clearForcedChannel
    findChild
    getChild
    getClassType
    getForcedChannel
    getNumChildren
    write
    writeWithValue

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in PartBundle:

    BTLinear | (BlendType)
BTNormalizedLinear | (BlendType)
BTComponentwise | (BlendType)
BTComponentwiseQuat | (BlendType)
applyTransform
PointerTo< PartBundle > PartBundle::apply_transform(TransformState const *transform);

Description: Returns a PartBundle that is a duplicate of this one, but with the indicated transform applied. If this is called multiple times with the same TransformState pointer, it returns the same PartBundle each time.

bindAnim
PointerTo< AnimControl > PartBundle::bind_anim(AnimBundle *anim, int hierarchy_match_flags = (0), PartSubset const &subset = ((())));

Description: Binds the animation to the bundle, if possible, and returns a new AnimControl that can be used to start and stop the animation. If the anim hierarchy does not match the part hierarchy, returns NULL.
If hierarchy_match_flags is 0, only an exact match is accepted; otherwise, it may contain a union of PartGroup::HierarchyMatchFlags values indicating conditions that will be tolerated (but warnings will still be issued).
If subset is specified, it restricts the binding only to the named subtree of joints.
The AnimControl is not stored within the PartBundle; it is the user's responsibility to maintain the pointer. The animation will automatically unbind itself when the AnimControl destructs (i.e. its reference count goes to zero).

clearControlEffects
void PartBundle::clear_control_effects(void);

Description: Sets the control effect of all AnimControls to zero (but does not "stop" the AnimControls). The character will no longer be affected by any animation, and will return to its original Jesus pose.
The AnimControls which are no longer associated will not be using any CPU cycles, but they may still be in the "playing" state; if they are later reassociated with the PartBundle they will resume at their current frame as if they'd been running all along.

controlJoint
bool PartBundle::control_joint(string const &joint_name, PandaNode *node);

Description: Specifies that the joint with the indicated name should be animated with the transform on the indicated node. It will henceforth always follow the node's transform, regardless of any animations that may subsequently be bound to the joint.
Returns true if the joint is successfully controlled, or false if the named child is not a joint (or slider) or does not exist.

forceUpdate
bool PartBundle::force_update(void);

Description: Updates all the parts in the bundle to reflect the data for the current frame, whether we believe it needs it or not.

freezeJoint
bool PartBundle::freeze_joint(string const &joint_name, TransformState const *transform);

Description: Specifies that the joint with the indicated name should be frozen with the specified transform. It will henceforth always hold this fixed transform, regardless of any animations that may subsequently be bound to the joint.
Returns true if the joint is successfully frozen, or false if the named child is not a joint (or slider) or does not exist.

getAnimBlendFlag
bool PartBundle::get_anim_blend_flag(void) const;

Description: Returns whether the character allows multiple different animations to be bound simultaneously. See set_anim_blend_flag().

getBlendType
PartBundle::BlendType PartBundle::get_blend_type(void) const;

Description: Returns the algorithm that is used when blending multiple frames or multiple animations together, when either anim_blend_flag or frame_blend_flag is set to true.

getClassType
static TypeHandle PartBundle::get_class_type(void);

Undocumented function.

getControlEffect
float PartBundle::get_control_effect(AnimControl *control) const;

Description: Returns the amount by which the character is affected by the indicated AnimControl and its associated animation. See set_control_effect().

getFrameBlendFlag
bool PartBundle::get_frame_blend_flag(void) const;

Description: Returns whether the character interpolates (blends) between two sequential animation frames, or whether it holds the current frame until the next one is ready. See set_frame_blend_flag().

getNode
PartBundleNode *PartBundle::get_node(int n) const;

Description: Returns the nth PartBundleNode associated with this PartBundle.

getNumNodes
int PartBundle::get_num_nodes(void) const;

Description: Returns the number of PartBundleNodes that contain a pointer to this PartBundle.

getRootXform
LMatrix4f const &PartBundle::get_root_xform(void) const;

Description: Returns the transform matrix which is implicitly applied at the root of the animated hierarchy.

output
virtual void PartBundle::output(ostream &out) const;

Description: Writes a one-line description of the bundle.

releaseJoint
bool PartBundle::release_joint(string const &joint_name);

Description: Releases the named joint from the effects of a previous call to freeze_joint() or control_joint(). It will henceforth once again follow whatever transforms are dictated by the animation.
Returns true if the joint is released, or false if the named child was not previously controlled or frozen, or it does not exist.

setAnimBlendFlag
void PartBundle::set_anim_blend_flag(bool anim_blend_flag);

Description: Defines the way the character responds to multiple calls to set_control_effect()). By default, this flag is set false, which disallows multiple animations. When this flag is false, it is not necessary to explicitly set the control_effect when starting an animation; starting the animation will implicitly remove the control_effect from the previous animation and set it on the current one.
However, if this flag is set true, the control_effect must be explicitly set via set_control_effect() whenever an animation is to affect the character.

setBlendType
void PartBundle::set_blend_type(PartBundle::BlendType bt);

Description: Defines the algorithm that is used when blending multiple frames or multiple animations together, when either anim_blend_flag or frame_blend_flag is set to true.
See partBundle.h for a description of the meaning of each of the BlendType values.

setControlEffect
void PartBundle::set_control_effect(AnimControl *control, float effect);

Description: Sets the amount by which the character is affected by the indicated AnimControl (and its associated animation). Normally, this will only be zero or one. Zero indicates the animation does not affect the character, and one means it does.
If the _anim_blend_flag is not false (see set_anim_blend_flag()), it is possible to have multiple AnimControls in effect simultaneously. In this case, the effect is a weight that indicates the relative importance of each AnimControl to the final animation.

setFrameBlendFlag
void PartBundle::set_frame_blend_flag(bool frame_blend_flag);

Description: Specifies whether the character interpolates (blends) between two sequential frames of an active animation, showing a smooth intra-frame motion, or whether it holds each frame until the next frame is ready, showing precisely the specified animation.
When this value is false, the character holds each frame until the next is ready. When this is true, the character will interpolate between two consecutive frames of animation for each frame the animation is onscreen, according to the amount of time elapsed between the frames.
The default value of this flag is determined by the interpolate-frames Config.prc variable.
Use set_blend_type() to change the algorithm that the character uses to interpolate matrix positions.

setRootXform
void PartBundle::set_root_xform(LMatrix4f const &root_xform);

Description: Specifies the transform matrix which is implicitly applied at the root of the animated hierarchy.

update
bool PartBundle::update(void);

Description: Updates all the parts in the bundle to reflect the data for the current frame (as set in each of the AnimControls).
Returns true if any part has changed as a result of this, or false otherwise.

xform
void PartBundle::xform(LMatrix4f const &mat);

Description: Applies the indicated transform to the root of the animated hierarchy.

applyControl
virtual bool PartGroup::apply_control(PandaNode *node);

Description: Specifies a node to influence this particular joint so that it will always hold the node's transform. Returns true if this is a joint that can be so controlled, false otherwise.
This is normally only called internally by PartBundle::control_joint(), but you may also call it directly.

applyFreeze
virtual bool PartGroup::apply_freeze(TransformState const *transform);

Description: Freezes this particular joint so that it will always hold the specified transform. Returns true if this is a joint that can be so frozen, false otherwise.
This is normally only called internally by PartBundle::freeze_joint(), but you may also call it directly.

clearForcedChannel
virtual bool PartGroup::clear_forced_channel(void);

Description: Undoes the effect of a previous call to apply_freeze() or apply_control(). Returns true if the joint was modified, false otherwise.
This is normally only called internally by PartBundle::release_joint(), but you may also call it directly.

findChild
PartGroup *PartGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
PartGroup *PartGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle PartGroup::get_class_type(void);

Undocumented function.

getForcedChannel
virtual AnimChannelBase *PartGroup::get_forced_channel(void) const;

Description: Returns the AnimChannelBase that has been forced to this joint by a previous call to apply_freeze() or apply_control(), or NULL if no such channel has been applied.

getNumChildren
int PartGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

write
virtual void PartGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

writeWithValue
virtual void PartGroup::write_with_value(ostream &out, int indent_level) const;

Description: Writes a brief description of the group, showing its current value, and that of all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


PartBundleHandle

    from pandac.PandaModules import PartBundleHandle
    Class : PartBundleHandle
    Description : This is a trivial class returned by PartBundleNode::get_bundle(). Its purpose is to hold the actual PartBundle pointer contained within the PartBundleNode, so that scene graph flatten operations can safely combine or duplicate PartBundles as necessary without affecting high-level bundle operations.
    The high-level Actor class defined in direct/src/actor, for instance, will store a list of PartBundleHandles instead of on actual PartBundles, so that it will be immune to changes from these flatten operations.

Inheritance:

    PartBundleHandle: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of PartBundleHandle:

    PartBundleHandle (Constructor)
    getBundle
    setBundle

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
PartBundleHandle
PartBundleHandle::PartBundleHandle(PartBundle *bundle);

Description:

getBundle
PartBundle *PartBundleHandle::get_bundle(void);

Description: Returns the actual PartBundle embedded within the handle.

setBundle
void PartBundleHandle::set_bundle(PartBundle *bundle);

Description: Changes the actual PartBundle embedded within the handle.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PartBundleNode

    from pandac.PandaModules import PartBundleNode
    Class : PartBundleNode
    Description : This is a node that contains a pointer to an PartBundle. Like AnimBundleNode, it exists solely to make it easy to store PartBundles in the scene graph.

Inheritance:

    PartBundleNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PartBundleNode:

    getBundle
    getBundleHandle
    getClassType
    getNumBundles

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
getBundle
PartBundle *PartBundleNode::get_bundle(int n) const;

Description:

getBundleHandle
PartBundleHandle *PartBundleNode::get_bundle_handle(int n) const;

Description: Returns the PartBundleHandle that wraps around the actual nth PartBundle. While the PartBundle pointer might later change due to a future flatten operation, the PartBundleHandle will not.

getClassType
static TypeHandle PartBundleNode::get_class_type(void);

Undocumented function.

getNumBundles
int PartBundleNode::get_num_bundles(void) const;

Description:

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PartGroup

    from pandac.PandaModules import PartGroup
    Class : PartGroup
    Description : This is the base class for PartRoot and MovingPart. It defines a hierarchy of MovingParts.

Inheritance:

    PartGroup: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of PartGroup:

    applyControl
    applyFreeze
    clearForcedChannel
    findChild
    getChild
    getClassType
    getForcedChannel
    getNumChildren
    write
    writeWithValue

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
applyControl
virtual bool PartGroup::apply_control(PandaNode *node);

Description: Specifies a node to influence this particular joint so that it will always hold the node's transform. Returns true if this is a joint that can be so controlled, false otherwise.
This is normally only called internally by PartBundle::control_joint(), but you may also call it directly.

applyFreeze
virtual bool PartGroup::apply_freeze(TransformState const *transform);

Description: Freezes this particular joint so that it will always hold the specified transform. Returns true if this is a joint that can be so frozen, false otherwise.
This is normally only called internally by PartBundle::freeze_joint(), but you may also call it directly.

clearForcedChannel
virtual bool PartGroup::clear_forced_channel(void);

Description: Undoes the effect of a previous call to apply_freeze() or apply_control(). Returns true if the joint was modified, false otherwise.
This is normally only called internally by PartBundle::release_joint(), but you may also call it directly.

findChild
PartGroup *PartGroup::find_child(string const &name) const;

Description: Returns the first descendant found with the indicated name, or NULL if no such descendant exists.

getChild
PartGroup *PartGroup::get_child(int n) const;

Description: Returns the nth child of the group.

getClassType
static TypeHandle PartGroup::get_class_type(void);

Undocumented function.

getForcedChannel
virtual AnimChannelBase *PartGroup::get_forced_channel(void) const;

Description: Returns the AnimChannelBase that has been forced to this joint by a previous call to apply_freeze() or apply_control(), or NULL if no such channel has been applied.

getNumChildren
int PartGroup::get_num_children(void) const;

Description: Returns the number of child nodes of the group.

write
virtual void PartGroup::write(ostream &out, int indent_level) const;

Description: Writes a brief description of the group and all of its descendants.

writeWithValue
virtual void PartGroup::write_with_value(ostream &out, int indent_level) const;

Description: Writes a brief description of the group, showing its current value, and that of all of its descendants.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


ParticleEffect

    from direct.particles.ParticleEffect import ParticleEffect

Inheritance:

    ParticleEffect:

Methods of ParticleEffect:

    __init__
    __isValid
    accelerate
    addForce
    addForceGroup
    addParticles
    cleanup
    clearToInitial
    disable
    enable
    getForceGroupDict
    getForceGroupList
    getForceGroupNamed
    getParticlesDict
    getParticlesList
    getParticlesNamed
    isEnabled
    loadConfig
    removeAllForces
    removeAllParticles
    removeForce
    removeForceGroup
    removeParticles
    reset
    saveConfig
    softStart
    softStop
    start
__init__
def __init__(self, name=None, particles=None)

Undocumented function.

__isValid
def __isValid(self)

Undocumented function.

accelerate
def accelerate(self, time, stepCount=1, stepTime=0.0)

Undocumented function.

addForce
def addForce(self, force)

Undocumented function.

addForceGroup
def addForceGroup(self, forceGroup)

Undocumented function.

addParticles
def addParticles(self, particles)

Undocumented function.

cleanup
def cleanup(self)

Undocumented function.

clearToInitial
def clearToInitial(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

enable
def enable(self)

Undocumented function.

getForceGroupDict
def getForceGroupDict(self)

Undocumented function.

getForceGroupList
def getForceGroupList(self)

Undocumented function.

getForceGroupNamed
def getForceGroupNamed(self, name)

Undocumented function.

getParticlesDict
def getParticlesDict(self)

Undocumented function.

getParticlesList
def getParticlesList(self)

Undocumented function.

getParticlesNamed
def getParticlesNamed(self, name)

Undocumented function.

isEnabled
def isEnabled(self)

Note: this may be misleading if enable(), disable() not used

loadConfig
def loadConfig(self, filename)

Undocumented function.

removeAllForces
def removeAllForces(self)

Undocumented function.

removeAllParticles
def removeAllParticles(self)

Undocumented function.

removeForce
def removeForce(self, force)

Undocumented function.

removeForceGroup
def removeForceGroup(self, forceGroup)

Undocumented function.

removeParticles
def removeParticles(self, particles)

Undocumented function.

reset
def reset(self)

Undocumented function.

saveConfig
def saveConfig(self, filename)

Undocumented function.

softStart
def softStart(self)

Undocumented function.

softStop
def softStop(self)

Undocumented function.

start
def start(self, parent=None, renderParent=None)

Undocumented function.


ParticleFloorTest

    from direct.particles.ParticleFloorTest import ParticleFloorTest

Inheritance:

    ParticleFloorTest:

Methods of ParticleFloorTest:

    __init__
    start
__init__
def __init__(self)

Undocumented function.

start
def start(self)

Undocumented function.


ParticleInterval

    from direct.interval.ParticleInterval import ParticleInterval
    Use this interval when you want to have greater control over a ParticleEffect. The interval does not register the effect with the global particle and physics managers, but it does call upon them to perform its stepping. You should NOT call particleEffect.start() with an effect that is being controlled by a ParticleInterval.

Inheritance:

    ParticleInterval:

Methods of ParticleInterval:

    __init__
    __softStart
    __softStop
    __step
    privFinalize
    privInitialize
    privInstant
    privStep
__init__
def __init__(self, particleEffect, parent, worldRelative=1, renderParent=None, duration=0.0, softStopT=0.0, cleanup=False, name=None)

particleEffect is a ParticleEffect parent is a NodePath: this is where the effect will be parented in the scenegraph worldRelative is a boolean: this will override 'renderParent' with render renderParent is a NodePath: this is where the particles will be rendered in the scenegraph duration is a float: for the time softStopT is a float: no effect if 0.0, a positive value will count from the start of the interval, a negative value will count from the end of the interval cleanup is a boolean: if True the effect will be destroyed and removed from the scenegraph upon interval completion set to False if planning on reusing the interval name is a string: use this for unique intervals so that they can be easily found in the taskMgr

__softStart
def __softStart(self)

Undocumented function.

__softStop
def __softStop(self)

Undocumented function.

__step
def __step(self, dt)

Undocumented function.

privFinalize
def privFinalize(self)

Undocumented function.

privInitialize
def privInitialize(self, t)

Undocumented function.

privInstant
def privInstant(self)

Undocumented function.

privStep
def privStep(self, t)

Undocumented function.


ParticlePanel

    from direct.tkpanels.ParticlePanel import ParticlePanel

Inheritance:

    ParticlePanel:

Methods of ParticlePanel:

    __init__
    addConstantInterpolationSegment
    addForce
    addForceGroupNotebookPage
    addForceWidget
    addLinearCylinderVortexForce
    addLinearFrictionForce
    addLinearInterpolationSegment
    addLinearJitterForce
    addLinearNoiseForce
    addLinearSinkForce
    addLinearSourceForce
    addLinearUserDefinedForce
    addLinearVectorForce
    addRendererSpriteAnimationFromNode
    addRendererSpriteAnimationTexture
    addSinusoidInterpolationSegment
    addStepwaveInterpolationSegment
    appInit
    createAngleDial
    createCheckbutton
    createColorEntry
    createComboBox
    createConstantInterpolationSegmentWidget
    createFloater
    createFloaters
    createForceActiveWidget
    createForceFrame
    createInterface
    createInterpolationSegmentFrame
    createLinearCylinderVortexForceWidget
    createLinearDistanceForceWidget
    createLinearForceWidgets
    createLinearFrictionForceWidget
    createLinearInterpolationSegmentWidget
    createLinearRandomForceWidget
    createLinearVectorForceWidget
    createNewEffect
    createNewForceGroup
    createNewParticles
    createOptionMenu
    createRadiobutton
    createSinusoidInterpolationSegmentWidget
    createSlider
    createSpriteAnimationFrame
    createSpriteAnimationNodeWidget
    createSpriteAnimationTextureWidget
    createStepwaveInterpolationSegmentWidget
    createVector2Entry
    createVector3Entry
    createWidgetForExistingInterpolationSegment
    getVariable
    getWidget
    loadParticleEffectFromFile
    readSpriteRendererAnimations
    rendererPointSelectBlendMethod
    rendererPointSelectBlendType
    saveParticleEffectToFile
    selectEffectNamed
    selectEmitterPage
    selectEmitterType
    selectFactoryPage
    selectFactoryType
    selectForceGroupNamed
    selectParticlesNamed
    selectRendererPage
    selectRendererType
    setEmissionType
    setEmitterAmplitude
    setEmitterAmplitudeSpread
    setEmitterBoxPoint1
    setEmitterBoxPoint2
    setEmitterDiscInnerAngle
    setEmitterDiscInnerVelocity
    setEmitterDiscOuterAngle
    setEmitterDiscOuterVelocity
    setEmitterDiscRadius
    setEmitterExplicitLaunchVector
    setEmitterLinePoint1
    setEmitterLinePoint2
    setEmitterOffsetForce
    setEmitterPointPosition
    setEmitterRadiateOrigin
    setEmitterRectanglePoint1
    setEmitterRectanglePoint2
    setEmitterRingLaunchAngle
    setEmitterRingRadius
    setEmitterRingRadiusSpread
    setEmitterSphereSurfaceRadius
    setEmitterSphereVolumeRadius
    setEmitterTangentRingRadius
    setEmitterTangentRingRadiusSpread
    setFactoryLifeSpan
    setFactoryLifeSpanSpread
    setFactoryParticleMass
    setFactoryParticleMassSpread
    setFactoryTerminalVelocity
    setFactoryTerminalVelocitySpread
    setFactoryZSpinAngularVelocity
    setFactoryZSpinAngularVelocitySpread
    setFactoryZSpinFinalAngle
    setFactoryZSpinFinalAngleSpread
    setFactoryZSpinInitialAngle
    setFactoryZSpinInitialAngleSpread
    setRendererAlphaMode
    setRendererColorBlendAttrib
    setRendererGeomColorBlendFbufferOperand
    setRendererGeomColorBlendIncomingOperand
    setRendererGeomColorBlendMethod
    setRendererGeomFinalXScale
    setRendererGeomFinalYScale
    setRendererGeomFinalZScale
    setRendererGeomInitialXScale
    setRendererGeomInitialYScale
    setRendererGeomInitialZScale
    setRendererGeomNode
    setRendererLineHeadColor
    setRendererLineScaleFactor
    setRendererLineTailColor
    setRendererPointEndColor
    setRendererPointSize
    setRendererPointStartColor
    setRendererSparkleBirthRadius
    setRendererSparkleCenterColor
    setRendererSparkleDeathRadius
    setRendererSparkleEdgeColor
    setRendererSparkleLifeScale
    setRendererSpriteAnimationEnable
    setRendererSpriteAnimationFrameRate
    setRendererSpriteBlendMethod
    setRendererSpriteColorBlendFbufferOperand
    setRendererSpriteColorBlendIncomingOperand
    setRendererSpriteColorBlendMethod
    setRendererSpriteFinalXScale
    setRendererSpriteFinalYScale
    setRendererSpriteInitialXScale
    setRendererSpriteInitialYScale
    setRendererSpriteNonAnimatedTheta
    setRendererUserAlpha
    setSpriteSourceType
    setSystemBirthRate
    setSystemHpr
    setSystemLifespan
    setSystemLitterSize
    setSystemLitterSpread
    setSystemPoolSize
    setSystemPos
    toggleAngularVelocity
    toggleEffect
    toggleEmitterDiscCubicLerping
    toggleForce
    toggleForceGroup
    toggleParticleEffect
    toggleParticleMgr
    toggleParticles
    toggleRendererGeomXScale
    toggleRendererGeomYScale
    toggleRendererGeomZScale
    toggleRendererSpriteAlphaDisable
    toggleRendererSpriteAnimAngle
    toggleRendererSpriteXScale
    toggleRendererSpriteYScale
    toggleSystemGrowsOlder
    toggleSystemLocalVelocity
    updateEffectsMenus
    updateEmitterWidgets
    updateFactoryWidgets
    updateForceGroupMenus
    updateForceWidgets
    updateInfo
    updateLabels
    updateMenus
    updateMenusAndLabels
    updateParticlesMenus
    updateRendererWidgets
    updateSystemWidgets
    writeSpriteRendererAnimations
__init__
def __init__(self, particleEffect=None, **kw)

Undocumented function.

addConstantInterpolationSegment
def addConstantInterpolationSegment(self, id=None)

Undocumented function.

addForce
def addForce(self, f)

Undocumented function.

addForceGroupNotebookPage
def addForceGroupNotebookPage(self, particleEffect, forceGroup)

Undocumented function.

addForceWidget
def addForceWidget(self, forceGroup, force)

Undocumented function.

addLinearCylinderVortexForce
def addLinearCylinderVortexForce(self)

Undocumented function.

addLinearFrictionForce
def addLinearFrictionForce(self)

Undocumented function.

addLinearInterpolationSegment
def addLinearInterpolationSegment(self, id=None)

Undocumented function.

addLinearJitterForce
def addLinearJitterForce(self)

Undocumented function.

addLinearNoiseForce
def addLinearNoiseForce(self)

Undocumented function.

addLinearSinkForce
def addLinearSinkForce(self)

Undocumented function.

addLinearSourceForce
def addLinearSourceForce(self)

Undocumented function.

addLinearUserDefinedForce
def addLinearUserDefinedForce(self)

Undocumented function.

addLinearVectorForce
def addLinearVectorForce(self)

Undocumented function.

addRendererSpriteAnimationFromNode
def addRendererSpriteAnimationFromNode(self)

Undocumented function.

addRendererSpriteAnimationTexture
def addRendererSpriteAnimationTexture(self)

Undocumented function.

addSinusoidInterpolationSegment
def addSinusoidInterpolationSegment(self, id=None)

Undocumented function.

addStepwaveInterpolationSegment
def addStepwaveInterpolationSegment(self, id=None)

Undocumented function.

appInit
def appInit(self)

Undocumented function.

createAngleDial
def createAngleDial(self, parent, category, text, balloonHelp, command=None, **kw)

Undocumented function.

createCheckbutton
def createCheckbutton(self, parent, category, text, balloonHelp, command, initialState, side='top')

Undocumented function.

createColorEntry
def createColorEntry(self, parent, category, text, balloonHelp, command=None, **kw)

Undocumented function.

createComboBox
def createComboBox(self, parent, category, text, balloonHelp, items, command, history=0)

Undocumented function.

createConstantInterpolationSegmentWidget
def createConstantInterpolationSegmentWidget(self, parent, segName, segment)

Undocumented function.

createFloater
def createFloater(self, parent, category, text, balloonHelp, command=None, min=0.0, resolution=None, numDigits=3, **kw)

Undocumented function.

createFloaters
def createFloaters(self, parent, widgetDefinitions)

Undocumented function.

createForceActiveWidget
def createForceActiveWidget(self, frame, pageName, forceName, force)

Undocumented function.

createForceFrame
def createForceFrame(self, forcePage, forceName, force)

Undocumented function.

createInterface
def createInterface(self)

Undocumented function.

createInterpolationSegmentFrame
def createInterpolationSegmentFrame(self, parent, segName, seg)

Undocumented function.

createLinearCylinderVortexForceWidget
def createLinearCylinderVortexForceWidget(self, forcePage, pageName, count, force)

Undocumented function.

createLinearDistanceForceWidget
def createLinearDistanceForceWidget(self, forcePage, pageName, count, force, type)

Undocumented function.

createLinearForceWidgets
def createLinearForceWidgets(self, frame, pageName, forceName, force)

Undocumented function.

createLinearFrictionForceWidget
def createLinearFrictionForceWidget(self, forcePage, pageName, count, force)

Undocumented function.

createLinearInterpolationSegmentWidget
def createLinearInterpolationSegmentWidget(self, parent, segName, segment)

Undocumented function.

createLinearRandomForceWidget
def createLinearRandomForceWidget(self, forcePage, pageName, count, force, type)

Undocumented function.

createLinearVectorForceWidget
def createLinearVectorForceWidget(self, forcePage, pageName, count, force)

Undocumented function.

createNewEffect
def createNewEffect(self)

Undocumented function.

createNewForceGroup
def createNewForceGroup(self)

Undocumented function.

createNewParticles
def createNewParticles(self)

Undocumented function.

createOptionMenu
def createOptionMenu(self, parent, category, text, balloonHelp, items, command)

Undocumented function.

createRadiobutton
def createRadiobutton(self, parent, side, category, text, balloonHelp, variable, value, command)

Undocumented function.

createSinusoidInterpolationSegmentWidget
def createSinusoidInterpolationSegmentWidget(self, parent, segName, segment)

Undocumented function.

createSlider
def createSlider(self, parent, category, text, balloonHelp, command=None, min=0.0, max=1.0, resolution=0.001, **kw)

Undocumented function.

createSpriteAnimationFrame
def createSpriteAnimationFrame(self, parent, anim, animName)

Undocumented function.

createSpriteAnimationNodeWidget
def createSpriteAnimationNodeWidget(self, parent, anim, animName)

Undocumented function.

createSpriteAnimationTextureWidget
def createSpriteAnimationTextureWidget(self, parent, anim, animName)

Undocumented function.

createStepwaveInterpolationSegmentWidget
def createStepwaveInterpolationSegmentWidget(self, parent, segName, segment)

Undocumented function.

createVector2Entry
def createVector2Entry(self, parent, category, text, balloonHelp, command=None, **kw)

Undocumented function.

createVector3Entry
def createVector3Entry(self, parent, category, text, balloonHelp, command=None, **kw)

Undocumented function.

createWidgetForExistingInterpolationSegment
def createWidgetForExistingInterpolationSegment(self, id)

Undocumented function.

getVariable
def getVariable(self, category, text)

Undocumented function.

getWidget
def getWidget(self, category, text)

Undocumented function.

loadParticleEffectFromFile
def loadParticleEffectFromFile(self)

Undocumented function.

readSpriteRendererAnimations
def readSpriteRendererAnimations(self)

Undocumented function.

rendererPointSelectBlendMethod
def rendererPointSelectBlendMethod(self, blendMethod)

Undocumented function.

rendererPointSelectBlendType
def rendererPointSelectBlendType(self, blendType)

Undocumented function.

saveParticleEffectToFile
def saveParticleEffectToFile(self)

Undocumented function.

selectEffectNamed
def selectEffectNamed(self, name)

Undocumented function.

selectEmitterPage
def selectEmitterPage(self)

Undocumented function.

selectEmitterType
def selectEmitterType(self, type)

Undocumented function.

selectFactoryPage
def selectFactoryPage(self)

Undocumented function.

selectFactoryType
def selectFactoryType(self, type)

Undocumented function.

selectForceGroupNamed
def selectForceGroupNamed(self, name)

Undocumented function.

selectParticlesNamed
def selectParticlesNamed(self, name)

Undocumented function.

selectRendererPage
def selectRendererPage(self)

Undocumented function.

selectRendererType
def selectRendererType(self, type)

Undocumented function.

setEmissionType
def setEmissionType(self, newType=None)

Undocumented function.

setEmitterAmplitude
def setEmitterAmplitude(self, value)

Undocumented function.

setEmitterAmplitudeSpread
def setEmitterAmplitudeSpread(self, value)

Undocumented function.

setEmitterBoxPoint1
def setEmitterBoxPoint1(self, point)

Undocumented function.

setEmitterBoxPoint2
def setEmitterBoxPoint2(self, point)

Undocumented function.

setEmitterDiscInnerAngle
def setEmitterDiscInnerAngle(self, angle)

Undocumented function.

setEmitterDiscInnerVelocity
def setEmitterDiscInnerVelocity(self, velocity)

Undocumented function.

setEmitterDiscOuterAngle
def setEmitterDiscOuterAngle(self, angle)

Undocumented function.

setEmitterDiscOuterVelocity
def setEmitterDiscOuterVelocity(self, velocity)

Undocumented function.

setEmitterDiscRadius
def setEmitterDiscRadius(self, radius)

Undocumented function.

setEmitterExplicitLaunchVector
def setEmitterExplicitLaunchVector(self, vec)

Undocumented function.

setEmitterLinePoint1
def setEmitterLinePoint1(self, point)

Undocumented function.

setEmitterLinePoint2
def setEmitterLinePoint2(self, point)

Undocumented function.

setEmitterOffsetForce
def setEmitterOffsetForce(self, vec)

Undocumented function.

setEmitterPointPosition
def setEmitterPointPosition(self, pos)

Undocumented function.

setEmitterRadiateOrigin
def setEmitterRadiateOrigin(self, origin)

Undocumented function.

setEmitterRectanglePoint1
def setEmitterRectanglePoint1(self, point)

Undocumented function.

setEmitterRectanglePoint2
def setEmitterRectanglePoint2(self, point)

Undocumented function.

setEmitterRingLaunchAngle
def setEmitterRingLaunchAngle(self, angle)

Undocumented function.

setEmitterRingRadius
def setEmitterRingRadius(self, radius)

Undocumented function.

setEmitterRingRadiusSpread
def setEmitterRingRadiusSpread(self, radiusSpread)

Undocumented function.

setEmitterSphereSurfaceRadius
def setEmitterSphereSurfaceRadius(self, radius)

Undocumented function.

setEmitterSphereVolumeRadius
def setEmitterSphereVolumeRadius(self, radius)

Undocumented function.

setEmitterTangentRingRadius
def setEmitterTangentRingRadius(self, radius)

Undocumented function.

setEmitterTangentRingRadiusSpread
def setEmitterTangentRingRadiusSpread(self, radiusSpread)

Undocumented function.

setFactoryLifeSpan
def setFactoryLifeSpan(self, value)

Undocumented function.

setFactoryLifeSpanSpread
def setFactoryLifeSpanSpread(self, value)

Undocumented function.

setFactoryParticleMass
def setFactoryParticleMass(self, value)

Undocumented function.

setFactoryParticleMassSpread
def setFactoryParticleMassSpread(self, value)

Undocumented function.

setFactoryTerminalVelocity
def setFactoryTerminalVelocity(self, value)

Undocumented function.

setFactoryTerminalVelocitySpread
def setFactoryTerminalVelocitySpread(self, value)

Undocumented function.

setFactoryZSpinAngularVelocity
def setFactoryZSpinAngularVelocity(self, vel)

Undocumented function.

setFactoryZSpinAngularVelocitySpread
def setFactoryZSpinAngularVelocitySpread(self, spread)

Undocumented function.

setFactoryZSpinFinalAngle
def setFactoryZSpinFinalAngle(self, angle)

Undocumented function.

setFactoryZSpinFinalAngleSpread
def setFactoryZSpinFinalAngleSpread(self, spread)

Undocumented function.

setFactoryZSpinInitialAngle
def setFactoryZSpinInitialAngle(self, angle)

Undocumented function.

setFactoryZSpinInitialAngleSpread
def setFactoryZSpinInitialAngleSpread(self, spread)

Undocumented function.

setRendererAlphaMode
def setRendererAlphaMode(self, alphaMode)

Undocumented function.

setRendererColorBlendAttrib
def setRendererColorBlendAttrib(self, rendererName, blendMethodStr, incomingOperandStr, fbufferOperandStr)

Undocumented function.

setRendererGeomColorBlendFbufferOperand
def setRendererGeomColorBlendFbufferOperand(self, operand)

Undocumented function.

setRendererGeomColorBlendIncomingOperand
def setRendererGeomColorBlendIncomingOperand(self, operand)

Undocumented function.

setRendererGeomColorBlendMethod
def setRendererGeomColorBlendMethod(self, blendMethod)

Undocumented function.

setRendererGeomFinalXScale
def setRendererGeomFinalXScale(self, xScale)

Undocumented function.

setRendererGeomFinalYScale
def setRendererGeomFinalYScale(self, yScale)

Undocumented function.

setRendererGeomFinalZScale
def setRendererGeomFinalZScale(self, zScale)

Undocumented function.

setRendererGeomInitialXScale
def setRendererGeomInitialXScale(self, xScale)

Undocumented function.

setRendererGeomInitialYScale
def setRendererGeomInitialYScale(self, yScale)

Undocumented function.

setRendererGeomInitialZScale
def setRendererGeomInitialZScale(self, zScale)

Undocumented function.

setRendererGeomNode
def setRendererGeomNode(self, event)

Undocumented function.

setRendererLineHeadColor
def setRendererLineHeadColor(self, color)

Undocumented function.

setRendererLineScaleFactor
def setRendererLineScaleFactor(self, sf)

Undocumented function.

setRendererLineTailColor
def setRendererLineTailColor(self, color)

Undocumented function.

setRendererPointEndColor
def setRendererPointEndColor(self, color)

Undocumented function.

setRendererPointSize
def setRendererPointSize(self, size)

Undocumented function.

setRendererPointStartColor
def setRendererPointStartColor(self, color)

Undocumented function.

setRendererSparkleBirthRadius
def setRendererSparkleBirthRadius(self, radius)

Undocumented function.

setRendererSparkleCenterColor
def setRendererSparkleCenterColor(self, color)

Undocumented function.

setRendererSparkleDeathRadius
def setRendererSparkleDeathRadius(self, radius)

Undocumented function.

setRendererSparkleEdgeColor
def setRendererSparkleEdgeColor(self, color)

Undocumented function.

setRendererSparkleLifeScale
def setRendererSparkleLifeScale(self, lifeScaleMethod)

Undocumented function.

setRendererSpriteAnimationEnable
def setRendererSpriteAnimationEnable(self)

Undocumented function.

setRendererSpriteAnimationFrameRate
def setRendererSpriteAnimationFrameRate(self, rate)

Undocumented function.

setRendererSpriteBlendMethod
def setRendererSpriteBlendMethod(self, blendMethod)

Undocumented function.

setRendererSpriteColorBlendFbufferOperand
def setRendererSpriteColorBlendFbufferOperand(self, operand)

Undocumented function.

setRendererSpriteColorBlendIncomingOperand
def setRendererSpriteColorBlendIncomingOperand(self, operand)

Undocumented function.

setRendererSpriteColorBlendMethod
def setRendererSpriteColorBlendMethod(self, blendMethod)

Undocumented function.

setRendererSpriteFinalXScale
def setRendererSpriteFinalXScale(self, xScale)

Undocumented function.

setRendererSpriteFinalYScale
def setRendererSpriteFinalYScale(self, yScale)

Undocumented function.

setRendererSpriteInitialXScale
def setRendererSpriteInitialXScale(self, xScale)

Undocumented function.

setRendererSpriteInitialYScale
def setRendererSpriteInitialYScale(self, yScale)

Undocumented function.

setRendererSpriteNonAnimatedTheta
def setRendererSpriteNonAnimatedTheta(self, theta)

Undocumented function.

setRendererUserAlpha
def setRendererUserAlpha(self, alpha)

Undocumented function.

setSpriteSourceType
def setSpriteSourceType(self)

Undocumented function.

setSystemBirthRate
def setSystemBirthRate(self, value)

Undocumented function.

setSystemHpr
def setSystemHpr(self, pos)

Undocumented function.

setSystemLifespan
def setSystemLifespan(self, value)

Undocumented function.

setSystemLitterSize
def setSystemLitterSize(self, value)

Undocumented function.

setSystemLitterSpread
def setSystemLitterSpread(self, value)

Undocumented function.

setSystemPoolSize
def setSystemPoolSize(self, value)

Undocumented function.

setSystemPos
def setSystemPos(self, pos)

Undocumented function.

toggleAngularVelocity
def toggleAngularVelocity(self)

Undocumented function.

toggleEffect
def toggleEffect(self, effect, var)

Undocumented function.

toggleEmitterDiscCubicLerping
def toggleEmitterDiscCubicLerping(self)

Undocumented function.

toggleForce
def toggleForce(self, force, pageName, variableName)

Undocumented function.

toggleForceGroup
def toggleForceGroup(self, forceGroup, var)

Undocumented function.

toggleParticleEffect
def toggleParticleEffect(self)

Undocumented function.

toggleParticleMgr
def toggleParticleMgr(self)

Undocumented function.

toggleParticles
def toggleParticles(self, particles, var)

Undocumented function.

toggleRendererGeomXScale
def toggleRendererGeomXScale(self)

Undocumented function.

toggleRendererGeomYScale
def toggleRendererGeomYScale(self)

Undocumented function.

toggleRendererGeomZScale
def toggleRendererGeomZScale(self)

Undocumented function.

toggleRendererSpriteAlphaDisable
def toggleRendererSpriteAlphaDisable(self)

Undocumented function.

toggleRendererSpriteAnimAngle
def toggleRendererSpriteAnimAngle(self)

Undocumented function.

toggleRendererSpriteXScale
def toggleRendererSpriteXScale(self)

Undocumented function.

toggleRendererSpriteYScale
def toggleRendererSpriteYScale(self)

Undocumented function.

toggleSystemGrowsOlder
def toggleSystemGrowsOlder(self)

Undocumented function.

toggleSystemLocalVelocity
def toggleSystemLocalVelocity(self)

Undocumented function.

updateEffectsMenus
def updateEffectsMenus(self)

Undocumented function.

updateEmitterWidgets
def updateEmitterWidgets(self)

Undocumented function.

updateFactoryWidgets
def updateFactoryWidgets(self)

Undocumented function.

updateForceGroupMenus
def updateForceGroupMenus(self)

Undocumented function.

updateForceWidgets
def updateForceWidgets(self)

Undocumented function.

updateInfo
def updateInfo(self, page='System')

Undocumented function.

updateLabels
def updateLabels(self)

Undocumented function.

updateMenus
def updateMenus(self)

Undocumented function.

updateMenusAndLabels
def updateMenusAndLabels(self)

Undocumented function.

updateParticlesMenus
def updateParticlesMenus(self)

Undocumented function.

updateRendererWidgets
def updateRendererWidgets(self)

Undocumented function.

updateSystemWidgets
def updateSystemWidgets(self)

Undocumented function.

writeSpriteRendererAnimations
def writeSpriteRendererAnimations(self)

Undocumented function.


Particles

    from direct.particles.Particles import Particles

Inheritance:

    Particles:

Methods of Particles:

    __init__
    accelerate
    addForce
    cleanup
    disable
    enable
    getEmitter
    getFactory
    getName
    getNode
    getPoolSizeRanges
    getRenderer
    isEnabled
    printParams
    removeForce
    setEmitter
    setFactory
    setRenderer
    setRenderNodePath
__init__
def __init__(self, name=None, poolSize=1024)

Undocumented function.

accelerate
def accelerate(self, time, stepCount=1, stepTime=0.0)

Undocumented function.

addForce
def addForce(self, force)

Undocumented function.

cleanup
def cleanup(self)

Undocumented function.

disable
def disable(self)

Undocumented function.

enable
def enable(self)

Undocumented function.

getEmitter
def getEmitter(self)

Undocumented function.

getFactory
def getFactory(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

getNode
def getNode(self)

Undocumented function.

getPoolSizeRanges
def getPoolSizeRanges(self)

Undocumented function.

getRenderer
def getRenderer(self)

Undocumented function.

isEnabled
def isEnabled(self)

Undocumented function.

printParams
def printParams(self, file=sys.stdout, targ='self')

Undocumented function.

removeForce
def removeForce(self, force)

Undocumented function.

setEmitter
def setEmitter(self, type)

Undocumented function.

setFactory
def setFactory(self, type)

Undocumented function.

setRenderer
def setRenderer(self, type)

Undocumented function.

setRenderNodePath
def setRenderNodePath(self, nodePath)

Undocumented function.


ParticleSystem

    from pandac.PandaModules import ParticleSystem
    Class : ParticleSystem
    Description : Contains and manages a particle system.

Inheritance:

    ParticleSystem: Physical
    Physical: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ParticleSystem:

    ParticleSystem (Constructor)
    addSpawnTemplate
    clearFloorZ
    clearSpawnTemplates
    clearToInitial
    getActiveSystemFlag
    getBirthRate
    getClassType
    getEmitter
    getFactory
    getFloorZ
    getIWasSpawnedFlag
    getLitterSize
    getLitterSpread
    getLivingParticles
    getLocalVelocityFlag
    getPoolSize
    getRenderer
    getRenderParent
    getSoftBirthRate
    getSpawnOnDeathFlag
    getSpawnRenderNode
    getSpawnRenderNodePath
    getSystemAge
    getSystemGrowsOlderFlag
    getSystemLifespan
    induceLabor
    render
    setActiveSystemFlag
    setBirthRate
    setEmitter
    setFactory
    setFloorZ
    setLitterSize
    setLitterSpread
    setLocalVelocityFlag
    setPoolSize
    setRenderer
    setRenderParent
    setSoftBirthRate
    setSpawnOnDeathFlag
    setSpawnRenderNode
    setSpawnRenderNodePath
    setSystemAge
    setSystemGrowsOlderFlag
    setSystemLifespan
    setTemplateSystemFlag
    softStart
    softStop
    update
    write
    writeFreeParticleFifo
    writeSpawnTemplates

Methods of Physical:

    Physical (Constructor)
    addAngularForce
    addLinearForce
    addPhysicsObject
    clearAngularForces
    clearLinearForces
    clearPhysicsObjects
    getAngularForce
    getClassType
    getLinearForce
    getNumAngularForces
    getNumLinearForces
    getObjects
    getPhysBody
    getPhysicalNode
    getPhysicalNodePath
    getPhysicsManager
    getViscosity
    output
    removeAngularForce
    removeLinearForce
    setViscosity
    write
    writeAngularForces
    writeLinearForces
    writePhysicsObjects

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
ParticleSystem
ParticleSystem::ParticleSystem(int pool_size = (0));

constructor/destructor
Description : Default Constructor.
Description : Copy Constructor.

addSpawnTemplate
void ParticleSystem::add_spawn_template(ParticleSystem *ps);

particle template vector

clearFloorZ
void ParticleSystem::clear_floor_z(void);

Undocumented function.

clearSpawnTemplates
void ParticleSystem::clear_spawn_templates(void);

Undocumented function.

clearToInitial
void ParticleSystem::clear_to_initial(void);

Description : Resets the system to its start state by resizing to 0, then resizing back to current size.

getActiveSystemFlag
bool ParticleSystem::get_active_system_flag(void) const;

Undocumented function.

getBirthRate
float ParticleSystem::get_birth_rate(void) const;

Undocumented function.

getClassType
static TypeHandle ParticleSystem::get_class_type(void);

Undocumented function.

getEmitter
BaseParticleEmitter *ParticleSystem::get_emitter(void) const;

Undocumented function.

getFactory
BaseParticleFactory *ParticleSystem::get_factory(void) const;

Undocumented function.

getFloorZ
float ParticleSystem::get_floor_z(void) const;

Undocumented function.

getIWasSpawnedFlag
bool ParticleSystem::get_i_was_spawned_flag(void) const;

Undocumented function.

getLitterSize
int ParticleSystem::get_litter_size(void) const;

Undocumented function.

getLitterSpread
int ParticleSystem::get_litter_spread(void) const;

Undocumented function.

getLivingParticles
int ParticleSystem::get_living_particles(void) const;

Undocumented function.

getLocalVelocityFlag
bool ParticleSystem::get_local_velocity_flag(void) const;

Undocumented function.

getPoolSize
int ParticleSystem::get_pool_size(void) const;

///////////////////////////////////////////////////// GET METHODS ///////////////////////////////////////////////////// /////////////////////////////////////////////////////

getRenderer
BaseParticleRenderer *ParticleSystem::get_renderer(void) const;

Undocumented function.

getRenderParent
NodePath ParticleSystem::get_render_parent(void) const;

Undocumented function.

getSoftBirthRate
float ParticleSystem::get_soft_birth_rate(void) const;

Undocumented function.

getSpawnOnDeathFlag
bool ParticleSystem::get_spawn_on_death_flag(void) const;

Undocumented function.

getSpawnRenderNode
PandaNode *ParticleSystem::get_spawn_render_node(void) const;

Undocumented function.

getSpawnRenderNodePath
NodePath ParticleSystem::get_spawn_render_node_path(void) const;

Undocumented function.

getSystemAge
float ParticleSystem::get_system_age(void) const;

Undocumented function.

getSystemGrowsOlderFlag
bool ParticleSystem::get_system_grows_older_flag(void) const;

Undocumented function.

getSystemLifespan
float ParticleSystem::get_system_lifespan(void) const;

Undocumented function.

induceLabor
void ParticleSystem::induce_labor(void);

Description : Forces the birth of a particle litter this frame by resetting _tics_since_birth

render
void ParticleSystem::render(void);

methods
Filename: particleSystem.I Created by: charles (14Jun00)
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."
Description : Populates an attached GeomNode structure with the particle geometry for rendering. This is a wrapper for accessability.

setActiveSystemFlag
void ParticleSystem::set_active_system_flag(bool a);

Undocumented function.

setBirthRate
void ParticleSystem::set_birth_rate(float new_br);

access/queries

setEmitter
void ParticleSystem::set_emitter(BaseParticleEmitter *e);

Undocumented function.

setFactory
void ParticleSystem::set_factory(BaseParticleFactory *f);

Undocumented function.

setFloorZ
void ParticleSystem::set_floor_z(float z);

Undocumented function.

setLitterSize
void ParticleSystem::set_litter_size(int new_ls);

Undocumented function.

setLitterSpread
void ParticleSystem::set_litter_spread(int new_ls);

Undocumented function.

setLocalVelocityFlag
void ParticleSystem::set_local_velocity_flag(bool lv);

Undocumented function.

setPoolSize
void ParticleSystem::set_pool_size(int size);

access/queries
/////////////////////////////////////////////////////// SET METHODS /////////////////////////////////////////////////////// ///////////////////////////////////////////////////////

setRenderer
void ParticleSystem::set_renderer(BaseParticleRenderer *r);

Undocumented function.

setRenderParent
void ParticleSystem::set_render_parent(PandaNode *node);

Undocumented function.

setSoftBirthRate
void ParticleSystem::set_soft_birth_rate(float new_br);

Undocumented function.

setSpawnOnDeathFlag
void ParticleSystem::set_spawn_on_death_flag(bool sod);

Undocumented function.

setSpawnRenderNode
void ParticleSystem::set_spawn_render_node(PandaNode *node);

Undocumented function.

setSpawnRenderNodePath
void ParticleSystem::set_spawn_render_node_path(NodePath const &node);

Undocumented function.

setSystemAge
void ParticleSystem::set_system_age(float age);

Undocumented function.

setSystemGrowsOlderFlag
void ParticleSystem::set_system_grows_older_flag(bool sgo);

Undocumented function.

setSystemLifespan
void ParticleSystem::set_system_lifespan(float sl);

Undocumented function.

setTemplateSystemFlag
void ParticleSystem::set_template_system_flag(bool tsf);

Undocumented function.

softStart
void ParticleSystem::soft_start(float br = (0));

Description : Causes system to use birth rate set by set_birth_rate()

softStop
void ParticleSystem::soft_stop(float br = (0));

Description : Causes system to use birth rate set by set_soft_birth_rate()

update
void ParticleSystem::update(float dt);

Undocumented function.

write
virtual void ParticleSystem::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writeFreeParticleFifo
virtual void ParticleSystem::write_free_particle_fifo(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writeSpawnTemplates
virtual void ParticleSystem::write_spawn_templates(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

Physical
Physical::Physical(int total_objects = (1), bool pre_alloc = (0));

Description : Default Constructor
The idea here is that most physicals will NOT be collections of sets (i.e. particle systems and whatever else). Because of this, the default constructor, unless otherwise specified, will automatically allocate and initialize one PhysicalObject. This makes it easier for high-level work.
pre-alloc is ONLY for multiple-object physicals, and if true, fills the physics_object vector with dead nodes, pre-allocating for the speed end of the speed-vs-overhead deal.
Description : copy constructor (note- does deep copy of pn's) but does NOT attach itself to its template's physicsmanager.

addAngularForce
void Physical::add_angular_force(AngularForce *f);

Description : Adds an angular force to the force list

addLinearForce
void Physical::add_linear_force(LinearForce *f);

Description : Adds a linear force to the force list

addPhysicsObject
void Physical::add_physics_object(PhysicsObject *po);

Description : Adds an object to the physics object vector

clearAngularForces
void Physical::clear_angular_forces(void);

Description : Erases the angular force list

clearLinearForces
void Physical::clear_linear_forces(void);

Description : Erases the linear force list

clearPhysicsObjects
void Physical::clear_physics_objects(void);

Description : Erases the object list

getAngularForce
PointerTo< AngularForce > Physical::get_angular_force(int index) const;

Undocumented function.

getClassType
static TypeHandle Physical::get_class_type(void);

Undocumented function.

getLinearForce
PointerTo< LinearForce > Physical::get_linear_force(int index) const;

Undocumented function.

getNumAngularForces
int Physical::get_num_angular_forces(void) const;

Undocumented function.

getNumLinearForces
int Physical::get_num_linear_forces(void) const;

Undocumented function.

getObjects
PhysicsObjectCollection const Physical::get_objects(void) const;

Undocumented function.

getPhysBody
PhysicsObject *Physical::get_phys_body(void) const;

Undocumented function.

getPhysicalNode
PhysicalNode *Physical::get_physical_node(void) const;

helpers

getPhysicalNodePath
NodePath Physical::get_physical_node_path(void) const;

Undocumented function.

getPhysicsManager
PhysicsManager *Physical::get_physics_manager(void) const;

helpers

getViscosity
float Physical::get_viscosity(void) const;

Description : Get the local viscosity.

output
virtual void Physical::output(ostream &out = (cout)) const;

Description : Write a string representation of this instance to <out>.

removeAngularForce
void Physical::remove_angular_force(AngularForce *f);

Description : removes an angular force from the force list

removeLinearForce
void Physical::remove_linear_force(LinearForce *f);

Description : removes a linear force from the force list

setViscosity
void Physical::set_viscosity(float viscosity);

Description : Set the local viscosity.

write
virtual void Physical::write(ostream &out = (cout), unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writeAngularForces
virtual void Physical::write_angular_forces(ostream &out = (cout), unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writeLinearForces
virtual void Physical::write_linear_forces(ostream &out = (cout), unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writePhysicsObjects
virtual void Physical::write_physics_objects(ostream &out = (cout), unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ParticleSystemManager

    from pandac.PandaModules import ParticleSystemManager
    Class : ParticleSystemManager
    Description : Manages 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

Inheritance:

    ParticleSystemManager:

Methods of ParticleSystemManager:

    ParticleSystemManager (Constructor)
    attachParticlesystem
    clear
    doParticles
    getFrameStepping
    output
    removeParticlesystem
    setFrameStepping
    write
    writePsList
ParticleSystemManager
ParticleSystemManager::ParticleSystemManager(int every_nth_frame = (1));

Description : default constructor

attachParticlesystem
void ParticleSystemManager::attach_particlesystem(ParticleSystem *ps);

Undocumented function.

clear
void ParticleSystemManager::clear(void);

Undocumented function.

doParticles
void ParticleSystemManager::do_particles(float dt);

Description : does an update and render for each ps in the list. this is probably the one you want to use. Rendering is the expensive operation, and particles REALLY should at least be updated every frame, so nth_frame stepping applies only to rendering.
Description : does an update and an optional render for a specific ps. Since rendering is the expensive operation, multiple updates could be applied before calling the final render.

getFrameStepping
int ParticleSystemManager::get_frame_stepping(void) const;

Undocumented function.

output
virtual void ParticleSystemManager::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

removeParticlesystem
void ParticleSystemManager::remove_particlesystem(ParticleSystem *ps);

Description : removes a ps from the maintenance list

setFrameStepping
void ParticleSystemManager::set_frame_stepping(int every_nth_frame);

Undocumented function.

write
virtual void ParticleSystemManager::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writePsList
virtual void ParticleSystemManager::write_ps_list(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.


PartSubset

    from pandac.PandaModules import PartSubset
    Class : PartSubset
    Description : This class is used to define a subset of part names to apply to the PartBundle::bind_anim() operation. Only those part names within the subset will be included in the bind.

Inheritance:

    PartSubset:

Methods of PartSubset:

    PartSubset (Constructor)
    addExcludeJoint
    addIncludeJoint
    append
    isIncludeEmpty
    matchesExclude
    matchesInclude
    operator =
    output
PartSubset
PartSubset::PartSubset(void);

Description:

addExcludeJoint
void PartSubset::add_exclude_joint(GlobPattern const &name);

Description: Adds the named joint to the list of joints that will be explicitly exlcluded from the subset. Any joint at or below a named node will not be included in the subset (unless a lower node is also listed in the include list).
Since the name is a GlobPattern, it may of course include filename globbing characters like * and ?.

addIncludeJoint
void PartSubset::add_include_joint(GlobPattern const &name);

Description: Adds the named joint to the list of joints that will be explicitly included in the subset. Any joint at or below a named node will be included in the subset (unless a lower node is also listed in the exclude list).
Since the name is a GlobPattern, it may of course include filename globbing characters like * and ?.

append
void PartSubset::append(PartSubset const &other);

Description: Appends the include and exclude list from the other object onto this object's lists.

isIncludeEmpty
bool PartSubset::is_include_empty(void) const;

Description: Returns true if the include list is completely empty, false otherwise. If it is empty, it is the same thing as including all joints.

matchesExclude
bool PartSubset::matches_exclude(string const &joint_name) const;

Description: Returns true if the indicated name matches a name on the exclude list, false otherwise.

matchesInclude
bool PartSubset::matches_include(string const &joint_name) const;

Description: Returns true if the indicated name matches a name on the include list, false otherwise.

operator =
void PartSubset::operator =(PartSubset const &copy);

Description:

output
void PartSubset::output(ostream &out) const;

Description:


Patcher

    from pandac.PandaModules import Patcher
    Class : Patcher
    Description : Applies a patch synchronously

Inheritance:

    Patcher:

Methods of Patcher:

    Patcher (Constructor)
    getProgress
    initiate
    run
Patcher
Patcher::Patcher(void);

Description:

getProgress
float Patcher::get_progress(void) const;

Description:

initiate
int Patcher::initiate(Filename &patch, Filename &infile);

Description:

run
int Patcher::run(void);

Description:


Patchfile

    from pandac.PandaModules import Patchfile
    Class : Patchfile
    Description :

Inheritance:

    Patchfile:

Methods of Patchfile:

    Patchfile (Constructor)
    apply
    build
    getAllowMultifile
    getFootprintLength
    getProgress
    getResultHash
    getSourceHash
    hasSourceHash
    initiate
    readHeader
    resetFootprintLength
    run
    setAllowMultifile
    setFootprintLength
Patchfile
Patchfile::Patchfile(void);

Description:

apply
bool Patchfile::apply(Filename &patch_file, Filename &file);

Description:

build
bool Patchfile::build(Filename file_orig, Filename file_new, Filename patch_name);

Description: This implementation uses the "greedy differencing algorithm" described in the masters thesis "Differential Compression: A Generalized Solution for Binary Files" by Randal C. Burns (p.13). For an original file of size M and a new file of size N, this algorithm is O(M) in space and O(M*N) (worst-case) in time.

getAllowMultifile
bool Patchfile::get_allow_multifile(void);

Description:

getFootprintLength
int Patchfile::get_footprint_length(void);

Description:

getProgress
float Patchfile::get_progress(void) const;

Filename: patchfile.I Created by: darren, mike (09Jan97)
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."
#include "config_downloader.h"
Description:

getResultHash
HashVal const &Patchfile::get_result_hash(void) const;

Description: Returns the MD5 hash for the file after the patch has been applied.

getSourceHash
HashVal const &Patchfile::get_source_hash(void) const;

Description: Returns the MD5 hash for the source file.

hasSourceHash
bool Patchfile::has_source_hash(void) const;

Description: Returns true if the MD5 hash for the source file is known. (Some early versions of the patch file did not store this information.)

initiate
int Patchfile::initiate(Filename const &patch_file, Filename const &file);

PATCH FILE APPLY MEMBER FUNCTIONS
NOTE: this patch-application functionality unfortunately has to be duplicated in the Installer. It is contained in the file installerApplyPatch.cxx PLEASE MAKE SURE THAT THAT FILE GETS UPDATED IF ANY OF THIS LOGIC CHANGES! (i.e. if the patch file format changes)
Description: Set up to apply the patch to the file (original file and patch are destroyed in the process).

readHeader
int Patchfile::read_header(Filename const &patch_file);

Description: Opens the patch file for reading, and gets the header information from the file but does not begin to do any real work. This can be used to query the data stored in the patch.

resetFootprintLength
void Patchfile::reset_footprint_length(void);

Description:

run
int Patchfile::run(void);

Description: Perform one buffer's worth of patching

setAllowMultifile
void Patchfile::set_allow_multifile(bool allow_multifile);

Description: If this flag is set true, the Patchfile will make a special case for patching Panda Multifiles, if detected, and attempt to patch them on a subfile-by-subfile basis. If this flag is false, the Patchfile will always patch the file on a full-file basis.

setFootprintLength
void Patchfile::set_footprint_length(int length);

Description:


PatternFilter

    from direct.pyinst.tocfilter import PatternFilter
    A filter that excludes if any pattern is found in resource's path

Inheritance:

    PatternFilter:

Methods of PatternFilter:

    __init__
__init__
def __init__(self, patterns)

Undocumented function.


PerlinNoise

    from pandac.PandaModules import PerlinNoise
    Class : PerlinNoise
    Description : This is the base class for PerlinNoise2 and PerlinNoise3, different dimensions of Perlin noise implementation. The base class just collects the common functionality.

Inheritance:

    PerlinNoise:

Methods of PerlinNoise:

    getSeed
getSeed
unsigned long int PerlinNoise::get_seed(void);

Description: Returns a unique seed value based on the seed value passed to this PerlinNoise object (and on its current state).


PerlinNoise2

    from pandac.PandaModules import PerlinNoise2
    Class : PerlinNoise2
    Description : This class provides an implementation of Perlin noise for 2 variables. This code is loosely based on the reference implementation at http://mrl.nyu.edu/~perlin/noise/ .

Inheritance:

    PerlinNoise2: PerlinNoise
    PerlinNoise:

Methods of PerlinNoise2:

    PerlinNoise2 (Constructor)
    noise
    operator ()
    operator =
    setScale

Methods of PerlinNoise:

    getSeed
PerlinNoise2
PerlinNoise2::PerlinNoise2(void);

Filename: perlinNoise2.I Created by: drose (05Oct05)
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."
Description: Randomizes the tables to make a unique noise function. Uses a default scale (noise frequency), table size, and seed.
Description: Randomizes the tables to make a unique noise function.
If seed is nonzero, it is used to define the tables; if it is zero a random seed is generated.
Description: Makes an exact copy of the existing PerlinNoise object, including its random seed.

noise
double PerlinNoise2::noise(double x, double y) const;

Description: Returns the noise function of the three inputs.

operator ()
double PerlinNoise2::operator ()(double x, double y) const;

Description: Returns the noise function of the two inputs.

operator =
void PerlinNoise2::operator =(PerlinNoise2 const &copy);

Description: Makes an exact copy of the existing PerlinNoise object, including its random seed.

setScale
void PerlinNoise2::set_scale(double scale);

Description: Changes the scale (frequency) of the noise.

getSeed
unsigned long int PerlinNoise::get_seed(void);

Description: Returns a unique seed value based on the seed value passed to this PerlinNoise object (and on its current state).


PerlinNoise3

    from pandac.PandaModules import PerlinNoise3
    Class : PerlinNoise3
    Description : This class provides an implementation of Perlin noise for 3 variables. This code is loosely based on the reference implementation at http://mrl.nyu.edu/~perlin/noise/ .

Inheritance:

    PerlinNoise3: PerlinNoise
    PerlinNoise:

Methods of PerlinNoise3:

    PerlinNoise3 (Constructor)
    noise
    operator ()
    operator =
    setScale

Methods of PerlinNoise:

    getSeed
PerlinNoise3
PerlinNoise3::PerlinNoise3(void);

Filename: perlinNoise3.I Created by: drose (05Oct05)
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."
Description: Randomizes the tables to make a unique noise function. Uses a default scale (noise frequency), table size, and seed.
Description: Randomizes the tables to make a unique noise function.
If seed is nonzero, it is used to define the tables; if it is zero a random seed is generated.
Description: Makes an exact copy of the existing PerlinNoise object, including its random seed.

noise
double PerlinNoise3::noise(double x, double y, double z) const;

Description: Returns the noise function of the three inputs.

operator ()
double PerlinNoise3::operator ()(double x, double y, double z) const;

Description: Returns the noise function of the three inputs.

operator =
void PerlinNoise3::operator =(PerlinNoise3 const &copy);

Description: Makes an exact copy of the existing PerlinNoise object, including its random seed.

setScale
void PerlinNoise3::set_scale(double scale);

Description: Changes the scale (frequency) of the noise.

getSeed
unsigned long int PerlinNoise::get_seed(void);

Description: Returns a unique seed value based on the seed value passed to this PerlinNoise object (and on its current state).


PerspectiveLens

    from pandac.PandaModules import PerspectiveLens
    Class : PerspectiveLens
    Description : A perspective-type lens: a normal camera.

Inheritance:

    PerspectiveLens: Lens
    Lens: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of PerspectiveLens:

    PerspectiveLens (Constructor)
    getClassType

Methods of Lens:

    clear
    clearKeystone
    clearViewMat
    extrude
    extrudeVec
    getAspectRatio
    getChangeEvent
    getClassType
    getConvergenceDistance
    getCoordinateSystem
    getDefaultFar
    getDefaultNear
    getFar
    getFilmMat
    getFilmMatInv
    getFilmOffset
    getFilmSize
    getFocalLength
    getFov
    getHfov
    getInterocularDistance
    getKeystone
    getLensMat
    getLensMatInv
    getMinFov
    getNear
    getNodalPoint
    getProjectionMat
    getProjectionMatInv
    getUpVector
    getVfov
    getViewHpr
    getViewMat
    getViewVector
    isLinear
    isOrthographic
    isPerspective
    makeBounds
    makeCopy
    makeGeometry
    output
    project
    recomputeAll
    setAspectRatio
    setChangeEvent
    setConvergenceDistance
    setCoordinateSystem
    setFar
    setFilmOffset
    setFilmSize
    setFocalLength
    setFov
    setFrustumFromCorners
    setInterocularDistance
    setKeystone
    setMinFov
    setNear
    setNearFar
    setViewHpr
    setViewMat
    setViewVector
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in Lens:

    SCMono | (StereoChannel)
SCLeft | (StereoChannel)
SCRight | (StereoChannel)
SCStereo | (StereoChannel)
FCRoll | (FromCorners)
FCCameraPlane | (FromCorners)
FCOffAxis | (FromCorners)
FCAspectRatio | (FromCorners)
FCShear | (FromCorners)
FCKeystone | (FromCorners)
PerspectiveLens
PerspectiveLens::PerspectiveLens(void);

Description:

getClassType
static TypeHandle PerspectiveLens::get_class_type(void);

Undocumented function.

clear
void Lens::clear(void);

Description: Resets all lens parameters to their initial default settings.

clearKeystone
void Lens::clear_keystone(void);

Description: Disables the lens keystone correction.

clearViewMat
void Lens::clear_view_mat(void);

Description: Resets the lens transform to identity.

extrude
bool Lens::extrude(LPoint2f const &point2d, LPoint3f &near_point, LPoint3f &far_point) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the corresponding vector in space that maps to this point, if such a vector can be determined. The vector is returned by indicating the points on the near plane and far plane that both map to the indicated 2-d point.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

extrudeVec
bool Lens::extrude_vec(LPoint2f const &point2d, LVector3f &vec3d) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the vector that corresponds to the view direction. This will be parallel to the normal on the surface (the far plane) corresponding to the lens shape at this point.
See the comment block on Lens::extrude_vec_impl() for a more in-depth comment on the meaning of this vector.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

getAspectRatio
float Lens::get_aspect_ratio(void) const;

Description: Returns the aspect ratio of the Lens. This is determined based on the indicated film size; see set_film_size().

getChangeEvent
string const &Lens::get_change_event(void) const;

Description: Returns the name of the event that will be generated whenever any properties of this particular Lens have changed.

getClassType
static TypeHandle Lens::get_class_type(void);

Undocumented function.

getConvergenceDistance
float Lens::get_convergence_distance(void) const;

Description: See set_convergence_distance().

getCoordinateSystem
CoordinateSystem Lens::get_coordinate_system(void) const;

Description: Returns the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

getDefaultFar
static float Lens::get_default_far(void);

Description: Returns the default far plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getDefaultNear
static float Lens::get_default_near(void);

Description: Returns the default near plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getFar
float Lens::get_far(void) const;

Description: Returns the position of the far plane (or cylinder, sphere, whatever).

getFilmMat
LMatrix4f const &Lens::get_film_mat(void) const;

Description: Returns the matrix that transforms from a point behind the lens to a point on the film.

getFilmMatInv
LMatrix4f const &Lens::get_film_mat_inv(void) const;

Description: Returns the matrix that transforms from a point on the film to a point behind the lens.

getFilmOffset
LVector2f const &Lens::get_film_offset(void) const;

Description: Returns the horizontal and vertical offset amounts of this Lens. See set_film_offset().

getFilmSize
LVecBase2f const &Lens::get_film_size(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_film_size().

getFocalLength
float Lens::get_focal_length(void) const;

Description: Returns the focal length of the lens. This may have been set explicitly by a previous call to set_focal_length(), or it may be computed based on the lens' fov and film_size. For certain kinds of lenses, the focal length has no meaning.

getFov
LVecBase2f const &Lens::get_fov(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_fov().

getHfov
float Lens::get_hfov(void) const;

Description: Returns the horizontal component of fov only. See get_fov().

getInterocularDistance
float Lens::get_interocular_distance(void) const;

Description: See set_interocular_distance().

getKeystone
LVecBase2f const &Lens::get_keystone(void) const;

Description: Returns the keystone correction specified for the lens.

getLensMat
LMatrix4f const &Lens::get_lens_mat(void) const;

Description: Returns the matrix that transforms from a point in front of the lens to a point in space.

getLensMatInv
LMatrix4f const &Lens::get_lens_mat_inv(void) const;

Description: Returns the matrix that transforms from a point in space to a point in front of the lens.

getMinFov
float Lens::get_min_fov(void) const;

Description: Returns the field of view of the narrowest dimension of the window. See set_min_fov().

getNear
float Lens::get_near(void) const;

Description: Returns the position of the near plane (or cylinder, sphere, whatever).

getNodalPoint
LPoint3f Lens::get_nodal_point(void) const;

Description: Returns the center point of the lens: the point from which the lens is viewing.

getProjectionMat
LMatrix4f const &Lens::get_projection_mat(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the complete transformation matrix from a 3-d point in space to a point on the film, if such a matrix exists, or the identity matrix if the lens is nonlinear.

getProjectionMatInv
LMatrix4f const &Lens::get_projection_mat_inv(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the matrix that transforms from a 2-d point on the film to a 3-d vector in space, if such a matrix exists.

getUpVector
LVector3f const &Lens::get_up_vector(void) const;

Description: Returns the axis perpendicular to the camera's view vector that indicates the "up" direction.

getVfov
float Lens::get_vfov(void) const;

Description: Returns the vertical component of fov only. See get_fov().

getViewHpr
LVecBase3f const &Lens::get_view_hpr(void) const;

Description: Returns the direction in which the lens is facing.

getViewMat
LMatrix4f const &Lens::get_view_mat(void) const;

Description: Returns the direction in which the lens is facing.

getViewVector
LVector3f const &Lens::get_view_vector(void) const;

Description: Returns the axis along which the lens is facing.

isLinear
virtual bool Lens::is_linear(void) const;

Description: Returns true if the lens represents a linear projection (e.g. PerspectiveLens, OrthographicLens), and therefore there is a valid matrix returned by get_projection_mat(), or false otherwise.

isOrthographic
virtual bool Lens::is_orthographic(void) const;

Description: Returns true if the lens represents a orthographic projection (i.e. it is a OrthographicLens), false otherwise.

isPerspective
virtual bool Lens::is_perspective(void) const;

Description: Returns true if the lens represents a perspective projection (i.e. it is a PerspectiveLens), false otherwise.

makeBounds
virtual PointerTo< BoundingVolume > Lens::make_bounds(void) const;

Description: Allocates and returns a new BoundingVolume that encloses the frustum used for this kind of lens, if possible. If a suitable bounding volume cannot be created, returns NULL.

makeCopy
virtual PointerTo< Lens > Lens::make_copy(void) const = 0;

Undocumented function.

makeGeometry
virtual PointerTo< Geom > Lens::make_geometry(void);

Description: Allocates and returns a new Geom that can be rendered to show a visible representation of the frustum used for this kind of lens, if it makes sense to do so. If a visible representation cannot be created, returns NULL.

output
virtual void Lens::output(ostream &out) const;

Description:

project
bool Lens::project(LPoint3f const &point3d, LPoint3f &point2d) const;

Description: Given a 3-d point in space, determine the 2-d point this maps to, in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner.
Returns true if the 3-d point is in front of the lens and within the viewing frustum (in which case point2d is filled in), or false otherwise (in which case point2d will be filled in with something, which may or may not be meaningful).
The z coordinate will also be set to a value in the range (-1, 1), where 1 represents a point on the near plane, and -1 represents a point on the far plane.

recomputeAll
void Lens::recompute_all(void);

Description: Forces all internal parameters of the Lens to be recomputed. Normally, this should never need to be called; it is provided only to assist in debugging.

setAspectRatio
void Lens::set_aspect_ratio(float aspect_ratio);

Description: Sets the aspect ratio of the lens. This is the ratio of the height to the width of the generated image. Setting this overrides the two-parameter fov or film size setting.

setChangeEvent
void Lens::set_change_event(string const &event);

Description: Sets the name of the event that will be generated whenever any properties of the Lens have changed. If this is not set for a particular lens, no event will be generated.
The event is thrown with one parameter, the lens itself. This can be used to automatically track changes to camera fov, etc. in the application.

setConvergenceDistance
void Lens::set_convergence_distance(float convergence_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setCoordinateSystem
void Lens::set_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

setFar
void Lens::set_far(float far_distance);

Description: Defines the position of the far plane (or cylinder, sphere, whatever). Points farther from the lens than this may not be rendered.

setFilmOffset
void Lens::set_film_offset(float x, float y);

Description: Sets the horizontal and vertical offset amounts of this Lens. These are both in the same units specified in set_film_size().
This can be used to establish an off-axis lens.

setFilmSize
void Lens::set_film_size(float width);

Description: Sets the size and shape of the "film" within the lens. This both establishes the units used by calls like set_focal_length(), and establishes the aspect ratio of the frame.
In a physical camera, the field of view of a lens is determined by the lens' focal length and by the size of the film area exposed by the lens. For instance, a 35mm camera exposes a rectangle on the film about 24mm x 36mm, which means a 50mm lens gives about a 40-degree horizontal field of view.
In the virtual camera, you may set the film size to any units here, and specify a focal length in the same units to simulate the same effect. Or, you may ignore this parameter, and specify the field of view and aspect ratio of the lens directly.
Description: Sets the horizontal size of the film without changing its shape. The aspect ratio remains unchanged; this computes the vertical size of the film to automatically maintain the aspect ratio.

setFocalLength
void Lens::set_focal_length(float focal_length);

Description: Sets the focal length of the lens. This may adjust the field-of-view correspondingly, and is an alternate way to specify field of view.
For certain kinds of lenses (e.g. OrthographicLens), the focal length has no meaning.

setFov
void Lens::set_fov(float fov);

Description: Sets the field of view of the lens in both dimensions. This establishes both the field of view and the aspect ratio of the lens. This is one way to specify the field of view of a lens; set_focal_length() is another way.
For certain kinds of lenses (like OrthoLens), the field of view has no meaning.
Description: Sets the horizontal field of view of the lens without changing the aspect ratio. The vertical field of view is adjusted to maintain the same aspect ratio.
For certain kinds of lenses (like OrthographicLens), the field of view has no meaning.

setFrustumFromCorners
void Lens::set_frustum_from_corners(LVecBase3f const &ul, LVecBase3f const &ur, LVecBase3f const &ll, LVecBase3f const &lr, int flags);

Description: Sets up the lens to use the frustum defined by the four indicated points. This is most useful for a PerspectiveLens, but it may be called for other kinds of lenses as well.
The frustum will be rooted at the origin (or by whatever translation might have been specified in a previous call to set_view_mat).
It is legal for the four points not to be arranged in a rectangle; if this is the case, the frustum will be fitted as tightly as possible to cover all four points.
The flags parameter contains the union of one or more of the following bits to control the behavior of this function:
FC_roll - If this is included, the camera may be rotated so that its up vector is perpendicular to the top line. Otherwise, the standard up vector is used.
FC_camera_plane - This allows the camera plane to be adjusted to be as nearly perpendicular to the center of the frustum as possible. Without this bit, the orientation camera plane is defined by position of the four points (which should all be coplanar). With this bit, the camera plane is arbitarary, and may be chosen so that the four points do not themselves lie in the camera plane (but the points will still be within the frustum).
FC_off_axis - This allows the resulting frustum to be off-axis to get the tightest possible fit. Without this bit, the viewing axis will be centered within the frustum, but there may be more wasted space along the edges.
FC_aspect_ratio - This allows the frustum to be scaled non-proportionately in the vertical and horizontal dimensions, if necessary, to get a tighter fit. Without this bit, the current aspect ratio will be preserved.
FC_shear - This allows the frustum to be sheared, if necessary, to get the tightest possible fit. This may result in a parallelogram-based frustum, which will give a slanted appearance to the rendered image. Without this bit, the frustum will be rectangle-based.
In general, if 0 is passed in as the value for flags, the generated frustum will be a loose fit but sane; if -1 is passed in, it will be a tighter fit and possibly screwy.

setInterocularDistance
void Lens::set_interocular_distance(float interocular_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setKeystone
void Lens::set_keystone(LVecBase2f const &keystone);

Description: Indicates the ratio of keystone correction to perform on the lens, in each of three axes. This will build a special non-affine scale factor into the projection matrix that will compensate for keystoning of a projected image; this can be used to compensate for a projector that for physical reasons cannot be aimed directly at it screen.
The default value is taken from the default-keystone Config variable. 0, 0 indicates no keystone correction; specify a small value (usually in the range -1 .. 1) in either the x or y position to generate a keystone correction in that axis.

setMinFov
void Lens::set_min_fov(float min_fov);

Description: Sets the field of view of the smallest dimension of the window. If the window is wider than it is tall, this specifies the vertical field of view; if it is taller than it is wide, this specifies the horizontal field of view.
In many cases, this is preferable to setting either the horizontal or vertical field of view explicitly. Setting this parameter means that pulling the window wider will widen the field of view, which is usually what you expect to happen.

setNear
void Lens::set_near(float near_distance);

Description: Defines the position of the near plane (or cylinder, sphere, whatever). Points closer to the lens than this may not be rendered.

setNearFar
void Lens::set_near_far(float near_distance, float far_distance);

Description: Simultaneously changes the near and far planes.

setViewHpr
void Lens::set_view_hpr(float h, float p, float r);

Description: Sets the direction in which the lens is facing. Normally, this is down the forward axis (usually the Y axis), but it may be rotated. This is only one way of specifying the rotation; you may also specify an explicit vector in which to look, or you may give a complete transformation matrix.

setViewMat
void Lens::set_view_mat(LMatrix4f const &view_mat);

Description: Sets an arbitrary transformation on the lens. This replaces the individual transformation components like set_view_hpr().
Setting a transformation here will have a slightly different effect than putting one on the LensNode that contains this lens. In particular, lighting and other effects computations will still be performed on the lens in its untransformed (facing forward) position, but the actual projection matrix will be transformed by this matrix.

setViewVector
void Lens::set_view_vector(float x, float y, float z, float i, float j, float k);

Description: Specifies the direction in which the lens is facing by giving an axis to look along, and a perpendicular (or at least non-parallel) up axis.
See also set_view_hpr().

write
virtual void Lens::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PGButton

    from pandac.PandaModules import PGButton
    Class : PGButton
    Description : This is a particular kind of PGItem that is specialized to behave like a normal button object. It keeps track of its own state, and handles mouse events sensibly.

Inheritance:

    PGButton: PGItem
    PGItem: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PGButton:

    PGButton (Constructor)
    addClickButton
    getClassType
    getClickEvent
    getClickPrefix
    hasClickButton
    isButtonDown
    removeClickButton
    setup

Methods of PGItem:

    PGItem (Constructor)
    clearFrame
    clearSound
    clearStateDef
    getActive
    getBackgroundFocus
    getClassType
    getEnterEvent
    getEnterPrefix
    getExitEvent
    getExitPrefix
    getFocus
    getFocusInEvent
    getFocusInPrefix
    getFocusItem
    getFocusOutEvent
    getFocusOutPrefix
    getFrame
    getFrameInvXform
    getFrameStyle
    getId
    getKeystrokeEvent
    getKeystrokePrefix
    getNumStateDefs
    getPressEvent
    getPressPrefix
    getReleaseEvent
    getReleasePrefix
    getRepeatEvent
    getRepeatPrefix
    getSound
    getState
    getStateDef
    getSuppressFlags
    getTextNode
    getWithinEvent
    getWithinPrefix
    getWithoutEvent
    getWithoutPrefix
    hasFrame
    hasSound
    hasStateDef
    instanceToStateDef
    setActive
    setBackgroundFocus
    setFocus
    setFrame
    setFrameStyle
    setId
    setSound
    setState
    setSuppressFlags
    setTextNode

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PGButton:

    SReady | (State)
SDepressed | (State)
SRollover | (State)
SInactive | (State)

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PGButton
PGButton::PGButton(string const &name);

Description:

addClickButton
bool PGButton::add_click_button(ButtonHandle const &button);

Description: Adds the indicated button to the set of buttons that can effectively "click" the PGButton. Normally, this is just MouseButton::one(). Returns true if the button was added, or false if it was already there.

getClassType
static TypeHandle PGButton::get_class_type(void);

Undocumented function.

getClickEvent
string PGButton::get_click_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the button is clicked normally.

getClickPrefix
static string PGButton::get_click_prefix(void);

Description: Returns the prefix that is used to define the click event for all PGButtons. The click event is the concatenation of this string followed by get_id().

hasClickButton
bool PGButton::has_click_button(ButtonHandle const &button);

Description: Returns true if the indicated button is on the set of buttons that can effectively "click" the PGButton. Normally, this is just MouseButton::one().

isButtonDown
bool PGButton::is_button_down(void);

Description: Returns true if the user is currently holding the mouse button down on the button, false otherwise.

removeClickButton
bool PGButton::remove_click_button(ButtonHandle const &button);

Description: Removes the indicated button from the set of buttons that can effectively "click" the PGButton. Normally, this is just MouseButton::one(). Returns true if the button was removed, or false if it was not in the set.

setup
void PGButton::setup(string const &label, float bevel = (0.1));

Description: Sets up the button using the indicated NodePath as arbitrary geometry.
Description: Sets up the button as a default text button using the indicated label string. The TextNode defined by PGItem::get_text_node() will be used to create the label geometry. This automatically sets up the frame according to the size of the text.

PGItem
PGItem::PGItem(string const &name);

Description:

clearFrame
void PGItem::clear_frame(void);

Description: Removes the bounding rectangle from the item. It will no longer be possible to position the mouse within the item; see set_frame().

clearSound
void PGItem::clear_sound(string const &event);

Description: Removes the sound associated with the indicated event.

clearStateDef
void PGItem::clear_state_def(int state);

Description: Resets the NodePath assigned to the indicated state to its initial default, with only a frame representation if appropriate.

getActive
bool PGItem::get_active(void) const;

Description: Returns whether the PGItem is currently active for mouse events. See set_active().

getBackgroundFocus
bool PGItem::get_background_focus(void) const;

Description: Returns whether background_focus is currently enabled. See set_background_focus().

getClassType
static TypeHandle PGItem::get_class_type(void);

Undocumented function.

getEnterEvent
string PGItem::get_enter_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse enters its frame, but not any nested frames.

getEnterPrefix
static string PGItem::get_enter_prefix(void);

Description: Returns the prefix that is used to define the enter event for all PGItems. The enter event is the concatenation of this string followed by get_id().

getExitEvent
string PGItem::get_exit_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse exits its frame, or enters a nested frame.

getExitPrefix
static string PGItem::get_exit_prefix(void);

Description: Returns the prefix that is used to define the exit event for all PGItems. The exit event is the concatenation of this string followed by get_id().

getFocus
bool PGItem::get_focus(void) const;

Description: Returns whether the PGItem currently has focus for keyboard events. See set_focus().

getFocusInEvent
string PGItem::get_focus_in_event(void) const;

Description: Returns the event name that will be thrown when the item gets the keyboard focus.

getFocusInPrefix
static string PGItem::get_focus_in_prefix(void);

Description: Returns the prefix that is used to define the focus_in event for all PGItems. The focus_in event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFocusItem
static PGItem *PGItem::get_focus_item(void);

Description: Returns the one PGItem in the world that currently has keyboard focus, if any, or NULL if no item has keyboard focus. Use PGItem::set_focus() to activate or deactivate keyboard focus on a particular item.

getFocusOutEvent
string PGItem::get_focus_out_event(void) const;

Description: Returns the event name that will be thrown when the item loses the keyboard focus.

getFocusOutPrefix
static string PGItem::get_focus_out_prefix(void);

Description: Returns the prefix that is used to define the focus_out event for all PGItems. The focus_out event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFrame
LVecBase4f const &PGItem::get_frame(void) const;

Description: Returns the bounding rectangle of the item. See set_frame(). It is an error to call this if has_frame() returns false.

getFrameInvXform
LMatrix4f PGItem::get_frame_inv_xform(void) const;

Description: Returns the inverse of the frame transform matrix

getFrameStyle
PGFrameStyle PGItem::get_frame_style(int state);

Description: Returns the kind of frame that will be drawn behind the item when it is in the indicated state.

getId
string const &PGItem::get_id(void) const;

Description: Returns the unique ID assigned to this PGItem. This will be assigned to the region created with the MouseWatcher, and will thus be used to generate event names.

getKeystrokeEvent
string PGItem::get_keystroke_event(void) const;

Description: Returns the event name that will be thrown when the item is active and any key is pressed by the user.

getKeystrokePrefix
static string PGItem::get_keystroke_prefix(void);

Description: Returns the prefix that is used to define the keystroke event for all PGItems. The keystroke event is the concatenation of this string followed by a hyphen and get_id().

getNumStateDefs
int PGItem::get_num_state_defs(void) const;

Description: Returns one more than the highest-numbered state def that was ever assigned to the PGItem. The complete set of state defs assigned may then be retrieved by indexing from 0 to (get_num_state_defs() - 1).
This is only an upper limit on the actual number of state defs, since there may be holes in the list.

getPressEvent
string PGItem::get_press_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is depressed while the mouse is within the frame.

getPressPrefix
static string PGItem::get_press_prefix(void);

Description: Returns the prefix that is used to define the press event for all PGItems. The press event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getReleaseEvent
string PGItem::get_release_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button, formerly clicked down is within the frame, is released.

getReleasePrefix
static string PGItem::get_release_prefix(void);

Description: Returns the prefix that is used to define the release event for all PGItems. The release event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getRepeatEvent
string PGItem::get_repeat_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is continuously held down while the mouse is within the frame.

getRepeatPrefix
static string PGItem::get_repeat_prefix(void);

Description: Returns the prefix that is used to define the repeat event for all PGItems. The repeat event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getSound
AudioSound *PGItem::get_sound(string const &event) const;

Description: Returns the sound associated with the indicated event, or NULL if there is no associated sound.

getState
int PGItem::get_state(void) const;

Description: Returns the "state" of this particular PGItem. See set_state().

getStateDef
NodePath &PGItem::get_state_def(int state);

Description: Returns the Node that is the root of the subgraph that will be drawn when the PGItem is in the indicated state. The first time this is called for a particular state index, it may create the Node.

getSuppressFlags
int PGItem::get_suppress_flags(void) const;

Description: This is just an interface to get the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::get_suppress_flags().

getTextNode
static TextNode *PGItem::get_text_node(void);

HAVE_AUDIO
Description: Returns the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

getWithinEvent
string PGItem::get_within_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves within the boundaries of the frame. This is different from the enter_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithinPrefix
static string PGItem::get_within_prefix(void);

Description: Returns the prefix that is used to define the within event for all PGItems. The within event is the concatenation of this string followed by get_id().

getWithoutEvent
string PGItem::get_without_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves completely outside the boundaries of the frame. This is different from the exit_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithoutPrefix
static string PGItem::get_without_prefix(void);

Description: Returns the prefix that is used to define the without event for all PGItems. The without event is the concatenation of this string followed by get_id().

hasFrame
bool PGItem::has_frame(void) const;

Description: Returns true if the item has a bounding rectangle; see set_frame().

hasSound
bool PGItem::has_sound(string const &event) const;

Description: Returns true if there is a sound associated with the indicated event, or false otherwise.

hasStateDef
bool PGItem::has_state_def(int state) const;

Description: Returns true if get_state_def() has ever been called for the indicated state (thus defining a render subgraph for this state index), false otherwise.

instanceToStateDef
NodePath PGItem::instance_to_state_def(int state, NodePath const &path);

Description: Parents an instance of the bottom node of the indicated NodePath to the indicated state index.

setActive
virtual void PGItem::set_active(bool active);

Description: Sets whether the PGItem is active for mouse watching. This is not necessarily related to the active/inactive appearance of the item, which is controlled by set_state(), but it does affect whether it responds to mouse events.

setBackgroundFocus
void PGItem::set_background_focus(bool focus);

Description: Sets the background_focus flag for this item. When background_focus is enabled, the item will receive keypress events even if it is not in focus; in fact, even if it is not onscreen. Unlike normal focus, many items may have background_focus simultaneously.

setFocus
virtual void PGItem::set_focus(bool focus);

Description: Sets whether the PGItem currently has keyboard focus. This simply means that the item may respond to keyboard events as well as to mouse events; precisely what this means is up to the individual item.
Only one PGItem in the world is allowed to have focus at any given time. Setting the focus on any other item automatically disables the focus from the previous item.

setFrame
void PGItem::set_frame(float left, float right, float bottom, float top);

Description: Sets the bounding rectangle of the item, in local coordinates. This is the region on screen within which the mouse will be considered to be within the item. Normally, it should correspond to the bounding rectangle of the visible geometry of the item.

setFrameStyle
void PGItem::set_frame_style(int state, PGFrameStyle const &style);

Description: Changes the kind of frame that will be drawn behind the item when it is in the indicated state.

setId
void PGItem::set_id(string const &id);

Description: Set the unique ID assigned to this PGItem. It is the user's responsibility to ensure that this ID is unique.
Normally, this should not need to be called, as the PGItem will assign itself an ID when it is created, but this function allows the user to decide to redefine the ID to be something possibly more meaningful.

setSound
void PGItem::set_sound(string const &event, AudioSound *sound);

Description: Sets the sound that will be played whenever the indicated event occurs.

setState
void PGItem::set_state(int state);

Description: Sets the "state" of this particular PGItem.
The PGItem node will render as if it were the subgraph assigned to the corresponding index via set_state_def().

setSuppressFlags
void PGItem::set_suppress_flags(int suppress_flags);

Description: This is just an interface to set the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::set_suppress_flags().

setTextNode
static void PGItem::set_text_node(TextNode *node);

Description: Changes the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PGEntry

    from pandac.PandaModules import PGEntry
    Class : PGEntry
    Description : This is a particular kind of PGItem that handles simple one-line or short multi-line text entries, of the sort where the user can type any string.
    A PGEntry does all of its internal manipulation on a wide string, so it can store the full Unicode character set. The interface can support either the wide string getters and setters, or the normal 8-bit string getters and setters, which use whatever encoding method is specified by the associated TextNode.

Inheritance:

    PGEntry: PGItem
    PGItem: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PGEntry:

    PGEntry (Constructor)
    clearCursorDef
    getAcceptEvent
    getAcceptFailedEvent
    getAcceptFailedPrefix
    getAcceptPrefix
    getBlinkRate
    getCandidateActive
    getCandidateInactive
    getCharacter
    getClassType
    getCursorDef
    getCursorKeysActive
    getCursorPosition
    getEraseEvent
    getErasePrefix
    getGraphic
    getMaxChars
    getMaxWidth
    getNumCharacters
    getNumLines
    getObscureMode
    getOverflowEvent
    getOverflowPrefix
    getPlainText
    getPlainWtext
    getProperties
    getText
    getTextDef
    getTypeEvent
    getTypePrefix
    getWtext
    isWtext
    setAcceptEnabled
    setBlinkRate
    setCandidateActive
    setCandidateInactive
    setCursorKeysActive
    setCursorPosition
    setMaxChars
    setMaxWidth
    setNumLines
    setObscureMode
    setText
    setTextDef
    setup
    setupMinimal
    setWtext

Methods of PGItem:

    PGItem (Constructor)
    clearFrame
    clearSound
    clearStateDef
    getActive
    getBackgroundFocus
    getClassType
    getEnterEvent
    getEnterPrefix
    getExitEvent
    getExitPrefix
    getFocus
    getFocusInEvent
    getFocusInPrefix
    getFocusItem
    getFocusOutEvent
    getFocusOutPrefix
    getFrame
    getFrameInvXform
    getFrameStyle
    getId
    getKeystrokeEvent
    getKeystrokePrefix
    getNumStateDefs
    getPressEvent
    getPressPrefix
    getReleaseEvent
    getReleasePrefix
    getRepeatEvent
    getRepeatPrefix
    getSound
    getState
    getStateDef
    getSuppressFlags
    getTextNode
    getWithinEvent
    getWithinPrefix
    getWithoutEvent
    getWithoutPrefix
    hasFrame
    hasSound
    hasStateDef
    instanceToStateDef
    setActive
    setBackgroundFocus
    setFocus
    setFrame
    setFrameStyle
    setId
    setSound
    setState
    setSuppressFlags
    setTextNode

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PGEntry:

    SFocus | (State)
SNoFocus | (State)
SInactive | (State)

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PGEntry
PGEntry::PGEntry(string const &name);

Description:

clearCursorDef
void PGEntry::clear_cursor_def(void);

Description: Removes all the children from the cursor_def node, in preparation for adding a new definition.

getAcceptEvent
string PGEntry::get_accept_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the entry is accepted normally.

getAcceptFailedEvent
string PGEntry::get_accept_failed_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the entry cannot accept an input

getAcceptFailedPrefix
static string PGEntry::get_accept_failed_prefix(void);

Description: Returns the prefix that is used to define the accept failed event for all PGEntries. This event is the concatenation of this string followed by get_id().

getAcceptPrefix
static string PGEntry::get_accept_prefix(void);

Description: Returns the prefix that is used to define the accept event for all PGEntries. The accept event is the concatenation of this string followed by get_id().

getBlinkRate
float PGEntry::get_blink_rate(void) const;

Description: Returns the number of times per second the cursor will blink, or 0 if the cursor is not to blink.

getCandidateActive
string const &PGEntry::get_candidate_active(void) const;

Description: See set_candidate_active().

getCandidateInactive
string const &PGEntry::get_candidate_inactive(void) const;

Description: See set_candidate_inactive().

getCharacter
wchar_t PGEntry::get_character(int n) const;

Description: Returns the character at the indicated position in the entry. If the object at this position is a graphic object instead of a character, returns 0.

getClassType
static TypeHandle PGEntry::get_class_type(void);

Undocumented function.

getCursorDef
NodePath const &PGEntry::get_cursor_def(void);

Description: Returns the Node that will be rendered to represent the cursor. You can attach suitable cursor geometry to this node.

getCursorKeysActive
bool PGEntry::get_cursor_keys_active(void) const;

Description: Returns whether the arrow keys are currently set to control movement of the cursor; see set_cursor_keys_active().

getCursorPosition
int PGEntry::get_cursor_position(void) const;

Description: Returns the current position of the cursor.

getEraseEvent
string PGEntry::get_erase_event(void) const;

Description: Returns the event name that will be thrown whenever the user erases characters in the text.

getErasePrefix
static string PGEntry::get_erase_prefix(void);

Description: Returns the prefix that is used to define the erase event for all PGEntries. The erase event is the concatenation of this string followed by get_id().

getGraphic
TextGraphic const *PGEntry::get_graphic(int n) const;

Description: Returns the graphic object at the indicated position in the pre-wordwrapped string. If the object at this position is a character instead of a graphic object, returns NULL.

getMaxChars
int PGEntry::get_max_chars(void) const;

Description: Returns the current maximum number of characters that may be typed into the entry, or 0 if there is no limit. See set_max_chars().

getMaxWidth
float PGEntry::get_max_width(void) const;

Description: Returns the current maximum width of the characters that may be typed into the entry, or 0 if there is no limit. See set_max_width().

getNumCharacters
int PGEntry::get_num_characters(void) const;

Description: Returns the number of characters of text in the entry. This is the actual number of visible characters, not counting implicit newlines due to wordwrapping, or formatted characters for text properties changes. If there is an embedded TextGraphic object, it counts as one character.
This is also the length of the string returned by get_plain_text().

getNumLines
int PGEntry::get_num_lines(void) const;

Description: Returns the number of lines of text the PGEntry will use, if _max_width is not 0. See set_num_lines().

getObscureMode
bool PGEntry::get_obscure_mode(void) const;

Description: Specifies whether obscure mode is enabled. See set_obscure_mode().

getOverflowEvent
string PGEntry::get_overflow_event(void) const;

Description: Returns the event name that will be thrown when too much text is attempted to be entered into the PGEntry, exceeding either the limit set via set_max_chars() or via set_max_width().

getOverflowPrefix
static string PGEntry::get_overflow_prefix(void);

Description: Returns the prefix that is used to define the overflow event for all PGEntries. The overflow event is the concatenation of this string followed by get_id().

getPlainText
string PGEntry::get_plain_text(void) const;

Description: Returns the text currently displayed within the entry, without any embedded properties characters.
This uses the Unicode encoding currently specified for the "focus" TextNode; therefore, the TextNode must exist before calling get_text().

getPlainWtext
basic_string< wchar_t > PGEntry::get_plain_wtext(void) const;

Description: Returns the text currently displayed within the entry, without any embedded properties characters.

getProperties
TextProperties const &PGEntry::get_properties(int n) const;

Description: Returns the TextProperties in effect for the object at the indicated position in the pre-wordwrapped string.

getText
string PGEntry::get_text(void) const;

Description: Returns the text currently displayed within the entry. This uses the Unicode encoding currently specified for the "focus" TextNode; therefore, the TextNode must exist before calling get_text().

getTextDef
TextNode *PGEntry::get_text_def(int state) const;

Description: Returns the TextNode that will be used to render the text within the entry when the entry is in the indicated state. See set_text_def().

getTypeEvent
string PGEntry::get_type_event(void) const;

Description: Returns the event name that will be thrown whenever the user extends the text by typing.

getTypePrefix
static string PGEntry::get_type_prefix(void);

Description: Returns the prefix that is used to define the type event for all PGEntries. The type event is the concatenation of this string followed by get_id().

getWtext
basic_string< wchar_t > PGEntry::get_wtext(void) const;

Description: Returns the text currently displayed within the entry.

isWtext
bool PGEntry::is_wtext(void) const;

Description: Returns true if any of the characters in the string returned by get_wtext() are out of the range of an ASCII character (and, therefore, get_wtext() should be called in preference to get_text()).

setAcceptEnabled
void PGEntry::set_accept_enabled(bool enabled);

Description: Sets whether the input may be accepted--use to disable submission by the user

setBlinkRate
void PGEntry::set_blink_rate(float blink_rate);

Description: Sets the number of times per second the cursor will blink while the entry has keyboard focus.
If this is 0, the cursor does not blink, but is held steady.

setCandidateActive
void PGEntry::set_candidate_active(string const &candidate_active);

Description: Specifies the name of the TextProperties structure added to the TextPropertiesManager that will be used to render candidate strings from the IME, used for typing characters in east Asian languages. Each candidate string represents one possible way to interpret the sequence of keys the user has just entered; it should not be considered typed yet, but it is important for the user to be able to see what he is considering entering.
This particular method sets the properties for the subset of the current candidate string that the user can actively scroll through.

setCandidateInactive
void PGEntry::set_candidate_inactive(string const &candidate_inactive);

Description: Specifies the name of the TextProperties structure added to the TextPropertiesManager that will be used to render candidate strings from the IME, used for typing characters in east Asian languages. Each candidate string represents one possible way to interpret the sequence of keys the user has just entered; it should not be considered typed yet, but it is important for the user to be able to see what he is considering entering.
This particular method sets the properties for the subset of the current candidate string that the user is not actively scrolling through.

setCursorKeysActive
void PGEntry::set_cursor_keys_active(bool flag);

Description: Sets whether the arrow keys (and home/end) control movement of the cursor. If true, they are active; if false, they are ignored.

setCursorPosition
void PGEntry::set_cursor_position(int position);

Description: Sets the current position of the cursor. This is the position within the text at which the next letter typed by the user will be inserted; normally it is the same as the length of the text.

setMaxChars
void PGEntry::set_max_chars(int max_chars);

Description: Sets the maximum number of characters that may be typed into the entry. This is a limit on the number of characters, as opposed to the width of the entry; see also set_max_width().
If this is 0, there is no limit.

setMaxWidth
void PGEntry::set_max_width(float max_width);

Description: Sets the maximum width of all characters that may be typed into the entry. This is a limit on the width of the formatted text, not a fixed limit on the number of characters; also set_max_chars().
If this is 0, there is no limit.
If _num_lines is more than 1, rather than being a fixed width on the whole entry, this becomes instead the wordwrap width (and the width limit on the entry is essentially _max_width * _num_lines).

setNumLines
void PGEntry::set_num_lines(int num_lines);

Description: Sets the number of lines of text the PGEntry will use. This only has meaning if _max_width is not 0; _max_width indicates the wordwrap width of each line.

setObscureMode
void PGEntry::set_obscure_mode(bool flag);

Description: Specifies whether obscure mode should be enabled. In obscure mode, a string of asterisks is displayed instead of the literal text, e.g. for entering passwords.
In obscure mode, the width of the text is computed based on the width of the string of asterisks, not on the width of the actual text. This has implications on the maximum length of text that may be entered if max_width is in effect.

setText
void PGEntry::set_text(string const &text);

Description: Changes the text currently displayed within the entry. This uses the Unicode encoding currently specified for the "focus" TextNode; therefore, the TextNode must exist before calling set_text().

setTextDef
void PGEntry::set_text_def(int state, TextNode *node);

Description: Changes the TextNode that will be used to render the text within the entry when the entry is in the indicated state. The default if nothing is specified is the same TextNode returned by PGItem::get_text_node().

setup
void PGEntry::setup(float width, int num_lines);

Description: Sets up the entry for normal use. The width is the maximum width of characters that will be typed, and num_lines is the integer number of lines of text of the entry. Both of these together determine the size of the entry, based on the TextNode in effect.

setupMinimal
void PGEntry::setup_minimal(float width, int num_lines);

Description: Sets up the entry without creating any frame or other decoration.

setWtext
void PGEntry::set_wtext(basic_string< wchar_t > const &wtext);

Description: Changes the text currently displayed within the entry.

PGItem
PGItem::PGItem(string const &name);

Description:

clearFrame
void PGItem::clear_frame(void);

Description: Removes the bounding rectangle from the item. It will no longer be possible to position the mouse within the item; see set_frame().

clearSound
void PGItem::clear_sound(string const &event);

Description: Removes the sound associated with the indicated event.

clearStateDef
void PGItem::clear_state_def(int state);

Description: Resets the NodePath assigned to the indicated state to its initial default, with only a frame representation if appropriate.

getActive
bool PGItem::get_active(void) const;

Description: Returns whether the PGItem is currently active for mouse events. See set_active().

getBackgroundFocus
bool PGItem::get_background_focus(void) const;

Description: Returns whether background_focus is currently enabled. See set_background_focus().

getClassType
static TypeHandle PGItem::get_class_type(void);

Undocumented function.

getEnterEvent
string PGItem::get_enter_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse enters its frame, but not any nested frames.

getEnterPrefix
static string PGItem::get_enter_prefix(void);

Description: Returns the prefix that is used to define the enter event for all PGItems. The enter event is the concatenation of this string followed by get_id().

getExitEvent
string PGItem::get_exit_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse exits its frame, or enters a nested frame.

getExitPrefix
static string PGItem::get_exit_prefix(void);

Description: Returns the prefix that is used to define the exit event for all PGItems. The exit event is the concatenation of this string followed by get_id().

getFocus
bool PGItem::get_focus(void) const;

Description: Returns whether the PGItem currently has focus for keyboard events. See set_focus().

getFocusInEvent
string PGItem::get_focus_in_event(void) const;

Description: Returns the event name that will be thrown when the item gets the keyboard focus.

getFocusInPrefix
static string PGItem::get_focus_in_prefix(void);

Description: Returns the prefix that is used to define the focus_in event for all PGItems. The focus_in event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFocusItem
static PGItem *PGItem::get_focus_item(void);

Description: Returns the one PGItem in the world that currently has keyboard focus, if any, or NULL if no item has keyboard focus. Use PGItem::set_focus() to activate or deactivate keyboard focus on a particular item.

getFocusOutEvent
string PGItem::get_focus_out_event(void) const;

Description: Returns the event name that will be thrown when the item loses the keyboard focus.

getFocusOutPrefix
static string PGItem::get_focus_out_prefix(void);

Description: Returns the prefix that is used to define the focus_out event for all PGItems. The focus_out event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFrame
LVecBase4f const &PGItem::get_frame(void) const;

Description: Returns the bounding rectangle of the item. See set_frame(). It is an error to call this if has_frame() returns false.

getFrameInvXform
LMatrix4f PGItem::get_frame_inv_xform(void) const;

Description: Returns the inverse of the frame transform matrix

getFrameStyle
PGFrameStyle PGItem::get_frame_style(int state);

Description: Returns the kind of frame that will be drawn behind the item when it is in the indicated state.

getId
string const &PGItem::get_id(void) const;

Description: Returns the unique ID assigned to this PGItem. This will be assigned to the region created with the MouseWatcher, and will thus be used to generate event names.

getKeystrokeEvent
string PGItem::get_keystroke_event(void) const;

Description: Returns the event name that will be thrown when the item is active and any key is pressed by the user.

getKeystrokePrefix
static string PGItem::get_keystroke_prefix(void);

Description: Returns the prefix that is used to define the keystroke event for all PGItems. The keystroke event is the concatenation of this string followed by a hyphen and get_id().

getNumStateDefs
int PGItem::get_num_state_defs(void) const;

Description: Returns one more than the highest-numbered state def that was ever assigned to the PGItem. The complete set of state defs assigned may then be retrieved by indexing from 0 to (get_num_state_defs() - 1).
This is only an upper limit on the actual number of state defs, since there may be holes in the list.

getPressEvent
string PGItem::get_press_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is depressed while the mouse is within the frame.

getPressPrefix
static string PGItem::get_press_prefix(void);

Description: Returns the prefix that is used to define the press event for all PGItems. The press event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getReleaseEvent
string PGItem::get_release_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button, formerly clicked down is within the frame, is released.

getReleasePrefix
static string PGItem::get_release_prefix(void);

Description: Returns the prefix that is used to define the release event for all PGItems. The release event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getRepeatEvent
string PGItem::get_repeat_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is continuously held down while the mouse is within the frame.

getRepeatPrefix
static string PGItem::get_repeat_prefix(void);

Description: Returns the prefix that is used to define the repeat event for all PGItems. The repeat event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getSound
AudioSound *PGItem::get_sound(string const &event) const;

Description: Returns the sound associated with the indicated event, or NULL if there is no associated sound.

getState
int PGItem::get_state(void) const;

Description: Returns the "state" of this particular PGItem. See set_state().

getStateDef
NodePath &PGItem::get_state_def(int state);

Description: Returns the Node that is the root of the subgraph that will be drawn when the PGItem is in the indicated state. The first time this is called for a particular state index, it may create the Node.

getSuppressFlags
int PGItem::get_suppress_flags(void) const;

Description: This is just an interface to get the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::get_suppress_flags().

getTextNode
static TextNode *PGItem::get_text_node(void);

HAVE_AUDIO
Description: Returns the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

getWithinEvent
string PGItem::get_within_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves within the boundaries of the frame. This is different from the enter_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithinPrefix
static string PGItem::get_within_prefix(void);

Description: Returns the prefix that is used to define the within event for all PGItems. The within event is the concatenation of this string followed by get_id().

getWithoutEvent
string PGItem::get_without_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves completely outside the boundaries of the frame. This is different from the exit_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithoutPrefix
static string PGItem::get_without_prefix(void);

Description: Returns the prefix that is used to define the without event for all PGItems. The without event is the concatenation of this string followed by get_id().

hasFrame
bool PGItem::has_frame(void) const;

Description: Returns true if the item has a bounding rectangle; see set_frame().

hasSound
bool PGItem::has_sound(string const &event) const;

Description: Returns true if there is a sound associated with the indicated event, or false otherwise.

hasStateDef
bool PGItem::has_state_def(int state) const;

Description: Returns true if get_state_def() has ever been called for the indicated state (thus defining a render subgraph for this state index), false otherwise.

instanceToStateDef
NodePath PGItem::instance_to_state_def(int state, NodePath const &path);

Description: Parents an instance of the bottom node of the indicated NodePath to the indicated state index.

setActive
virtual void PGItem::set_active(bool active);

Description: Sets whether the PGItem is active for mouse watching. This is not necessarily related to the active/inactive appearance of the item, which is controlled by set_state(), but it does affect whether it responds to mouse events.

setBackgroundFocus
void PGItem::set_background_focus(bool focus);

Description: Sets the background_focus flag for this item. When background_focus is enabled, the item will receive keypress events even if it is not in focus; in fact, even if it is not onscreen. Unlike normal focus, many items may have background_focus simultaneously.

setFocus
virtual void PGItem::set_focus(bool focus);

Description: Sets whether the PGItem currently has keyboard focus. This simply means that the item may respond to keyboard events as well as to mouse events; precisely what this means is up to the individual item.
Only one PGItem in the world is allowed to have focus at any given time. Setting the focus on any other item automatically disables the focus from the previous item.

setFrame
void PGItem::set_frame(float left, float right, float bottom, float top);

Description: Sets the bounding rectangle of the item, in local coordinates. This is the region on screen within which the mouse will be considered to be within the item. Normally, it should correspond to the bounding rectangle of the visible geometry of the item.

setFrameStyle
void PGItem::set_frame_style(int state, PGFrameStyle const &style);

Description: Changes the kind of frame that will be drawn behind the item when it is in the indicated state.

setId
void PGItem::set_id(string const &id);

Description: Set the unique ID assigned to this PGItem. It is the user's responsibility to ensure that this ID is unique.
Normally, this should not need to be called, as the PGItem will assign itself an ID when it is created, but this function allows the user to decide to redefine the ID to be something possibly more meaningful.

setSound
void PGItem::set_sound(string const &event, AudioSound *sound);

Description: Sets the sound that will be played whenever the indicated event occurs.

setState
void PGItem::set_state(int state);

Description: Sets the "state" of this particular PGItem.
The PGItem node will render as if it were the subgraph assigned to the corresponding index via set_state_def().

setSuppressFlags
void PGItem::set_suppress_flags(int suppress_flags);

Description: This is just an interface to set the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::set_suppress_flags().

setTextNode
static void PGItem::set_text_node(TextNode *node);

Description: Changes the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PGFrameStyle

    from pandac.PandaModules import PGFrameStyle
    Class : PGFrameStyle
    Description :

Inheritance:

    PGFrameStyle:

Methods of PGFrameStyle:

    PGFrameStyle (Constructor)
    clearTexture
    getColor
    getInternalFrame
    getTexture
    getType
    getVisibleScale
    getWidth
    hasTexture
    operator =
    output
    setColor
    setTexture
    setType
    setVisibleScale
    setWidth

Constants in PGFrameStyle:

    TNone | (Type)
TFlat | (Type)
TBevelOut | (Type)
TBevelIn | (Type)
TGroove | (Type)
TRidge | (Type)
PGFrameStyle
PGFrameStyle::PGFrameStyle(void);

Description:

clearTexture
void PGFrameStyle::clear_texture(void);

Description: Removes the texture from the frame.

getColor
LVecBase4f const &PGFrameStyle::get_color(void) const;

Description: Returns the dominant color of the frame.

getInternalFrame
LVecBase4f PGFrameStyle::get_internal_frame(LVecBase4f const &frame) const;

Description: Computes the size of the internal frame, given the indicated external frame, appropriate for this kind of frame style. This simply subtracts the border width for those frame styles that include a border.

getTexture
Texture *PGFrameStyle::get_texture(void) const;

Description: Returns the texture that has been applied to the frame, or NULL if no texture has been applied.

getType
PGFrameStyle::Type PGFrameStyle::get_type(void) const;

Description: Returns the basic type of frame.

getVisibleScale
LVecBase2f const &PGFrameStyle::get_visible_scale(void) const;

Description: Returns the scale factor on the visible representation of the frame, in the X and Y directions. If this scale factor is other than 1, it will affect the size of the visible frame representation within the actual frame border.

getWidth
LVecBase2f const &PGFrameStyle::get_width(void) const;

Description: Returns the width parameter, which has meaning only for certain frame types. For instance, this is the width of the bevel for T_bevel_in or T_bevel_out. The units are in screen units.

hasTexture
bool PGFrameStyle::has_texture(void) const;

Description: Returns true if a texture has been applied to the frame.

operator =
void PGFrameStyle::operator =(PGFrameStyle const &copy);

Description:

output
void PGFrameStyle::output(ostream &out) const;

Description:

setColor
void PGFrameStyle::set_color(float r, float g, float b, float a);

Description: Sets the dominant color of the frame.

setTexture
void PGFrameStyle::set_texture(Texture *texture);

Description: Specifies a texture that should be applied to the frame.

setType
void PGFrameStyle::set_type(PGFrameStyle::Type type);

Description: Sets the basic type of frame.

setVisibleScale
void PGFrameStyle::set_visible_scale(float x, float y);

Description: Sets a scale factor on the visible representation of the frame, in the X and Y directions. If this scale factor is other than 1, it will affect the size of the visible frame representation within the actual frame border.

setWidth
void PGFrameStyle::set_width(float x, float y);

Description: Sets the width parameter, which has meaning only for certain frame types. For instance, this is the width of the bevel for T_bevel_in or T_bevel_out. The units are in screen units.


PGItem

    from pandac.PandaModules import PGItem
    Class : PGItem
    Description : This is the base class for all the various kinds of gui widget objects.
    It is a Node which corresponds to a rectangular region on the screen, and it may have any number of "state" subgraphs, one of which is rendered at any given time according to its current state.
    The PGItem node must be parented to the scene graph somewhere beneath a PGTop node in order for this behavior to work.

Inheritance:

    PGItem: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PGItem:

    PGItem (Constructor)
    clearFrame
    clearSound
    clearStateDef
    getActive
    getBackgroundFocus
    getClassType
    getEnterEvent
    getEnterPrefix
    getExitEvent
    getExitPrefix
    getFocus
    getFocusInEvent
    getFocusInPrefix
    getFocusItem
    getFocusOutEvent
    getFocusOutPrefix
    getFrame
    getFrameInvXform
    getFrameStyle
    getId
    getKeystrokeEvent
    getKeystrokePrefix
    getNumStateDefs
    getPressEvent
    getPressPrefix
    getReleaseEvent
    getReleasePrefix
    getRepeatEvent
    getRepeatPrefix
    getSound
    getState
    getStateDef
    getSuppressFlags
    getTextNode
    getWithinEvent
    getWithinPrefix
    getWithoutEvent
    getWithoutPrefix
    hasFrame
    hasSound
    hasStateDef
    instanceToStateDef
    setActive
    setBackgroundFocus
    setFocus
    setFrame
    setFrameStyle
    setId
    setSound
    setState
    setSuppressFlags
    setTextNode

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PGItem
PGItem::PGItem(string const &name);

Description:

clearFrame
void PGItem::clear_frame(void);

Description: Removes the bounding rectangle from the item. It will no longer be possible to position the mouse within the item; see set_frame().

clearSound
void PGItem::clear_sound(string const &event);

Description: Removes the sound associated with the indicated event.

clearStateDef
void PGItem::clear_state_def(int state);

Description: Resets the NodePath assigned to the indicated state to its initial default, with only a frame representation if appropriate.

getActive
bool PGItem::get_active(void) const;

Description: Returns whether the PGItem is currently active for mouse events. See set_active().

getBackgroundFocus
bool PGItem::get_background_focus(void) const;

Description: Returns whether background_focus is currently enabled. See set_background_focus().

getClassType
static TypeHandle PGItem::get_class_type(void);

Undocumented function.

getEnterEvent
string PGItem::get_enter_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse enters its frame, but not any nested frames.

getEnterPrefix
static string PGItem::get_enter_prefix(void);

Description: Returns the prefix that is used to define the enter event for all PGItems. The enter event is the concatenation of this string followed by get_id().

getExitEvent
string PGItem::get_exit_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse exits its frame, or enters a nested frame.

getExitPrefix
static string PGItem::get_exit_prefix(void);

Description: Returns the prefix that is used to define the exit event for all PGItems. The exit event is the concatenation of this string followed by get_id().

getFocus
bool PGItem::get_focus(void) const;

Description: Returns whether the PGItem currently has focus for keyboard events. See set_focus().

getFocusInEvent
string PGItem::get_focus_in_event(void) const;

Description: Returns the event name that will be thrown when the item gets the keyboard focus.

getFocusInPrefix
static string PGItem::get_focus_in_prefix(void);

Description: Returns the prefix that is used to define the focus_in event for all PGItems. The focus_in event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFocusItem
static PGItem *PGItem::get_focus_item(void);

Description: Returns the one PGItem in the world that currently has keyboard focus, if any, or NULL if no item has keyboard focus. Use PGItem::set_focus() to activate or deactivate keyboard focus on a particular item.

getFocusOutEvent
string PGItem::get_focus_out_event(void) const;

Description: Returns the event name that will be thrown when the item loses the keyboard focus.

getFocusOutPrefix
static string PGItem::get_focus_out_prefix(void);

Description: Returns the prefix that is used to define the focus_out event for all PGItems. The focus_out event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFrame
LVecBase4f const &PGItem::get_frame(void) const;

Description: Returns the bounding rectangle of the item. See set_frame(). It is an error to call this if has_frame() returns false.

getFrameInvXform
LMatrix4f PGItem::get_frame_inv_xform(void) const;

Description: Returns the inverse of the frame transform matrix

getFrameStyle
PGFrameStyle PGItem::get_frame_style(int state);

Description: Returns the kind of frame that will be drawn behind the item when it is in the indicated state.

getId
string const &PGItem::get_id(void) const;

Description: Returns the unique ID assigned to this PGItem. This will be assigned to the region created with the MouseWatcher, and will thus be used to generate event names.

getKeystrokeEvent
string PGItem::get_keystroke_event(void) const;

Description: Returns the event name that will be thrown when the item is active and any key is pressed by the user.

getKeystrokePrefix
static string PGItem::get_keystroke_prefix(void);

Description: Returns the prefix that is used to define the keystroke event for all PGItems. The keystroke event is the concatenation of this string followed by a hyphen and get_id().

getNumStateDefs
int PGItem::get_num_state_defs(void) const;

Description: Returns one more than the highest-numbered state def that was ever assigned to the PGItem. The complete set of state defs assigned may then be retrieved by indexing from 0 to (get_num_state_defs() - 1).
This is only an upper limit on the actual number of state defs, since there may be holes in the list.

getPressEvent
string PGItem::get_press_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is depressed while the mouse is within the frame.

getPressPrefix
static string PGItem::get_press_prefix(void);

Description: Returns the prefix that is used to define the press event for all PGItems. The press event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getReleaseEvent
string PGItem::get_release_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button, formerly clicked down is within the frame, is released.

getReleasePrefix
static string PGItem::get_release_prefix(void);

Description: Returns the prefix that is used to define the release event for all PGItems. The release event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getRepeatEvent
string PGItem::get_repeat_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is continuously held down while the mouse is within the frame.

getRepeatPrefix
static string PGItem::get_repeat_prefix(void);

Description: Returns the prefix that is used to define the repeat event for all PGItems. The repeat event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getSound
AudioSound *PGItem::get_sound(string const &event) const;

Description: Returns the sound associated with the indicated event, or NULL if there is no associated sound.

getState
int PGItem::get_state(void) const;

Description: Returns the "state" of this particular PGItem. See set_state().

getStateDef
NodePath &PGItem::get_state_def(int state);

Description: Returns the Node that is the root of the subgraph that will be drawn when the PGItem is in the indicated state. The first time this is called for a particular state index, it may create the Node.

getSuppressFlags
int PGItem::get_suppress_flags(void) const;

Description: This is just an interface to get the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::get_suppress_flags().

getTextNode
static TextNode *PGItem::get_text_node(void);

HAVE_AUDIO
Description: Returns the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

getWithinEvent
string PGItem::get_within_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves within the boundaries of the frame. This is different from the enter_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithinPrefix
static string PGItem::get_within_prefix(void);

Description: Returns the prefix that is used to define the within event for all PGItems. The within event is the concatenation of this string followed by get_id().

getWithoutEvent
string PGItem::get_without_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves completely outside the boundaries of the frame. This is different from the exit_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithoutPrefix
static string PGItem::get_without_prefix(void);

Description: Returns the prefix that is used to define the without event for all PGItems. The without event is the concatenation of this string followed by get_id().

hasFrame
bool PGItem::has_frame(void) const;

Description: Returns true if the item has a bounding rectangle; see set_frame().

hasSound
bool PGItem::has_sound(string const &event) const;

Description: Returns true if there is a sound associated with the indicated event, or false otherwise.

hasStateDef
bool PGItem::has_state_def(int state) const;

Description: Returns true if get_state_def() has ever been called for the indicated state (thus defining a render subgraph for this state index), false otherwise.

instanceToStateDef
NodePath PGItem::instance_to_state_def(int state, NodePath const &path);

Description: Parents an instance of the bottom node of the indicated NodePath to the indicated state index.

setActive
virtual void PGItem::set_active(bool active);

Description: Sets whether the PGItem is active for mouse watching. This is not necessarily related to the active/inactive appearance of the item, which is controlled by set_state(), but it does affect whether it responds to mouse events.

setBackgroundFocus
void PGItem::set_background_focus(bool focus);

Description: Sets the background_focus flag for this item. When background_focus is enabled, the item will receive keypress events even if it is not in focus; in fact, even if it is not onscreen. Unlike normal focus, many items may have background_focus simultaneously.

setFocus
virtual void PGItem::set_focus(bool focus);

Description: Sets whether the PGItem currently has keyboard focus. This simply means that the item may respond to keyboard events as well as to mouse events; precisely what this means is up to the individual item.
Only one PGItem in the world is allowed to have focus at any given time. Setting the focus on any other item automatically disables the focus from the previous item.

setFrame
void PGItem::set_frame(float left, float right, float bottom, float top);

Description: Sets the bounding rectangle of the item, in local coordinates. This is the region on screen within which the mouse will be considered to be within the item. Normally, it should correspond to the bounding rectangle of the visible geometry of the item.

setFrameStyle
void PGItem::set_frame_style(int state, PGFrameStyle const &style);

Description: Changes the kind of frame that will be drawn behind the item when it is in the indicated state.

setId
void PGItem::set_id(string const &id);

Description: Set the unique ID assigned to this PGItem. It is the user's responsibility to ensure that this ID is unique.
Normally, this should not need to be called, as the PGItem will assign itself an ID when it is created, but this function allows the user to decide to redefine the ID to be something possibly more meaningful.

setSound
void PGItem::set_sound(string const &event, AudioSound *sound);

Description: Sets the sound that will be played whenever the indicated event occurs.

setState
void PGItem::set_state(int state);

Description: Sets the "state" of this particular PGItem.
The PGItem node will render as if it were the subgraph assigned to the corresponding index via set_state_def().

setSuppressFlags
void PGItem::set_suppress_flags(int suppress_flags);

Description: This is just an interface to set the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::set_suppress_flags().

setTextNode
static void PGItem::set_text_node(TextNode *node);

Description: Changes the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PGMouseWatcherBackground

    from pandac.PandaModules import PGMouseWatcherBackground
    Class : PGMouseWatcherBackground
    Description : This is a special kind of MouseWatcherRegion that doesn't have a rectangle and is never active, but just quietly listens for keypresses and sends them to all the PGItems with background focus.

Inheritance:

    PGMouseWatcherBackground: MouseWatcherRegion
    MouseWatcherRegion: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of PGMouseWatcherBackground:

    PGMouseWatcherBackground (Constructor)
    getClassType

Methods of MouseWatcherRegion:

    MouseWatcherRegion (Constructor)
    getActive
    getArea
    getClassType
    getFrame
    getKeyboard
    getSort
    getSuppressFlags
    output
    setActive
    setFrame
    setKeyboard
    setSort
    setSuppressFlags
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in MouseWatcherRegion:

    SFMouseButton | (SuppressFlags)
SFOtherButton | (SuppressFlags)
SFAnyButton | (SuppressFlags)
SFMousePosition | (SuppressFlags)
PGMouseWatcherBackground
PGMouseWatcherBackground::PGMouseWatcherBackground(void);

Description:

getClassType
static TypeHandle PGMouseWatcherBackground::get_class_type(void);

Undocumented function.

MouseWatcherRegion
MouseWatcherRegion::MouseWatcherRegion(string const &name, float left, float right, float bottom, float top);

Description:

getActive
bool MouseWatcherRegion::get_active(void) const;

Description: Returns whether the region is active or not. See set_active().

getArea
float MouseWatcherRegion::get_area(void) const;

Description: Returns the area of the rectangular region.

getClassType
static TypeHandle MouseWatcherRegion::get_class_type(void);

Undocumented function.

getFrame
LVecBase4f const &MouseWatcherRegion::get_frame(void) const;

Description:

getKeyboard
bool MouseWatcherRegion::get_keyboard(void) const;

Description: Returns whether the region is interested in global keyboard events; see set_keyboard().

getSort
int MouseWatcherRegion::get_sort(void) const;

Description: Returns the current sorting order of this region. See set_sort().

getSuppressFlags
int MouseWatcherRegion::get_suppress_flags(void) const;

Description: Returns the current suppress_flags. See set_suppress_flags().

output
void MouseWatcherRegion::output(ostream &out) const;

Description:

setActive
void MouseWatcherRegion::set_active(bool active);

Description: Sets whether the region is active or not. If it is not active, the MouseWatcher will never consider the mouse to be over the region. The region might still receive keypress events if its set_keyboard() flag is true.

setFrame
void MouseWatcherRegion::set_frame(float left, float right, float bottom, float top);

Description:

setKeyboard
void MouseWatcherRegion::set_keyboard(bool keyboard);

Description: Sets whether the region is interested in global keyboard events. If this is true, then any keyboard button events will be passed to press() and release() regardless of the position of the mouse onscreen; otherwise, these events will only be passed if the mouse is over the region.

setSort
void MouseWatcherRegion::set_sort(int sort);

Description: Changes the sorting order of this particular region. The sorting order is used to resolve conflicts in the case of overlapping region; the region with the highest sort value will be preferred, and between regions of the same sort value, the smallest region will be preferred. The default sorting order, if none is explicitly specified, is 0.

setSuppressFlags
void MouseWatcherRegion::set_suppress_flags(int suppress_flags);

Description: Sets which events are suppressed when the mouse is over the region. This is the union of zero or more various SF_* values. Normally, this is 0, indicating that no events are suppressed.
If you set this to a non-zero value, for instance SF_mouse_position, then the mouse position will not be sent along the data graph when the mouse is over this particular region.

write
void MouseWatcherRegion::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


PGMouseWatcherParameter

    from pandac.PandaModules import PGMouseWatcherParameter
    Class : PGMouseWatcherParameter
    Description : This specialization on MouseWatcherParameter allows us to tag on additional elements to events for the gui system, and also inherits from TypedWritableReferenceCount so we can attach this thing to an event.

Inheritance:

    PGMouseWatcherParameter: TypedWritableReferenceCount MouseWatcherParameter
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    MouseWatcherParameter:

Methods of PGMouseWatcherParameter:

    getClassType
    output

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of MouseWatcherParameter:

    getButton
    getCandidateStringEncoded
    getCursorPos
    getHighlightEnd
    getHighlightStart
    getKeycode
    getModifierButtons
    getMouse
    hasButton
    hasCandidate
    hasKeycode
    hasMouse
    isKeyrepeat
    isOutside
    output
getClassType
static TypeHandle PGMouseWatcherParameter::get_class_type(void);

Undocumented function.

output
void PGMouseWatcherParameter::output(ostream &out) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

getButton
ButtonHandle MouseWatcherParameter::get_button(void) const;

Description: Returns the mouse or keyboard button associated with this event. If has_button(), above, returns false, this returns ButtonHandle::none().

getCandidateStringEncoded
string MouseWatcherParameter::get_candidate_string_encoded(void) const;

Description: Returns the candidate string associated with this event. If has_candidate(), above, returns false, this returns the empty string.

getCursorPos
unsigned int MouseWatcherParameter::get_cursor_pos(void) const;

Description: Returns the position of the user's edit cursor within the candidate string.

getHighlightEnd
unsigned int MouseWatcherParameter::get_highlight_end(void) const;

Description: Returns one more than the last highlighted character in the candidate string.

getHighlightStart
unsigned int MouseWatcherParameter::get_highlight_start(void) const;

Description: Returns the first highlighted character in the candidate string.

getKeycode
int MouseWatcherParameter::get_keycode(void) const;

Description: Returns the keycode associated with this event. If has_keycode(), above, returns false, this returns 0.

getModifierButtons
ModifierButtons const &MouseWatcherParameter::get_modifier_buttons(void) const;

Description: Returns the set of modifier buttons that were being held down while the event was generated.

getMouse
LPoint2f const &MouseWatcherParameter::get_mouse(void) const;

Description: Returns the mouse position at the time the event was generated, in the normalized range (-1 .. 1). It is valid to call this only if has_mouse() returned true.

hasButton
bool MouseWatcherParameter::has_button(void) const;

Description: Returns true if this parameter has an associated mouse or keyboard button, false otherwise.

hasCandidate
bool MouseWatcherParameter::has_candidate(void) const;

Description: Returns true if this parameter has an associated candidate string, false otherwise.

hasKeycode
bool MouseWatcherParameter::has_keycode(void) const;

Description: Returns true if this parameter has an associated keycode, false otherwise.

hasMouse
bool MouseWatcherParameter::has_mouse(void) const;

Description: Returns true if this parameter has an associated mouse position, false otherwise.

isKeyrepeat
bool MouseWatcherParameter::is_keyrepeat(void) const;

Description: Returns true if the button-down even was generated due to keyrepeat, or false if it was an original button down.

isOutside
bool MouseWatcherParameter::is_outside(void) const;

Description: Returns true if the mouse was outside the region at the time the event was generated, false otherwise. This is only valid for "release" type events.

output
void MouseWatcherParameter::output(ostream &out) const;

Description:


PGScrollFrame

    from pandac.PandaModules import PGScrollFrame
    Class : PGScrollFrame
    Description : This is a special kind of frame that pretends to be much larger than it actually is. You can scroll through the frame, as if you're looking through a window at the larger frame beneath. All children of this frame node are scrolled and clipped as if they were children of the larger, virtual frame.
    This is implemented as a specialization of PGVirtualFrame, which handles the meat of the virtual canvas. This class adds automatic support for scroll bars, and restricts the virtual transform to translate only (no scale or rotate).

Inheritance:

    PGScrollFrame: PGVirtualFrame PGSliderBarNotify
    PGVirtualFrame: PGItem
    PGItem: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase
    PGSliderBarNotify:

Methods of PGScrollFrame:

    PGScrollFrame (Constructor)
    clearHorizontalSlider
    clearVerticalSlider
    clearVirtualFrame
    getAutoHide
    getClassType
    getHorizontalSlider
    getManagePieces
    getVerticalSlider
    getVirtualFrame
    hasVirtualFrame
    recompute
    remanage
    setAutoHide
    setHorizontalSlider
    setManagePieces
    setup
    setVerticalSlider
    setVirtualFrame

Methods of PGVirtualFrame:

    PGVirtualFrame (Constructor)
    clearClipFrame
    getCanvasNode
    getCanvasParent
    getCanvasTransform
    getClassType
    getClipFrame
    hasClipFrame
    setCanvasTransform
    setClipFrame
    setup

Methods of PGItem:

    PGItem (Constructor)
    clearFrame
    clearSound
    clearStateDef
    getActive
    getBackgroundFocus
    getClassType
    getEnterEvent
    getEnterPrefix
    getExitEvent
    getExitPrefix
    getFocus
    getFocusInEvent
    getFocusInPrefix
    getFocusItem
    getFocusOutEvent
    getFocusOutPrefix
    getFrame
    getFrameInvXform
    getFrameStyle
    getId
    getKeystrokeEvent
    getKeystrokePrefix
    getNumStateDefs
    getPressEvent
    getPressPrefix
    getReleaseEvent
    getReleasePrefix
    getRepeatEvent
    getRepeatPrefix
    getSound
    getState
    getStateDef
    getSuppressFlags
    getTextNode
    getWithinEvent
    getWithinPrefix
    getWithoutEvent
    getWithoutPrefix
    hasFrame
    hasSound
    hasStateDef
    instanceToStateDef
    setActive
    setBackgroundFocus
    setFocus
    setFrame
    setFrameStyle
    setId
    setSound
    setState
    setSuppressFlags
    setTextNode

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PGScrollFrame
PGScrollFrame::PGScrollFrame(string const &name = (""));

Description:

clearHorizontalSlider
void PGScrollFrame::clear_horizontal_slider(void);

Description: Removes the horizontal scroll bar from control of the frame. It is your responsibility to actually remove or hide the object itself.

clearVerticalSlider
void PGScrollFrame::clear_vertical_slider(void);

Description: Removes the vertical scroll bar from control of the frame. It is your responsibility to actually remove or hide the object itself.

clearVirtualFrame
void PGScrollFrame::clear_virtual_frame(void);

Description: Removes the virtual frame from the item. This effectively sets the virtual frame to the same size as the clip frame. Scrolling will no longer be possible.

getAutoHide
bool PGScrollFrame::get_auto_hide(void) const;

Description: Returns the auto_hide flag. See set_auto_hide().

getClassType
static TypeHandle PGScrollFrame::get_class_type(void);

Undocumented function.

getHorizontalSlider
PGSliderBar *PGScrollFrame::get_horizontal_slider(void) const;

Description: Returns the PGSliderBar that serves as the horizontal scroll bar for this frame, if any, or NULL if it is not set.

getManagePieces
bool PGScrollFrame::get_manage_pieces(void) const;

Description: Returns the manage_pieces flag. See set_manage_pieces().

getVerticalSlider
PGSliderBar *PGScrollFrame::get_vertical_slider(void) const;

Description: Returns the PGSliderBar that serves as the vertical scroll bar for this frame, if any, or NULL if it is not set.

getVirtualFrame
LVecBase4f const &PGScrollFrame::get_virtual_frame(void) const;

Description: Returns the bounding rectangle of the virtual frame. See set_virtual_frame(). If has_virtual_frame() is false, this returns the item's clip frame.

hasVirtualFrame
bool PGScrollFrame::has_virtual_frame(void) const;

Description: Returns true if the virtual frame has a bounding rectangle; see set_virtual_frame(). Most PGScrollFrame objects will have a virtual frame.

recompute
void PGScrollFrame::recompute(void);

Description: Forces the PGScrollFrame to recompute itself right now. Normally this should not be required.

remanage
void PGScrollFrame::remanage(void);

Description: Manages the position and size of the scroll bars. Normally this should not need to be called directly.

setAutoHide
void PGScrollFrame::set_auto_hide(bool auto_hide);

Description: Sets the auto_hide flag. When this is true, the two scroll bars are automatically hidden if they are not needed (that is, if the virtual frame would fit within the clip frame without them), and they are automatically shown when they are needed.
Setting this flag true forces the manage_pieces flag to also be set true.

setHorizontalSlider
void PGScrollFrame::set_horizontal_slider(PGSliderBar *horizontal_slider);

Description: Sets the PGSliderBar object that will serve as the horizontal scroll bar for this frame. It is your responsibility to parent this slider bar to the frame and move it to the appropriate place.

setManagePieces
void PGScrollFrame::set_manage_pieces(bool manage_pieces);

Description: Sets the manage_pieces flag. When this is true, the sub-pieces of the scroll frame--that is, the two scroll bars--are automatically positioned and/or resized when the scroll frame's overall frame is changed. They are also automatically resized to fill in the gap when one or the other is hidden.

setup
void PGScrollFrame::setup(float width, float height, float left, float right, float bottom, float top, float slider_width, float bevel);

Description: Creates a PGScrollFrame with the indicated dimensions, and the indicated virtual frame.

setVerticalSlider
void PGScrollFrame::set_vertical_slider(PGSliderBar *vertical_slider);

Description: Sets the PGSliderBar object that will serve as the vertical scroll bar for this frame. It is your responsibility to parent this slider bar to the frame and move it to the appropriate place.

setVirtualFrame
void PGScrollFrame::set_virtual_frame(float left, float right, float bottom, float top);

Description: Sets the bounding rectangle of the virtual frame. This is the size of the large, virtual canvas which we can see only a portion of at any given time.

PGVirtualFrame
PGVirtualFrame::PGVirtualFrame(string const &name = (""));

Description:

clearClipFrame
void PGVirtualFrame::clear_clip_frame(void);

Description: Removes the clip frame from the item. This disables clipping.

getCanvasNode
PandaNode *PGVirtualFrame::get_canvas_node(void) const;

Description: Returns the special node that holds all of the children that appear in the virtual canvas.

getCanvasParent
PandaNode *PGVirtualFrame::get_canvas_parent(void) const;

Description: Returns the parent node of the canvas_node.

getCanvasTransform
TransformState const *PGVirtualFrame::get_canvas_transform(void) const;

Description: Returns the transform of the virtual canvas. This transform is applied to all child nodes of the canvas_node.

getClassType
static TypeHandle PGVirtualFrame::get_class_type(void);

Undocumented function.

getClipFrame
LVecBase4f const &PGVirtualFrame::get_clip_frame(void) const;

Description: Returns the bounding rectangle of the clip frame. See set_clip_frame(). If has_clip_frame() is false, this returns the item's actual frame.

hasClipFrame
bool PGVirtualFrame::has_clip_frame(void) const;

Description: Returns true if the clip frame has been set; see set_clip_frame(). If it has not been set, objects in the virtual frame will not be clipped.

setCanvasTransform
void PGVirtualFrame::set_canvas_transform(TransformState const *transform);

Description: Changes the transform of the virtual canvas. This transform is applied to all child nodes of the canvas_node.

setClipFrame
void PGVirtualFrame::set_clip_frame(float left, float right, float bottom, float top);

Description: Sets the bounding rectangle of the clip frame. This is the size of the small window through which we can see the virtual canvas. Normally, this is the same size as the actual frame or smaller (typically it is smaller by the size of the bevel, or to make room for scroll bars).

setup
void PGVirtualFrame::setup(float width, float height);

Description: Creates a PGVirtualFrame with the indicated dimensions.

PGItem
PGItem::PGItem(string const &name);

Description:

clearFrame
void PGItem::clear_frame(void);

Description: Removes the bounding rectangle from the item. It will no longer be possible to position the mouse within the item; see set_frame().

clearSound
void PGItem::clear_sound(string const &event);

Description: Removes the sound associated with the indicated event.

clearStateDef
void PGItem::clear_state_def(int state);

Description: Resets the NodePath assigned to the indicated state to its initial default, with only a frame representation if appropriate.

getActive
bool PGItem::get_active(void) const;

Description: Returns whether the PGItem is currently active for mouse events. See set_active().

getBackgroundFocus
bool PGItem::get_background_focus(void) const;

Description: Returns whether background_focus is currently enabled. See set_background_focus().

getClassType
static TypeHandle PGItem::get_class_type(void);

Undocumented function.

getEnterEvent
string PGItem::get_enter_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse enters its frame, but not any nested frames.

getEnterPrefix
static string PGItem::get_enter_prefix(void);

Description: Returns the prefix that is used to define the enter event for all PGItems. The enter event is the concatenation of this string followed by get_id().

getExitEvent
string PGItem::get_exit_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse exits its frame, or enters a nested frame.

getExitPrefix
static string PGItem::get_exit_prefix(void);

Description: Returns the prefix that is used to define the exit event for all PGItems. The exit event is the concatenation of this string followed by get_id().

getFocus
bool PGItem::get_focus(void) const;

Description: Returns whether the PGItem currently has focus for keyboard events. See set_focus().

getFocusInEvent
string PGItem::get_focus_in_event(void) const;

Description: Returns the event name that will be thrown when the item gets the keyboard focus.

getFocusInPrefix
static string PGItem::get_focus_in_prefix(void);

Description: Returns the prefix that is used to define the focus_in event for all PGItems. The focus_in event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFocusItem
static PGItem *PGItem::get_focus_item(void);

Description: Returns the one PGItem in the world that currently has keyboard focus, if any, or NULL if no item has keyboard focus. Use PGItem::set_focus() to activate or deactivate keyboard focus on a particular item.

getFocusOutEvent
string PGItem::get_focus_out_event(void) const;

Description: Returns the event name that will be thrown when the item loses the keyboard focus.

getFocusOutPrefix
static string PGItem::get_focus_out_prefix(void);

Description: Returns the prefix that is used to define the focus_out event for all PGItems. The focus_out event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFrame
LVecBase4f const &PGItem::get_frame(void) const;

Description: Returns the bounding rectangle of the item. See set_frame(). It is an error to call this if has_frame() returns false.

getFrameInvXform
LMatrix4f PGItem::get_frame_inv_xform(void) const;

Description: Returns the inverse of the frame transform matrix

getFrameStyle
PGFrameStyle PGItem::get_frame_style(int state);

Description: Returns the kind of frame that will be drawn behind the item when it is in the indicated state.

getId
string const &PGItem::get_id(void) const;

Description: Returns the unique ID assigned to this PGItem. This will be assigned to the region created with the MouseWatcher, and will thus be used to generate event names.

getKeystrokeEvent
string PGItem::get_keystroke_event(void) const;

Description: Returns the event name that will be thrown when the item is active and any key is pressed by the user.

getKeystrokePrefix
static string PGItem::get_keystroke_prefix(void);

Description: Returns the prefix that is used to define the keystroke event for all PGItems. The keystroke event is the concatenation of this string followed by a hyphen and get_id().

getNumStateDefs
int PGItem::get_num_state_defs(void) const;

Description: Returns one more than the highest-numbered state def that was ever assigned to the PGItem. The complete set of state defs assigned may then be retrieved by indexing from 0 to (get_num_state_defs() - 1).
This is only an upper limit on the actual number of state defs, since there may be holes in the list.

getPressEvent
string PGItem::get_press_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is depressed while the mouse is within the frame.

getPressPrefix
static string PGItem::get_press_prefix(void);

Description: Returns the prefix that is used to define the press event for all PGItems. The press event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getReleaseEvent
string PGItem::get_release_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button, formerly clicked down is within the frame, is released.

getReleasePrefix
static string PGItem::get_release_prefix(void);

Description: Returns the prefix that is used to define the release event for all PGItems. The release event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getRepeatEvent
string PGItem::get_repeat_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is continuously held down while the mouse is within the frame.

getRepeatPrefix
static string PGItem::get_repeat_prefix(void);

Description: Returns the prefix that is used to define the repeat event for all PGItems. The repeat event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getSound
AudioSound *PGItem::get_sound(string const &event) const;

Description: Returns the sound associated with the indicated event, or NULL if there is no associated sound.

getState
int PGItem::get_state(void) const;

Description: Returns the "state" of this particular PGItem. See set_state().

getStateDef
NodePath &PGItem::get_state_def(int state);

Description: Returns the Node that is the root of the subgraph that will be drawn when the PGItem is in the indicated state. The first time this is called for a particular state index, it may create the Node.

getSuppressFlags
int PGItem::get_suppress_flags(void) const;

Description: This is just an interface to get the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::get_suppress_flags().

getTextNode
static TextNode *PGItem::get_text_node(void);

HAVE_AUDIO
Description: Returns the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

getWithinEvent
string PGItem::get_within_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves within the boundaries of the frame. This is different from the enter_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithinPrefix
static string PGItem::get_within_prefix(void);

Description: Returns the prefix that is used to define the within event for all PGItems. The within event is the concatenation of this string followed by get_id().

getWithoutEvent
string PGItem::get_without_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves completely outside the boundaries of the frame. This is different from the exit_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithoutPrefix
static string PGItem::get_without_prefix(void);

Description: Returns the prefix that is used to define the without event for all PGItems. The without event is the concatenation of this string followed by get_id().

hasFrame
bool PGItem::has_frame(void) const;

Description: Returns true if the item has a bounding rectangle; see set_frame().

hasSound
bool PGItem::has_sound(string const &event) const;

Description: Returns true if there is a sound associated with the indicated event, or false otherwise.

hasStateDef
bool PGItem::has_state_def(int state) const;

Description: Returns true if get_state_def() has ever been called for the indicated state (thus defining a render subgraph for this state index), false otherwise.

instanceToStateDef
NodePath PGItem::instance_to_state_def(int state, NodePath const &path);

Description: Parents an instance of the bottom node of the indicated NodePath to the indicated state index.

setActive
virtual void PGItem::set_active(bool active);

Description: Sets whether the PGItem is active for mouse watching. This is not necessarily related to the active/inactive appearance of the item, which is controlled by set_state(), but it does affect whether it responds to mouse events.

setBackgroundFocus
void PGItem::set_background_focus(bool focus);

Description: Sets the background_focus flag for this item. When background_focus is enabled, the item will receive keypress events even if it is not in focus; in fact, even if it is not onscreen. Unlike normal focus, many items may have background_focus simultaneously.

setFocus
virtual void PGItem::set_focus(bool focus);

Description: Sets whether the PGItem currently has keyboard focus. This simply means that the item may respond to keyboard events as well as to mouse events; precisely what this means is up to the individual item.
Only one PGItem in the world is allowed to have focus at any given time. Setting the focus on any other item automatically disables the focus from the previous item.

setFrame
void PGItem::set_frame(float left, float right, float bottom, float top);

Description: Sets the bounding rectangle of the item, in local coordinates. This is the region on screen within which the mouse will be considered to be within the item. Normally, it should correspond to the bounding rectangle of the visible geometry of the item.

setFrameStyle
void PGItem::set_frame_style(int state, PGFrameStyle const &style);

Description: Changes the kind of frame that will be drawn behind the item when it is in the indicated state.

setId
void PGItem::set_id(string const &id);

Description: Set the unique ID assigned to this PGItem. It is the user's responsibility to ensure that this ID is unique.
Normally, this should not need to be called, as the PGItem will assign itself an ID when it is created, but this function allows the user to decide to redefine the ID to be something possibly more meaningful.

setSound
void PGItem::set_sound(string const &event, AudioSound *sound);

Description: Sets the sound that will be played whenever the indicated event occurs.

setState
void PGItem::set_state(int state);

Description: Sets the "state" of this particular PGItem.
The PGItem node will render as if it were the subgraph assigned to the corresponding index via set_state_def().

setSuppressFlags
void PGItem::set_suppress_flags(int suppress_flags);

Description: This is just an interface to set the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::set_suppress_flags().

setTextNode
static void PGItem::set_text_node(TextNode *node);

Description: Changes the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PGSliderBar

    from pandac.PandaModules import PGSliderBar
    Class : PGSliderBar
    Description : This is a particular kind of PGItem that draws a little bar with a slider that moves from left to right indicating a value between the ranges.
    This is used as an implementation for both DirectSlider and for DirectScrollBar.

Inheritance:

    PGSliderBar: PGItem PGButtonNotify
    PGItem: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase
    PGButtonNotify:

Methods of PGSliderBar:

    PGSliderBar (Constructor)
    clearLeftButton
    clearRightButton
    clearThumbButton
    getAdjustEvent
    getAdjustPrefix
    getAxis
    getClassType
    getLeftButton
    getManagePieces
    getMaxValue
    getMinValue
    getPageSize
    getRatio
    getResizeThumb
    getRightButton
    getScrollSize
    getThumbButton
    getValue
    isButtonDown
    recompute
    remanage
    setActive
    setAxis
    setLeftButton
    setManagePieces
    setPageSize
    setRange
    setRatio
    setResizeThumb
    setRightButton
    setScrollSize
    setThumbButton
    setupScrollBar
    setupSlider
    setValue

Methods of PGItem:

    PGItem (Constructor)
    clearFrame
    clearSound
    clearStateDef
    getActive
    getBackgroundFocus
    getClassType
    getEnterEvent
    getEnterPrefix
    getExitEvent
    getExitPrefix
    getFocus
    getFocusInEvent
    getFocusInPrefix
    getFocusItem
    getFocusOutEvent
    getFocusOutPrefix
    getFrame
    getFrameInvXform
    getFrameStyle
    getId
    getKeystrokeEvent
    getKeystrokePrefix
    getNumStateDefs
    getPressEvent
    getPressPrefix
    getReleaseEvent
    getReleasePrefix
    getRepeatEvent
    getRepeatPrefix
    getSound
    getState
    getStateDef
    getSuppressFlags
    getTextNode
    getWithinEvent
    getWithinPrefix
    getWithoutEvent
    getWithoutPrefix
    hasFrame
    hasSound
    hasStateDef
    instanceToStateDef
    setActive
    setBackgroundFocus
    setFocus
    setFrame
    setFrameStyle
    setId
    setSound
    setState
    setSuppressFlags
    setTextNode

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PGSliderBar
PGSliderBar::PGSliderBar(string const &name = (""));

Description:

clearLeftButton
void PGSliderBar::clear_left_button(void);

Description: Removes the left button object from control of the frame. It is your responsibility to actually remove or hide the button itself.

clearRightButton
void PGSliderBar::clear_right_button(void);

Description: Removes the right button object from control of the frame. It is your responsibility to actually remove or hide the button itself.

clearThumbButton
void PGSliderBar::clear_thumb_button(void);

Description: Removes the thumb button object from control of the frame. It is your responsibility to actually remove or hide the button itself.

getAdjustEvent
string PGSliderBar::get_adjust_event(void) const;

Description: Returns the event name that will be thrown when the slider bar value is adjusted by the user or programmatically.

getAdjustPrefix
static string PGSliderBar::get_adjust_prefix(void);

Description: Returns the prefix that is used to define the adjust event for all PGSliderBars. The adjust event is the concatenation of this string followed by get_id().

getAxis
LVector3f const &PGSliderBar::get_axis(void) const;

Description: Returns the axis of the slider bar's motion. See set_axis().

getClassType
static TypeHandle PGSliderBar::get_class_type(void);

Undocumented function.

getLeftButton
PGButton *PGSliderBar::get_left_button(void) const;

Description: Returns the PGButton that serves as the left scroll button for this slider, if any, or NULL if it is not set.

getManagePieces
bool PGSliderBar::get_manage_pieces(void) const;

Description: Returns the manage_pieces flag. See set_manage_pieces().

getMaxValue
float PGSliderBar::get_max_value(void) const;

Description: Returns the value when the slider is all the way to the right.

getMinValue
float PGSliderBar::get_min_value(void) const;

Description: Returns the value when the slider is all the way to the left.

getPageSize
float PGSliderBar::get_page_size(void) const;

Description: Returns the value last set by set_page_size().

getRatio
float PGSliderBar::get_ratio(void) const;

Description: Returns the current value of the slider, expressed in the range 0 .. 1.

getResizeThumb
bool PGSliderBar::get_resize_thumb(void) const;

Description: Returns the resize_thumb flag. See set_resize_thumb().

getRightButton
PGButton *PGSliderBar::get_right_button(void) const;

Description: Returns the PGButton that serves as the right scroll button for this slider, if any, or NULL if it is not set.

getScrollSize
float PGSliderBar::get_scroll_size(void) const;

Description: Returns the value last set by set_scroll_size().

getThumbButton
PGButton *PGSliderBar::get_thumb_button(void) const;

Description: Returns the PGButton that serves as the thumb for this slider, or NULL if it is not set.

getValue
float PGSliderBar::get_value(void) const;

Description: Returns the current value of the slider.

isButtonDown
bool PGSliderBar::is_button_down(void) const;

Description: Returns true if the user is currently holding down the mouse button to manipulate the slider. When true, calls to set_ratio() or set_value() will have no effect.

recompute
void PGSliderBar::recompute(void);

Description: Recomputes the position and size of the thumb. Normally this should not need to be called directly.

remanage
void PGSliderBar::remanage(void);

Description: Manages the position and size of the scroll bars and the thumb. Normally this should not need to be called directly.

setActive
virtual void PGSliderBar::set_active(bool active);

Description: Sets whether the PGItem is active for mouse watching. This is not necessarily related to the active/inactive appearance of the item, which is controlled by set_state(), but it does affect whether it responds to mouse events.

setAxis
void PGSliderBar::set_axis(LVector3f const &axis);

Description: Specifies the axis of the slider bar's motion. This should be only one of four vectors: (1, 0, 0), (0, 0, 1), (-1, 0, 0), or (0, 0, -1).
This specifies the vector in which the thumb moves when it is moving from the minimum to the maximum value.
The axis must be parallel to one of the screen axes, and it must be normalized. Hence, it may only be one of the above four possibilities; anything else is an error and will result in indeterminate behavior.
Normally, you should not try to set the axis directly.

setLeftButton
void PGSliderBar::set_left_button(PGButton *left_button);

Description: Sets the PGButton object that will serve as the left scroll button for this slider. This button is optional; if present, the user can click on it to move scroll_size units at a time to the left.
It is the responsibility of the caller to ensure that the button object is parented to the PGSliderBar node.

setManagePieces
void PGSliderBar::set_manage_pieces(bool manage_pieces);

Description: Sets the manage_pieces flag. When this is true, the sub-pieces of the slider bar--that is, the thumb, and the left and right scroll buttons--are automatically positioned and/or resized when the slider bar's overall frame is changed.

setPageSize
void PGSliderBar::set_page_size(float page_size);

Description: Specifies the amount of data contained in a single page. This indicates how much the thumb will jump when the trough is directly clicked; and if resize_thumb is true, it also controls the visible size of the thumb button.

setRange
void PGSliderBar::set_range(float min_value, float max_value);

Description: Sets the minimum and maxmimum value for the slider.

setRatio
void PGSliderBar::set_ratio(float ratio);

Description: Sets the current value of the slider, expressed in the range 0 .. 1.

setResizeThumb
void PGSliderBar::set_resize_thumb(bool resize_thumb);

Description: Sets the resize_thumb flag. When this is true, the thumb button's frame will be adjusted so that its width visually represents the page size. When this is false, the thumb button will be left alone.

setRightButton
void PGSliderBar::set_right_button(PGButton *right_button);

Description: Sets the PGButton object that will serve as the right scroll button for this slider. This button is optional; if present, the user can click on it to move scroll_size units at a time to the right.
It is the responsibility of the caller to ensure that the button object is parented to the PGSliderBar node.

setScrollSize
void PGSliderBar::set_scroll_size(float scroll_size);

Description: Specifies the amount the slider will move when the user clicks on the left or right buttons.

setThumbButton
void PGSliderBar::set_thumb_button(PGButton *thumb_button);

Description: Sets the PGButton object that will serve as the thumb for this slider. This button visually represents the position of the slider, and can be dragged left and right by the user.
It is the responsibility of the caller to ensure that the button object is parented to the PGSliderBar node.

setupScrollBar
void PGSliderBar::setup_scroll_bar(bool vertical, float length, float width, float bevel);

Description: Creates PGSliderBar that represents a vertical or horizontal scroll bar (if vertical is true or false, respectively), with additional buttons for scrolling, and a range of 0 .. 1.
length here is the measurement along the scroll bar, and width is the measurement across the scroll bar, whether it is vertical or horizontal (so for a horizontal scroll bar, the length is actually the x dimension, and the width is the y dimension).

setupSlider
void PGSliderBar::setup_slider(bool vertical, float length, float width, float bevel);

Description: Creates PGSliderBar that represents a slider that the user can use to control an analog quantity.
This is functionally the same as a scroll bar, but it has a distinctive look.

setValue
void PGSliderBar::set_value(float value);

Description: Sets the current value of the slider programmatically. This should range between get_min_value() and get_max_value().

PGItem
PGItem::PGItem(string const &name);

Description:

clearFrame
void PGItem::clear_frame(void);

Description: Removes the bounding rectangle from the item. It will no longer be possible to position the mouse within the item; see set_frame().

clearSound
void PGItem::clear_sound(string const &event);

Description: Removes the sound associated with the indicated event.

clearStateDef
void PGItem::clear_state_def(int state);

Description: Resets the NodePath assigned to the indicated state to its initial default, with only a frame representation if appropriate.

getActive
bool PGItem::get_active(void) const;

Description: Returns whether the PGItem is currently active for mouse events. See set_active().

getBackgroundFocus
bool PGItem::get_background_focus(void) const;

Description: Returns whether background_focus is currently enabled. See set_background_focus().

getClassType
static TypeHandle PGItem::get_class_type(void);

Undocumented function.

getEnterEvent
string PGItem::get_enter_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse enters its frame, but not any nested frames.

getEnterPrefix
static string PGItem::get_enter_prefix(void);

Description: Returns the prefix that is used to define the enter event for all PGItems. The enter event is the concatenation of this string followed by get_id().

getExitEvent
string PGItem::get_exit_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse exits its frame, or enters a nested frame.

getExitPrefix
static string PGItem::get_exit_prefix(void);

Description: Returns the prefix that is used to define the exit event for all PGItems. The exit event is the concatenation of this string followed by get_id().

getFocus
bool PGItem::get_focus(void) const;

Description: Returns whether the PGItem currently has focus for keyboard events. See set_focus().

getFocusInEvent
string PGItem::get_focus_in_event(void) const;

Description: Returns the event name that will be thrown when the item gets the keyboard focus.

getFocusInPrefix
static string PGItem::get_focus_in_prefix(void);

Description: Returns the prefix that is used to define the focus_in event for all PGItems. The focus_in event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFocusItem
static PGItem *PGItem::get_focus_item(void);

Description: Returns the one PGItem in the world that currently has keyboard focus, if any, or NULL if no item has keyboard focus. Use PGItem::set_focus() to activate or deactivate keyboard focus on a particular item.

getFocusOutEvent
string PGItem::get_focus_out_event(void) const;

Description: Returns the event name that will be thrown when the item loses the keyboard focus.

getFocusOutPrefix
static string PGItem::get_focus_out_prefix(void);

Description: Returns the prefix that is used to define the focus_out event for all PGItems. The focus_out event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFrame
LVecBase4f const &PGItem::get_frame(void) const;

Description: Returns the bounding rectangle of the item. See set_frame(). It is an error to call this if has_frame() returns false.

getFrameInvXform
LMatrix4f PGItem::get_frame_inv_xform(void) const;

Description: Returns the inverse of the frame transform matrix

getFrameStyle
PGFrameStyle PGItem::get_frame_style(int state);

Description: Returns the kind of frame that will be drawn behind the item when it is in the indicated state.

getId
string const &PGItem::get_id(void) const;

Description: Returns the unique ID assigned to this PGItem. This will be assigned to the region created with the MouseWatcher, and will thus be used to generate event names.

getKeystrokeEvent
string PGItem::get_keystroke_event(void) const;

Description: Returns the event name that will be thrown when the item is active and any key is pressed by the user.

getKeystrokePrefix
static string PGItem::get_keystroke_prefix(void);

Description: Returns the prefix that is used to define the keystroke event for all PGItems. The keystroke event is the concatenation of this string followed by a hyphen and get_id().

getNumStateDefs
int PGItem::get_num_state_defs(void) const;

Description: Returns one more than the highest-numbered state def that was ever assigned to the PGItem. The complete set of state defs assigned may then be retrieved by indexing from 0 to (get_num_state_defs() - 1).
This is only an upper limit on the actual number of state defs, since there may be holes in the list.

getPressEvent
string PGItem::get_press_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is depressed while the mouse is within the frame.

getPressPrefix
static string PGItem::get_press_prefix(void);

Description: Returns the prefix that is used to define the press event for all PGItems. The press event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getReleaseEvent
string PGItem::get_release_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button, formerly clicked down is within the frame, is released.

getReleasePrefix
static string PGItem::get_release_prefix(void);

Description: Returns the prefix that is used to define the release event for all PGItems. The release event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getRepeatEvent
string PGItem::get_repeat_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is continuously held down while the mouse is within the frame.

getRepeatPrefix
static string PGItem::get_repeat_prefix(void);

Description: Returns the prefix that is used to define the repeat event for all PGItems. The repeat event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getSound
AudioSound *PGItem::get_sound(string const &event) const;

Description: Returns the sound associated with the indicated event, or NULL if there is no associated sound.

getState
int PGItem::get_state(void) const;

Description: Returns the "state" of this particular PGItem. See set_state().

getStateDef
NodePath &PGItem::get_state_def(int state);

Description: Returns the Node that is the root of the subgraph that will be drawn when the PGItem is in the indicated state. The first time this is called for a particular state index, it may create the Node.

getSuppressFlags
int PGItem::get_suppress_flags(void) const;

Description: This is just an interface to get the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::get_suppress_flags().

getTextNode
static TextNode *PGItem::get_text_node(void);

HAVE_AUDIO
Description: Returns the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

getWithinEvent
string PGItem::get_within_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves within the boundaries of the frame. This is different from the enter_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithinPrefix
static string PGItem::get_within_prefix(void);

Description: Returns the prefix that is used to define the within event for all PGItems. The within event is the concatenation of this string followed by get_id().

getWithoutEvent
string PGItem::get_without_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves completely outside the boundaries of the frame. This is different from the exit_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithoutPrefix
static string PGItem::get_without_prefix(void);

Description: Returns the prefix that is used to define the without event for all PGItems. The without event is the concatenation of this string followed by get_id().

hasFrame
bool PGItem::has_frame(void) const;

Description: Returns true if the item has a bounding rectangle; see set_frame().

hasSound
bool PGItem::has_sound(string const &event) const;

Description: Returns true if there is a sound associated with the indicated event, or false otherwise.

hasStateDef
bool PGItem::has_state_def(int state) const;

Description: Returns true if get_state_def() has ever been called for the indicated state (thus defining a render subgraph for this state index), false otherwise.

instanceToStateDef
NodePath PGItem::instance_to_state_def(int state, NodePath const &path);

Description: Parents an instance of the bottom node of the indicated NodePath to the indicated state index.

setActive
virtual void PGItem::set_active(bool active);

Description: Sets whether the PGItem is active for mouse watching. This is not necessarily related to the active/inactive appearance of the item, which is controlled by set_state(), but it does affect whether it responds to mouse events.

setBackgroundFocus
void PGItem::set_background_focus(bool focus);

Description: Sets the background_focus flag for this item. When background_focus is enabled, the item will receive keypress events even if it is not in focus; in fact, even if it is not onscreen. Unlike normal focus, many items may have background_focus simultaneously.

setFocus
virtual void PGItem::set_focus(bool focus);

Description: Sets whether the PGItem currently has keyboard focus. This simply means that the item may respond to keyboard events as well as to mouse events; precisely what this means is up to the individual item.
Only one PGItem in the world is allowed to have focus at any given time. Setting the focus on any other item automatically disables the focus from the previous item.

setFrame
void PGItem::set_frame(float left, float right, float bottom, float top);

Description: Sets the bounding rectangle of the item, in local coordinates. This is the region on screen within which the mouse will be considered to be within the item. Normally, it should correspond to the bounding rectangle of the visible geometry of the item.

setFrameStyle
void PGItem::set_frame_style(int state, PGFrameStyle const &style);

Description: Changes the kind of frame that will be drawn behind the item when it is in the indicated state.

setId
void PGItem::set_id(string const &id);

Description: Set the unique ID assigned to this PGItem. It is the user's responsibility to ensure that this ID is unique.
Normally, this should not need to be called, as the PGItem will assign itself an ID when it is created, but this function allows the user to decide to redefine the ID to be something possibly more meaningful.

setSound
void PGItem::set_sound(string const &event, AudioSound *sound);

Description: Sets the sound that will be played whenever the indicated event occurs.

setState
void PGItem::set_state(int state);

Description: Sets the "state" of this particular PGItem.
The PGItem node will render as if it were the subgraph assigned to the corresponding index via set_state_def().

setSuppressFlags
void PGItem::set_suppress_flags(int suppress_flags);

Description: This is just an interface to set the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::set_suppress_flags().

setTextNode
static void PGItem::set_text_node(TextNode *node);

Description: Changes the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PGTop

    from pandac.PandaModules import PGTop
    Class : PGTop
    Description : The "top" node of the new Panda GUI system. This node must be parented to the 2-d scene graph, and all PG objects should be parented to this node or somewhere below it. PG objects not parented within this hierarchy will not be clickable.
    This node begins the special traversal of the PG objects that registers each node within the MouseWatcher and forces everything to render in a depth-first, left-to-right order, appropriate for 2-d objects.

Inheritance:

    PGTop: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PGTop:

    PGTop (Constructor)
    getClassType
    getGroup
    getMouseWatcher
    getStartSort
    setMouseWatcher
    setStartSort

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PGTop
PGTop::PGTop(string const &name);

Description:

getClassType
static TypeHandle PGTop::get_class_type(void);

Undocumented function.

getGroup
MouseWatcherGroup *PGTop::get_group(void) const;

Description: Returns the MouseWatcherGroup pointer that the PGTop object registers its PG items with, or NULL if the MouseWatcher has not yet been set.

getMouseWatcher
MouseWatcher *PGTop::get_mouse_watcher(void) const;

Description: Returns the MouseWatcher pointer that the PGTop object registers its PG items with, or NULL if the MouseWatcher has not yet been set.

getStartSort
int PGTop::get_start_sort(void) const;

Description: Returns the sort index that is assigned during the traversal to the first PGItem that is discovered during traversal. See set_start_sort().

setMouseWatcher
void PGTop::set_mouse_watcher(MouseWatcher *watcher);

Description: Sets the MouseWatcher pointer that the PGTop object registers its PG items with. This must be set before the PG items are active.

setStartSort
void PGTop::set_start_sort(int start_sort);

Description: Specifies the sort index that is assigned during the traversal to the first PGItem that is discovered during traversal. Subsequent PGItems will be assigned consecutively higher sort indexes.
This number is used by the MouseWatcher system to rank the clickable mouse regions in the same order in which the items are rendered, so that items on top will receive mouse priority.
Normally, it makes the most sense to leave this initial value at its default value of 0, unless you need the PGItems to have a particular sort value with respect to some other objects in the scene (particularly with a second PGTop node).

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PGVirtualFrame

    from pandac.PandaModules import PGVirtualFrame
    Class : PGVirtualFrame
    Description : This represents a frame that is rendered as a window onto another (possibly much larger) canvas. You can only see the portion of the canvas that is below the window at any given time.
    This works simply by automatically defining a scissor effect to be applied to a special child node, called the canvas_node, of the PGVirtualFrame node. Every object that is parented to the canvas_node will be clipped by the scissor effect. Also, you can modify the canvas_transform through convenience methods here, which actually modifies the transform on the canvas_node.
    The net effect is that the virtual canvas is arbitrarily large, and we can peek at it through the scissor region, and scroll through different parts of it by modifying the canvas_transform.
    See PGScrollFrame for a specialization of this class that handles the traditional scrolling canvas, with scroll bars.

Inheritance:

    PGVirtualFrame: PGItem
    PGItem: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PGVirtualFrame:

    PGVirtualFrame (Constructor)
    clearClipFrame
    getCanvasNode
    getCanvasParent
    getCanvasTransform
    getClassType
    getClipFrame
    hasClipFrame
    setCanvasTransform
    setClipFrame
    setup

Methods of PGItem:

    PGItem (Constructor)
    clearFrame
    clearSound
    clearStateDef
    getActive
    getBackgroundFocus
    getClassType
    getEnterEvent
    getEnterPrefix
    getExitEvent
    getExitPrefix
    getFocus
    getFocusInEvent
    getFocusInPrefix
    getFocusItem
    getFocusOutEvent
    getFocusOutPrefix
    getFrame
    getFrameInvXform
    getFrameStyle
    getId
    getKeystrokeEvent
    getKeystrokePrefix
    getNumStateDefs
    getPressEvent
    getPressPrefix
    getReleaseEvent
    getReleasePrefix
    getRepeatEvent
    getRepeatPrefix
    getSound
    getState
    getStateDef
    getSuppressFlags
    getTextNode
    getWithinEvent
    getWithinPrefix
    getWithoutEvent
    getWithoutPrefix
    hasFrame
    hasSound
    hasStateDef
    instanceToStateDef
    setActive
    setBackgroundFocus
    setFocus
    setFrame
    setFrameStyle
    setId
    setSound
    setState
    setSuppressFlags
    setTextNode

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PGVirtualFrame
PGVirtualFrame::PGVirtualFrame(string const &name = (""));

Description:

clearClipFrame
void PGVirtualFrame::clear_clip_frame(void);

Description: Removes the clip frame from the item. This disables clipping.

getCanvasNode
PandaNode *PGVirtualFrame::get_canvas_node(void) const;

Description: Returns the special node that holds all of the children that appear in the virtual canvas.

getCanvasParent
PandaNode *PGVirtualFrame::get_canvas_parent(void) const;

Description: Returns the parent node of the canvas_node.

getCanvasTransform
TransformState const *PGVirtualFrame::get_canvas_transform(void) const;

Description: Returns the transform of the virtual canvas. This transform is applied to all child nodes of the canvas_node.

getClassType
static TypeHandle PGVirtualFrame::get_class_type(void);

Undocumented function.

getClipFrame
LVecBase4f const &PGVirtualFrame::get_clip_frame(void) const;

Description: Returns the bounding rectangle of the clip frame. See set_clip_frame(). If has_clip_frame() is false, this returns the item's actual frame.

hasClipFrame
bool PGVirtualFrame::has_clip_frame(void) const;

Description: Returns true if the clip frame has been set; see set_clip_frame(). If it has not been set, objects in the virtual frame will not be clipped.

setCanvasTransform
void PGVirtualFrame::set_canvas_transform(TransformState const *transform);

Description: Changes the transform of the virtual canvas. This transform is applied to all child nodes of the canvas_node.

setClipFrame
void PGVirtualFrame::set_clip_frame(float left, float right, float bottom, float top);

Description: Sets the bounding rectangle of the clip frame. This is the size of the small window through which we can see the virtual canvas. Normally, this is the same size as the actual frame or smaller (typically it is smaller by the size of the bevel, or to make room for scroll bars).

setup
void PGVirtualFrame::setup(float width, float height);

Description: Creates a PGVirtualFrame with the indicated dimensions.

PGItem
PGItem::PGItem(string const &name);

Description:

clearFrame
void PGItem::clear_frame(void);

Description: Removes the bounding rectangle from the item. It will no longer be possible to position the mouse within the item; see set_frame().

clearSound
void PGItem::clear_sound(string const &event);

Description: Removes the sound associated with the indicated event.

clearStateDef
void PGItem::clear_state_def(int state);

Description: Resets the NodePath assigned to the indicated state to its initial default, with only a frame representation if appropriate.

getActive
bool PGItem::get_active(void) const;

Description: Returns whether the PGItem is currently active for mouse events. See set_active().

getBackgroundFocus
bool PGItem::get_background_focus(void) const;

Description: Returns whether background_focus is currently enabled. See set_background_focus().

getClassType
static TypeHandle PGItem::get_class_type(void);

Undocumented function.

getEnterEvent
string PGItem::get_enter_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse enters its frame, but not any nested frames.

getEnterPrefix
static string PGItem::get_enter_prefix(void);

Description: Returns the prefix that is used to define the enter event for all PGItems. The enter event is the concatenation of this string followed by get_id().

getExitEvent
string PGItem::get_exit_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse exits its frame, or enters a nested frame.

getExitPrefix
static string PGItem::get_exit_prefix(void);

Description: Returns the prefix that is used to define the exit event for all PGItems. The exit event is the concatenation of this string followed by get_id().

getFocus
bool PGItem::get_focus(void) const;

Description: Returns whether the PGItem currently has focus for keyboard events. See set_focus().

getFocusInEvent
string PGItem::get_focus_in_event(void) const;

Description: Returns the event name that will be thrown when the item gets the keyboard focus.

getFocusInPrefix
static string PGItem::get_focus_in_prefix(void);

Description: Returns the prefix that is used to define the focus_in event for all PGItems. The focus_in event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFocusItem
static PGItem *PGItem::get_focus_item(void);

Description: Returns the one PGItem in the world that currently has keyboard focus, if any, or NULL if no item has keyboard focus. Use PGItem::set_focus() to activate or deactivate keyboard focus on a particular item.

getFocusOutEvent
string PGItem::get_focus_out_event(void) const;

Description: Returns the event name that will be thrown when the item loses the keyboard focus.

getFocusOutPrefix
static string PGItem::get_focus_out_prefix(void);

Description: Returns the prefix that is used to define the focus_out event for all PGItems. The focus_out event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFrame
LVecBase4f const &PGItem::get_frame(void) const;

Description: Returns the bounding rectangle of the item. See set_frame(). It is an error to call this if has_frame() returns false.

getFrameInvXform
LMatrix4f PGItem::get_frame_inv_xform(void) const;

Description: Returns the inverse of the frame transform matrix

getFrameStyle
PGFrameStyle PGItem::get_frame_style(int state);

Description: Returns the kind of frame that will be drawn behind the item when it is in the indicated state.

getId
string const &PGItem::get_id(void) const;

Description: Returns the unique ID assigned to this PGItem. This will be assigned to the region created with the MouseWatcher, and will thus be used to generate event names.

getKeystrokeEvent
string PGItem::get_keystroke_event(void) const;

Description: Returns the event name that will be thrown when the item is active and any key is pressed by the user.

getKeystrokePrefix
static string PGItem::get_keystroke_prefix(void);

Description: Returns the prefix that is used to define the keystroke event for all PGItems. The keystroke event is the concatenation of this string followed by a hyphen and get_id().

getNumStateDefs
int PGItem::get_num_state_defs(void) const;

Description: Returns one more than the highest-numbered state def that was ever assigned to the PGItem. The complete set of state defs assigned may then be retrieved by indexing from 0 to (get_num_state_defs() - 1).
This is only an upper limit on the actual number of state defs, since there may be holes in the list.

getPressEvent
string PGItem::get_press_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is depressed while the mouse is within the frame.

getPressPrefix
static string PGItem::get_press_prefix(void);

Description: Returns the prefix that is used to define the press event for all PGItems. The press event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getReleaseEvent
string PGItem::get_release_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button, formerly clicked down is within the frame, is released.

getReleasePrefix
static string PGItem::get_release_prefix(void);

Description: Returns the prefix that is used to define the release event for all PGItems. The release event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getRepeatEvent
string PGItem::get_repeat_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is continuously held down while the mouse is within the frame.

getRepeatPrefix
static string PGItem::get_repeat_prefix(void);

Description: Returns the prefix that is used to define the repeat event for all PGItems. The repeat event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getSound
AudioSound *PGItem::get_sound(string const &event) const;

Description: Returns the sound associated with the indicated event, or NULL if there is no associated sound.

getState
int PGItem::get_state(void) const;

Description: Returns the "state" of this particular PGItem. See set_state().

getStateDef
NodePath &PGItem::get_state_def(int state);

Description: Returns the Node that is the root of the subgraph that will be drawn when the PGItem is in the indicated state. The first time this is called for a particular state index, it may create the Node.

getSuppressFlags
int PGItem::get_suppress_flags(void) const;

Description: This is just an interface to get the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::get_suppress_flags().

getTextNode
static TextNode *PGItem::get_text_node(void);

HAVE_AUDIO
Description: Returns the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

getWithinEvent
string PGItem::get_within_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves within the boundaries of the frame. This is different from the enter_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithinPrefix
static string PGItem::get_within_prefix(void);

Description: Returns the prefix that is used to define the within event for all PGItems. The within event is the concatenation of this string followed by get_id().

getWithoutEvent
string PGItem::get_without_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves completely outside the boundaries of the frame. This is different from the exit_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithoutPrefix
static string PGItem::get_without_prefix(void);

Description: Returns the prefix that is used to define the without event for all PGItems. The without event is the concatenation of this string followed by get_id().

hasFrame
bool PGItem::has_frame(void) const;

Description: Returns true if the item has a bounding rectangle; see set_frame().

hasSound
bool PGItem::has_sound(string const &event) const;

Description: Returns true if there is a sound associated with the indicated event, or false otherwise.

hasStateDef
bool PGItem::has_state_def(int state) const;

Description: Returns true if get_state_def() has ever been called for the indicated state (thus defining a render subgraph for this state index), false otherwise.

instanceToStateDef
NodePath PGItem::instance_to_state_def(int state, NodePath const &path);

Description: Parents an instance of the bottom node of the indicated NodePath to the indicated state index.

setActive
virtual void PGItem::set_active(bool active);

Description: Sets whether the PGItem is active for mouse watching. This is not necessarily related to the active/inactive appearance of the item, which is controlled by set_state(), but it does affect whether it responds to mouse events.

setBackgroundFocus
void PGItem::set_background_focus(bool focus);

Description: Sets the background_focus flag for this item. When background_focus is enabled, the item will receive keypress events even if it is not in focus; in fact, even if it is not onscreen. Unlike normal focus, many items may have background_focus simultaneously.

setFocus
virtual void PGItem::set_focus(bool focus);

Description: Sets whether the PGItem currently has keyboard focus. This simply means that the item may respond to keyboard events as well as to mouse events; precisely what this means is up to the individual item.
Only one PGItem in the world is allowed to have focus at any given time. Setting the focus on any other item automatically disables the focus from the previous item.

setFrame
void PGItem::set_frame(float left, float right, float bottom, float top);

Description: Sets the bounding rectangle of the item, in local coordinates. This is the region on screen within which the mouse will be considered to be within the item. Normally, it should correspond to the bounding rectangle of the visible geometry of the item.

setFrameStyle
void PGItem::set_frame_style(int state, PGFrameStyle const &style);

Description: Changes the kind of frame that will be drawn behind the item when it is in the indicated state.

setId
void PGItem::set_id(string const &id);

Description: Set the unique ID assigned to this PGItem. It is the user's responsibility to ensure that this ID is unique.
Normally, this should not need to be called, as the PGItem will assign itself an ID when it is created, but this function allows the user to decide to redefine the ID to be something possibly more meaningful.

setSound
void PGItem::set_sound(string const &event, AudioSound *sound);

Description: Sets the sound that will be played whenever the indicated event occurs.

setState
void PGItem::set_state(int state);

Description: Sets the "state" of this particular PGItem.
The PGItem node will render as if it were the subgraph assigned to the corresponding index via set_state_def().

setSuppressFlags
void PGItem::set_suppress_flags(int suppress_flags);

Description: This is just an interface to set the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::set_suppress_flags().

setTextNode
static void PGItem::set_text_node(TextNode *node);

Description: Changes the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PGWaitBar

    from pandac.PandaModules import PGWaitBar
    Class : PGWaitBar
    Description : This is a particular kind of PGItem that draws a little bar that fills from left to right to indicate a slow process gradually completing, like a traditional "wait, loading" bar.

Inheritance:

    PGWaitBar: PGItem
    PGItem: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PGWaitBar:

    PGWaitBar (Constructor)
    getBarStyle
    getClassType
    getPercent
    getRange
    getValue
    setBarStyle
    setRange
    setup
    setValue

Methods of PGItem:

    PGItem (Constructor)
    clearFrame
    clearSound
    clearStateDef
    getActive
    getBackgroundFocus
    getClassType
    getEnterEvent
    getEnterPrefix
    getExitEvent
    getExitPrefix
    getFocus
    getFocusInEvent
    getFocusInPrefix
    getFocusItem
    getFocusOutEvent
    getFocusOutPrefix
    getFrame
    getFrameInvXform
    getFrameStyle
    getId
    getKeystrokeEvent
    getKeystrokePrefix
    getNumStateDefs
    getPressEvent
    getPressPrefix
    getReleaseEvent
    getReleasePrefix
    getRepeatEvent
    getRepeatPrefix
    getSound
    getState
    getStateDef
    getSuppressFlags
    getTextNode
    getWithinEvent
    getWithinPrefix
    getWithoutEvent
    getWithoutPrefix
    hasFrame
    hasSound
    hasStateDef
    instanceToStateDef
    setActive
    setBackgroundFocus
    setFocus
    setFrame
    setFrameStyle
    setId
    setSound
    setState
    setSuppressFlags
    setTextNode

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PGWaitBar
PGWaitBar::PGWaitBar(string const &name = (""));

Description:

getBarStyle
PGFrameStyle PGWaitBar::get_bar_style(void) const;

Description: Returns the kind of frame that is drawn on top of the WaitBar to represent the amount completed.

getClassType
static TypeHandle PGWaitBar::get_class_type(void);

Undocumented function.

getPercent
float PGWaitBar::get_percent(void) const;

Description: Returns the percentage complete.

getRange
float PGWaitBar::get_range(void) const;

Description: Returns the value at which the WaitBar indicates 100%.

getValue
float PGWaitBar::get_value(void) const;

Description: Returns the current value of the bar.

setBarStyle
void PGWaitBar::set_bar_style(PGFrameStyle const &style);

Description: Sets the kind of frame that is drawn on top of the WaitBar to represent the amount completed.

setRange
void PGWaitBar::set_range(float range);

Description: Sets the value at which the WaitBar indicates 100%.

setup
void PGWaitBar::setup(float width, float height, float range);

Description: Creates a PGWaitBar with the indicated dimensions, with the indicated maximum range.

setValue
void PGWaitBar::set_value(float value);

Description: Sets the current value of the bar. This should range between 0 and get_range().

PGItem
PGItem::PGItem(string const &name);

Description:

clearFrame
void PGItem::clear_frame(void);

Description: Removes the bounding rectangle from the item. It will no longer be possible to position the mouse within the item; see set_frame().

clearSound
void PGItem::clear_sound(string const &event);

Description: Removes the sound associated with the indicated event.

clearStateDef
void PGItem::clear_state_def(int state);

Description: Resets the NodePath assigned to the indicated state to its initial default, with only a frame representation if appropriate.

getActive
bool PGItem::get_active(void) const;

Description: Returns whether the PGItem is currently active for mouse events. See set_active().

getBackgroundFocus
bool PGItem::get_background_focus(void) const;

Description: Returns whether background_focus is currently enabled. See set_background_focus().

getClassType
static TypeHandle PGItem::get_class_type(void);

Undocumented function.

getEnterEvent
string PGItem::get_enter_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse enters its frame, but not any nested frames.

getEnterPrefix
static string PGItem::get_enter_prefix(void);

Description: Returns the prefix that is used to define the enter event for all PGItems. The enter event is the concatenation of this string followed by get_id().

getExitEvent
string PGItem::get_exit_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse exits its frame, or enters a nested frame.

getExitPrefix
static string PGItem::get_exit_prefix(void);

Description: Returns the prefix that is used to define the exit event for all PGItems. The exit event is the concatenation of this string followed by get_id().

getFocus
bool PGItem::get_focus(void) const;

Description: Returns whether the PGItem currently has focus for keyboard events. See set_focus().

getFocusInEvent
string PGItem::get_focus_in_event(void) const;

Description: Returns the event name that will be thrown when the item gets the keyboard focus.

getFocusInPrefix
static string PGItem::get_focus_in_prefix(void);

Description: Returns the prefix that is used to define the focus_in event for all PGItems. The focus_in event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFocusItem
static PGItem *PGItem::get_focus_item(void);

Description: Returns the one PGItem in the world that currently has keyboard focus, if any, or NULL if no item has keyboard focus. Use PGItem::set_focus() to activate or deactivate keyboard focus on a particular item.

getFocusOutEvent
string PGItem::get_focus_out_event(void) const;

Description: Returns the event name that will be thrown when the item loses the keyboard focus.

getFocusOutPrefix
static string PGItem::get_focus_out_prefix(void);

Description: Returns the prefix that is used to define the focus_out event for all PGItems. The focus_out event is the concatenation of this string followed by get_id().
Unlike most item events, this event is thrown with no parameters.

getFrame
LVecBase4f const &PGItem::get_frame(void) const;

Description: Returns the bounding rectangle of the item. See set_frame(). It is an error to call this if has_frame() returns false.

getFrameInvXform
LMatrix4f PGItem::get_frame_inv_xform(void) const;

Description: Returns the inverse of the frame transform matrix

getFrameStyle
PGFrameStyle PGItem::get_frame_style(int state);

Description: Returns the kind of frame that will be drawn behind the item when it is in the indicated state.

getId
string const &PGItem::get_id(void) const;

Description: Returns the unique ID assigned to this PGItem. This will be assigned to the region created with the MouseWatcher, and will thus be used to generate event names.

getKeystrokeEvent
string PGItem::get_keystroke_event(void) const;

Description: Returns the event name that will be thrown when the item is active and any key is pressed by the user.

getKeystrokePrefix
static string PGItem::get_keystroke_prefix(void);

Description: Returns the prefix that is used to define the keystroke event for all PGItems. The keystroke event is the concatenation of this string followed by a hyphen and get_id().

getNumStateDefs
int PGItem::get_num_state_defs(void) const;

Description: Returns one more than the highest-numbered state def that was ever assigned to the PGItem. The complete set of state defs assigned may then be retrieved by indexing from 0 to (get_num_state_defs() - 1).
This is only an upper limit on the actual number of state defs, since there may be holes in the list.

getPressEvent
string PGItem::get_press_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is depressed while the mouse is within the frame.

getPressPrefix
static string PGItem::get_press_prefix(void);

Description: Returns the prefix that is used to define the press event for all PGItems. The press event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getReleaseEvent
string PGItem::get_release_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button, formerly clicked down is within the frame, is released.

getReleasePrefix
static string PGItem::get_release_prefix(void);

Description: Returns the prefix that is used to define the release event for all PGItems. The release event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getRepeatEvent
string PGItem::get_repeat_event(ButtonHandle const &button) const;

Description: Returns the event name that will be thrown when the item is active and the indicated mouse or keyboard button is continuously held down while the mouse is within the frame.

getRepeatPrefix
static string PGItem::get_repeat_prefix(void);

Description: Returns the prefix that is used to define the repeat event for all PGItems. The repeat event is the concatenation of this string followed by a button name, followed by a hyphen and get_id().

getSound
AudioSound *PGItem::get_sound(string const &event) const;

Description: Returns the sound associated with the indicated event, or NULL if there is no associated sound.

getState
int PGItem::get_state(void) const;

Description: Returns the "state" of this particular PGItem. See set_state().

getStateDef
NodePath &PGItem::get_state_def(int state);

Description: Returns the Node that is the root of the subgraph that will be drawn when the PGItem is in the indicated state. The first time this is called for a particular state index, it may create the Node.

getSuppressFlags
int PGItem::get_suppress_flags(void) const;

Description: This is just an interface to get the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::get_suppress_flags().

getTextNode
static TextNode *PGItem::get_text_node(void);

HAVE_AUDIO
Description: Returns the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

getWithinEvent
string PGItem::get_within_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves within the boundaries of the frame. This is different from the enter_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithinPrefix
static string PGItem::get_within_prefix(void);

Description: Returns the prefix that is used to define the within event for all PGItems. The within event is the concatenation of this string followed by get_id().

getWithoutEvent
string PGItem::get_without_event(void) const;

Description: Returns the event name that will be thrown when the item is active and the mouse moves completely outside the boundaries of the frame. This is different from the exit_event in that the mouse is considered within the frame even if it is also within a nested frame.

getWithoutPrefix
static string PGItem::get_without_prefix(void);

Description: Returns the prefix that is used to define the without event for all PGItems. The without event is the concatenation of this string followed by get_id().

hasFrame
bool PGItem::has_frame(void) const;

Description: Returns true if the item has a bounding rectangle; see set_frame().

hasSound
bool PGItem::has_sound(string const &event) const;

Description: Returns true if there is a sound associated with the indicated event, or false otherwise.

hasStateDef
bool PGItem::has_state_def(int state) const;

Description: Returns true if get_state_def() has ever been called for the indicated state (thus defining a render subgraph for this state index), false otherwise.

instanceToStateDef
NodePath PGItem::instance_to_state_def(int state, NodePath const &path);

Description: Parents an instance of the bottom node of the indicated NodePath to the indicated state index.

setActive
virtual void PGItem::set_active(bool active);

Description: Sets whether the PGItem is active for mouse watching. This is not necessarily related to the active/inactive appearance of the item, which is controlled by set_state(), but it does affect whether it responds to mouse events.

setBackgroundFocus
void PGItem::set_background_focus(bool focus);

Description: Sets the background_focus flag for this item. When background_focus is enabled, the item will receive keypress events even if it is not in focus; in fact, even if it is not onscreen. Unlike normal focus, many items may have background_focus simultaneously.

setFocus
virtual void PGItem::set_focus(bool focus);

Description: Sets whether the PGItem currently has keyboard focus. This simply means that the item may respond to keyboard events as well as to mouse events; precisely what this means is up to the individual item.
Only one PGItem in the world is allowed to have focus at any given time. Setting the focus on any other item automatically disables the focus from the previous item.

setFrame
void PGItem::set_frame(float left, float right, float bottom, float top);

Description: Sets the bounding rectangle of the item, in local coordinates. This is the region on screen within which the mouse will be considered to be within the item. Normally, it should correspond to the bounding rectangle of the visible geometry of the item.

setFrameStyle
void PGItem::set_frame_style(int state, PGFrameStyle const &style);

Description: Changes the kind of frame that will be drawn behind the item when it is in the indicated state.

setId
void PGItem::set_id(string const &id);

Description: Set the unique ID assigned to this PGItem. It is the user's responsibility to ensure that this ID is unique.
Normally, this should not need to be called, as the PGItem will assign itself an ID when it is created, but this function allows the user to decide to redefine the ID to be something possibly more meaningful.

setSound
void PGItem::set_sound(string const &event, AudioSound *sound);

Description: Sets the sound that will be played whenever the indicated event occurs.

setState
void PGItem::set_state(int state);

Description: Sets the "state" of this particular PGItem.
The PGItem node will render as if it were the subgraph assigned to the corresponding index via set_state_def().

setSuppressFlags
void PGItem::set_suppress_flags(int suppress_flags);

Description: This is just an interface to set the suppress flags on the underlying MouseWatcherRegion. See MouseWatcherRegion::set_suppress_flags().

setTextNode
static void PGItem::set_text_node(TextNode *node);

Description: Changes the TextNode object that will be used by all PGItems to generate default labels given a string. This can be loaded with the default font, etc.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PhasedObject

    from direct.showbase.PhasedObject import PhasedObject
    This class is governs the loading and unloading of successive phases in an ordered and automatic manner.
    An object can only have one phase at any given moment. At the completion of setPhase() the current and all previous phases are guaranteed to be loaded, while all later phases are guaranteed to be unloaded.
    In order to define a phase, simply define the functions: loadPhase<#> and unloadPhase<#> where # corresponds to the number of the phase to be defined and # >= 0.
    You also have the ability to define alias for phases so that your function definitions are more descriptive. The way to do this is to provide an aliasMap to __init__(). The aliasMap is of the form {'alias':#, ...}. You can then call setPhase() with this alias as well.
    So for example, if you wanted to alias phase 0 to 'Far' you would define loadPhaseFar() and unloadPhaseFar(). Upon calling setPhase(0), setPhase('Far'), setPhase(<any phase greater than 0>), or setPhase(<any alias greater than 'Far'>), loadPhaseFar() will be invoked.
    For a skeleton example class, see the AnfaPhasedObject class definition lower in this file.

Inheritance:

    PhasedObject:

Methods of PhasedObject:

    __init__
    __loadPhase
    __phaseNotFound
    __repr__
    __str__
    __unloadPhase
    cleanup
    getAliasPhase
    getPhase
    getPhaseAlias
    setAlias
    setPhase
__init__
def __init__(self, aliasMap={})

Undocumented function.

__loadPhase
def __loadPhase(self, phase)

Undocumented function.

__phaseNotFound
def __phaseNotFound(self, mode, aPhase)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

__str__
def __str__(self)

Undocumented function.

__unloadPhase
def __unloadPhase(self, phase)

Undocumented function.

cleanup
def cleanup(self)

Will force the unloading, in correct order, of all currently loaded phases.

getAliasPhase
def getAliasPhase(self, alias)

Returns the phase number of an alias, if it exists. Otherwise, returns the alias.

getPhase
def getPhase(self)

Returns the current phase (or alias, if defined) this object is currently in.

getPhaseAlias
def getPhaseAlias(self, phase)

Returns the alias of a phase number, if it exists. Otherwise, returns the phase number.

setAlias
def setAlias(self, phase, alias)

Map an alias to a phase number.
phase must be >= 0 and alias must be a string of characters suitable for python variable names.
The mapping must be one-to-one.

setPhase
def setPhase(self, aPhase)

aPhase can be either a phase number or a predefined alias.
Will invoke a sequence of loadPhase*() or unloadPhase*() functions corresponding to the difference between the current phase and aPhase, starting at the current phase.


Physical

    from pandac.PandaModules import Physical
    Class : Physical
    Description : Defines a set of physically modeled attributes. If you want physics applied to your class, derive it from this.

Inheritance:

    Physical: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of Physical:

    Physical (Constructor)
    addAngularForce
    addLinearForce
    addPhysicsObject
    clearAngularForces
    clearLinearForces
    clearPhysicsObjects
    getAngularForce
    getClassType
    getLinearForce
    getNumAngularForces
    getNumLinearForces
    getObjects
    getPhysBody
    getPhysicalNode
    getPhysicalNodePath
    getPhysicsManager
    getViscosity
    output
    removeAngularForce
    removeLinearForce
    setViscosity
    write
    writeAngularForces
    writeLinearForces
    writePhysicsObjects

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
Physical
Physical::Physical(int total_objects = (1), bool pre_alloc = (0));

Description : Default Constructor
The idea here is that most physicals will NOT be collections of sets (i.e. particle systems and whatever else). Because of this, the default constructor, unless otherwise specified, will automatically allocate and initialize one PhysicalObject. This makes it easier for high-level work.
pre-alloc is ONLY for multiple-object physicals, and if true, fills the physics_object vector with dead nodes, pre-allocating for the speed end of the speed-vs-overhead deal.
Description : copy constructor (note- does deep copy of pn's) but does NOT attach itself to its template's physicsmanager.

addAngularForce
void Physical::add_angular_force(AngularForce *f);

Description : Adds an angular force to the force list

addLinearForce
void Physical::add_linear_force(LinearForce *f);

Description : Adds a linear force to the force list

addPhysicsObject
void Physical::add_physics_object(PhysicsObject *po);

Description : Adds an object to the physics object vector

clearAngularForces
void Physical::clear_angular_forces(void);

Description : Erases the angular force list

clearLinearForces
void Physical::clear_linear_forces(void);

Description : Erases the linear force list

clearPhysicsObjects
void Physical::clear_physics_objects(void);

Description : Erases the object list

getAngularForce
PointerTo< AngularForce > Physical::get_angular_force(int index) const;

Undocumented function.

getClassType
static TypeHandle Physical::get_class_type(void);

Undocumented function.

getLinearForce
PointerTo< LinearForce > Physical::get_linear_force(int index) const;

Undocumented function.

getNumAngularForces
int Physical::get_num_angular_forces(void) const;

Undocumented function.

getNumLinearForces
int Physical::get_num_linear_forces(void) const;

Undocumented function.

getObjects
PhysicsObjectCollection const Physical::get_objects(void) const;

Undocumented function.

getPhysBody
PhysicsObject *Physical::get_phys_body(void) const;

Undocumented function.

getPhysicalNode
PhysicalNode *Physical::get_physical_node(void) const;

helpers

getPhysicalNodePath
NodePath Physical::get_physical_node_path(void) const;

Undocumented function.

getPhysicsManager
PhysicsManager *Physical::get_physics_manager(void) const;

helpers

getViscosity
float Physical::get_viscosity(void) const;

Description : Get the local viscosity.

output
virtual void Physical::output(ostream &out = (cout)) const;

Description : Write a string representation of this instance to <out>.

removeAngularForce
void Physical::remove_angular_force(AngularForce *f);

Description : removes an angular force from the force list

removeLinearForce
void Physical::remove_linear_force(LinearForce *f);

Description : removes a linear force from the force list

setViscosity
void Physical::set_viscosity(float viscosity);

Description : Set the local viscosity.

write
virtual void Physical::write(ostream &out = (cout), unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writeAngularForces
virtual void Physical::write_angular_forces(ostream &out = (cout), unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writeLinearForces
virtual void Physical::write_linear_forces(ostream &out = (cout), unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writePhysicsObjects
virtual void Physical::write_physics_objects(ostream &out = (cout), unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PhysicalNode

    from pandac.PandaModules import PhysicalNode

Inheritance:

    PhysicalNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PhysicalNode:

    PhysicalNode (Constructor)
    addPhysical
    addPhysicalsFrom
    clear
    getClassType
    getNumPhysicals
    getPhysical
    removePhysical
    write

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PhysicalNode
PhysicalNode::PhysicalNode(string const &name);

Description : default constructor
Description : copy constructor

addPhysical
void PhysicalNode::add_physical(Physical *physical);

Undocumented function.

addPhysicalsFrom
void PhysicalNode::add_physicals_from(PhysicalNode const &other);

Description : append operation

clear
void PhysicalNode::clear(void);

Undocumented function.

getClassType
static TypeHandle PhysicalNode::get_class_type(void);

Undocumented function.

getNumPhysicals
int PhysicalNode::get_num_physicals(void) const;

Undocumented function.

getPhysical
Physical *PhysicalNode::get_physical(int index) const;

Undocumented function.

removePhysical
void PhysicalNode::remove_physical(Physical *physical);

Description : remove operation

write
virtual void PhysicalNode::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PhysicsCollisionHandler

    from pandac.PandaModules import PhysicsCollisionHandler
    Class : PhysicsCollisionHandler
    Description : A specialized kind of CollisionHandler that simply pushes back on things that attempt to move into solid walls. This also puts forces onto the physics objects

Inheritance:

    PhysicsCollisionHandler: CollisionHandlerPusher
    CollisionHandlerPusher: CollisionHandlerPhysical
    CollisionHandlerPhysical: CollisionHandlerEvent
    CollisionHandlerEvent: CollisionHandler
    CollisionHandler: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of PhysicsCollisionHandler:

    PhysicsCollisionHandler (Constructor)
    getAlmostStationarySpeed
    getClassType
    getDynamicFrictionCoef
    getStaticFrictionCoef
    setAlmostStationarySpeed
    setDynamicFrictionCoef
    setStaticFrictionCoef

Methods of CollisionHandlerPusher:

    CollisionHandlerPusher (Constructor)
    getClassType
    getHorizontal
    setHorizontal

Methods of CollisionHandlerPhysical:

    addCollider
    clearCenter
    clearColliders
    getCenter
    getClassType
    hasCenter
    hasCollider
    hasContact
    removeCollider
    setCenter

Methods of CollisionHandlerEvent:

    CollisionHandlerEvent (Constructor)
    addAgainPattern
    addInPattern
    addOutPattern
    clear
    clearAgainPatterns
    clearInPatterns
    clearOutPatterns
    flush
    getAgainPattern
    getClassType
    getInPattern
    getNumAgainPatterns
    getNumInPatterns
    getNumOutPatterns
    getOutPattern
    setAgainPattern
    setInPattern
    setOutPattern

Methods of CollisionHandler:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
PhysicsCollisionHandler
PhysicsCollisionHandler::PhysicsCollisionHandler(void);

Description:

getAlmostStationarySpeed
float PhysicsCollisionHandler::get_almost_stationary_speed(void);

These setters and getter are a bit of a hack:

getClassType
static TypeHandle PhysicsCollisionHandler::get_class_type(void);

Undocumented function.

getDynamicFrictionCoef
float PhysicsCollisionHandler::get_dynamic_friction_coef(void);

Undocumented function.

getStaticFrictionCoef
float PhysicsCollisionHandler::get_static_friction_coef(void);

Undocumented function.

setAlmostStationarySpeed
void PhysicsCollisionHandler::set_almost_stationary_speed(float speed);

These setters and getter are a bit of a hack:

setDynamicFrictionCoef
void PhysicsCollisionHandler::set_dynamic_friction_coef(float coef);

Undocumented function.

setStaticFrictionCoef
void PhysicsCollisionHandler::set_static_friction_coef(float coef);

Undocumented function.

CollisionHandlerPusher
CollisionHandlerPusher::CollisionHandlerPusher(void);

Description:

getClassType
static TypeHandle CollisionHandlerPusher::get_class_type(void);

Undocumented function.

getHorizontal
bool CollisionHandlerPusher::get_horizontal(void) const;

Description:

setHorizontal
void CollisionHandlerPusher::set_horizontal(bool flag);

Description:

addCollider
void CollisionHandlerPhysical::add_collider(NodePath const &collider, NodePath const &target);

Description: Adds a new collider to the list with a NodePath that will be updated with the collider's new position, or updates the existing collider with a new NodePath object.
The indicated DriveInterface will also be updated with the target's new transform each frame. This method should be used when the target is directly controlled by a DriveInterface.

clearCenter
void CollisionHandlerPhysical::clear_center(void);

Description: Clears the center NodePath specified with set_center.

clearColliders
void CollisionHandlerPhysical::clear_colliders(void);

Description: Completely empties the list of colliders this handler knows about.

getCenter
NodePath const &CollisionHandlerPhysical::get_center(void) const;

Description: Returns the NodePath specified with set_center, or the empty NodePath if nothing has been specified.

getClassType
static TypeHandle CollisionHandlerPhysical::get_class_type(void);

Undocumented function.

hasCenter
bool CollisionHandlerPhysical::has_center(void) const;

Description: Returns true if a NodePath has been specified with set_center(), false otherwise.

hasCollider
bool CollisionHandlerPhysical::has_collider(NodePath const &collider) const;

Description: Returns true if the handler knows about the indicated collider, false otherwise.

hasContact
bool CollisionHandlerPhysical::has_contact(void) const;

Description: Did the handler make any contacts with anything on the last collision pass? Depending on how your world is setup, this can be used to tell if the handler is out of the world (i.e. out of bounds). That is the original use of this call.

removeCollider
bool CollisionHandlerPhysical::remove_collider(NodePath const &collider);

Description: Removes the collider from the list of colliders that this handler knows about.

setCenter
void CollisionHandlerPhysical::set_center(NodePath const &center);

Description: Specifies an arbitrary NodePath that the handler is always considered to be facing. It does not detect collisions with surfaces that appear to be facing away from this NodePath. This works best when the collision surfaces in question are polygons.

CollisionHandlerEvent
CollisionHandlerEvent::CollisionHandlerEvent(void);

Description: The default CollisionHandlerEvent will throw no events. Its pattern strings must first be set via a call to add_in_pattern() and/or add_out_pattern().

addAgainPattern
void CollisionHandlerEvent::add_again_pattern(string const &again_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *still* detected. This event is thrown each consecutive time a collision between two particular nodes is detected, starting with the second time.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addInPattern
void CollisionHandlerEvent::add_in_pattern(string const &in_pattern);

Description: Adds a pattern string to the list of events that will be generated in response to a collision. The pattern string describes how the event name will be composed. It is a string that may contain any of the following:
%fn - the name of the "from" object's node %in - the name of the "into" object's node %fs - 't' if "from" is tangible, 'i' if intangible %is - 't' if "into" is tangible, 'i' if intangible %ig - 'c' if the collision is into a CollisionNode, 'g' if it is a geom.
%(tag)fh - generate event only if "from" node has the indicated net tag. %(tag)fx - generate event only if "from" node does not have the indicated net tag. %(tag)ih - generate event only if "into" node has the indicated net tag. %(tag)ix - generate event only if "into" node does not have the indicated net tag. %(tag)ft - the indicated net tag value of the "from" node. %(tag)it - the indicated net tag value of the "into" node.
Parentheses in the above are literal and should be included in the actual pattern.
The event name will be based on the in_pattern string specified here, with all occurrences of the above strings replaced with the corresponding values.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

addOutPattern
void CollisionHandlerEvent::add_out_pattern(string const &out_pattern);

Description: Adds the pattern string that indicates how the event names are generated when a collision between two particular nodes is *no longer* detected.
In general, the in_pattern event is thrown on the first detection of a collision between two particular nodes. In subsequent passes, as long as a collision between those two nodes continues to be detected each frame, the again_pattern is thrown. The first frame in which the collision is no longer detected, the out_pattern event is thrown.

clear
void CollisionHandlerEvent::clear(void);

Description: Empties the list of elements that all colliders are known to be colliding with. No "out" events will be thrown; if the same collision is detected next frame, a new "in" event will be thrown for each collision.
This can be called each frame to defeat the persistent "in" event mechanism, which prevents the same "in" event from being thrown repeatedly. However, also see add_again_pattern(), which can be used to set the event that is thrown when a collision is detected for two or more consecutive frames.

clearAgainPatterns
void CollisionHandlerEvent::clear_again_patterns(void);

Description: Removes all of the previously-added in patterns. See add_again_pattern.

clearInPatterns
void CollisionHandlerEvent::clear_in_patterns(void);

Description: Removes all of the previously-added in patterns. See add_in_pattern.

clearOutPatterns
void CollisionHandlerEvent::clear_out_patterns(void);

Description: Removes all of the previously-added in patterns. See add_out_pattern.

flush
void CollisionHandlerEvent::flush(void);

Description: Same as clear() except "out" events are thrown.

getAgainPattern
string CollisionHandlerEvent::get_again_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_again_pattern().

getClassType
static TypeHandle CollisionHandlerEvent::get_class_type(void);

Undocumented function.

getInPattern
string CollisionHandlerEvent::get_in_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_in_pattern().

getNumAgainPatterns
int CollisionHandlerEvent::get_num_again_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumInPatterns
int CollisionHandlerEvent::get_num_in_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getNumOutPatterns
int CollisionHandlerEvent::get_num_out_patterns(void) const;

Description: Returns the number of in pattern strings that have been added.

getOutPattern
string CollisionHandlerEvent::get_out_pattern(int n) const;

Description: Returns the nth pattern string that indicates how the event names are generated for each collision detected. See add_out_pattern().

setAgainPattern
void CollisionHandlerEvent::set_again_pattern(string const &again_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setInPattern
void CollisionHandlerEvent::set_in_pattern(string const &in_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

setOutPattern
void CollisionHandlerEvent::set_out_pattern(string const &out_pattern);

Description: This method is deprecated; it completely replaces all the in patterns that have previously been set with the indicated pattern.

getClassType
static TypeHandle CollisionHandler::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PhysicsManager

    from pandac.PandaModules import PhysicsManager
    Class : PhysicsManager
    Description : Physics don't get much higher-level than this. Attach as many Physicals (particle systems, etc..) as you want, pick an integrator and go.

Inheritance:

    PhysicsManager:

Methods of PhysicsManager:

    PhysicsManager (Constructor)
    addAngularForce
    addLinearForce
    attachAngularIntegrator
    attachLinearIntegrator
    attachPhysical
    attachPhysicalnode
    attachPhysicalNode
    clearAngularForces
    clearLinearForces
    clearPhysicals
    debugOutput
    doPhysics
    getViscosity
    initRandomSeed
    output
    removeAngularForce
    removeLinearForce
    removePhysical
    removePhysicalNode
    setViscosity
    write
    writeAngularForces
    writeLinearForces
    writePhysicals
PhysicsManager
PhysicsManager::PhysicsManager(void);

Description : Default Constructor. NOTE: EulerIntegrator is the standard default.

addAngularForce
void PhysicsManager::add_angular_force(AngularForce *f);

Description : Adds a global angular force to the physics manager

addLinearForce
void PhysicsManager::add_linear_force(LinearForce *f);

use attach_physical_node instead.
Description : Adds a global linear force to the physics manager

attachAngularIntegrator
void PhysicsManager::attach_angular_integrator(AngularIntegrator *i);

Description : Hooks an angular integrator into the manager

attachLinearIntegrator
void PhysicsManager::attach_linear_integrator(LinearIntegrator *i);

Description : Hooks a linear integrator into the manager

attachPhysical
void PhysicsManager::attach_physical(Physical *p);

Description : Registers a Physical class with the manager

attachPhysicalnode
void PhysicsManager::attach_physicalnode(PhysicalNode *p);

Description : Please call attach_physical_node instead.

attachPhysicalNode
void PhysicsManager::attach_physical_node(PhysicalNode *p);

use attach_physical_node instead.
Description : Registers a physicalnode with the manager

clearAngularForces
void PhysicsManager::clear_angular_forces(void);

Description : Resets the physics manager force vector

clearLinearForces
void PhysicsManager::clear_linear_forces(void);

Description : Resets the physics manager force vector

clearPhysicals
void PhysicsManager::clear_physicals(void);

Description : Resets the physics manager objects vector

debugOutput
virtual void PhysicsManager::debug_output(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

doPhysics
void PhysicsManager::do_physics(float dt);

Description : This is the main high-level API call. Performs integration on every attached Physical.
Description : This is the main high-level API call. Performs integration on a single physical. Make sure its associated forces are active.

getViscosity
float PhysicsManager::get_viscosity(void) const;

Description : Get the global viscosity.

initRandomSeed
void PhysicsManager::init_random_seed(void);

Description : One-time config function, sets up the random seed used by the physics and particle systems. For synchronizing across distributed computers

output
virtual void PhysicsManager::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

removeAngularForce
void PhysicsManager::remove_angular_force(AngularForce *f);

Description : takes an angular force out of the physics list

removeLinearForce
void PhysicsManager::remove_linear_force(LinearForce *f);

Description : takes a linear force out of the physics list

removePhysical
void PhysicsManager::remove_physical(Physical *p);

Description : takes a physical out of the object list

removePhysicalNode
void PhysicsManager::remove_physical_node(PhysicalNode *p);

Description : Removes a physicalnode from the manager

setViscosity
void PhysicsManager::set_viscosity(float viscosity);

Description : Set the global viscosity.

write
virtual void PhysicsManager::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writeAngularForces
virtual void PhysicsManager::write_angular_forces(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writeLinearForces
virtual void PhysicsManager::write_linear_forces(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

writePhysicals
virtual void PhysicsManager::write_physicals(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.


PhysicsObject

    from pandac.PandaModules import PhysicsObject
    Class : PhysicsObject
    Description : A body on which physics will be applied. If you're looking to add physical motion to your class, do NOT derive from this. Derive from Physical instead.

Inheritance:

    PhysicsObject: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of PhysicsObject:

    PhysicsObject (Constructor)
    addImpact
    addImpulse
    addLocalImpact
    addLocalImpulse
    addLocalTorque
    addTorque
    getActive
    getClassType
    getImplicitVelocity
    getInertialTensor
    getLastPosition
    getLcs
    getMass
    getName
    getOrientation
    getOriented
    getPosition
    getRotation
    getTerminalVelocity
    getVelocity
    makeCopy
    operator =
    output
    resetOrientation
    resetPosition
    setActive
    setLastPosition
    setMass
    setName
    setOrientation
    setOriented
    setPosition
    setRotation
    setTerminalVelocity
    setVelocity
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
PhysicsObject
PhysicsObject::PhysicsObject(void);

Description : Default Constructor
Description : copy constructor

addImpact
virtual void PhysicsObject::add_impact(LPoint3f const &offset_from_center_of_mass, LVector3f const &impulse);

Description : Adds an impulse and/or torque (i.e. an instantanious change in velocity) based on how well the offset and impulse align with the center of mass (aka position). If you wanted to immitate this function you could work out the impulse and torque and call add_impulse and add_torque respectively. offset and force are in global (or parent) coordinates.

addImpulse
void PhysicsObject::add_impulse(LVector3f const &impulse);

Global instantanious forces
Description : Adds an impulse force (i.e. an instantanious change in velocity). This is a quicker way to get the velocity, add a vector to it and set that value to be the new velocity.

addLocalImpact
virtual void PhysicsObject::add_local_impact(LPoint3f const &offset_from_center_of_mass, LVector3f const &impulse);

Description : Adds an impulse and/or torque (i.e. an instantanious change in velocity) based on how well the offset and impulse align with the center of mass (aka position). If you wanted to immitate this function you could work out the impulse and torque and call add_impulse and add_torque respectively. offset and force are in local coordinates.

addLocalImpulse
void PhysicsObject::add_local_impulse(LVector3f const &impulse);

Local instantanious forces
Description : Adds an impulse force (i.e. an instantanious change in velocity). This is a quicker way to get the velocity, add a vector to it and set that value to be the new velocity.

addLocalTorque
void PhysicsObject::add_local_torque(LRotationf const &torque);

Local instantanious forces
Description : Adds an torque force (i.e. an instantanious change in velocity). This is a quicker way to get the angular velocity, add a vector to it and set that value to be the new angular velocity.

addTorque
void PhysicsObject::add_torque(LRotationf const &torque);

Global instantanious forces
Description : Adds an torque force (i.e. an instantanious change in velocity). This is a quicker way to get the angular velocity, add a vector to it and set that value to be the new angular velocity.

getActive
bool PhysicsObject::get_active(void) const;

Description : Process Flag Query

getClassType
static TypeHandle PhysicsObject::get_class_type(void);

Undocumented function.

getImplicitVelocity
LVector3f PhysicsObject::get_implicit_velocity(void) const;

Description : Velocity Query over the last dt

getInertialTensor
virtual LMatrix4f PhysicsObject::get_inertial_tensor(void) const;

Description : returns a transform matrix that represents the object's willingness to be forced.

getLastPosition
LPoint3f PhysicsObject::get_last_position(void) const;

Description : Get the position of the physics object at the start of the most recent do_physics.

getLcs
virtual LMatrix4f PhysicsObject::get_lcs(void) const;

Description : returns a transform matrix to this object's local coordinate system.

getMass
float PhysicsObject::get_mass(void) const;

Description : Get the mass in slugs (or kilograms).

getName
string const &PhysicsObject::get_name(void);

Undocumented function.

getOrientation
LOrientationf PhysicsObject::get_orientation(void) const;

Description : get current orientation.

getOriented
bool PhysicsObject::get_oriented(void) const;

Description : See set_oriented().

getPosition
LPoint3f PhysicsObject::get_position(void) const;

Description : Position Query

getRotation
LRotationf PhysicsObject::get_rotation(void) const;

Description : get rotation per second.

getTerminalVelocity
float PhysicsObject::get_terminal_velocity(void) const;

Description : tv query

getVelocity
LVector3f PhysicsObject::get_velocity(void) const;

Description : Velocity Query per second

makeCopy
virtual PhysicsObject *PhysicsObject::make_copy(void) const;

Description : dynamic copy.

operator =
PhysicsObject const &PhysicsObject::operator =(PhysicsObject const &other);

Description :

output
virtual void PhysicsObject::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

resetOrientation
void PhysicsObject::reset_orientation(LOrientationf const &orientation);

Description : set the orientation while clearing the rotation velocity.

resetPosition
void PhysicsObject::reset_position(LPoint3f const &pos);

Description : use this to place an object in a completely new position, that has nothing to do with its last position.

setActive
void PhysicsObject::set_active(bool flag);

Description : Process Flag assignment

setLastPosition
void PhysicsObject::set_last_position(LPoint3f const &pos);

Description : Last position assignment

setMass
void PhysicsObject::set_mass(float );

Description : Set the mass in slugs (or kilograms).

setName
void PhysicsObject::set_name(string const &name);

Undocumented function.

setOrientation
void PhysicsObject::set_orientation(LOrientationf const &orientation);

Description :

setOriented
void PhysicsObject::set_oriented(bool flag);

Description : Set flag to determine whether this object should do any rotation or orientation calculations. Optimization.

setPosition
void PhysicsObject::set_position(LPoint3f const &pos);

INLINE void set_center_of_mass(const LPoint3f &pos); use set_position.
Description : Vector position assignment. This is also used as the center of mass.
Description : Piecewise position assignment

setRotation
void PhysicsObject::set_rotation(LRotationf const &rotation);

Description : set rotation as a quaternion delta per second.

setTerminalVelocity
void PhysicsObject::set_terminal_velocity(float tv);

Description : tv assignment

setVelocity
void PhysicsObject::set_velocity(LVector3f const &vel);

Description : Vector velocity assignment
Description : Piecewise velocity assignment

write
virtual void PhysicsObject::write(ostream &out, unsigned int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PhysicsObjectCollection

    from pandac.PandaModules import PhysicsObjectCollection
    Class : PhysicsObjectCollection
    Description : This is a set of zero or more PhysicsObjects. It's handy for returning from functions that need to return multiple PhysicsObjects.

Inheritance:

    PhysicsObjectCollection:

Methods of PhysicsObjectCollection:

    PhysicsObjectCollection (Constructor)
    addPhysicsObject
    addPhysicsObjectsFrom
    clear
    getNumPhysicsObjects
    getPhysicsObject
    hasPhysicsObject
    isEmpty
    operator =
    operator []
    output
    removeDuplicatePhysicsObjects
    removePhysicsObject
    removePhysicsObjectsFrom
    write
PhysicsObjectCollection
PhysicsObjectCollection::PhysicsObjectCollection(void);

Description:

addPhysicsObject
void PhysicsObjectCollection::add_physics_object(PointerTo< PhysicsObject > physics_object);

Description: Adds a new PhysicsObject to the collection.

addPhysicsObjectsFrom
void PhysicsObjectCollection::add_physics_objects_from(PhysicsObjectCollection const &other);

Description: Adds all the PhysicsObjects indicated in the other collection to this collection. The other physics_objects are simply appended to the end of the physics_objects in this list; duplicates are not automatically removed.

clear
void PhysicsObjectCollection::clear(void);

Description: Removes all PhysicsObjects from the collection.

getNumPhysicsObjects
int PhysicsObjectCollection::get_num_physics_objects(void) const;

Description: Returns the number of PhysicsObjects in the collection.

getPhysicsObject
PointerTo< PhysicsObject > PhysicsObjectCollection::get_physics_object(int index) const;

Description: Returns the nth PhysicsObject in the collection.

hasPhysicsObject
bool PhysicsObjectCollection::has_physics_object(PointerTo< PhysicsObject > physics_object) const;

Description: Returns true if the indicated PhysicsObject appears in this collection, false otherwise.

isEmpty
bool PhysicsObjectCollection::is_empty(void) const;

Description: Returns true if there are no PhysicsObjects in the collection, false otherwise.

operator =
void PhysicsObjectCollection::operator =(PhysicsObjectCollection const &copy);

Description:

operator []
PointerTo< PhysicsObject > PhysicsObjectCollection::operator [](int index) const;

Description: Returns the nth PhysicsObject in the collection. This is the same as get_physics_object(), but it may be a more convenient way to access it.

output
void PhysicsObjectCollection::output(ostream &out) const;

Description: Writes a brief one-line description of the PhysicsObjectCollection to the indicated output stream.

removeDuplicatePhysicsObjects
void PhysicsObjectCollection::remove_duplicate_physics_objects(void);

Description: Removes any duplicate entries of the same PhysicsObjects on this collection. If a PhysicsObject appears multiple times, the first appearance is retained; subsequent appearances are removed.

removePhysicsObject
bool PhysicsObjectCollection::remove_physics_object(PointerTo< PhysicsObject > physics_object);

Description: Removes the indicated PhysicsObject from the collection. Returns true if the physics_object was removed, false if it was not a member of the collection.

removePhysicsObjectsFrom
void PhysicsObjectCollection::remove_physics_objects_from(PhysicsObjectCollection const &other);

Description: Removes from this collection all of the PhysicsObjects listed in the other collection.

write
void PhysicsObjectCollection::write(ostream &out, int indent_level = (0)) const;

Description: Writes a complete multi-line description of the PhysicsObjectCollection to the indicated output stream.


PhysicsWalker

    from direct.controls.PhysicsWalker import PhysicsWalker

Inheritance:

    PhysicsWalker:

Methods of PhysicsWalker:

    __init__
    addBlastForce
    avatarPhysicsIndicator
    deleteCollisions
    determineHeight
    disableAvatarControls
    displayDebugInfo
    doDeltaPos
    enableAvatarControls
    flushEventHandlers
    getCollisionsActive
    getSpeeds
    getVelocity
    handleAvatarControls
    initializeCollisions
    oneTimeCollide
    placeOnFloor
    reset
    setAirborneHeightFunc
    setAvatar
    setAvatarPhysicsIndicator
    setCollisionsActive
    setPriorParentVector
    setupPhysics
    setupRay
    setupSphere
    setWalkSpeed
__init__
def __init__(self, gravity=-32.1740, standableGround=0.707, hardLandingForce=16.0)

Undocumented function.

addBlastForce
def addBlastForce(self, vector)

Undocumented function.

avatarPhysicsIndicator
def avatarPhysicsIndicator(self, task)

Undocumented function.

deleteCollisions
def deleteCollisions(self)

Undocumented function.

determineHeight
def determineHeight(self)

returns the height of the avatar above the ground. If there is no floor below the avatar, 0.0 is returned. aka get airborne height.

disableAvatarControls
def disableAvatarControls(self)

Ignore the arrow keys, etc.

displayDebugInfo
def displayDebugInfo(self)

For debug use.

doDeltaPos
def doDeltaPos(self)

Undocumented function.

enableAvatarControls
def enableAvatarControls(self)

Activate the arrow keys, etc.

flushEventHandlers
def flushEventHandlers(self)

Undocumented function.

getCollisionsActive
def getCollisionsActive(self)

Undocumented function.

getSpeeds
def getSpeeds(self)

Undocumented function.

getVelocity
def getVelocity(self)

Undocumented function.

handleAvatarControls
def handleAvatarControls(self, task)

Check on the arrow keys and update the avatar.

initializeCollisions
def initializeCollisions(self, collisionTraverser, avatarNodePath, wallBitmask, floorBitmask, avatarRadius=1.4, floorOffset=1.0, reach=1.0)

Set up the avatar collisions

oneTimeCollide
def oneTimeCollide(self)

Makes one quick collision pass for the avatar, for instance as a one-time straighten-things-up operation after collisions have been disabled.

placeOnFloor
def placeOnFloor(self)

Make a reasonable effort to place the avatar on the ground. For example, this is useful when switching away from the current walker.

reset
def reset(self)

Undocumented function.

setAirborneHeightFunc
def setAirborneHeightFunc(self, getAirborneHeight)

Undocumented function.

setAvatar
def setAvatar(self, avatar)

Undocumented function.

setAvatarPhysicsIndicator
def setAvatarPhysicsIndicator(self, indicator)

indicator is a NodePath

setCollisionsActive
def setCollisionsActive(self, active=1)

Undocumented function.

setPriorParentVector
def setPriorParentVector(self)

Undocumented function.

setupPhysics
def setupPhysics(self, avatarNodePath)

Undocumented function.

setupRay
def setupRay(self, floorBitmask, floorOffset)

Undocumented function.

setupSphere
def setupSphere(self, bitmask, avatarRadius)

Set up the collision sphere

setWalkSpeed
def setWalkSpeed(self, forward, jump, reverse, rotate)

Undocumented function.


PiecewiseCurve

    from pandac.PandaModules import PiecewiseCurve
    Class : PiecewiseCurve
    Description : A PiecewiseCurve is a curve made up of several curve segments, connected in a head-to-tail fashion. The length of each curve segment in parametric space is definable.

Inheritance:

    PiecewiseCurve: ParametricCurve
    ParametricCurve: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PiecewiseCurve:

    PiecewiseCurve (Constructor)
    getClassType

Methods of ParametricCurve:

    adjustPoint
    adjustPt
    adjustTangent
    calcLength
    findLength
    get2ndtangent
    getClassType
    getCurveType
    getMaxT
    getNumDimensions
    getPoint
    getPt
    getTangent
    isValid
    recompute
    setCurveType
    setNumDimensions
    stitch
    writeEgg

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PiecewiseCurve
PiecewiseCurve::PiecewiseCurve(void);

Description:

getClassType
static TypeHandle PiecewiseCurve::get_class_type(void);

Undocumented function.

adjustPoint
virtual bool ParametricCurve::adjust_point(float t, float px, float py, float pz);

Description: Recomputes the curve such that it passes through the point (px, py, pz) at time t, but keeps the same tangent value at that point.

adjustPt
virtual bool ParametricCurve::adjust_pt(float t, float px, float py, float pz, float tx, float ty, float tz);

Description: Recomputes the curve such that it passes through the point (px, py, pz) with the tangent (tx, ty, tz).

adjustTangent
virtual bool ParametricCurve::adjust_tangent(float t, float tx, float ty, float tz);

Description: Recomputes the curve such that it has the tangent (tx, ty, tz) at time t, but keeps the same position at the point.

calcLength
float ParametricCurve::calc_length(void) const;

Description: Approximates the length of the entire curve to within a few decimal places.
Description: Approximates the length of the curve segment from parametric time 'from' to time 'to'.

findLength
float ParametricCurve::find_length(float start_t, float length_offset) const;

Description: Returns the parametric value corresponding to the indicated distance along the curve from the starting parametric value.
This is the inverse of calc_length(): rather than determining the length along the curve between two parametric points, it determines the position in parametric time of a point n units along the curve.
The search distance must not be negative.

get2ndtangent
virtual bool ParametricCurve::get_2ndtangent(float t, LVecBase3f &tangent2) const = 0;

Undocumented function.

getClassType
static TypeHandle ParametricCurve::get_class_type(void);

Undocumented function.

getCurveType
int ParametricCurve::get_curve_type(void) const;

Description: Returns the flag indicating the use to which the curve is intended to be put.

getMaxT
virtual float ParametricCurve::get_max_t(void) const;

Description: Returns the upper bound of t for the entire curve. The curve is defined in the range 0.0f <= t <= get_max_t(). This base class function always returns 1.0f; derived classes might override this to return something else.

getNumDimensions
int ParametricCurve::get_num_dimensions(void) const;

Description: Returns the number of significant dimensions in the curve's vertices, as set by a previous call to set_num_dimensions(). This is only a hint as to how the curve is intended to be used; the actual number of dimensions of any curve is always three.

getPoint
virtual bool ParametricCurve::get_point(float t, LVecBase3f &point) const = 0;

Undocumented function.

getPt
virtual bool ParametricCurve::get_pt(float t, LVecBase3f &point, LVecBase3f &tangent) const = 0;

Undocumented function.

getTangent
virtual bool ParametricCurve::get_tangent(float t, LVecBase3f &tangent) const = 0;

Undocumented function.

isValid
virtual bool ParametricCurve::is_valid(void) const;

Description: Returns true if the curve is defined. This base class function always returns true; derived classes might override this to sometimes return false.

recompute
virtual bool ParametricCurve::recompute(void);

Description: Recalculates the curve, if necessary. Returns true if the resulting curve is valid, false otherwise.

setCurveType
void ParametricCurve::set_curve_type(int type);

Description: Sets the flag indicating the use to which the curve is intended to be put. This flag is optional and only serves to provide a hint to the egg reader and writer code; it has no effect on the curve's behavior.
Setting the curve type also sets the num_dimensions to 3 or 1 according to the type.
THis flag may have one of the values PCT_XYZ, PCT_HPR, or PCT_T.

setNumDimensions
void ParametricCurve::set_num_dimensions(int num);

Description: Specifies the number of significant dimensions in the curve's vertices. This should be one of 1, 2, or 3. Normally, XYZ and HPR curves have three dimensions; time curves should always have one dimension. This only serves as a hint to the mopath editor, and also controls how the curve is written out.

stitch
virtual bool ParametricCurve::stitch(ParametricCurve const *a, ParametricCurve const *b);

Description: Regenerates this curve as one long curve: the first curve connected end-to-end with the second one. Either a or b may be the same as 'this'.
Returns true if successful, false on failure or if the curve type does not support stitching.

writeEgg
bool ParametricCurve::write_egg(Filename filename, CoordinateSystem cs = (CS_default));

Description: Writes an egg description of the nurbs curve to the specified output file. Returns true if the file is successfully written.
Description: Writes an egg description of the nurbs curve to the specified output stream. Returns true if the file is successfully written.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PieMenu

    from direct.leveleditor.PieMenu import PieMenu

Inheritance:

    PieMenu:

Methods of PieMenu:

    __init__
    getInitialState
    performAction
    pieMenuTask
    removePieMenuTask
    setInitialState
    setItemOffset
    setUpdateOnlyOnChange
    spawnPieMenuTask
__init__
def __init__(self, visibleMenu, menuItems, action=None, fUpdateOnlyOnChange=1, selectedSF=1)

Undocumented function.

getInitialState
def getInitialState(self)

Undocumented function.

performAction
def performAction(self, value)

Undocumented function.

pieMenuTask
def pieMenuTask(self, state)

Undocumented function.

removePieMenuTask
def removePieMenuTask(self)

Undocumented function.

setInitialState
def setInitialState(self, state)

Undocumented function.

setItemOffset
def setItemOffset(self, newOffset)

Undocumented function.

setUpdateOnlyOnChange
def setUpdateOnlyOnChange(self, flag)

Undocumented function.

spawnPieMenuTask
def spawnPieMenuTask(self)

Undocumented function.


PipeOcclusionCullTraverser

    from pandac.PandaModules import PipeOcclusionCullTraverser
    Class : PipeOcclusionCullTraverser
    Description : This specialization of CullTraverser uses the graphics pipe itself to perform occlusion culling. As such, it's likely to be inefficient (since it interferes with the pipe's normal mode of rendering), and is mainly useful to test other, CPU-based occlusion algorithms.
    This cannot be used in a multithreaded pipeline environment where cull and draw are operating simultaneously.
    It can't be defined in the cull subdirectory, because it needs access to GraphicsPipe and DisplayRegion and other classes in display. So we put it in grutil instead, for lack of any better ideas.

Inheritance:

    PipeOcclusionCullTraverser: CullTraverser CullHandler
    CullTraverser: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    CullHandler:

Methods of PipeOcclusionCullTraverser:

    PipeOcclusionCullTraverser (Constructor)
    endTraverse
    getBuffer
    getClassType
    getOcclusionMask
    getTexture
    setOcclusionMask
    setScene

Methods of CullTraverser:

    CullTraverser (Constructor)
    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
PipeOcclusionCullTraverser
PipeOcclusionCullTraverser::PipeOcclusionCullTraverser(GraphicsOutput *host);

Description:

endTraverse
virtual void PipeOcclusionCullTraverser::end_traverse(void);

Description: Should be called when the traverser has finished traversing its scene, this gives it a chance to do any necessary finalization.

getBuffer
GraphicsOutput *PipeOcclusionCullTraverser::get_buffer(void) const;

Description:

getClassType
static TypeHandle PipeOcclusionCullTraverser::get_class_type(void);

Undocumented function.

getOcclusionMask
BitMask< unsigned int, 32 > const &PipeOcclusionCullTraverser::get_occlusion_mask(void) const;

Description: Returns the DrawMask for occlusion polygons. See set_occlusion_mask().

getTexture
Texture *PipeOcclusionCullTraverser::get_texture(void);

Description: Returns a Texture that can be used to visualize the efforts of the occlusion cull.

setOcclusionMask
void PipeOcclusionCullTraverser::set_occlusion_mask(BitMask< unsigned int, 32 > const &occlusion_mask);

Description: Specifies the DrawMask that should be set on occlusion polygons for this scene. This identifies the polygons that are to be treated as occluders. Polygons that do not have this draw mask set will not be considered occluders.

setScene
virtual void PipeOcclusionCullTraverser::set_scene(SceneSetup *scene_setup, GraphicsStateGuardianBase *gsg);

Description:

CullTraverser
CullTraverser::CullTraverser(void);

Description:

getClassType
static TypeHandle CullTraverser::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PkgFilter

    from direct.pyinst.tocfilter import PkgFilter
    At this time, identical to a DirFilter (being lazy)

Inheritance:

    PkgFilter:

Methods of PkgFilter:

    __init__
__init__
def __init__(self, pkglist)

Undocumented function.


pkgresource

    from direct.pyinst.resource import pkgresource
    A Python package.
    Note that contents() can be fooled by fancy __path__ statements.

Inheritance:

    pkgresource:

Methods of pkgresource:

    __init__
    asFilter
    contents
    dependencies
__init__
def __init__(self, nm, fullname)

Undocumented function.

asFilter
def asFilter(self)

Create a PkgFilter from self.

contents
def contents(self, parent=None)

Return a list of subpackages and modules in self.

dependencies
def dependencies(self)

Return the list of accumulated dependencies of all modules in self.


Placer

    from direct.tkpanels.Placer import Placer

Inheritance:

    Placer:

Methods of Placer:

    __init__
    addNodePath
    addNodePathToDict
    addRefNodePath
    appInit
    createInterface
    onDestroy
    printNodePathInfo
    pushRedo
    pushRedoHook
    pushUndo
    pushUndoHook
    redoHook
    redoListEmptyHook
    resetAll
    resetHpr
    resetPos
    resetScale
    selectNodePathNamed
    selectRefNodePathNamed
    setActiveNodePath
    setMovementMode
    setReferenceNodePath
    setScalingMode
    undoHook
    undoListEmptyHook
    unitScale
    updateAuxiliaryCoordinateSystems
    updateHprWidgets
    updatePlacer
    updatePosWidgets
    updateResetValues
    updateScaleWidgets
    xform
    xformOrbit
    xformRelative
    xformScale
    xformStart
    xformStop
    zeroAll
    zeroHpr
    zeroPos
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

addNodePath
def addNodePath(self, nodePath)

Undocumented function.

addNodePathToDict
def addNodePathToDict(self, nodePath, names, menu, dict)

Undocumented function.

addRefNodePath
def addRefNodePath(self, nodePath)

Undocumented function.

appInit
def appInit(self)

Undocumented function.

createInterface
def createInterface(self)

Undocumented function.

onDestroy
def onDestroy(self, event)

Undocumented function.

printNodePathInfo
def printNodePathInfo(self)

Undocumented function.

pushRedo
def pushRedo(self)

Undocumented function.

pushRedoHook
def pushRedoHook(self)

Undocumented function.

pushUndo
def pushUndo(self, fResetRedo=1)

Undocumented function.

pushUndoHook
def pushUndoHook(self)

Undocumented function.

redoHook
def redoHook(self, nodePathList=[])

Undocumented function.

redoListEmptyHook
def redoListEmptyHook(self)

Undocumented function.

resetAll
def resetAll(self)

Undocumented function.

resetHpr
def resetHpr(self)

Undocumented function.

resetPos
def resetPos(self)

Undocumented function.

resetScale
def resetScale(self)

Undocumented function.

selectNodePathNamed
def selectNodePathNamed(self, name)

Undocumented function.

selectRefNodePathNamed
def selectRefNodePathNamed(self, name)

Undocumented function.

setActiveNodePath
def setActiveNodePath(self, nodePath)

Undocumented function.

setMovementMode
def setMovementMode(self, movementMode)

Undocumented function.

setReferenceNodePath
def setReferenceNodePath(self, nodePath)

Undocumented function.

setScalingMode
def setScalingMode(self)

Undocumented function.

undoHook
def undoHook(self, nodePathList=[])

Undocumented function.

undoListEmptyHook
def undoListEmptyHook(self)

Undocumented function.

unitScale
def unitScale(self)

Undocumented function.

updateAuxiliaryCoordinateSystems
def updateAuxiliaryCoordinateSystems(self)

Undocumented function.

updateHprWidgets
def updateHprWidgets(self, hpr)

Undocumented function.

updatePlacer
def updatePlacer(self)

Undocumented function.

updatePosWidgets
def updatePosWidgets(self, pos)

Undocumented function.

updateResetValues
def updateResetValues(self, nodePath)

Undocumented function.

updateScaleWidgets
def updateScaleWidgets(self, scale)

Undocumented function.

xform
def xform(self, value, axis)

Undocumented function.

xformOrbit
def xformOrbit(self, value, axis)

Undocumented function.

xformRelative
def xformRelative(self, value, axis)

Undocumented function.

xformScale
def xformScale(self, value, axis)

Undocumented function.

xformStart
def xformStart(self, data)

Undocumented function.

xformStop
def xformStop(self, data)

Undocumented function.

zeroAll
def zeroAll(self)

Undocumented function.

zeroHpr
def zeroHpr(self)

Undocumented function.

zeroPos
def zeroPos(self)

Undocumented function.


Planef

    from pandac.PandaModules import Planef
    Filename: plane_src.h Created by: mike (09Jan97)
    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."
    Class : Plane
    Description : An abstract mathematical description of a plane. A plane is defined by the equation Ax + By + Cz + D = 0.

Inheritance:

    Planef: LVecBase4f
    LVecBase4f:

Methods of Planef:

    Planef (Constructor)
    distToPlane
    getNormal
    getPoint
    getReflectionMat
    intersectsLine
    intersectsParabola
    intersectsPlane
    operator *
    operator *=
    operator -
    output
    project
    write
    xform

Methods of LVecBase4f:

    LVecBase4f (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
Planef
Planef::Planef(void);

Filename: plane_src.I Created by: mike (09Jan97)
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."
Description: Creates a default plane. This plane happens to intersect the origin, perpendicular to the Z axis. It's not clear how useful a default plane is.
Description:
Description: Constructs a plane given three counter-clockwise points, as seen from the front of the plane (that is, viewed from the end of the normal vector, looking down).
Description: Constructs a plane given a surface normal vector and a point within the plane.
Description: Constructs a plane given the four terms of the plane equation.

distToPlane
float Planef::dist_to_plane(LPoint3f const &point) const;

Description: Returns the straight-line shortest distance from the point to the plane. The returned value is positive if the point is in front of the plane (on the side with the normal), or negative in the point is behind the plane (on the opposite side from the normal). It's zero if the point is exactly in the plane.

getNormal
LVector3f Planef::get_normal(void) const;

Description: Returns the surface normal of the plane.

getPoint
LPoint3f Planef::get_point(void) const;

Description: Returns an arbitrary point in the plane. This can be used along with the normal returned by get_normal() to reconstruct the plane.

getReflectionMat
LMatrix4f Planef::get_reflection_mat(void) const;

Filename: plane_src.cxx Created by: drose (03Apr01)
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."
Description: This computes a transform matrix that reflects the universe to the other side of the plane, as in a mirror.

intersectsLine
bool Planef::intersects_line(LPoint3f &intersection_point, LPoint3f const &p1, LPoint3f const &p2) const;

Description: Returns true if the plane intersects the infinite line passing through points p1 and p2, false if the line is parallel. The points p1 and p2 are used only to define the Euclidean line; they have no other bearing on the intersection test. If true, sets intersection_point to the point of intersection.
Description: This flavor of intersects_line() returns a bit more information about the nature of the intersecting point. The line is defined via the parametric equation from + t * delta for all real values of t.
If there is no intersection with the plane, the function returns false and leaves t undefined. If there is an intersection with the plane, the function returns true and sets t to the parametric value that defines the point of intersection. That is, t == 0.0f implies that the intersection occurred exactly at point from, and t == 1.0f implies at point from + delta, with other values of t accordingly.

intersectsParabola
bool Planef::intersects_parabola(float &t1, float &t2, Parabolaf const &parabola) const;

Description: Determines whether and where the indicated parabola intersects with the plane.
If there is no intersection with the plane, the function returns false and leaves t1 and t2 undefined. If there is an intersection with the plane, the function returns true and sets t1 and t2 to the parametric value that defines the two points of intersection. If the parabola is exactly tangent to the plane, then t1 == t2.

intersectsPlane
bool Planef::intersects_plane(LPoint3f &from, LVector3f &delta, Planef const &other) const;

Description: Returns true if the two planes intersect, false if they do not. If they do intersect, then from and delta are filled in with the parametric representation of the line of intersection: that is, from is a point on that line, and delta is a vector showing the direction of the line.

operator *
Planef Planef::operator *(LMatrix3f const &mat) const;

Description: Transforms the plane by the indicated matrix.

operator *=
void Planef::operator *=(LMatrix4f const &mat);

Description: Transforms the plane by the indicated matrix.

operator -
Planef Planef::operator -(void) const;

Undocumented function.

output
void Planef::output(ostream &out) const;

Description:

project
LPoint3f Planef::project(LPoint3f const &point) const;

Description: Returns the point within the plane nearest to the indicated point in space.

write
void Planef::write(ostream &out, int indent_level = (0)) const;

Description:

xform
void Planef::xform(LMatrix4f const &mat);

Description: Transforms the plane by the indicated matrix.

LVecBase4f
LVecBase4f::LVecBase4f(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4f::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4f::add_to_cell(int i, float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4f::add_w(float value);

Description:

addX
void LVecBase4f::add_x(float value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4f::add_y(float value);

Description:

addZ
void LVecBase4f::add_z(float value);

Description:

almostEqual
bool LVecBase4f::almost_equal(LVecBase4f const &other, float threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4f::compare_to(LVecBase4f const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
float LVecBase4f::dot(LVecBase4f const &other) const;

Description:

fill
void LVecBase4f::fill(float fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4f LVecBase4f::fmax(LVecBase4f const &other);

Description:

fmin
LVecBase4f LVecBase4f::fmin(LVecBase4f const &other);

Description:

getCell
float LVecBase4f::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4f::get_class_type(void);

Undocumented function.

getData
float const *LVecBase4f::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4f::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4f::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
float LVecBase4f::get_w(void) const;

Description:

getX
float LVecBase4f::get_x(void) const;

Description:

getY
float LVecBase4f::get_y(void) const;

Description:

getZ
float LVecBase4f::get_z(void) const;

Description:

isNan
bool LVecBase4f::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4f::operator !=(LVecBase4f const &other) const;

Description:

operator *
LVecBase4f LVecBase4f::operator *(float scalar) const;

Description:

operator *=
void LVecBase4f::operator *=(float scalar);

Description:

operator +
LVecBase4f LVecBase4f::operator +(LVecBase4f const &other) const;

Description:

operator +=
void LVecBase4f::operator +=(LVecBase4f const &other);

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -
LVecBase4f LVecBase4f::operator -(LVecBase4f const &other) const;

Description:

operator -=
void LVecBase4f::operator -=(LVecBase4f const &other);

Description:

operator /
LVecBase4f LVecBase4f::operator /(float scalar) const;

Description:

operator /=
void LVecBase4f::operator /=(float scalar);

Description:

operator <
bool LVecBase4f::operator <(LVecBase4f const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4f &LVecBase4f::operator =(LVecBase4f const &copy);

Description:

operator ==
bool LVecBase4f::operator ==(LVecBase4f const &other) const;

Description:

operator []
float LVecBase4f::operator [](int i) const;

Description:

operator delete
void LVecBase4f::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4f::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4f::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4f::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4f::set(float x, float y, float z, float w);

Description:

setCell
void LVecBase4f::set_cell(int i, float value);

Description:

setW
void LVecBase4f::set_w(float value);

Description:

setX
void LVecBase4f::set_x(float value);

Description:

setY
void LVecBase4f::set_y(float value);

Description:

setZ
void LVecBase4f::set_z(float value);

Description:

unitW
static LVecBase4f const &LVecBase4f::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4f const &LVecBase4f::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4f const &LVecBase4f::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4f const &LVecBase4f::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4f::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4f const &LVecBase4f::zero(void);

Description: Returns a zero-length vector.


Planed

    from pandac.PandaModules import Planed
    Filename: plane_src.h Created by: mike (09Jan97)
    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."
    Class : Plane
    Description : An abstract mathematical description of a plane. A plane is defined by the equation Ax + By + Cz + D = 0.

Inheritance:

    Planed: LVecBase4d
    LVecBase4d:

Methods of Planed:

    Planed (Constructor)
    distToPlane
    getNormal
    getPoint
    getReflectionMat
    intersectsLine
    intersectsParabola
    intersectsPlane
    operator *
    operator *=
    operator -
    output
    project
    write
    xform

Methods of LVecBase4d:

    LVecBase4d (Constructor)
    addHash
    addToCell
    addW
    addX
    addY
    addZ
    almostEqual
    compareTo
    dot
    fill
    fmax
    fmin
    getCell
    getClassType
    getData
    getHash
    getNumComponents
    getW
    getX
    getY
    getZ
    isNan
    operator !=
    operator *
    operator *=
    operator +
    operator +=
    operator -
    operator -
    operator -=
    operator /
    operator /=
    operator <
    operator =
    operator ==
    operator []
    operator delete
    operator new
    output
    pythonRepr
    set
    setCell
    setW
    setX
    setY
    setZ
    unitW
    unitX
    unitY
    unitZ
    validatePtr
    zero
Planed
Planed::Planed(void);

Filename: plane_src.I Created by: mike (09Jan97)
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."
Description: Creates a default plane. This plane happens to intersect the origin, perpendicular to the Z axis. It's not clear how useful a default plane is.
Description:
Description: Constructs a plane given three counter-clockwise points, as seen from the front of the plane (that is, viewed from the end of the normal vector, looking down).
Description: Constructs a plane given a surface normal vector and a point within the plane.
Description: Constructs a plane given the four terms of the plane equation.

distToPlane
double Planed::dist_to_plane(LPoint3d const &point) const;

Description: Returns the straight-line shortest distance from the point to the plane. The returned value is positive if the point is in front of the plane (on the side with the normal), or negative in the point is behind the plane (on the opposite side from the normal). It's zero if the point is exactly in the plane.

getNormal
LVector3d Planed::get_normal(void) const;

Description: Returns the surface normal of the plane.

getPoint
LPoint3d Planed::get_point(void) const;

Description: Returns an arbitrary point in the plane. This can be used along with the normal returned by get_normal() to reconstruct the plane.

getReflectionMat
LMatrix4d Planed::get_reflection_mat(void) const;

Filename: plane_src.cxx Created by: drose (03Apr01)
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."
Description: This computes a transform matrix that reflects the universe to the other side of the plane, as in a mirror.

intersectsLine
bool Planed::intersects_line(LPoint3d &intersection_point, LPoint3d const &p1, LPoint3d const &p2) const;

Description: Returns true if the plane intersects the infinite line passing through points p1 and p2, false if the line is parallel. The points p1 and p2 are used only to define the Euclidean line; they have no other bearing on the intersection test. If true, sets intersection_point to the point of intersection.
Description: This flavor of intersects_line() returns a bit more information about the nature of the intersecting point. The line is defined via the parametric equation from + t * delta for all real values of t.
If there is no intersection with the plane, the function returns false and leaves t undefined. If there is an intersection with the plane, the function returns true and sets t to the parametric value that defines the point of intersection. That is, t == 0.0f implies that the intersection occurred exactly at point from, and t == 1.0f implies at point from + delta, with other values of t accordingly.

intersectsParabola
bool Planed::intersects_parabola(double &t1, double &t2, Parabolad const &parabola) const;

Description: Determines whether and where the indicated parabola intersects with the plane.
If there is no intersection with the plane, the function returns false and leaves t1 and t2 undefined. If there is an intersection with the plane, the function returns true and sets t1 and t2 to the parametric value that defines the two points of intersection. If the parabola is exactly tangent to the plane, then t1 == t2.

intersectsPlane
bool Planed::intersects_plane(LPoint3d &from, LVector3d &delta, Planed const &other) const;

Description: Returns true if the two planes intersect, false if they do not. If they do intersect, then from and delta are filled in with the parametric representation of the line of intersection: that is, from is a point on that line, and delta is a vector showing the direction of the line.

operator *
Planed Planed::operator *(LMatrix3d const &mat) const;

Description: Transforms the plane by the indicated matrix.

operator *=
void Planed::operator *=(LMatrix4d const &mat);

Description: Transforms the plane by the indicated matrix.

operator -
Planed Planed::operator -(void) const;

Undocumented function.

output
void Planed::output(ostream &out) const;

Description:

project
LPoint3d Planed::project(LPoint3d const &point) const;

Description: Returns the point within the plane nearest to the indicated point in space.

write
void Planed::write(ostream &out, int indent_level = (0)) const;

Description:

xform
void Planed::xform(LMatrix4d const &mat);

Description: Transforms the plane by the indicated matrix.

LVecBase4d
LVecBase4d::LVecBase4d(void);

Filename: lvecBase4_src.I Created by: drose (08Mar00)
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."
Description:

addHash
unsigned int LVecBase4d::add_hash(unsigned int hash) const;

Description: Adds the vector into the running hash.

addToCell
void LVecBase4d::add_to_cell(int i, double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addW
void LVecBase4d::add_w(double value);

Description:

addX
void LVecBase4d::add_x(double value);

These next functions add to an existing value. i.e. foo.set_x(foo.get_x() + value) These are useful to reduce overhead in scripting languages:
Description:

addY
void LVecBase4d::add_y(double value);

Description:

addZ
void LVecBase4d::add_z(double value);

Description:

almostEqual
bool LVecBase4d::almost_equal(LVecBase4d const &other, double threshold) const;

Description: Returns true if two vectors are memberwise equal within a specified tolerance.
Description: Returns true if two vectors are memberwise equal within a default tolerance based on the numeric type.

compareTo
int LVecBase4d::compare_to(LVecBase4d const &other) const;

Description: This flavor of compare_to uses a default threshold value based on the numeric type.
Description: Sorts vectors lexicographically, componentwise. Returns a number less than 0 if this vector sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent (within the indicated tolerance).

dot
double LVecBase4d::dot(LVecBase4d const &other) const;

Description:

fill
void LVecBase4d::fill(double fill_value);

Description: Sets each element of the vector to the indicated fill_value. This is particularly useful for initializing to zero.

fmax
LVecBase4d LVecBase4d::fmax(LVecBase4d const &other);

Description:

fmin
LVecBase4d LVecBase4d::fmin(LVecBase4d const &other);

Description:

getCell
double LVecBase4d::get_cell(int i) const;

Description:

getClassType
static TypeHandle LVecBase4d::get_class_type(void);

Undocumented function.

getData
double const *LVecBase4d::get_data(void) const;

Description: Returns the address of the first of the four data elements in the vector. The remaining elements occupy the next positions consecutively in memory.

getHash
unsigned int LVecBase4d::get_hash(void) const;

Description: Returns a suitable hash for phash_map.

getNumComponents
int LVecBase4d::get_num_components(void) const;

Description: Returns the number of elements in the vector, four.

getW
double LVecBase4d::get_w(void) const;

Description:

getX
double LVecBase4d::get_x(void) const;

Description:

getY
double LVecBase4d::get_y(void) const;

Description:

getZ
double LVecBase4d::get_z(void) const;

Description:

isNan
bool LVecBase4d::is_nan(void) const;

Description: Returns true if any component of the vector is not-a-number, false otherwise.

operator !=
bool LVecBase4d::operator !=(LVecBase4d const &other) const;

Description:

operator *
LVecBase4d LVecBase4d::operator *(double scalar) const;

Description:

operator *=
void LVecBase4d::operator *=(double scalar);

Description:

operator +
LVecBase4d LVecBase4d::operator +(LVecBase4d const &other) const;

Description:

operator +=
void LVecBase4d::operator +=(LVecBase4d const &other);

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -
LVecBase4d LVecBase4d::operator -(LVecBase4d const &other) const;

Description:

operator -=
void LVecBase4d::operator -=(LVecBase4d const &other);

Description:

operator /
LVecBase4d LVecBase4d::operator /(double scalar) const;

Description:

operator /=
void LVecBase4d::operator /=(double scalar);

Description:

operator <
bool LVecBase4d::operator <(LVecBase4d const &other) const;

Description: This performs a lexicographical comparison. It's of questionable mathematical meaning, but sometimes has a practical purpose for sorting unique vectors, especially in an STL container. Also see compare_to().

operator =
LVecBase4d &LVecBase4d::operator =(LVecBase4d const &copy);

Description:

operator ==
bool LVecBase4d::operator ==(LVecBase4d const &other) const;

Description:

operator []
double LVecBase4d::operator [](int i) const;

Description:

operator delete
void LVecBase4d::operator delete(void *ptr);

Undocumented function.

operator new
void *LVecBase4d::operator new(unsigned int size);

Undocumented function.

output
void LVecBase4d::output(ostream &out) const;

Description:

pythonRepr
void LVecBase4d::python_repr(ostream &out, string const &class_name) const;

Description:

set
void LVecBase4d::set(double x, double y, double z, double w);

Description:

setCell
void LVecBase4d::set_cell(int i, double value);

Description:

setW
void LVecBase4d::set_w(double value);

Description:

setX
void LVecBase4d::set_x(double value);

Description:

setY
void LVecBase4d::set_y(double value);

Description:

setZ
void LVecBase4d::set_z(double value);

Description:

unitW
static LVecBase4d const &LVecBase4d::unit_w(void);

Description: Returns a unit W vector.

unitX
static LVecBase4d const &LVecBase4d::unit_x(void);

Description: Returns a unit X vector.

unitY
static LVecBase4d const &LVecBase4d::unit_y(void);

Description: Returns a unit Y vector.

unitZ
static LVecBase4d const &LVecBase4d::unit_z(void);

Description: Returns a unit Z vector.

validatePtr
static bool LVecBase4d::validate_ptr(void const *ptr);

Undocumented function.

zero
static LVecBase4d const &LVecBase4d::zero(void);

Description: Returns a zero-length vector.


PlaneNode

    from pandac.PandaModules import PlaneNode
    Class : PlaneNode
    Description : A node that contains a plane. This is most often used as a clipping plane, but it can serve other purposes as well; whenever a plane is needed to be defined in some coordinate space in the world.

Inheritance:

    PlaneNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PlaneNode:

    PlaneNode (Constructor)
    getClassType
    getClipEffect
    getPlane
    getPriority
    getVizScale
    setClipEffect
    setPlane
    setPriority
    setVizScale

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PlaneNode:

    CEVisible | (ClipEffect)
CECollision | (ClipEffect)

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PlaneNode
PlaneNode::PlaneNode(string const &name, Planef const &plane = ((())));

Description:

getClassType
static TypeHandle PlaneNode::get_class_type(void);

Undocumented function.

getClipEffect
int PlaneNode::get_clip_effect(void) const;

Description: Returns the clip_effect bits for this clip plane. See set_clip_effect().

getPlane
Planef const &PlaneNode::get_plane(void) const;

Description: Returns the plane represented by the PlaneNode.

getPriority
int PlaneNode::get_priority(void) const;

Description: Returns the priority associated with this clip plane. See set_priority().

getVizScale
float PlaneNode::get_viz_scale(void) const;

Description: Returns the size of the visual representation of the plane that is drawn if the PlaneNode is shown.

setClipEffect
void PlaneNode::set_clip_effect(int clip_effect);

Description: Specifies the sort of things this plane will actually clip (when it is used as a clip plane). This is a bitmask union of ClipEffect values. If it includes CE_visible, then it will clip visible geometry; if it includes CE_collision, then it will clip collision polygons. If it includes neither bit, it will still affect culling, but objects will either be wholly behind the clipping plane, or wholly present.

setPlane
void PlaneNode::set_plane(Planef const &plane);

Description: Sets the particular plane represented by the PlaneNode.

setPriority
void PlaneNode::set_priority(int priority);

Description: Changes the relative importance of this PlaneNode (when it is used as a clip plane) relative to the other clip planes that are applied simultaneously.
The priority number is used to decide which of the requested clip planes are to be activated when more clip planes are requested than the hardware will support. The highest-priority n planes are selected for rendering.
This is similar to TextureStage::set_priority().

setVizScale
void PlaneNode::set_viz_scale(float viz_scale);

Description: Specifies the size of the visual representation of the plane that is drawn if the PlaneNode is shown.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PNMBrush

    from pandac.PandaModules import PNMBrush
    Class : PNMBrush
    Description : This class is used to control the shape and color of the drawing operations performed by a PNMPainter object.
    Normally, you don't create a PNMBrush directly; instead, use one of the static PNMBrush::make_*() methods provided here.
    A PNMBrush is used to draw the border of a polygon or rectangle, as well as for filling its interior. When it is used to draw a border, the brush is "smeared" over the border; when it is used to fill the interior, it is tiled through the interior.

Inheritance:

    PNMBrush: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of PNMBrush:

    makeImage
    makePixel
    makeSpot
    makeTransparent

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PNMBrush:

    BESet | (BrushEffect)
BEBlend | (BrushEffect)
BEDarken | (BrushEffect)
BELighten | (BrushEffect)
makeImage
static PointerTo< PNMBrush > PNMBrush::make_image(PNMImage const &image, double xc, double yc, PNMBrush::BrushEffect effect = (BE_blend));

Description: Returns a new brush that paints with the indicated image. xc and yc indicate the pixel in the center of the brush.
The brush makes a copy of the image; it is safe to deallocate or modify the image after making this call.

makePixel
static PointerTo< PNMBrush > PNMBrush::make_pixel(LVecBase4d const &color, PNMBrush::BrushEffect effect = (BE_blend));

Description: Returns a new brush that paints a single pixel of the indicated color on a border, or paints a solid color in an interior.

makeSpot
static PointerTo< PNMBrush > PNMBrush::make_spot(LVecBase4d const &color, double radius, bool fuzzy, PNMBrush::BrushEffect effect = (BE_blend));

Description: Returns a new brush that paints a spot of the indicated color and radius. If fuzzy is true, the spot is fuzzy; otherwise, it is hard-edged.

makeTransparent
static PointerTo< PNMBrush > PNMBrush::make_transparent(void);

Description: Returns a new brush that does not paint anything. Can be used as either a pen or a fill brush to make borderless or unfilled shapes, respectively.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PNMFileType

    from pandac.PandaModules import PNMFileType
    Class : PNMFileType
    Description : This is the base class of a family of classes that represent particular image file types that PNMImage supports.

Inheritance:

    PNMFileType: TypedWritable
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of PNMFileType:

    getClassType
    getExtension
    getName
    getNumExtensions
    getSuggestedExtension

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
getClassType
static TypeHandle PNMFileType::get_class_type(void);

Undocumented function.

getExtension
virtual string PNMFileType::get_extension(int n) const;

Description: Returns the nth possible filename extension associated with this particular file type, without a leading dot.

getName
virtual string PNMFileType::get_name(void) const = 0;

Undocumented function.

getNumExtensions
virtual int PNMFileType::get_num_extensions(void) const;

Description: Returns the number of different possible filename extensions associated with this particular file type.

getSuggestedExtension
virtual string PNMFileType::get_suggested_extension(void) const;

Description: Returns a suitable filename extension (without a leading dot) to suggest for files of this type, or empty string if no suggestions are available.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


PNMFileTypeRegistry

    from pandac.PandaModules import PNMFileTypeRegistry
    Class : PNMFileTypeRegistry
    Description : This class maintains the set of all known PNMFileTypes in the universe.

Inheritance:

    PNMFileTypeRegistry:

Methods of PNMFileTypeRegistry:

    getGlobalPtr
    getNumTypes
    getType
    getTypeByHandle
    getTypeFromExtension
    getTypeFromMagicNumber
    write
getGlobalPtr
static PNMFileTypeRegistry *PNMFileTypeRegistry::get_global_ptr(void);

Description: Returns a pointer to the global PNMFileTypeRegistry object.

getNumTypes
int PNMFileTypeRegistry::get_num_types(void) const;

Description: Returns the total number of types registered.

getType
PNMFileType *PNMFileTypeRegistry::get_type(int n) const;

Description: Returns the nth type registered.

getTypeByHandle
PNMFileType *PNMFileTypeRegistry::get_type_by_handle(TypeHandle handle) const;

Description: Returns the PNMFileType instance stored in the registry for the given TypeHandle, e.g. as retrieved by a previous call to get_type() on the type instance.

getTypeFromExtension
PNMFileType *PNMFileTypeRegistry::get_type_from_extension(string const &filename) const;

Description: Tries to determine what the PNMFileType is likely to be for a particular image file based on its extension. Returns a suitable PNMFileType pointer, or NULL if no type can be determined.

getTypeFromMagicNumber
PNMFileType *PNMFileTypeRegistry::get_type_from_magic_number(string const &magic_number) const;

Description: Tries to determine what the PNMFileType is likely to be for a particular image file based on its magic number, the first two bytes read from the file. Returns a suitable PNMFileType pointer, or NULL if no type can be determined.

write
void PNMFileTypeRegistry::write(ostream &out, int indent_level = (0)) const;

Description: Writes a list of supported image file types to the indicated output stream, one per line.


PNMImage

    from pandac.PandaModules import PNMImage
    Class : PNMImage
    Description : The name of this class derives from the fact that we originally implemented it as a layer on top of the "pnm library", based on netpbm, which was built to implement pbm, pgm, and pbm files, and is the underlying support of a number of public-domain image file converters. Nowadays we are no longer derived directly from the pnm library, mainly to allow support of C++ iostreams instead of the C stdio FILE interface.
    Conceptually, a PNMImage is a two-dimensional array of xels, which are the PNM-defined generic pixel type. Each xel may have a red, green, and blue component, or (if the image is grayscale) a gray component. The image may be read in, the individual xels manipulated, and written out again, or a black image may be constructed from scratch.
    The image is of size XSize() by YSize() xels, numbered from top to bottom, left to right, beginning at zero.
    Files can be specified by filename, or by an iostream pointer. The filename "-" refers to stdin or stdout.

Inheritance:

    PNMImage: PNMImageHeader
    PNMImageHeader:

Methods of PNMImage:

    PNMImage (Constructor)
    addAlpha
    alphaFill
    alphaFillVal
    blend
    blendSubImage
    boxFilter
    boxFilterFrom
    clampVal
    clear
    clearReadSize
    copyFrom
    copyHeaderFrom
    copySubImage
    darkenSubImage
    expandBorder
    fill
    fillVal
    fromVal
    gaussianFilter
    gaussianFilterFrom
    getAlpha
    getAlphaVal
    getBlue
    getBlueVal
    getBright
    getChannel
    getChannelVal
    getGray
    getGrayVal
    getGreen
    getGreenVal
    getReadXSize
    getReadYSize
    getRed
    getRedVal
    getXel
    getXelA
    getXelVal
    hasReadSize
    isValid
    lightenSubImage
    makeGrayscale
    makeRgb
    operator =
    operator []
    quickFilterFrom
    read
    remixChannels
    removeAlpha
    renderSpot
    setAlpha
    setAlphaVal
    setBlue
    setBlueVal
    setChannel
    setChannelVal
    setColorType
    setGray
    setGrayVal
    setGreen
    setGreenVal
    setMaxval
    setNumChannels
    setReadSize
    setRed
    setRedVal
    setXel
    setXelA
    setXelVal
    takeFrom
    toVal
    write

Methods of PNMImageHeader:

    PNMImageHeader (Constructor)
    getColorType
    getComment
    getMaxval
    getNumChannels
    getType
    getXSize
    getYSize
    hasAlpha
    hasType
    isGrayscale
    makeReader
    makeWriter
    operator =
    output
    readHeader
    readMagicNumber
    setComment
    setType

Constants in PNMImageHeader:

    CTInvalid | (ColorType)
CTGrayscale | (ColorType)
CTTwoChannel | (ColorType)
CTColor | (ColorType)
CTFourChannel | (ColorType)
PNMImage
PNMImage::PNMImage(void);

Description:

addAlpha
void PNMImage::add_alpha(void);

Description: Adds an alpha channel to the image, if it does not already have one. The alpha channel is initialized to zeros.

alphaFill
void PNMImage::alpha_fill(double alpha = (0));

Description: Sets the entire alpha channel to the given level.

alphaFillVal
void PNMImage::alpha_fill_val(unsigned short int alpha = (0));

Description: Sets the entire alpha channel to the given level.

blend
void PNMImage::blend(int x, int y, LVecBase3d const &val, double alpha);

Description: Smoothly blends the indicated pixel value in with whatever was already in the image, based on the given alpha value. An alpha of 1.0 is fully opaque and completely replaces whatever was there previously; alpha of 0.0 is fully transparent and does nothing.

blendSubImage
void PNMImage::blend_sub_image(PNMImage const &copy, int xto, int yto, int xfrom = (0), int yfrom = (0), int x_size = (-1), int y_size = (-1), double pixel_scale = (1));

Description: Behaves like copy_sub_image(), except the alpha channel of the copy is used to blend the copy into the destination image, instead of overwriting pixels unconditionally.
If pixel_scale is not 1.0, it specifies an amount to scale each *alpha* value of the source image before applying it to the target image.
If pixel_scale is 1.0 and the copy has no alpha channel, this degenerates into copy_sub_image().

boxFilter
void PNMImage::box_filter(double radius = (1));

The bodies for the non-inline *_filter() functions can be found in the file pnm-image-filter.cxx.
Description: This flavor of box_filter() will apply the filter over the entire image without resizing or copying; the effect is that of a blur operation.

boxFilterFrom
void PNMImage::box_filter_from(double radius, PNMImage const &copy);

Description: Makes a resized copy of the indicated image into this one using the indicated filter. The image to be copied is squashed and stretched to match the dimensions of the current image, applying the appropriate filter to perform the stretching.

clampVal
unsigned short int PNMImage::clamp_val(int input_value) const;

Description: A handy function to clamp values to [0..get_maxval()].

clear
void PNMImage::clear(void);

Description: Frees all memory allocated for the image, and clears all its parameters (size, color, type, etc).
Description: This flavor of clear() reinitializes the image to an empty (black) image with the given dimensions.

clearReadSize
void PNMImage::clear_read_size(void);

Description: Undoes the effect of a previous call to set_read_size().

copyFrom
void PNMImage::copy_from(PNMImage const &copy);

Description: Makes this image become a copy of the other image.

copyHeaderFrom
void PNMImage::copy_header_from(PNMImageHeader const &header);

Description: Copies just the header information into this image. This will blow away any image data stored in the image. The new image data will be allocated, but left unitialized.

copySubImage
void PNMImage::copy_sub_image(PNMImage const &copy, int xto, int yto, int xfrom = (0), int yfrom = (0), int x_size = (-1), int y_size = (-1));

Description: Copies a rectangular area of another image into a rectangular area of this image. Both images must already have been initialized. The upper-left corner of the region in both images is specified, and the size of the area; if the size is omitted, it defaults to the entire other image, or the largest piece that will fit.

darkenSubImage
void PNMImage::darken_sub_image(PNMImage const &copy, int xto, int yto, int xfrom = (0), int yfrom = (0), int x_size = (-1), int y_size = (-1), double pixel_scale = (1));

Description: Behaves like copy_sub_image(), but the resulting color will be the darker of the source and destination colors at each pixel (and at each R, G, B, A component value).
If pixel_scale is not 1.0, it specifies an amount to scale each pixel value of the source image before applying it to the target image. The scale is applied with the center at 1.0: scaling the pixel value smaller brings it closer to 1.0.

expandBorder
void PNMImage::expand_border(int left, int right, int bottom, int top, LVecBase4d const &color);

Description: Expands the image by the indicated number of pixels on each edge. The new pixels are set to the indicated color.
If any of the values is negative, this actually crops the image.

fill
void PNMImage::fill(double red, double green, double blue);

Description: Sets the entire image (except the alpha channel) to the given color.
Description: Sets the entire image (except the alpha channel) to the given grayscale level.

fillVal
void PNMImage::fill_val(unsigned short int red, unsigned short int green, unsigned short int blue);

Description: Sets the entire image (except the alpha channel) to the given grayscale level.
Description: Sets the entire image (except the alpha channel) to the given color.

fromVal
double PNMImage::from_val(unsigned short int input_value) const;

Description: A handy function to scale values from [0..get_maxval()] to [0..1].

gaussianFilter
void PNMImage::gaussian_filter(double radius = (1));

Description: This flavor of gaussian_filter() will apply the filter over the entire image without resizing or copying; the effect is that of a blur operation.

gaussianFilterFrom
void PNMImage::gaussian_filter_from(double radius, PNMImage const &copy);

Description: Makes a resized copy of the indicated image into this one using the indicated filter. The image to be copied is squashed and stretched to match the dimensions of the current image, applying the appropriate filter to perform the stretching.

getAlpha
double PNMImage::get_alpha(int x, int y) const;

Description: Returns the alpha component color at the indicated pixel. It is an error to call this unless has_alpha() is true. The value returned is a double in the range 0..1.

getAlphaVal
unsigned short int PNMImage::get_alpha_val(int x, int y) const;

Description: Returns the alpha component color at the indicated pixel. It is an error to call this unless has_alpha() is true. The value returned is in the range 0..maxval.

getBlue
double PNMImage::get_blue(int x, int y) const;

Description: Returns the blue component color at the indicated pixel. The value returned is a double in the range 0..1.

getBlueVal
unsigned short int PNMImage::get_blue_val(int x, int y) const;

Description: Returns the blue component color at the indicated pixel. The value returned is in the range 0..maxval.

getBright
double PNMImage::get_bright(int x, int y) const;

Description: Returns the linear brightness of the given xel, as a double in the range 0..1. This flavor of get_bright() returns the correct grayscale brightness level for both full-color and grayscale images.
Description: This flavor of get_bright() works correctly only for color images. It returns a single brightness value for the RGB color at the indicated pixel, based on the supplied weights for each component.
Description: This flavor of get_bright() works correctly only for four-channel images. It returns a single brightness value for the RGBA color at the indicated pixel, based on the supplied weights for each component.

getChannel
double PNMImage::get_channel(int x, int y, int channel) const;

Description: Returns the nth component color at the indicated pixel. The channel index should be in the range 0..(get_num_channels()-1). The channels are ordered B, G, R, A. This is slightly less optimal than accessing the component values directly by named methods. The value returned is a double in the range 0..1.

getChannelVal
unsigned short int PNMImage::get_channel_val(int x, int y, int channel) const;

Description: Returns the nth component color at the indicated pixel. The channel index should be in the range 0..(get_num_channels()-1). The channels are ordered B, G, R, A. This is slightly less optimal than accessing the component values directly by named methods. The value returned is in the range 0..maxval.

getGray
double PNMImage::get_gray(int x, int y) const;

Description: Returns the gray component color at the indicated pixel. This only has a meaningful value for grayscale images; for other image types, this returns the value of the blue channel only. However, also see the get_bright() function. The value returned is a double in the range 0..1.

getGrayVal
unsigned short int PNMImage::get_gray_val(int x, int y) const;

Description: Returns the gray component color at the indicated pixel. This only has a meaningful value for grayscale images; for other image types, this returns the value of the blue channel only. However, also see the get_bright() function. The value returned is in the range 0..maxval.

getGreen
double PNMImage::get_green(int x, int y) const;

Description: Returns the green component color at the indicated pixel. The value returned is a double in the range 0..1.

getGreenVal
unsigned short int PNMImage::get_green_val(int x, int y) const;

Description: Returns the green component color at the indicated pixel. The value returned is in the range 0..maxval.

getReadXSize
int PNMImage::get_read_x_size(void) const;

Description: Returns the requested x_size of the image if set_read_size() has been called, or the image x_size otherwise (if it is known).

getReadYSize
int PNMImage::get_read_y_size(void) const;

Description: Returns the requested y_size of the image if set_read_size() has been called, or the image y_size otherwise (if it is known).

getRed
double PNMImage::get_red(int x, int y) const;

Description: Returns the red component color at the indicated pixel. The value returned is a double in the range 0..1.

getRedVal
unsigned short int PNMImage::get_red_val(int x, int y) const;

Description: Returns the red component color at the indicated pixel. The value returned is in the range 0..maxval.

getXel
LVecBase3d PNMImage::get_xel(int x, int y) const;

The corresponding get_xel(), set_xel(), get_red(), etc. functions automatically scale their values by get_maxval() into the range [0..1].
Description: Returns the RGB color at the indicated pixel. Each component is a double in the range 0..1.

getXelA
LVecBase4d PNMImage::get_xel_a(int x, int y) const;

Description: Returns the RGBA color at the indicated pixel. Each component is a double in the range 0..1.

getXelVal
pixel const &PNMImage::get_xel_val(int x, int y) const;

The *_val() functions return or set the color values in the range [0..get_maxval()]. This range may be different for different images! Use the corresponding functions (without _val()) to work in the normalized range [0..1].
Description: Returns the RGB color at the indicated pixel. Each component is in the range 0..maxval.

hasReadSize
bool PNMImage::has_read_size(void) const;

Description: Returns true if set_read_size() has been called.

isValid
bool PNMImage::is_valid(void) const;

Description: Returns true if the image has been read in or correctly initialized with a height and width. If this returns false, virtually all member functions except clear() and read() are invalid function calls.

lightenSubImage
void PNMImage::lighten_sub_image(PNMImage const &copy, int xto, int yto, int xfrom = (0), int yfrom = (0), int x_size = (-1), int y_size = (-1), double pixel_scale = (1));

Description: Behaves like copy_sub_image(), but the resulting color will be the lighter of the source and destination colors at each pixel (and at each R, G, B, A component value).
If pixel_scale is not 1.0, it specifies an amount to scale each pixel value of the source image before applying it to the target image.

makeGrayscale
void PNMImage::make_grayscale(void);

Description: Converts the image from RGB to grayscale. Any alpha channel, if present, is left undisturbed.
Description: Converts the image from RGB to grayscale. Any alpha channel, if present, is left undisturbed. The optional rc, gc, bc values represent the relative weights to apply to each channel to convert it to grayscale.

makeRgb
void PNMImage::make_rgb(void);

Description: Converts the image from grayscale to RGB. Any alpha channel, if present, is left undisturbed.

operator =
void PNMImage::operator =(PNMImage const &copy);

Description:

operator []
pixel *PNMImage::operator [](int y);

If you're used to the NetPBM library and like working with a 2-d array of xels, and using the PNM macros to access their components, you may treat the PNMImage as such directly.
Description: Allows the PNMImage to appear to be a 2-d array of xels.

quickFilterFrom
void PNMImage::quick_filter_from(PNMImage const &copy, int xborder = (0), int yborder = (0));

Description: Resizes from the given image, with a fixed radius of 0.5. This is a very specialized and simple algorithm that doesn't handle dropping below the Nyquist rate very well, but is quite a bit faster than the more general box_filter(), above. If borders are specified, they will further restrict the size of the resulting image. There's no point in using quick_box_filter() on a single image.

read
bool PNMImage::read(Filename const &filename, PNMFileType *type = ((void *)(0)), bool report_unknown_type = (1));

Description: Reads the indicated image filename. If type is non-NULL, it is a suggestion for the type of file it is. Returns true if successful, false on error.
Description: Reads the image data from the indicated stream.
The filename is advisory only, and may be used to suggest a type if it has a known extension.
If type is non-NULL, it is a suggestion for the type of file it is (and a non-NULL type will override any magic number test or filename extension lookup).
Returns true if successful, false on error.
Description: This flavor of read() uses an already-existing PNMReader to read the image file. You can get a reader via the PNMImageHeader::make_reader() methods. This is a good way to examine the header of a file (for instance, to determine its size) before actually reading the entire image.
The PNMReader is always deleted upon completion, whether succesful or not.

remixChannels
void PNMImage::remix_channels(LMatrix4f const &conv);

Description: Transforms every pixel using the operation (Ro,Go,Bo) = conv.xform_point(Ri,Gi,Bi); Input must be a color image.

removeAlpha
void PNMImage::remove_alpha(void);

Description: Removes the image's alpha channel, if it exists.

renderSpot
void PNMImage::render_spot(LVecBase4d const &fg, LVecBase4d const &bg, double min_radius, double max_radius);

Description: Renders a solid-color circle, with a fuzzy edge, into the center of the PNMImage. If the PNMImage is non-square, this actually renders an ellipse.
The min_radius and max_radius are in the scale 0..1, where 1.0 means the full width of the image. If min_radius == max_radius, the edge is sharp (but still antialiased); otherwise, the pixels between min_radius and max_radius are smoothly blended between fg and bg colors.

setAlpha
void PNMImage::set_alpha(int x, int y, double a);

Description: Sets the alpha component color only at the indicated pixel. It is an error to call this unless has_alpha() is true. The value given should be in the range 0..1.

setAlphaVal
void PNMImage::set_alpha_val(int x, int y, unsigned short int a);

Description: Sets the alpha component color only at the indicated pixel. It is an error to call this unless has_alpha() is true. The value given should be in the range 0..maxval.

setBlue
void PNMImage::set_blue(int x, int y, double b);

Description: Sets the blue component color only at the indicated pixel. The value given should be a double in the range 0..1.

setBlueVal
void PNMImage::set_blue_val(int x, int y, unsigned short int b);

Description: Sets the blue component color only at the indicated pixel. The value given should be in the range 0..maxval.

setChannel
void PNMImage::set_channel(int x, int y, int channel, double value);

Description: Sets the nth component color at the indicated pixel. The channel index should be in the range 0..(get_num_channels()-1). The channels are ordered B, G, R, A. This is slightly less optimal than setting the component values directly by named methods. The value given should be a double in the range 0..1.

setChannelVal
void PNMImage::set_channel_val(int x, int y, int channel, unsigned short int value);

Description: Sets the nth component color at the indicated pixel. The channel index should be in the range 0..(get_num_channels()-1). The channels are ordered B, G, R, A. This is slightly less optimal than setting the component values directly by named methods. The value given should be in the range 0..maxval.

setColorType
void PNMImage::set_color_type(PNMImageHeader::ColorType color_type);

Description: Translates the image to or from grayscale, color, or four-color mode. Grayscale images are converted to full-color images with R, G, B set to the original gray level; color images are converted to grayscale according to the value of Bright(). The alpha channel, if added, is initialized to zero.

setGray
void PNMImage::set_gray(int x, int y, double gray);

Description: Sets the gray component color at the indicated pixel. This is only meaningful for grayscale images; for other image types, this simply sets the blue component color. However, also see set_xel(), which can set all the component colors to the same grayscale level, and hence works correctly both for grayscale and color images. The value given should be a double in the range 0..1.

setGrayVal
void PNMImage::set_gray_val(int x, int y, unsigned short int gray);

Description: Sets the gray component color at the indicated pixel. This is only meaningful for grayscale images; for other image types, this simply sets the blue component color. However, also see set_xel_val(), which can set all the component colors to the same grayscale level, and hence works correctly both for grayscale and color images. The value given should be in the range 0..maxval.

setGreen
void PNMImage::set_green(int x, int y, double g);

Description: Sets the green component color only at the indicated pixel. The value given should be a double in the range 0..1.

setGreenVal
void PNMImage::set_green_val(int x, int y, unsigned short int g);

Description: Sets the green component color only at the indicated pixel. The value given should be in the range 0..maxval.

setMaxval
void PNMImage::set_maxval(unsigned short int maxval);

Description: Rescales the image to the indicated maxval.

setNumChannels
void PNMImage::set_num_channels(int num_channels);

Description: Changes the number of channels associated with the image. The new number of channels must be an integer in the range 1 through 4, inclusive. This will allocate and/or deallocate memory as necessary to accomodate; see set_color_type().

setReadSize
void PNMImage::set_read_size(int x_size, int y_size);

Description: Specifies the size to we'd like to scale the image upon reading it. This will affect the next call to read(). This is usually used to reduce the image size, e.g. for a thumbnail.
If the file type reader supports it (e.g. JPEG), then this will scale the image during the read operation, consequently reducing memory and CPU utilization. If the file type reader does not support it, this will load the image normally, and them perform a linear scale after it has been loaded.

setRed
void PNMImage::set_red(int x, int y, double r);

Description: Sets the red component color only at the indicated pixel. The value given should be a double in the range 0..1.

setRedVal
void PNMImage::set_red_val(int x, int y, unsigned short int r);

Description: Sets the red component color only at the indicated pixel. The value given should be in the range 0..maxval.

setXel
void PNMImage::set_xel(int x, int y, LVecBase3d const &value);

Description: Changes the RGB color at the indicated pixel. Each component is a double in the range 0..1.
Description: Changes all three color components at the indicated pixel to the same value. The value is a double in the range 0..1.

setXelA
void PNMImage::set_xel_a(int x, int y, LVecBase4d const &value);

Description: Changes the RGBA color at the indicated pixel. Each component is a double in the range 0..1.

setXelVal
void PNMImage::set_xel_val(int x, int y, pixel const &value);

Description: Changes the RGB color at the indicated pixel. Each component is in the range 0..maxval.
Description: Changes all three color components at the indicated pixel to the same value. The value is in the range 0..maxval.

takeFrom
void PNMImage::take_from(PNMImage &orig);

Description: Move the contents of the other image into this one, and empty the other image.

toVal
unsigned short int PNMImage::to_val(double input_value) const;

Description: A handy function to scale values from [0..1] to [0..get_maxval()].

write
bool PNMImage::write(Filename const &filename, PNMFileType *type = ((void *)(0))) const;

Description: Writes the image to the indicated filename. If type is non-NULL, it is a suggestion for the type of image file to write.
Description: Writes the image to the indicated ostream.
The filename is advisory only, and may be used suggest a type if it has a known extension.
If type is non-NULL, it is a suggestion for the type of image file to write.
Description: This flavor of write() uses an already-existing PNMWriter to write the image file. You can get a writer via the PNMImageHeader::make_writer() methods.
The PNMWriter is always deleted upon completion, whether succesful or not.

PNMImageHeader
PNMImageHeader::PNMImageHeader(void);

Description:

getColorType
PNMImageHeader::ColorType PNMImageHeader::get_color_type(void) const;

Description: Returns the image type of the image, as an enumerated value. This is really just the number of channels cast to the enumerated type.

getComment
string PNMImageHeader::get_comment(void) const;

Description: Gets the user comment from the file.

getMaxval
unsigned short int PNMImageHeader::get_maxval(void) const;

Description: Returns the maximum channel value allowable for any pixel in this image; for instance, 255 for a typical 8-bit-per-channel image. A pixel with this value is full on.

getNumChannels
int PNMImageHeader::get_num_channels(void) const;

Description: Returns the number of channels in the image.

getType
PNMFileType *PNMImageHeader::get_type(void) const;

Description: If the file type is known (e.g. has_type() returns true), returns its PNMFileType pointer; otherwise, returns NULL.

getXSize
int PNMImageHeader::get_x_size(void) const;

Description: Returns the number of pixels in the X direction. This is one more than the largest allowable X coordinate.

getYSize
int PNMImageHeader::get_y_size(void) const;

Description: Returns the number of pixels in the Y direction. This is one more than the largest allowable Y coordinate.

hasAlpha
static bool PNMImageHeader::has_alpha(PNMImageHeader::ColorType color_type);

Description: This static variant of has_alpha() returns true if the indicated image type includes an alpha channel, false otherwise.
Description: Returns true if the image includes an alpha channel, false otherwise. Unlike is_grayscale(), if this returns false it is an error to call any of the functions accessing the alpha channel.

hasType
bool PNMImageHeader::has_type(void) const;

Description: Returns true if the PNMImageHeader knows what type it is, false otherwise.

isGrayscale
static bool PNMImageHeader::is_grayscale(PNMImageHeader::ColorType color_type);

Description: This static variant of is_grayscale() returns true if the indicated image type represents a grayscale image, false otherwise.
Description: Returns false if the image is a full-color image, and has red, green, and blue components; true if it is a grayscale image and has only a gray component. (The gray color is actually stored in the blue channel, and the red and green channels are ignored.)

makeReader
PNMReader *PNMImageHeader::make_reader(Filename const &filename, PNMFileType *type = ((void *)(0)), bool report_unknown_type = (1)) const;

Description: Returns a newly-allocated PNMReader of the suitable type for reading from the indicated image filename, or NULL if the filename cannot be read for some reason. The filename "-" always stands for standard input. If type is specified, it is a suggestion for the file type to use.
The PNMReader should be deleted when it is no longer needed.
Description: Returns a newly-allocated PNMReader of the suitable type for reading from the already-opened image file, or NULL if the file cannot be read for some reason.
owns_file should be set true if the PNMReader is to be considered the owner of the stream pointer (in which case the stream will be deleted on completion, whether successful or not), or false if it should not delete it.
The filename parameter is optional here, since the file has already been opened; it is only used to examine the extension and attempt to guess the file type.
If magic_number is nonempty, it is assumed to represent the first few bytes that have already been read from the file. Some file types may have difficulty if this is more than two bytes.
If type is non-NULL, it is a suggestion for the file type to use.

makeWriter
PNMWriter *PNMImageHeader::make_writer(Filename const &filename, PNMFileType *type = ((void *)(0))) const;

Description: Returns a newly-allocated PNMWriter of the suitable type for writing an image to the indicated filename, or NULL if the filename cannot be written for some reason. The filename "-" always stands for standard output. If type is specified, it is a suggestion for the file type to use.
The PNMWriter should be deleted when it is no longer needed.
Description: Returns a newly-allocated PNMWriter of the suitable type for writing to the already-opened image file, or NULL if the file cannot be written for some reason.
owns_file should be set true if the PNMWriter is to be considered the owner of the stream pointer (in which case the stream will be deleted on completion, whether successful or not), or false if it should not delete it.
The filename parameter is optional here, since the file has already been opened; it is only used to examine the extension and attempt to guess the intended file type.
If type is non-NULL, it is a suggestion for the file type to use.

operator =
void PNMImageHeader::operator =(PNMImageHeader const &copy);

Description:

output
void PNMImageHeader::output(ostream &out) const;

Description:

readHeader
bool PNMImageHeader::read_header(Filename const &filename, PNMFileType *type = ((void *)(0)), bool report_unknown_type = (1));

Description: Opens up the image file and tries to read its header information to determine its size, number of channels, etc. If successful, updates the header information and returns true; otherwise, returns false.
Description: Reads the image header information only from the indicated stream.
The filename is advisory only, and may be used to suggest a type if it has a known extension.
If type is non-NULL, it is a suggestion for the type of file it is (and a non-NULL type will override any magic number test or filename extension lookup).
Returns true if successful, false on error.

readMagicNumber
static bool PNMImageHeader::read_magic_number(istream *file, string &magic_number, int num_bytes);

Description: Ensures that the first n bytes of the file are read into magic_number. If magic_number is initially nonempty, assumes these represent the first few bytes already extracted. Returns true if successful, false if an end of file or error occurred before num_bytes could be read.

setComment
void PNMImageHeader::set_comment(string const &comment);

Description: Writes a user comment string to the image (header).

setType
void PNMImageHeader::set_type(PNMFileType *type);

Description: Sets the file type of this PNMImage. This will be the default type used when an image is read, if the type cannot be determined by magic number or inferred by extension, or the type used when the image is written, if the type cannot be inferred from the filename extension.


PNMImageHeader

    from pandac.PandaModules import PNMImageHeader
    Class : PNMImageHeader
    Description : This is the base class of PNMImage, PNMReader, and PNMWriter. It encapsulates all the information associated with an image that describes its size, number of channels, etc; that is, all the information about the image except the image data itself. It's the sort of information you typically read from the image file's header.

Inheritance:

    PNMImageHeader:

Methods of PNMImageHeader:

    PNMImageHeader (Constructor)
    getColorType
    getComment
    getMaxval
    getNumChannels
    getType
    getXSize
    getYSize
    hasAlpha
    hasType
    isGrayscale
    makeReader
    makeWriter
    operator =
    output
    readHeader
    readMagicNumber
    setComment
    setType

Constants in PNMImageHeader:

    CTInvalid | (ColorType)
CTGrayscale | (ColorType)
CTTwoChannel | (ColorType)
CTColor | (ColorType)
CTFourChannel | (ColorType)
PNMImageHeader
PNMImageHeader::PNMImageHeader(void);

Description:

getColorType
PNMImageHeader::ColorType PNMImageHeader::get_color_type(void) const;

Description: Returns the image type of the image, as an enumerated value. This is really just the number of channels cast to the enumerated type.

getComment
string PNMImageHeader::get_comment(void) const;

Description: Gets the user comment from the file.

getMaxval
unsigned short int PNMImageHeader::get_maxval(void) const;

Description: Returns the maximum channel value allowable for any pixel in this image; for instance, 255 for a typical 8-bit-per-channel image. A pixel with this value is full on.

getNumChannels
int PNMImageHeader::get_num_channels(void) const;

Description: Returns the number of channels in the image.

getType
PNMFileType *PNMImageHeader::get_type(void) const;

Description: If the file type is known (e.g. has_type() returns true), returns its PNMFileType pointer; otherwise, returns NULL.

getXSize
int PNMImageHeader::get_x_size(void) const;

Description: Returns the number of pixels in the X direction. This is one more than the largest allowable X coordinate.

getYSize
int PNMImageHeader::get_y_size(void) const;

Description: Returns the number of pixels in the Y direction. This is one more than the largest allowable Y coordinate.

hasAlpha
static bool PNMImageHeader::has_alpha(PNMImageHeader::ColorType color_type);

Description: This static variant of has_alpha() returns true if the indicated image type includes an alpha channel, false otherwise.
Description: Returns true if the image includes an alpha channel, false otherwise. Unlike is_grayscale(), if this returns false it is an error to call any of the functions accessing the alpha channel.

hasType
bool PNMImageHeader::has_type(void) const;

Description: Returns true if the PNMImageHeader knows what type it is, false otherwise.

isGrayscale
static bool PNMImageHeader::is_grayscale(PNMImageHeader::ColorType color_type);

Description: This static variant of is_grayscale() returns true if the indicated image type represents a grayscale image, false otherwise.
Description: Returns false if the image is a full-color image, and has red, green, and blue components; true if it is a grayscale image and has only a gray component. (The gray color is actually stored in the blue channel, and the red and green channels are ignored.)

makeReader
PNMReader *PNMImageHeader::make_reader(Filename const &filename, PNMFileType *type = ((void *)(0)), bool report_unknown_type = (1)) const;

Description: Returns a newly-allocated PNMReader of the suitable type for reading from the indicated image filename, or NULL if the filename cannot be read for some reason. The filename "-" always stands for standard input. If type is specified, it is a suggestion for the file type to use.
The PNMReader should be deleted when it is no longer needed.
Description: Returns a newly-allocated PNMReader of the suitable type for reading from the already-opened image file, or NULL if the file cannot be read for some reason.
owns_file should be set true if the PNMReader is to be considered the owner of the stream pointer (in which case the stream will be deleted on completion, whether successful or not), or false if it should not delete it.
The filename parameter is optional here, since the file has already been opened; it is only used to examine the extension and attempt to guess the file type.
If magic_number is nonempty, it is assumed to represent the first few bytes that have already been read from the file. Some file types may have difficulty if this is more than two bytes.
If type is non-NULL, it is a suggestion for the file type to use.

makeWriter
PNMWriter *PNMImageHeader::make_writer(Filename const &filename, PNMFileType *type = ((void *)(0))) const;

Description: Returns a newly-allocated PNMWriter of the suitable type for writing an image to the indicated filename, or NULL if the filename cannot be written for some reason. The filename "-" always stands for standard output. If type is specified, it is a suggestion for the file type to use.
The PNMWriter should be deleted when it is no longer needed.
Description: Returns a newly-allocated PNMWriter of the suitable type for writing to the already-opened image file, or NULL if the file cannot be written for some reason.
owns_file should be set true if the PNMWriter is to be considered the owner of the stream pointer (in which case the stream will be deleted on completion, whether successful or not), or false if it should not delete it.
The filename parameter is optional here, since the file has already been opened; it is only used to examine the extension and attempt to guess the intended file type.
If type is non-NULL, it is a suggestion for the file type to use.

operator =
void PNMImageHeader::operator =(PNMImageHeader const &copy);

Description:

output
void PNMImageHeader::output(ostream &out) const;

Description:

readHeader
bool PNMImageHeader::read_header(Filename const &filename, PNMFileType *type = ((void *)(0)), bool report_unknown_type = (1));

Description: Opens up the image file and tries to read its header information to determine its size, number of channels, etc. If successful, updates the header information and returns true; otherwise, returns false.
Description: Reads the image header information only from the indicated stream.
The filename is advisory only, and may be used to suggest a type if it has a known extension.
If type is non-NULL, it is a suggestion for the type of file it is (and a non-NULL type will override any magic number test or filename extension lookup).
Returns true if successful, false on error.

readMagicNumber
static bool PNMImageHeader::read_magic_number(istream *file, string &magic_number, int num_bytes);

Description: Ensures that the first n bytes of the file are read into magic_number. If magic_number is initially nonempty, assumes these represent the first few bytes already extracted. Returns true if successful, false if an end of file or error occurred before num_bytes could be read.

setComment
void PNMImageHeader::set_comment(string const &comment);

Description: Writes a user comment string to the image (header).

setType
void PNMImageHeader::set_type(PNMFileType *type);

Description: Sets the file type of this PNMImage. This will be the default type used when an image is read, if the type cannot be determined by magic number or inferred by extension, or the type used when the image is written, if the type cannot be inferred from the filename extension.


PNMPainter

    from pandac.PandaModules import PNMPainter
    Class : PNMPainter
    Description : This class provides a number of convenient methods for painting drawings directly into a PNMImage.
    It stores a pointer to the PNMImage you pass it, but it does not take ownership of the object; you are responsible for ensuring that the PNMImage does not destruct during the lifetime of the PNMPainter object.

Inheritance:

    PNMPainter:

Methods of PNMPainter:

    PNMPainter (Constructor)
    drawLine
    drawPoint
    drawRectangle
    getFill
    getPen
    setFill
    setPen
PNMPainter
PNMPainter::PNMPainter(PNMImage &image, int xo = (0), int yo = (0));

Description: The constructor stores a pointer to the PNMImage you pass it, but it does not take ownership of the object; you are responsible for ensuring that the PNMImage does not destruct during the lifetime of the PNMPainter object.
The xo, yo coordinates specify an optional offset for fill coordinates. If you are painting with a pattern fill, these specify the virtual coordinates of the upper-left corner of the image, which can allow you to adjust the pattern to line up with nested images, if necessary.

drawLine
void PNMPainter::draw_line(double xa, double ya, double xb, double yb);

Description: Draws an antialiased line on the PNMImage, using the current pen.

drawPoint
void PNMPainter::draw_point(double x, double y);

Description: Draws an antialiased point on the PNMImage, using the current pen.

drawRectangle
void PNMPainter::draw_rectangle(double xa, double ya, double xb, double yb);

Description: Draws a filled rectangule on the PNMImage, using the current pen for the outline, and the current fill brush for the interior.
The two coordinates specify any two diagonally opposite corners.

getFill
PNMBrush *PNMPainter::get_fill(void) const;

Description: Returns the current fill brush. See set_fill().

getPen
PNMBrush *PNMPainter::get_pen(void) const;

Description: Returns the current pen. See set_pen().

setFill
void PNMPainter::set_fill(PNMBrush *fill);

Description: Specifies a PNMBrush that will be used for filling in the interiors of objects. If the brush is a bitmap brush, its image will be tiled throughout the space.
Unlike the PNMImage passed to the constructor, the PNMPainter will take ownership of the fill brush. It is not necessary to keep a separate pointer to it.

setPen
void PNMPainter::set_pen(PNMBrush *pen);

Description: Specifies a PNMBrush that will be used for drawing lines and edges. If the brush is a bitmap brush, its image will be smeared pixelwise along the line.
Unlike the PNMImage passed to the constructor, the PNMPainter will take ownership of the pen. It is not necessary to keep a separate pointer to it.


PNMTextMaker

    from pandac.PandaModules import PNMTextMaker
    Class : PNMTextMaker
    Description : This object uses the Freetype library to generate text directly into an image. It is different from the TextNode/DynamicTextFont interface, which use the Freetype library to generate text in the scene graph, to be rendered onscreen via the Panda render traversal.

Inheritance:

    PNMTextMaker: FreetypeFont
    FreetypeFont: Namable
    Namable:

Methods of PNMTextMaker:

    PNMTextMaker (Constructor)
    generateInto
    getAlign
    getFg
    getGlyph
    getInterior
    getInteriorFlag
    isValid
    setAlign
    setFg
    setInterior
    setInteriorFlag

Methods of FreetypeFont:

    getFontPixelSize
    getLineHeight
    getNativeAntialias
    getPixelSize
    getPixelsPerUnit
    getPointSize
    getPointsPerInch
    getPointsPerUnit
    getScaleFactor
    getSpaceAdvance
    setNativeAntialias
    setPixelSize
    setPixelsPerUnit
    setPointSize
    setScaleFactor

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in PNMTextMaker:

    ALeft | (Alignment)
ARight | (Alignment)
ACenter | (Alignment)
PNMTextMaker
PNMTextMaker::PNMTextMaker(Filename const &font_filename, int face_index);

Description: The constructor expects the name of some font file that FreeType can read, along with face_index, indicating which font within the file to load (usually 0).
Description: This constructor works as above, but it takes the font data from an in-memory buffer instead of from a named file.

generateInto
int PNMTextMaker::generate_into(string const &text, PNMImage &dest_image, int x, int y);

Description: Generates a single line of text into the indicated image at the indicated position; the return value is the total width in pixels.

getAlign
PNMTextMaker::Alignment PNMTextMaker::get_align(void) const;

Description:

getFg
LVecBase4f const &PNMTextMaker::get_fg(void) const;

Description: Returns the foreground color of text that will be generated by future calls to generate_into().

getGlyph
PNMTextGlyph *PNMTextMaker::get_glyph(int character);

Description: Returns the glyph for the indicated index, or NULL if it is not defined in the font.

getInterior
LVecBase4f const &PNMTextMaker::get_interior(void) const;

Description: Returns the color that will be used to render the interior portions of hollow fonts.

getInteriorFlag
bool PNMTextMaker::get_interior_flag(void) const;

Description:

isValid
bool PNMTextMaker::is_valid(void) const;

Description: Returns true if the PNMTextMaker is valid and ready to generate text, false otherwise.

setAlign
void PNMTextMaker::set_align(PNMTextMaker::Alignment align_type);

Description:

setFg
void PNMTextMaker::set_fg(LVecBase4f const &fg);

Description: Sets the foreground color of text that will be generated by future calls to generate_into(). This is the color that all of the "on" pixels in the font will show as.

setInterior
void PNMTextMaker::set_interior(LVecBase4f const &interior);

Description: Sets the color that will be used to render the interior portions of hollow fonts in future calls to generate_into(). This is respected only if interior_flag is true.

setInteriorFlag
void PNMTextMaker::set_interior_flag(bool interior_flag);

Description: Sets the flag that indicates whether the interior of hollow fonts is identified as a preprocess as each glyph is loaded. If this flag is true, you may specify an interior color along with a fg and bg color when you place text; if the flag is false, the interior color is ignored.
It is generally best to set_native_antialias(0) when using this feature. Also, this works best when the pixel size is not very small.

getFontPixelSize
int FreetypeFont::get_font_pixel_size(void) const;

Description: This is used to report whether the requested pixel size is being only approximated by a fixed-pixel-size font. This returns 0 in the normal case, in which a scalable font is used, or the fixed-pixel-size font has exactly the requested pixel size.
If this returns non-zero, it is the pixel size of the font that we are using to approximate our desired size.

getLineHeight
float FreetypeFont::get_line_height(void) const;

Description: Returns the number of units high each line of text is.

getNativeAntialias
bool FreetypeFont::get_native_antialias(void) const;

Description: Returns whether Freetype's built-in antialias mode is enabled. See set_native_antialias().

getPixelSize
float FreetypeFont::get_pixel_size(void) const;

Description: Returns the size of the font in pixels, as it appears in the texture.

getPixelsPerUnit
float FreetypeFont::get_pixels_per_unit(void) const;

Description: Returns the resolution of the texture map. See set_pixels_per_unit().

getPointSize
float FreetypeFont::get_point_size(void) const;

Description: Returns the point size of the font.

getPointsPerInch
static float FreetypeFont::get_points_per_inch(void);

Description: Returns the number of points in one inch. This is a universal typographic convention.

getPointsPerUnit
static float FreetypeFont::get_points_per_unit(void);

Description: Returns the point size of the font that is one Panda unit high. This is an arbitrary Panda convention for text, and is set to 10.0.

getScaleFactor
float FreetypeFont::get_scale_factor(void) const;

Description: Returns the antialiasing scale factor. See set_scale_factor().

getSpaceAdvance
float FreetypeFont::get_space_advance(void) const;

Description: Returns the number of units wide a space is.

setNativeAntialias
void FreetypeFont::set_native_antialias(bool native_antialias);

Description: Sets whether the Freetype library's built-in antialias mode is enabled. There are two unrelated ways to achieve antialiasing: with Freetype's native antialias mode, and with the use of a scale_factor greater than one. By default, both modes are enabled.
At low resolutions, some fonts may do better with one mode or the other. In general, Freetype's native antialiasing will produce less blurry results, but may introduce more artifacts.

setPixelSize
bool FreetypeFont::set_pixel_size(float pixel_size);

Description: Computes the appropriate pixels_per_unit value to set the size of the font in the texture to the indicated number of pixels. This is just another way to specify pixels_per_unit().

setPixelsPerUnit
bool FreetypeFont::set_pixels_per_unit(float pixels_per_unit);

Description: Set the resolution of the texture map, and hence the clarity of the resulting font. This sets the number of pixels in the texture map that are used for each onscreen unit.
Setting this number larger results in an easier to read font, but at the cost of more texture memory.
This should only be called before any characters have been requested out of the font, or immediately after calling clear().

setPointSize
bool FreetypeFont::set_point_size(float point_size);

Description: Sets the point size of the font. This controls the apparent size of the font onscreen. By convention, a 10 point font is about 1 screen unit high.
This should only be called before any characters have been requested out of the font, or immediately after calling clear().

setScaleFactor
bool FreetypeFont::set_scale_factor(float scale_factor);

Description: Sets the factor by which the font is rendered larger by the FreeType library before being filtered down to its actual size in the texture as specified by set_pixels_per_unit(). This may be set to a number larger than 1.0 to improve the font's antialiasing (since FreeType doesn't really do a swell job of antialiasing by itself). There is some performance implication for setting this different than 1.0.
This should only be called before any characters have been requested out of the font, or immediately after calling clear().

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


POD

    from direct.showbase.PythonUtil import POD

Inheritance:

    POD:

Methods of POD:

    __init__
    __repr__
    applyTo
    copyFrom
    def
    getValue
    makeCopy
    setDefaultValues
__init__
def __init__(self, **kwArgs)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

applyTo
def applyTo(self, obj)

Undocumented function.

copyFrom
def copyFrom(self, other, strict=False)

Undocumented function.

def
def def_compileDefaultDataSet

Undocumented function.

getValue
def getValue(self, name)

Undocumented function.

makeCopy
def makeCopy(self)

Undocumented function.

setDefaultValues
def setDefaultValues(self)

Undocumented function.


PointEmitter

    from pandac.PandaModules import PointEmitter
    Class : PointEmitter
    Description : Describes a planar ring region in which particles are generated.

Inheritance:

    PointEmitter: BaseParticleEmitter
    BaseParticleEmitter: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of PointEmitter:

    PointEmitter (Constructor)
    getLocation
    setLocation

Methods of BaseParticleEmitter:

    generate
    getAmplitude
    getAmplitudeSpread
    getEmissionType
    getExplicitLaunchVector
    getOffsetForce
    getRadiateOrigin
    makeCopy
    output
    setAmplitude
    setAmplitudeSpread
    setEmissionType
    setExplicitLaunchVector
    setOffsetForce
    setRadiateOrigin
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleEmitter:

    ETEXPLICIT | (emissionType)
ETRADIATE | (emissionType)
ETCUSTOM | (emissionType)
PointEmitter
PointEmitter::PointEmitter(void);

Description : copy constructor

getLocation
LPoint3f PointEmitter::get_location(void) const;

Undocumented function.

setLocation
void PointEmitter::set_location(LPoint3f const &p);

Description : point setting

generate
void BaseParticleEmitter::generate(LPoint3f &pos, LVector3f &vel);

Description : parent generation function

getAmplitude
float BaseParticleEmitter::get_amplitude(void) const;

Description : amplitude query

getAmplitudeSpread
float BaseParticleEmitter::get_amplitude_spread(void) const;

Description : amplitude spread query

getEmissionType
BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type(void) const;

Description : emission type query

getExplicitLaunchVector
LVector3f BaseParticleEmitter::get_explicit_launch_vector(void) const;

Description : query for explicit emission launch vector

getOffsetForce
LVector3f BaseParticleEmitter::get_offset_force(void) const;

Description : user-defined force

getRadiateOrigin
LPoint3f BaseParticleEmitter::get_radiate_origin(void) const;

Description : query for explicit emission launch vector

makeCopy
virtual BaseParticleEmitter *BaseParticleEmitter::make_copy(void) = 0;

Undocumented function.

output
virtual void BaseParticleEmitter::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAmplitude
void BaseParticleEmitter::set_amplitude(float a);

Description : amplitude assignment

setAmplitudeSpread
void BaseParticleEmitter::set_amplitude_spread(float as);

Description : amplitude spread assignment

setEmissionType
void BaseParticleEmitter::set_emission_type(BaseParticleEmitter::emissionType et);

Description : emission type assignment

setExplicitLaunchVector
void BaseParticleEmitter::set_explicit_launch_vector(LVector3f const &elv);

this is a constant force applied to all particles
Description : assignment of explicit emission launch vector

setOffsetForce
void BaseParticleEmitter::set_offset_force(LVector3f const &of);

Description : user-defined force

setRadiateOrigin
void BaseParticleEmitter::set_radiate_origin(LPoint3f const &ro);

this is a constant force applied to all particles
Description : assignment of radiate emission origin point

write
virtual void BaseParticleEmitter::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PointerEventList

    from pandac.PandaModules import PointerEventList
    Class : PointerEventList
    Description : Records a set of pointer events that happened recently. This class is usually used only in the data graph, to transmit the recent pointer presses, but it may be used anywhere a list of PointerEvents is desired.

Inheritance:

    PointerEventList: EventStoreValueBase
    EventStoreValueBase: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of PointerEventList:

    PointerEventList (Constructor)
    addEvent
    clear
    encircles
    getClassType
    getDirection
    getDx
    getDy
    getInWindow
    getLength
    getNumEvents
    getRotation
    getSequence
    getTime
    getXpos
    getYpos
    matchPattern
    popFront
    totalTurns

Methods of EventStoreValueBase:

    getClassType
    output

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
PointerEventList
PointerEventList::PointerEventList(void);

Filename: pointerEventList.I Created by: jyelon (20Sep2007)
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."
Description:

addEvent
void PointerEventList::add_event(bool in_win, int xpos, int ypos, int seq, double time);

Description: Adds a new event to the end of the list. Automatically calculates the dx, dy, length, direction, and rotation for all but the first event.

clear
void PointerEventList::clear(void);

Description: Empties all the events from the list.

encircles
bool PointerEventList::encircles(int x, int y) const;

Description: Returns true if the trail loops around the specified point.

getClassType
static TypeHandle PointerEventList::get_class_type(void);

Undocumented function.

getDirection
double PointerEventList::get_direction(int n) const;

Description: Get the direction of the nth event.

getDx
int PointerEventList::get_dx(int n) const;

Description: Get the x-coordinate of the nth event.

getDy
int PointerEventList::get_dy(int n) const;

Description: Get the y-coordinate of the nth event.

getInWindow
bool PointerEventList::get_in_window(int n) const;

Description: Get the in-window flag of the nth event.

getLength
double PointerEventList::get_length(int n) const;

Description: Get the length of the nth event.

getNumEvents
int PointerEventList::get_num_events(void) const;

Description: Returns the number of events in the list.

getRotation
double PointerEventList::get_rotation(int n) const;

Description: Get the rotation of the nth event.

getSequence
int PointerEventList::get_sequence(int n) const;

Description: Get the sequence number of the nth event.

getTime
double PointerEventList::get_time(int n) const;

Description: Get the timestamp of the nth event.

getXpos
int PointerEventList::get_xpos(int n) const;

Description: Get the x-coordinate of the nth event.

getYpos
int PointerEventList::get_ypos(int n) const;

Description: Get the y-coordinate of the nth event.

matchPattern
double PointerEventList::match_pattern(string const &pattern, double rot, double seglen);

Description: This function is not implemented yet. It is a work in progress. The intent is as follows:
Returns a nonzero value if the mouse movements match the specified pattern. The higher the value, the better the match. The pattern is a sequence of compass directions (ie, "E", "NE", etc) separated by spaces. If rot is nonzero, then the pattern is rotated counterclockwise by the specified amount before testing. Seglen is the minimum length a mouse movement needs to be in order to be considered significant.

popFront
void PointerEventList::pop_front(void);

Description: Discards the first event on the list.

totalTurns
double PointerEventList::total_turns(double sec) const;

Description: returns the total angular deviation that the trail has made in the specified time period. A small number means that the trail is moving in a relatively straight line, a large number means that the trail is zig-zagging or spinning. The result is in degrees.

getClassType
static TypeHandle EventStoreValueBase::get_class_type(void);

Undocumented function.

output
virtual void EventStoreValueBase::output(ostream &out) const = 0;

Undocumented function.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PointerToVoid

    from pandac.PandaModules import PointerToVoid
    Class : PointerToVoid
    Description : This is the non-template part of the base class for PointerTo and ConstPointerTo. It is necessary so we can keep a pointer to a non-template class within the ReferenceCount object, to implement weak reference pointers--we need to have something to clean up when the ReferenceCount object destructs.
    This is the base class for PointerToBase<T>.

Inheritance:

    PointerToVoid: MemoryBase
    MemoryBase:

Methods of PointerToVoid:

    getHash
    isNull
getHash
unsigned int PointerToVoid::get_hash(void) const;

Description:

isNull
bool PointerToVoid::is_null(void) const;

Description: Returns true if the PointerTo is a NULL pointer, false otherwise. (Direct comparison to a NULL pointer also works.)


PointLight

    from pandac.PandaModules import PointLight
    Class : PointLight
    Description : A light originating from a single point in space, and shining in all directions.

Inheritance:

    PointLight: LightNode
    LightNode: Light PandaNode
    Light: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    Namable:
    LinkedListNode:

Methods of PointLight:

    PointLight (Constructor)
    getAttenuation
    getClassType
    getPoint
    getSpecularColor
    setAttenuation
    setPoint
    setSpecularColor

Methods of LightNode:

    getClassType
    output
    write

Methods of Light:

    asNode
    getClassPriority
    getClassType
    getColor
    getPriority
    setColor
    setPriority

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PointLight
PointLight::PointLight(string const &name);

Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

getAttenuation
LVecBase3f const &PointLight::get_attenuation(void) const;

Description: Returns the terms of the attenuation equation for the light. These are, in order, the constant, linear, and quadratic terms based on the distance from the point to the vertex.

getClassType
static TypeHandle PointLight::get_class_type(void);

Undocumented function.

getPoint
LPoint3f const &PointLight::get_point(void) const;

Description: Returns the point in space at which the light is located. This is local to the coordinate space in which the light is assigned.

getSpecularColor
LVecBase4f const &PointLight::get_specular_color(void) const;

Description: Returns the color of specular highlights generated by the light.

setAttenuation
void PointLight::set_attenuation(LVecBase3f const &attenuation);

Description: Sets the terms of the attenuation equation for the light. These are, in order, the constant, linear, and quadratic terms based on the distance from the point to the vertex.

setPoint
void PointLight::set_point(LPoint3f const &point);

Description: Sets the point in space at which the light is located.

setSpecularColor
void PointLight::set_specular_color(LVecBase4f const &color);

Description: Sets the color of specular highlights generated by the light.

getClassType
static TypeHandle LightNode::get_class_type(void);

Undocumented function.

output
virtual void LightNode::output(ostream &out) const;

We have to explicitly publish these because they resolve the multiple inheritance.
Description:

write
virtual void LightNode::write(ostream &out, int indent_level = (0)) const;

We have to explicitly publish these because they resolve the multiple inheritance.
Description:

asNode
virtual PandaNode *Light::as_node(void) = 0;

Undocumented function.

getClassPriority
virtual int Light::get_class_priority(void) const = 0;

Undocumented function.

getClassType
static TypeHandle Light::get_class_type(void);

Undocumented function.

getColor
LVecBase4f const &Light::get_color(void) const;

Description: Returns the basic color of the light.

getPriority
int Light::get_priority(void) const;

Description: Returns the priority associated with this light. See set_priority().

setColor
void Light::set_color(LVecBase4f const &color);

Description: Sets the basic color of the light.

setPriority
void Light::set_priority(int priority);

Description: Changes the relative importance of this light relative to the other lights that are applied simultaneously.
The priority number is used to decide which of the requested lights are to be selected for rendering when more lights are requested than the hardware will support. The highest-priority n lights are selected for rendering.
This is similar to TextureStage::set_priority().

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


PointParticleFactory

    from pandac.PandaModules import PointParticleFactory
    Class : PointParticleFactory
    Description : Creates point particles to user specs

Inheritance:

    PointParticleFactory: BaseParticleFactory
    BaseParticleFactory: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of PointParticleFactory:

    PointParticleFactory (Constructor)

Methods of BaseParticleFactory:

    allocParticle
    getLifespanBase
    getLifespanSpread
    getMassBase
    getMassSpread
    getTerminalVelocityBase
    getTerminalVelocitySpread
    output
    populateParticle
    setLifespanBase
    setLifespanSpread
    setMassBase
    setMassSpread
    setTerminalVelocityBase
    setTerminalVelocitySpread
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
PointParticleFactory
PointParticleFactory::PointParticleFactory(void);

Description : default constructor
Description : copy constructor

allocParticle
virtual BaseParticle *BaseParticleFactory::alloc_particle(void) const = 0;

Undocumented function.

getLifespanBase
float BaseParticleFactory::get_lifespan_base(void) const;

Description : public

getLifespanSpread
float BaseParticleFactory::get_lifespan_spread(void) const;

Description : public

getMassBase
float BaseParticleFactory::get_mass_base(void) const;

Description : public

getMassSpread
float BaseParticleFactory::get_mass_spread(void) const;

Description : public

getTerminalVelocityBase
float BaseParticleFactory::get_terminal_velocity_base(void) const;

Description : public

getTerminalVelocitySpread
float BaseParticleFactory::get_terminal_velocity_spread(void) const;

Description : public

output
virtual void BaseParticleFactory::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

populateParticle
void BaseParticleFactory::populate_particle(BaseParticle *bp);

Description : public

setLifespanBase
void BaseParticleFactory::set_lifespan_base(float lb);

Description : public

setLifespanSpread
void BaseParticleFactory::set_lifespan_spread(float ls);

Description : public

setMassBase
void BaseParticleFactory::set_mass_base(float mb);

Description : public

setMassSpread
void BaseParticleFactory::set_mass_spread(float ms);

Description : public

setTerminalVelocityBase
void BaseParticleFactory::set_terminal_velocity_base(float tvb);

Description : public

setTerminalVelocitySpread
void BaseParticleFactory::set_terminal_velocity_spread(float tvs);

Description : public

write
virtual void BaseParticleFactory::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PointParticleRenderer

    from pandac.PandaModules import PointParticleRenderer
    Class : PointParticleRenderer
    Description : Simple point/point particle renderer. Does NOT handle billboards- use BillboardParticleRenderer for that.

Inheritance:

    PointParticleRenderer: BaseParticleRenderer
    BaseParticleRenderer: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of PointParticleRenderer:

    PointParticleRenderer (Constructor)
    getBlendMethod
    getBlendType
    getEndColor
    getPointSize
    getStartColor
    setBlendMethod
    setBlendType
    setEndColor
    setPointSize
    setStartColor

Methods of BaseParticleRenderer:

    getAlphaMode
    getIgnoreScale
    getRenderNode
    getRenderNodePath
    getUserAlpha
    output
    setAlphaMode
    setColorBlendMode
    setIgnoreScale
    setUserAlpha
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PointParticleRenderer:

    PPONECOLOR | (PointParticleBlendType)
PPBLENDLIFE | (PointParticleBlendType)
PPBLENDVEL | (PointParticleBlendType)

Constants in BaseParticleRenderer:

    PRALPHANONE | (ParticleRendererAlphaMode)
PRALPHAOUT | (ParticleRendererAlphaMode)
PRALPHAIN | (ParticleRendererAlphaMode)
PRALPHAINOUT | (ParticleRendererAlphaMode)
PRALPHAUSER | (ParticleRendererAlphaMode)
PRNOTINITIALIZEDYET | (ParticleRendererAlphaMode)
PPNOBLEND | (ParticleRendererBlendMethod)
PPBLENDLINEAR | (ParticleRendererBlendMethod)
PPBLENDCUBIC | (ParticleRendererBlendMethod)
PointParticleRenderer
PointParticleRenderer::PointParticleRenderer(PointParticleRenderer const &copy);

Description : special constructor
Description : Copy constructor

getBlendMethod
BaseParticleRenderer::ParticleRendererBlendMethod PointParticleRenderer::get_blend_method(void) const;

Undocumented function.

getBlendType
PointParticleRenderer::PointParticleBlendType PointParticleRenderer::get_blend_type(void) const;

Undocumented function.

getEndColor
LVecBase4f const &PointParticleRenderer::get_end_color(void) const;

Undocumented function.

getPointSize
float PointParticleRenderer::get_point_size(void) const;

Undocumented function.

getStartColor
LVecBase4f const &PointParticleRenderer::get_start_color(void) const;

Undocumented function.

setBlendMethod
void PointParticleRenderer::set_blend_method(BaseParticleRenderer::ParticleRendererBlendMethod bm);

Undocumented function.

setBlendType
void PointParticleRenderer::set_blend_type(PointParticleRenderer::PointParticleBlendType bt);

Undocumented function.

setEndColor
void PointParticleRenderer::set_end_color(LVecBase4f const &ec);

Undocumented function.

setPointSize
void PointParticleRenderer::set_point_size(float point_size);

Undocumented function.

setStartColor
void PointParticleRenderer::set_start_color(LVecBase4f const &sc);

Undocumented function.

getAlphaMode
BaseParticleRenderer::ParticleRendererAlphaMode BaseParticleRenderer::get_alpha_mode(void) const;

Undocumented function.

getIgnoreScale
bool BaseParticleRenderer::get_ignore_scale(void) const;

Description : Returns the "ignore scale" flag. See set_ignore_scale().

getRenderNode
GeomNode *BaseParticleRenderer::get_render_node(void) const;

Class : Published
Description : Query the geomnode pointer

getRenderNodePath
NodePath BaseParticleRenderer::get_render_node_path(void) const;

Class : Published
Description : Query the geomnode pointer

getUserAlpha
float BaseParticleRenderer::get_user_alpha(void) const;

Description : gets alpha for "user" alpha mode

output
virtual void BaseParticleRenderer::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAlphaMode
void BaseParticleRenderer::set_alpha_mode(BaseParticleRenderer::ParticleRendererAlphaMode am);

Undocumented function.

setColorBlendMode
void BaseParticleRenderer::set_color_blend_mode(ColorBlendAttrib::Mode bm, ColorBlendAttrib::Operand oa = (O_zero), ColorBlendAttrib::Operand ob = (O_zero));

Description : sets the ColorBlendAttrib on the _render_node

setIgnoreScale
void BaseParticleRenderer::set_ignore_scale(bool ignore_scale);

Description : Sets the "ignore scale" flag. When this is true, particles will be drawn as if they had no scale, regardless of whatever scale might be inherited from above the render node in the scene graph.
This flag is mainly useful to support legacy code that was written for a very early version of Panda, whose sprite particle renderer had a bug that incorrectly ignored the inherited scale.

setUserAlpha
void BaseParticleRenderer::set_user_alpha(float ua);

Description : sets alpha for "user" alpha mode

write
virtual void BaseParticleRenderer::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PolylightEffect

    from pandac.PandaModules import PolylightEffect
    Class : PolylightEffect
    Description : A PolylightEffect can be used on a node to define a LightGroup for that node. A LightGroup contains PolylightNodes which are essentially nodes that add color to the polygons of a model based on distance. PolylightNode is a cheap way to get lighting effects specially for night scenes

Inheritance:

    PolylightEffect: RenderEffect
    RenderEffect: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of PolylightEffect:

    addLight
    getClassType
    getContrib
    getEffectCenter
    getWeight
    hasLight
    make
    removeLight
    setContrib
    setEffectCenter
    setWeight

Methods of RenderEffect:

    compareTo
    getClassType
    getNumEffects
    listEffects
    output
    validateEffects
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PolylightEffect:

    CTProximal | (ContribType)
CTAll | (ContribType)
addLight
ConstPointerTo< RenderEffect > PolylightEffect::add_light(NodePath const &newlight) const;

Description: Add a PolylightNode object to this effect and return a new effect

getClassType
static TypeHandle PolylightEffect::get_class_type(void);

Undocumented function.

getContrib
PolylightEffect::ContribType PolylightEffect::get_contrib(void) const;

Description: Returns CT_all or CT_proximal

getEffectCenter
LPoint3f PolylightEffect::get_effect_center(void) const;

Description: Return the value of the _effect_center

getWeight
float PolylightEffect::get_weight(void) const;

Description: Get the weight value

hasLight
bool PolylightEffect::has_light(NodePath const &light) const;

Description: Returns true if the indicated light is listed in the PolylightEffect, false otherwise.

make
static ConstPointerTo< RenderEffect > PolylightEffect::make(void);

Description: Constructs a new PolylightEffect object.

removeLight
ConstPointerTo< RenderEffect > PolylightEffect::remove_light(NodePath const &newlight) const;

Description: Remove a light from this effect. Return the new updated effect

setContrib
ConstPointerTo< RenderEffect > PolylightEffect::set_contrib(PolylightEffect::ContribType c) const;

Description: Set Contrib Type and return a new effect... the reason this couldnt be done through make was because that would return a new effect without the lightgroup which is static and cant be accessed Here, we just pass that to the make

setEffectCenter
ConstPointerTo< RenderEffect > PolylightEffect::set_effect_center(LPoint3f ec) const;

Description: Set weight and return a new effect... the reason this couldnt be done through make was because that would return a new effect without the lightgroup which is static and cant be accessed Here, we just pass that to the make

setWeight
ConstPointerTo< RenderEffect > PolylightEffect::set_weight(float w) const;

Description: Set weight and return a new effect... the reason this couldnt be done through make was because that would return a new effect without the lightgroup which is static and cant be accessed Here, we just pass that to the make

compareTo
int RenderEffect::compare_to(RenderEffect const &other) const;

Description: Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderEffect class because all equivalent RenderEffect objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderEffect::get_class_type(void);

Undocumented function.

getNumEffects
static int RenderEffect::get_num_effects(void);

Description: Returns the total number of unique RenderEffect objects allocated in the world. This will go up and down during normal operations.

listEffects
static void RenderEffect::list_effects(ostream &out);

Description: Lists all of the RenderEffects in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderEffect::output(ostream &out) const;

Description:

validateEffects
static bool RenderEffect::validate_effects(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderEffect objects).

write
virtual void RenderEffect::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PolylightNode

    from pandac.PandaModules import PolylightNode
    Class : PolylightNode
    Description : A PolylightNode

Inheritance:

    PolylightNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PolylightNode:

    PolylightNode (Constructor)
    compareTo
    disable
    enable
    flickerOff
    flickerOn
    getA0
    getA1
    getA2
    getAttenuation
    getClassType
    getColor
    getColorScenegraph
    getFlickerType
    getFreq
    getOffset
    getPos
    getRadius
    getScale
    getStepSize
    isEnabled
    isFlickering
    operator !=
    operator <
    operator ==
    setA0
    setA1
    setA2
    setAttenuation
    setColor
    setFlickerType
    setFreq
    setOffset
    setPos
    setRadius
    setScale
    setStepSize

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PolylightNode:

    FRANDOM | (Flicker_Type)
FSIN | (Flicker_Type)
FCUSTOM | (Flicker_Type)
ALINEAR | (Attenuation_Type)
AQUADRATIC | (Attenuation_Type)

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PolylightNode
PolylightNode::PolylightNode(string const &name);

Description: Use PolylightNode() to construct a new PolylightNode object.

compareTo
int PolylightNode::compare_to(PolylightNode const &other) const;

Description: Returns a number less than zero if this PolylightNode sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent.
Two PolylightNodes are considered equivalent if they consist of exactly the same properties Otherwise, they are different; different PolylightNodes will be ranked in a consistent but undefined ordering; the ordering is useful only for placing the PolylightNodes in a sorted container like an STL set.

disable
void PolylightNode::disable(void);

Description: Disable this light

enable
void PolylightNode::enable(void);

Description: Enable this light

flickerOff
void PolylightNode::flicker_off(void);

Description: Turn flickering off

flickerOn
void PolylightNode::flicker_on(void);

Description: Set flickering to true so at every loop this light's color is varied based on flicker_type

getA0
float PolylightNode::get_a0(void) const;

Description: Get the quadratic attenuation factor a0 fd = 1 / ( a0 + a1*distance + a2*distance*distance)

getA1
float PolylightNode::get_a1(void) const;

Description: Get the quadratic attenuation factor a1 fd = 1 / ( a0 + a1*distance + a2*distance*distance)

getA2
float PolylightNode::get_a2(void) const;

Description: Get the quadratic attenuation factor a2 fd = 1 / ( a0 + a1*distance + a2*distance*distance)

getAttenuation
PolylightNode::Attenuation_Type PolylightNode::get_attenuation(void) const;

Description: Get "linear" or "quadratic" attenuation type

getClassType
static TypeHandle PolylightNode::get_class_type(void);

Undocumented function.

getColor
LVecBase4f PolylightNode::get_color(void) const;

Description: Returns the light's color as Colorf

getColorScenegraph
LVecBase4f PolylightNode::get_color_scenegraph(void) const;

Description: This differs from get_color in that when applying the light color we need to make sure that a color flattening external to the PolylightNode is not ignored.

getFlickerType
PolylightNode::Flicker_Type PolylightNode::get_flicker_type(void) const;

Description: Returns FRANDOM or FSIN

getFreq
float PolylightNode::get_freq(void) const;

Description: Get frequency of sin flicker

getOffset
float PolylightNode::get_offset(void) const;

Description: Get the offset value for the random and sin flicker variations

getPos
LVecBase3f PolylightNode::get_pos(void) const;

Description: Returns position as a LPoint3f

getRadius
float PolylightNode::get_radius(void) const;

Description: Get radius of the spherical light volume

getScale
float PolylightNode::get_scale(void) const;

Description: Get the scale value for the random and sin flicker variations

getStepSize
float PolylightNode::get_step_size(void) const;

Description: Get the step size for the sin function in flicker This is the increment size for the value supplied to the sin function

isEnabled
bool PolylightNode::is_enabled(void) const;

Description: Is this light is enabled/disabled?

isFlickering
bool PolylightNode::is_flickering(void) const;

Description: Check is this light is flickering

operator !=
bool PolylightNode::operator !=(PolylightNode const &other) const;

Comparison methods
Description: Returns true if the two lights are not equivalent.

operator <
bool PolylightNode::operator <(PolylightNode const &other) const;

Description: Returns true if this PolylightNode sorts before the other one, false otherwise. The sorting order of two nonequivalent PolylightNodes is consistent but undefined, and is useful only for storing PolylightNodes in a sorted container like an STL set.

operator ==
bool PolylightNode::operator ==(PolylightNode const &other) const;

Comparison methods
Filename: PolylightNodeEffect.I Created by: sshodhan (02Jun04)
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."
Description: Returns true if the two lights are equivalent that is, all their properties are same

setA0
void PolylightNode::set_a0(float a0);

Description: Set the quadratic attenuation factor a0 fd = 1 / ( a0 + a1*distance + a2*distance*distance)

setA1
void PolylightNode::set_a1(float a1);

Description: Set the quadratic attenuation factor a1 fd = 1 / ( a0 + a1*distance + a2*distance*distance)

setA2
void PolylightNode::set_a2(float a2);

Description: Set the quadratic attenuation factor a2 fd = 1 / ( a0 + a1*distance + a2*distance*distance)

setAttenuation
bool PolylightNode::set_attenuation(PolylightNode::Attenuation_Type type);

Description: Set ALINEAR or AQUADRATIC attenuation

setColor
void PolylightNode::set_color(LVecBase4f color);

Description: Set the light's color...
Description: Set the light's color... 3 floats between 0 and 1

setFlickerType
bool PolylightNode::set_flicker_type(PolylightNode::Flicker_Type type);

Description: Flicker type can be FRANDOM or FSIN At a later point there might be a FCUSTOM Custom flicker will be a set of fix points recorded by animating the light's intensity

setFreq
void PolylightNode::set_freq(float f);

Description: Set frequency of sin flicker

setOffset
void PolylightNode::set_offset(float offset);

Description: Set the offset value for the random and sin flicker variations... used to tweak the flicker This value is added to the variation

setPos
void PolylightNode::set_pos(LVecBase3f position);

Description: Set this light's position

setRadius
void PolylightNode::set_radius(float r);

Description: Set radius of the spherical light volume

setScale
void PolylightNode::set_scale(float scale);

Description: Set the scale value for the random and sin flicker variations... used to tweak the flicker This value is multiplied with the variation

setStepSize
void PolylightNode::set_step_size(float step);

Description: Set the step size for the sin function in flicker This is the increment size for the value supplied to the sin function

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Pool

    from direct.showbase.Pool import Pool

Inheritance:

    Pool:

Methods of Pool:

    __init__
    __repr__
    add
    checkin
    checkout
    cleanup
    getNumItems
    hasFree
    isFree
    isUsed
    remove
    reset
__init__
def __init__(self, free=None)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

add
def add(self, item)

Add an item to the free list.

checkin
def checkin(self, item)

Put back a checked out item. Error if the item is not checked out.

checkout
def checkout(self)

Get an arbitrary item from the pool.

cleanup
def cleanup(self, cleanupFunc=None)

Completely cleanup the pool and all of its objects. cleanupFunc will be called on every free and used item.

getNumItems
def getNumItems(self)

Returns the number of free items and the number of used items.

hasFree
def hasFree(self)

Returns true if there is at least one free item.

isFree
def isFree(self, item)

Returns true if this item is free for check out.

isUsed
def isUsed(self, item)

Returns true if this item has already been checked out.

remove
def remove(self, item)

Remove an item. Error is flagged if the item is not in the pool.

reset
def reset(self)

Resets the pool so all items are free.


PortalNode

    from pandac.PandaModules import PortalNode
    Class : PortalNode
    Description : A node in the scene graph that can hold a Portal Polygon, which is a rectangle. Other types of polygons are not supported for now. It also holds a PT(PandaNode) Cell that this portal is connected to

Inheritance:

    PortalNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of PortalNode:

    PortalNode (Constructor)
    addVertex
    clearVertices
    getCellIn
    getCellOut
    getClassType
    getFromPortalMask
    getIntoPortalMask
    getNumVertices
    getPortalGeom
    getVertex
    isClipPlane
    isOpen
    isVisible
    setCellIn
    setCellOut
    setClipPlane
    setFromPortalMask
    setIntoPortalMask
    setOpen
    setPortalGeom
    setPortalMask
    setVisible

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
PortalNode
PortalNode::PortalNode(string const &name);

Description: Default constructor, just an empty node, no geo This is used to read portal from model. You can also use this from python to create an empty portal. Then you can set the vertices yourself, with addVertex.
Description: Create a default rectangle as portal. Use this to create an arbitrary portal and setup from Python
Description:

addVertex
void PortalNode::add_vertex(LPoint3f const &vertex);

Description: Adds a new vertex to the portal polygon. The vertices should be defined in a counterclockwise orientation when viewing through the portal.

clearVertices
void PortalNode::clear_vertices(void);

Description: Resets the vertices of the portal to the empty list.

getCellIn
NodePath PortalNode::get_cell_in(void) const;

Description: Sets the cell that this portal belongs to

getCellOut
NodePath PortalNode::get_cell_out(void) const;

Description: Sets the cell that this portal leads out to

getClassType
static TypeHandle PortalNode::get_class_type(void);

Undocumented function.

getFromPortalMask
BitMask< unsigned int, 32 > PortalNode::get_from_portal_mask(void) const;

Description: Returns the current "from" PortalMask. In order for a portal to be detected from this object into another object, the intersection of this object's "from" mask and the other object's "into" mask must be nonzero.

getIntoPortalMask
BitMask< unsigned int, 32 > PortalNode::get_into_portal_mask(void) const;

Description: Returns the current "into" PortalMask. In order for a portal to be detected from another object into this object, the intersection of the other object's "from" mask and this object's "into" mask must be nonzero.

getNumVertices
int PortalNode::get_num_vertices(void) const;

Description: Returns the number of vertices in the portal polygon.

getPortalGeom
bool PortalNode::get_portal_geom(void) const;

Description: Returns the current state of the portal_geom flag. See set_portal_geom().

getVertex
LPoint3f const &PortalNode::get_vertex(int n) const;

Description: Returns the nth vertex of the portal polygon.

isClipPlane
bool PortalNode::is_clip_plane(void);

Description: Is this portal clipping against its left-right planes

isOpen
bool PortalNode::is_open(void);

Description: Is this portal open from current camera zone

isVisible
bool PortalNode::is_visible(void);

Description: Is this portal facing the camera

setCellIn
void PortalNode::set_cell_in(NodePath const &cell);

Description: Sets the cell that this portal belongs to

setCellOut
void PortalNode::set_cell_out(NodePath const &cell);

Description: Sets the cell that this portal leads out to

setClipPlane
void PortalNode::set_clip_plane(bool value);

Description: this is set if the portal will clip against its left and right planes

setFromPortalMask
void PortalNode::set_from_portal_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "from" PortalMask. In order for a portal to be detected from this object into another object, the intersection of this object's "from" mask and the other object's "into" mask must be nonzero.

setIntoPortalMask
void PortalNode::set_into_portal_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" PortalMask. In order for a portal to be detected from another object into this object, the intersection of the other object's "from" mask and this object's "into" mask must be nonzero.

setOpen
void PortalNode::set_open(bool value);

Description: Python sets this based on curent camera zone

setPortalGeom
void PortalNode::set_portal_geom(bool flag);

Description: Sets the state of the "portal geom" flag for this PortalNode. Normally, this is false; when this is set true, the PortalSolids in this node will test for portals with actual renderable geometry, in addition to whatever PortalSolids may be indicated by the from_portal_mask.
Setting this to true causes this to test *all* GeomNodes for portals. It is an all-or-none thing; there is no way to portal with only some GeomNodes, as GeomNodes have no into_portal_mask.

setPortalMask
void PortalNode::set_portal_mask(BitMask< unsigned int, 32 > mask);

Description: Simultaneously sets both the "from" and "into" PortalMask values to the same thing.

setVisible
void PortalNode::set_visible(bool value);

Description: this is set if the portal is facing camera

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PosHprInterval

    from direct.interval.FunctionInterval import PosHprInterval

Inheritance:

    PosHprInterval:

Methods of PosHprInterval:

    __init__
__init__
def __init__(self, nodePath, pos, hpr, duration=0.0, name=None, other=None)

__init__(nodePath, pos, hpr, duration, name)


PosHprLerpFunctor

    from pandac.PandaModules import PosHprLerpFunctor
    Class : PosHprLerpFunctor
    Description : Class for Lerping between positions and orientations in space

Inheritance:

    PosHprLerpFunctor: LerpFunctor
    LerpFunctor: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of PosHprLerpFunctor:

    PosHprLerpFunctor (Constructor)
    getClassType
    takeLongest
    takeShortest

Methods of LerpFunctor:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
PosHprLerpFunctor
PosHprLerpFunctor::PosHprLerpFunctor(NodePath np, LPoint3f pstart, LPoint3f pend, LVecBase3f hstart, LVecBase3f hend);

Undocumented function.

getClassType
static TypeHandle PosHprLerpFunctor::get_class_type(void);

now for typehandle stuff

takeLongest
void PosHprLerpFunctor::take_longest(void);

Undocumented function.

takeShortest
void PosHprLerpFunctor::take_shortest(void);

Undocumented function.

getClassType
static TypeHandle LerpFunctor::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PosHprScaleInterval

    from direct.interval.FunctionInterval import PosHprScaleInterval

Inheritance:

    PosHprScaleInterval:

Methods of PosHprScaleInterval:

    __init__
__init__
def __init__(self, nodePath, pos, hpr, scale, duration=0.0, name=None, other=None)

__init__(nodePath, pos, hpr, scale, duration, other, name)


PosHprScaleLerpFunctor

    from pandac.PandaModules import PosHprScaleLerpFunctor
    Class : PosHprScaleLerpFunctor
    Description : Class for Lerping between position, orientation, and scale

Inheritance:

    PosHprScaleLerpFunctor: LerpFunctor
    LerpFunctor: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of PosHprScaleLerpFunctor:

    PosHprScaleLerpFunctor (Constructor)
    getClassType
    takeLongest
    takeShortest

Methods of LerpFunctor:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
PosHprScaleLerpFunctor
PosHprScaleLerpFunctor::PosHprScaleLerpFunctor(NodePath np, LPoint3f pstart, LPoint3f pend, LVecBase3f hstart, LVecBase3f hend, LVecBase3f sstart, LVecBase3f send);

Undocumented function.

getClassType
static TypeHandle PosHprScaleLerpFunctor::get_class_type(void);

now for typehandle stuff

takeLongest
void PosHprScaleLerpFunctor::take_longest(void);

Undocumented function.

takeShortest
void PosHprScaleLerpFunctor::take_shortest(void);

Undocumented function.

getClassType
static TypeHandle LerpFunctor::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PosInterval

    from direct.interval.FunctionInterval import PosInterval

Inheritance:

    PosInterval:

Methods of PosInterval:

    __init__
__init__
def __init__(self, nodePath, pos, duration=0.0, name=None, other=None)

__init__(nodePath, pos, duration, name)


PosLerpFunctor

    from pandac.PandaModules import PosLerpFunctor
    Class : PosLerpFunctor
    Description : Class for Lerping between positions in space

Inheritance:

    PosLerpFunctor: SimpleLerpFunctor< LPoint3f >
    SimpleLerpFunctor< LPoint3f >: LerpFunctor
    LerpFunctor: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of PosLerpFunctor:

    PosLerpFunctor (Constructor)
    getClassType

Methods of SimpleLerpFunctor< LPoint3f >:

    getClassType
    getEnd
    getStart
    interpolate

Methods of LerpFunctor:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
PosLerpFunctor
PosLerpFunctor::PosLerpFunctor(NodePath np, LPoint3f start, LPoint3f end);

Undocumented function.

getClassType
static TypeHandle PosLerpFunctor::get_class_type(void);

now for typehandle stuff

getClassType
static TypeHandle ::SimpleLerpFunctor< LPoint3f >::get_class_type(void);

Undocumented function.

getEnd
LPoint3f const &::SimpleLerpFunctor< LPoint3f >::get_end(void) const;

Undocumented function.

getStart
LPoint3f const &::SimpleLerpFunctor< LPoint3f >::get_start(void) const;

Undocumented function.

interpolate
LPoint3f ::SimpleLerpFunctor< LPoint3f >::interpolate(float );

Undocumented function.

getClassType
static TypeHandle LerpFunctor::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PreparedGraphicsObjects

    from pandac.PandaModules import PreparedGraphicsObjects
    Class : PreparedGraphicsObjects
    Description : A table of objects that are saved within the graphics context for reference by handle later. Generally, this represents things like OpenGL texture objects or display lists (or their equivalent on other platforms).
    This object simply records the pointers to the context objects created by the individual GSG's; these context objects will contain enough information to reference or release the actual object stored within the graphics context.
    These tables may potentially be shared between related graphics contexts, hence their storage here in a separate object rather than as a part of the GraphicsStateGuardian.

Inheritance:

    PreparedGraphicsObjects: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of PreparedGraphicsObjects:

    dequeueGeom
    dequeueIndexBuffer
    dequeueShader
    dequeueTexture
    dequeueVertexBuffer
    enqueueGeom
    enqueueIndexBuffer
    enqueueShader
    enqueueTexture
    enqueueVertexBuffer
    getName
    getNumPrepared
    getNumPreparedGeoms
    getNumPreparedIndexBuffers
    getNumPreparedShaders
    getNumPreparedTextures
    getNumPreparedVertexBuffers
    getNumQueued
    getNumQueuedGeoms
    getNumQueuedIndexBuffers
    getNumQueuedShaders
    getNumQueuedTextures
    getNumQueuedVertexBuffers
    isGeomPrepared
    isGeomQueued
    isIndexBufferPrepared
    isIndexBufferQueued
    isShaderPrepared
    isShaderQueued
    isTexturePrepared
    isTextureQueued
    isVertexBufferPrepared
    isVertexBufferQueued
    prepareGeomNow
    prepareIndexBufferNow
    prepareShaderNow
    prepareTextureNow
    prepareVertexBufferNow
    releaseAll
    releaseAllGeoms
    releaseAllIndexBuffers
    releaseAllShaders
    releaseAllTextures
    releaseAllVertexBuffers
    releaseGeom
    releaseIndexBuffer
    releaseShader
    releaseTexture
    releaseVertexBuffer

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
dequeueGeom
bool PreparedGraphicsObjects::dequeue_geom(Geom *geom);

Description: Removes a geom from the queued list of geoms to be prepared. Normally it is not necessary to call this, unless you change your mind about preparing it at the last minute, since the geom will automatically be dequeued and prepared at the next frame.
The return value is true if the geom is successfully dequeued, false if it had not been queued.

dequeueIndexBuffer
bool PreparedGraphicsObjects::dequeue_index_buffer(GeomPrimitive *data);

Description: Removes a buffer from the queued list of data arrays to be prepared. Normally it is not necessary to call this, unless you change your mind about preparing it at the last minute, since the data will automatically be dequeued and prepared at the next frame.
The return value is true if the buffer is successfully dequeued, false if it had not been queued.

dequeueShader
bool PreparedGraphicsObjects::dequeue_shader(Shader *shader);

Description: Removes a shader from the queued list of shaders to be prepared. Normally it is not necessary to call this, unless you change your mind about preparing it at the last minute, since the shader will automatically be dequeued and prepared at the next frame.
The return value is true if the shader is successfully dequeued, false if it had not been queued.

dequeueTexture
bool PreparedGraphicsObjects::dequeue_texture(Texture *tex);

Description: Removes a texture from the queued list of textures to be prepared. Normally it is not necessary to call this, unless you change your mind about preparing it at the last minute, since the texture will automatically be dequeued and prepared at the next frame.
The return value is true if the texture is successfully dequeued, false if it had not been queued.

dequeueVertexBuffer
bool PreparedGraphicsObjects::dequeue_vertex_buffer(GeomVertexArrayData *data);

Description: Removes a buffer from the queued list of data arrays to be prepared. Normally it is not necessary to call this, unless you change your mind about preparing it at the last minute, since the data will automatically be dequeued and prepared at the next frame.
The return value is true if the buffer is successfully dequeued, false if it had not been queued.

enqueueGeom
void PreparedGraphicsObjects::enqueue_geom(Geom *geom);

Description: Indicates that a geom would like to be put on the list to be prepared when the GSG is next ready to do this (presumably at the next frame).

enqueueIndexBuffer
void PreparedGraphicsObjects::enqueue_index_buffer(GeomPrimitive *data);

Description: Indicates that a buffer would like to be put on the list to be prepared when the GSG is next ready to do this (presumably at the next frame).

enqueueShader
void PreparedGraphicsObjects::enqueue_shader(Shader *shader);

Description: Indicates that a shader would like to be put on the list to be prepared when the GSG is next ready to do this (presumably at the next frame).

enqueueTexture
void PreparedGraphicsObjects::enqueue_texture(Texture *tex);

Description: Indicates that a texture would like to be put on the list to be prepared when the GSG is next ready to do this (presumably at the next frame).

enqueueVertexBuffer
void PreparedGraphicsObjects::enqueue_vertex_buffer(GeomVertexArrayData *data);

Description: Indicates that a buffer would like to be put on the list to be prepared when the GSG is next ready to do this (presumably at the next frame).

getName
string const &PreparedGraphicsObjects::get_name(void) const;

Description: Returns the name of the PreparedGraphicsObjects structure. This is an arbitrary name that serves mainly to uniquify the context for PStats reporting.

getNumPrepared
int PreparedGraphicsObjects::get_num_prepared(void) const;

Description: Returns the number of objects of any kind that have already been prepared on this GSG.

getNumPreparedGeoms
int PreparedGraphicsObjects::get_num_prepared_geoms(void) const;

Description: Returns the number of geoms that have already been prepared on this GSG.

getNumPreparedIndexBuffers
int PreparedGraphicsObjects::get_num_prepared_index_buffers(void) const;

Description: Returns the number of index buffers that have already been prepared on this GSG.

getNumPreparedShaders
int PreparedGraphicsObjects::get_num_prepared_shaders(void) const;

Description: Returns the number of shaders that have already been prepared on this GSG.

getNumPreparedTextures
int PreparedGraphicsObjects::get_num_prepared_textures(void) const;

Description: Returns the number of textures that have already been prepared on this GSG.

getNumPreparedVertexBuffers
int PreparedGraphicsObjects::get_num_prepared_vertex_buffers(void) const;

Description: Returns the number of vertex buffers that have already been prepared on this GSG.

getNumQueued
int PreparedGraphicsObjects::get_num_queued(void) const;

Description: Returns the number of objects of any kind that have been enqueued to be prepared on this GSG.

getNumQueuedGeoms
int PreparedGraphicsObjects::get_num_queued_geoms(void) const;

Description: Returns the number of geoms that have been enqueued to be prepared on this GSG.

getNumQueuedIndexBuffers
int PreparedGraphicsObjects::get_num_queued_index_buffers(void) const;

Description: Returns the number of index buffers that have been enqueued to be prepared on this GSG.

getNumQueuedShaders
int PreparedGraphicsObjects::get_num_queued_shaders(void) const;

Description: Returns the number of shaders that have been enqueued to be prepared on this GSG.

getNumQueuedTextures
int PreparedGraphicsObjects::get_num_queued_textures(void) const;

Description: Returns the number of textures that have been enqueued to be prepared on this GSG.

getNumQueuedVertexBuffers
int PreparedGraphicsObjects::get_num_queued_vertex_buffers(void) const;

Description: Returns the number of vertex buffers that have been enqueued to be prepared on this GSG.

isGeomPrepared
bool PreparedGraphicsObjects::is_geom_prepared(Geom const *geom) const;

Description: Returns true if the vertex buffer has been prepared on this GSG, false otherwise.

isGeomQueued
bool PreparedGraphicsObjects::is_geom_queued(Geom const *geom) const;

Description: Returns true if the geom has been queued on this GSG, false otherwise.

isIndexBufferPrepared
bool PreparedGraphicsObjects::is_index_buffer_prepared(GeomPrimitive const *data) const;

Description: Returns true if the index buffer has been prepared on this GSG, false otherwise.

isIndexBufferQueued
bool PreparedGraphicsObjects::is_index_buffer_queued(GeomPrimitive const *data) const;

Description: Returns true if the index buffer has been queued on this GSG, false otherwise.

isShaderPrepared
bool PreparedGraphicsObjects::is_shader_prepared(Shader const *shader) const;

Description: Returns true if the shader has been prepared on this GSG, false otherwise.

isShaderQueued
bool PreparedGraphicsObjects::is_shader_queued(Shader const *shader) const;

Description: Returns true if the shader has been queued on this GSG, false otherwise.

isTexturePrepared
bool PreparedGraphicsObjects::is_texture_prepared(Texture const *tex) const;

Description: Returns true if the texture has been prepared on this GSG, false otherwise.

isTextureQueued
bool PreparedGraphicsObjects::is_texture_queued(Texture const *tex) const;

Description: Returns true if the texture has been queued on this GSG, false otherwise.

isVertexBufferPrepared
bool PreparedGraphicsObjects::is_vertex_buffer_prepared(GeomVertexArrayData const *data) const;

Description: Returns true if the vertex buffer has been prepared on this GSG, false otherwise.

isVertexBufferQueued
bool PreparedGraphicsObjects::is_vertex_buffer_queued(GeomVertexArrayData const *data) const;

Description: Returns true if the vertex buffer has been queued on this GSG, false otherwise.

prepareGeomNow
GeomContext *PreparedGraphicsObjects::prepare_geom_now(Geom *geom, GraphicsStateGuardianBase *gsg);

Description: Immediately creates a new GeomContext for the indicated geom and returns it. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new geoms. If this is not necessarily the case, you should use enqueue_geom() instead.
Normally, this function is not called directly. Call
Geom::prepare_now() instead.
The GeomContext contains all of the pertinent information needed by the GSG to keep track of this one particular geom, and will exist as long as the geom is ready to be rendered.
When either the Geom or the PreparedGraphicsObjects object destructs, the GeomContext will be deleted.

prepareIndexBufferNow
IndexBufferContext *PreparedGraphicsObjects::prepare_index_buffer_now(GeomPrimitive *data, GraphicsStateGuardianBase *gsg);

Description: Immediately creates a new IndexBufferContext for the indicated data and returns it. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new datas. If this is not necessarily the case, you should use enqueue_index_buffer() instead.
Normally, this function is not called directly. Call
Data::prepare_now() instead.
The IndexBufferContext contains all of the pertinent information needed by the GSG to keep track of this one particular data, and will exist as long as the data is ready to be rendered.
When either the Data or the PreparedGraphicsObjects object destructs, the IndexBufferContext will be deleted.

prepareShaderNow
ShaderContext *PreparedGraphicsObjects::prepare_shader_now(Shader *shader, GraphicsStateGuardianBase *gsg);

Description: Immediately creates a new ShaderContext for the indicated shader and returns it. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new shaders. If this is not necessarily the case, you should use enqueue_shader() instead.
Normally, this function is not called directly. Call
Shader::prepare_now() instead.
The ShaderContext contains all of the pertinent information needed by the GSG to keep track of this one particular shader, and will exist as long as the shader is ready to be rendered.
When either the Shader or the PreparedGraphicsObjects object destructs, the ShaderContext will be deleted.

prepareTextureNow
TextureContext *PreparedGraphicsObjects::prepare_texture_now(Texture *tex, GraphicsStateGuardianBase *gsg);

Description: Immediately creates a new TextureContext for the indicated texture and returns it. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new textures. If this is not necessarily the case, you should use enqueue_texture() instead.
Normally, this function is not called directly. Call
Texture::prepare_now() instead.
The TextureContext contains all of the pertinent information needed by the GSG to keep track of this one particular texture, and will exist as long as the texture is ready to be rendered.
When either the Texture or the PreparedGraphicsObjects object destructs, the TextureContext will be deleted.

prepareVertexBufferNow
VertexBufferContext *PreparedGraphicsObjects::prepare_vertex_buffer_now(GeomVertexArrayData *data, GraphicsStateGuardianBase *gsg);

Description: Immediately creates a new VertexBufferContext for the indicated data and returns it. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new datas. If this is not necessarily the case, you should use enqueue_vertex_buffer() instead.
Normally, this function is not called directly. Call
Data::prepare_now() instead.
The VertexBufferContext contains all of the pertinent information needed by the GSG to keep track of this one particular data, and will exist as long as the data is ready to be rendered.
When either the Data or the PreparedGraphicsObjects object destructs, the VertexBufferContext will be deleted.

releaseAll
void PreparedGraphicsObjects::release_all(void);

Description: Releases all prepared objects of all kinds at once.

releaseAllGeoms
int PreparedGraphicsObjects::release_all_geoms(void);

Description: Releases all geoms at once. This will force them to be reloaded into geom memory for all GSG's that share this object. Returns the number of geoms released.

releaseAllIndexBuffers
int PreparedGraphicsObjects::release_all_index_buffers(void);

Description: Releases all datas at once. This will force them to be reloaded into data memory for all GSG's that share this object. Returns the number of datas released.

releaseAllShaders
int PreparedGraphicsObjects::release_all_shaders(void);

Description: Releases all shaders at once. This will force them to be reloaded into shader memory for all GSG's that share this object. Returns the number of shaders released.

releaseAllTextures
int PreparedGraphicsObjects::release_all_textures(void);

Description: Releases all textures at once. This will force them to be reloaded into texture memory for all GSG's that share this object. Returns the number of textures released.

releaseAllVertexBuffers
int PreparedGraphicsObjects::release_all_vertex_buffers(void);

Description: Releases all datas at once. This will force them to be reloaded into data memory for all GSG's that share this object. Returns the number of datas released.

releaseGeom
void PreparedGraphicsObjects::release_geom(GeomContext *gc);

Description: Indicates that a geom context, created by a previous call to prepare_geom(), is no longer needed. The driver resources will not be freed until some GSG calls update(), indicating it is at a stage where it is ready to release geoms--this prevents conflicts from threading or multiple GSG's sharing geoms (we have no way of knowing which graphics context is currently active, or what state it's in, at the time release_geom is called).

releaseIndexBuffer
void PreparedGraphicsObjects::release_index_buffer(IndexBufferContext *ibc);

Description: Indicates that a data context, created by a previous call to prepare_index_buffer(), is no longer needed. The driver resources will not be freed until some GSG calls update(), indicating it is at a stage where it is ready to release datas--this prevents conflicts from threading or multiple GSG's sharing datas (we have no way of knowing which graphics context is currently active, or what state it's in, at the time release_index_buffer is called).

releaseShader
void PreparedGraphicsObjects::release_shader(ShaderContext *sc);

Description: Indicates that a shader context, created by a previous call to prepare_shader(), is no longer needed. The driver resources will not be freed until some GSG calls update(), indicating it is at a stage where it is ready to release shaders--this prevents conflicts from threading or multiple GSG's sharing shaders (we have no way of knowing which graphics context is currently active, or what state it's in, at the time release_shader is called).

releaseTexture
void PreparedGraphicsObjects::release_texture(TextureContext *tc);

Description: Indicates that a texture context, created by a previous call to prepare_texture(), is no longer needed. The driver resources will not be freed until some GSG calls update(), indicating it is at a stage where it is ready to release textures--this prevents conflicts from threading or multiple GSG's sharing textures (we have no way of knowing which graphics context is currently active, or what state it's in, at the time release_texture is called).

releaseVertexBuffer
void PreparedGraphicsObjects::release_vertex_buffer(VertexBufferContext *vbc);

Description: Indicates that a data context, created by a previous call to prepare_vertex_buffer(), is no longer needed. The driver resources will not be freed until some GSG calls update(), indicating it is at a stage where it is ready to release datas--this prevents conflicts from threading or multiple GSG's sharing datas (we have no way of knowing which graphics context is currently active, or what state it's in, at the time release_vertex_buffer is called).

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ProfileTimer

    from pandac.PandaModules import ProfileTimer
    *
    ProfileTimer
    HowTo: Create a ProfileTimer and hold onto it. Call init() whenever you like (the timer doesn't start yet). Call on() to start the timer. While the timer is on, call mark() at each point of interest, in the code you are timing. You can turn the timer off() and on() to skip things you don't want to time. When your timing is finished, call printTo() to see the results (e.g. myTimer.printTo(cerr)).
    Notes: You should be able to time things down to the millisecond well enough, but if you call on() and off() within micro- seconds of each other, I don't think you'll get very good results.
    */

Inheritance:

    ProfileTimer:

Methods of ProfileTimer:

    ProfileTimer (Constructor)
    consolidateAllTo
    consolidateTo
    getTotalTime
    init
    mark
    off
    on
    printAllTo
    printTo
ProfileTimer
ProfileTimer::ProfileTimer(char const *name = (0), int maxEntries = (MaxEntriesDefault));

Undocumented function.

consolidateAllTo
static void ProfileTimer::consolidateAllTo(ostream &out = (cout));

Don't call any of the following during timing: (Because they are slow, not because anything will break).

consolidateTo
void ProfileTimer::consolidateTo(ostream &out = (cout)) const;

Undocumented function.

getTotalTime
double ProfileTimer::getTotalTime(void) const;

Don't call any of the following during timing: (Because they are slow, not because anything will break).

init
void ProfileTimer::init(char const *name, int maxEntries = (MaxEntriesDefault));

Undocumented function.

mark
void ProfileTimer::mark(char const *tag);

Undocumented function.

off
void ProfileTimer::off(void);

Undocumented function.

on
void ProfileTimer::on(void);

Filename: profileTimer.I Created by:
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."

printAllTo
static void ProfileTimer::printAllTo(ostream &out = (cout));

Undocumented function.

printTo
void ProfileTimer::printTo(ostream &out = (cout)) const;

Undocumented function.


ProgressBar

    from direct.tkwidgets.ProgressBar import ProgressBar

Inheritance:

    ProgressBar:

Methods of ProgressBar:

    __init__
    update
    updateProgress
__init__
def __init__(self, master=None, orientation="horizontal", min=0, max=100, width=100, height=18, doLabel=1, appearance="sunken", fillColor="blue", background="gray", labelColor="yellow", labelFont="Verdana", labelText="", labelFormat="%d%%", value=50, bd=2)

Undocumented function.

update
def update(self)

Undocumented function.

updateProgress
def updateProgress(self, newValue, newMax=None)

Undocumented function.


ProjectileInterval

    from direct.interval.ProjectileInterval import ProjectileInterval
    ProjectileInterval class: moves a nodepath through the trajectory of a projectile under the influence of gravity

Inheritance:

    ProjectileInterval:

Methods of ProjectileInterval:

    __calcPos
    __calcTrajectory
    __init__
    __initialize
    privInitialize
    privInstant
    privStep
    testTrajectory
__calcPos
def __calcPos(self, t)

Undocumented function.

__calcTrajectory
def __calcTrajectory(self, startPos=None, endPos=None, duration=None, startVel=None, endZ=None, wayPoint=None, timeToWayPoint=None, gravityMult=None)

Undocumented function.

__init__
def __init__(self, node, startPos=None, endPos=None, duration=None, startVel=None, endZ=None, wayPoint=None, timeToWayPoint=None, gravityMult=None, name=None, collNode=None)

You may specify several different sets of input parameters. (If startPos is not provided, it will be obtained from the node's position at the time that the interval is first started. Note that in this case you must provide a duration of some kind.)
go from startPos to endPos in duration seconds startPos, endPos, duration given a starting velocity, go for a specific time period startPos, startVel, duration given a starting velocity, go until you hit a given Z plane startPos, startVel, endZ pass through wayPoint at time 'timeToWayPoint'. Go until you hit a given Z plane startPos, wayPoint, timeToWayPoint, endZ
You may alter gravity by providing a multiplier in 'gravityMult'. '2.' will make gravity twice as strong, '.5' half as strong. '-1.' will reverse gravity
If collNode is not None, it should be an empty CollisionNode which will be filled with an appropriate CollisionParabola when the interval starts. This CollisionParabola will be set to match the interval's parabola, and its t1, t2 values will be updated automatically as the interval plays. It will *not* be automatically removed from the node when the interval finishes.

__initialize
def __initialize(self)

Undocumented function.

privInitialize
def privInitialize(self, t)

Undocumented function.

privInstant
def privInstant(self)

Undocumented function.

privStep
def privStep(self, t)

Undocumented function.

testTrajectory
def testTrajectory(self)

Undocumented function.


ProjectionScreen

    from pandac.PandaModules import ProjectionScreen
    Class : ProjectionScreen
    Description : A ProjectionScreen implements a simple system for projective texturing. The ProjectionScreen node is the parent of a hierarchy of geometry that is considered a "screen"; the ProjectionScreen will automatically recompute all the UV's (for a particular texture stage) on its subordinate geometry according to the relative position and lens parameters of the indicated LensNode.
    All this does is recompute UV's; the caller is responsible for applying the appropriate texture(s) to the geometry.
    This does not take advantage of any hardware-assisted projective texturing; all of the UV's are computed in the CPU. (Use NodePath::project_texture() to enable hardware-assisted projective texturing.) However, the ProjectionScreen interface does support any kind of lens, linear or nonlinear, that might be defined using the Lens interface, including fisheye and cylindrical lenses.

Inheritance:

    ProjectionScreen: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of ProjectionScreen:

    ProjectionScreen (Constructor)
    generateScreen
    getClassType
    getFrameColor
    getInvertUvs
    getProjector
    getTexcoordName
    getVignetteColor
    getVignetteOn
    makeFlatMesh
    recompute
    regenerateScreen
    setFrameColor
    setInvertUvs
    setProjector
    setTexcoordName
    setVignetteColor
    setVignetteOn

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
ProjectionScreen
ProjectionScreen::ProjectionScreen(string const &name = (""));

Description:

generateScreen
PointerTo< GeomNode > ProjectionScreen::generate_screen(NodePath const &projector, string const &screen_name, int num_x_verts, int num_y_verts, float distance, float fill_ratio);

Description: Synthesizes a polygon mesh based on the projection area of the indicated projector. This generates and returns a new GeomNode but does not automatically parent it to the ProjectionScreen node; see regenerate_screen().
The specified projector need not be the same as the projector given to the ProjectionScreen with set_projector() (although this is often what you want).
num_x_verts and num_y_verts specify the number of vertices to make in the grid across the horizontal and vertical dimension of the projector, respectively; distance represents the approximate distance of the screen from the lens center.
The fill_ratio parameter specifies the fraction of the image to cover. If it is 1.0, the entire image is shown full-size; if it is 0.9, 10% of the image around the edges is not part of the grid (and the grid is drawn smaller by the same 10%). This is intended to work around graphics drivers that tend to show dark edges or other unsatisfactory artifacts around the edges of textures: render the texture larger than necessary by a certain fraction, and make the screen smaller by the inverse fraction.

getClassType
static TypeHandle ProjectionScreen::get_class_type(void);

Undocumented function.

getFrameColor
LVecBase4f const &ProjectionScreen::get_frame_color(void) const;

Description: Returns the color the screen will be painted at the portions outside of the lens' frustum. See set_frame_color().

getInvertUvs
bool ProjectionScreen::get_invert_uvs(void) const;

Description: Returns whether this screen is compensating for a graphics driver inverting the framebuffer image. See set_invert_uvs().

getProjector
NodePath const &ProjectionScreen::get_projector(void) const;

Description: Returns the NodePath to the LensNode that is to serve as the projector for this screen, or empty if no projector is associated.

getTexcoordName
string ProjectionScreen::get_texcoord_name(void) const;

Description: Returns the name of the texture coordinates that will be generated by this particular ProjectionScreen, as set by set_texcoord_name().

getVignetteColor
LVecBase4f const &ProjectionScreen::get_vignette_color(void) const;

Description: Returns the color the screen will be painted at the portions outside of the lens' frustum. See set_vignette_color().

getVignetteOn
bool ProjectionScreen::get_vignette_on(void) const;

Description: Returns true if vertex-based vignetting is on, false otherwise. See set_vignette_on().

makeFlatMesh
PointerTo< PandaNode > ProjectionScreen::make_flat_mesh(NodePath const &this_np, NodePath const &camera);

Description: Generates a deep copy of the hierarchy at the ProjectionScreen node and below, with vertices flattened into two dimensions as if they were seen by the indicated camera node.
This is useful for rendering an image as seen through a non-linear lens. The resulting mesh will have vertices in the range [-1, 1] in both x and y, and may be then rendered with an ordinary orthographic lens, to generate the effect of seeing the image through the specified non-linear lens.
The returned node has no parent; it is up to the caller to parent it somewhere or store it so that it does not get dereferenced and deleted.

recompute
void ProjectionScreen::recompute(void);

Description: Recomputes all the UV's for geometry below the ProjectionScreen node, as if the texture were projected from the associated projector.
This function is normally called automatically whenever the relevant properties change, so it should not normally need to be called directly by the user. However, it does no harm to call this if there is any doubt.

regenerateScreen
void ProjectionScreen::regenerate_screen(NodePath const &projector, string const &screen_name, int num_x_verts, int num_y_verts, float distance, float fill_ratio);

Description: Removes all the children from the ProjectionScreen node, and adds the newly generated child returned by generate_screen().

setFrameColor
void ProjectionScreen::set_frame_color(LVecBase4f const &frame_color);

Description: Specifies the color the screen will be painted at the portions outside of the lens' frustum; i.e. where the lens can't see it or illuminate it. This color is only used if the vignette_on flag is true; see set_vignette_on().

setInvertUvs
void ProjectionScreen::set_invert_uvs(bool invert_uvs);

Description: Some OpenGL graphics drivers are known to invert the framebuffer image when they copy it to texture. (This is arguably a problem with the OpenGL spec, which seems to be unclear about the proper ordering of pixels in this operation.)
In any case, set this true to compensate for this effect by inverting the UV's of the projection screen. The default is taken from the Configrc variable project-invert-uvs.

setProjector
void ProjectionScreen::set_projector(NodePath const &projector);

Description: Specifies the LensNode that is to serve as the projector for this screen. The relative position of the LensNode to the ProjectionScreen, as well as the properties of the lens associated with the LensNode, determines the UV's that will be assigned to the geometry within the ProjectionScreen.
The NodePath must refer to a LensNode (or a Camera).

setTexcoordName
void ProjectionScreen::set_texcoord_name(string const &texcoord_name);

Description: Specifies the name of the texture coordinates that are generated by this particular ProjectionScreen. This can be used in the presence of multitexturing to compute the UV's for just a subset of all of the active stages of the multitexture pipeline.

setVignetteColor
void ProjectionScreen::set_vignette_color(LVecBase4f const &vignette_color);

Description: Specifies the color the screen will be painted at the portions outside of the lens' frustum; i.e. where the lens can't see it or illuminate it. This color is only used if the vignette_on flag is true; see set_vignette_on().

setVignetteOn
void ProjectionScreen::set_vignette_on(bool vignette_on);

Description: Specifies whether vertex-based vignetting should be on. When this is enabled, vertex color will be set on the screen vertices to color the screen two distinct colors, usually white and black, for the parts of the screen in front of and outside the lens' frustum, respectively. When this is not enabled, the screen color will be left alone.
This effect generally looks terrible, but it does at least make the boundaries of the lens clear.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PruneObjectRefs

    from direct.showbase.ContainerLeakDetector import PruneObjectRefs
    Job to destroy any container refs that are no longer valid. Checks validity by asking for each container

Inheritance:

    PruneObjectRefs:

Methods of PruneObjectRefs:

    __init__
    destroy
    getPriority
    run
__init__
def __init__(self, name, leakDetector)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getPriority
def getPriority(self)

Undocumented function.

run
def run(self)

Undocumented function.


PSphereLens

    from pandac.PandaModules import PSphereLens
    Class : PSphereLens
    Description : A PSphereLens is a special nonlinear lens that doesn't correspond to any real physical lenses. It's primarily useful for generating 360-degree wraparound images while avoiding the distortion associated with fisheye images.
    A PSphereLens is similar to a cylindrical lens, except it is also curved in the vertical direction. This allows it to extend to both poles in the vertical direction. The mapping is similar to what many modeling packages call a sphere mapping: the x coordinate is proportional to azimuth, while the y coordinate is proportional to altitude.

Inheritance:

    PSphereLens: Lens
    Lens: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of PSphereLens:

    PSphereLens (Constructor)
    getClassType

Methods of Lens:

    clear
    clearKeystone
    clearViewMat
    extrude
    extrudeVec
    getAspectRatio
    getChangeEvent
    getClassType
    getConvergenceDistance
    getCoordinateSystem
    getDefaultFar
    getDefaultNear
    getFar
    getFilmMat
    getFilmMatInv
    getFilmOffset
    getFilmSize
    getFocalLength
    getFov
    getHfov
    getInterocularDistance
    getKeystone
    getLensMat
    getLensMatInv
    getMinFov
    getNear
    getNodalPoint
    getProjectionMat
    getProjectionMatInv
    getUpVector
    getVfov
    getViewHpr
    getViewMat
    getViewVector
    isLinear
    isOrthographic
    isPerspective
    makeBounds
    makeCopy
    makeGeometry
    output
    project
    recomputeAll
    setAspectRatio
    setChangeEvent
    setConvergenceDistance
    setCoordinateSystem
    setFar
    setFilmOffset
    setFilmSize
    setFocalLength
    setFov
    setFrustumFromCorners
    setInterocularDistance
    setKeystone
    setMinFov
    setNear
    setNearFar
    setViewHpr
    setViewMat
    setViewVector
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in Lens:

    SCMono | (StereoChannel)
SCLeft | (StereoChannel)
SCRight | (StereoChannel)
SCStereo | (StereoChannel)
FCRoll | (FromCorners)
FCCameraPlane | (FromCorners)
FCOffAxis | (FromCorners)
FCAspectRatio | (FromCorners)
FCShear | (FromCorners)
FCKeystone | (FromCorners)
PSphereLens
PSphereLens::PSphereLens(void);

Description:

getClassType
static TypeHandle PSphereLens::get_class_type(void);

Undocumented function.

clear
void Lens::clear(void);

Description: Resets all lens parameters to their initial default settings.

clearKeystone
void Lens::clear_keystone(void);

Description: Disables the lens keystone correction.

clearViewMat
void Lens::clear_view_mat(void);

Description: Resets the lens transform to identity.

extrude
bool Lens::extrude(LPoint2f const &point2d, LPoint3f &near_point, LPoint3f &far_point) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the corresponding vector in space that maps to this point, if such a vector can be determined. The vector is returned by indicating the points on the near plane and far plane that both map to the indicated 2-d point.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

extrudeVec
bool Lens::extrude_vec(LPoint2f const &point2d, LVector3f &vec3d) const;

Description: Given a 2-d point in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner, compute the vector that corresponds to the view direction. This will be parallel to the normal on the surface (the far plane) corresponding to the lens shape at this point.
See the comment block on Lens::extrude_vec_impl() for a more in-depth comment on the meaning of this vector.
Returns true if the vector is defined, or false otherwise.
The z coordinate of the 2-d point is ignored.

getAspectRatio
float Lens::get_aspect_ratio(void) const;

Description: Returns the aspect ratio of the Lens. This is determined based on the indicated film size; see set_film_size().

getChangeEvent
string const &Lens::get_change_event(void) const;

Description: Returns the name of the event that will be generated whenever any properties of this particular Lens have changed.

getClassType
static TypeHandle Lens::get_class_type(void);

Undocumented function.

getConvergenceDistance
float Lens::get_convergence_distance(void) const;

Description: See set_convergence_distance().

getCoordinateSystem
CoordinateSystem Lens::get_coordinate_system(void) const;

Description: Returns the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

getDefaultFar
static float Lens::get_default_far(void);

Description: Returns the default far plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getDefaultNear
static float Lens::get_default_near(void);

Description: Returns the default near plane distance that will be assigned to each newly-created lens. This is read from the Configrc file.

getFar
float Lens::get_far(void) const;

Description: Returns the position of the far plane (or cylinder, sphere, whatever).

getFilmMat
LMatrix4f const &Lens::get_film_mat(void) const;

Description: Returns the matrix that transforms from a point behind the lens to a point on the film.

getFilmMatInv
LMatrix4f const &Lens::get_film_mat_inv(void) const;

Description: Returns the matrix that transforms from a point on the film to a point behind the lens.

getFilmOffset
LVector2f const &Lens::get_film_offset(void) const;

Description: Returns the horizontal and vertical offset amounts of this Lens. See set_film_offset().

getFilmSize
LVecBase2f const &Lens::get_film_size(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_film_size().

getFocalLength
float Lens::get_focal_length(void) const;

Description: Returns the focal length of the lens. This may have been set explicitly by a previous call to set_focal_length(), or it may be computed based on the lens' fov and film_size. For certain kinds of lenses, the focal length has no meaning.

getFov
LVecBase2f const &Lens::get_fov(void) const;

Description: Returns the horizontal and vertical film size of the virtual film. See set_fov().

getHfov
float Lens::get_hfov(void) const;

Description: Returns the horizontal component of fov only. See get_fov().

getInterocularDistance
float Lens::get_interocular_distance(void) const;

Description: See set_interocular_distance().

getKeystone
LVecBase2f const &Lens::get_keystone(void) const;

Description: Returns the keystone correction specified for the lens.

getLensMat
LMatrix4f const &Lens::get_lens_mat(void) const;

Description: Returns the matrix that transforms from a point in front of the lens to a point in space.

getLensMatInv
LMatrix4f const &Lens::get_lens_mat_inv(void) const;

Description: Returns the matrix that transforms from a point in space to a point in front of the lens.

getMinFov
float Lens::get_min_fov(void) const;

Description: Returns the field of view of the narrowest dimension of the window. See set_min_fov().

getNear
float Lens::get_near(void) const;

Description: Returns the position of the near plane (or cylinder, sphere, whatever).

getNodalPoint
LPoint3f Lens::get_nodal_point(void) const;

Description: Returns the center point of the lens: the point from which the lens is viewing.

getProjectionMat
LMatrix4f const &Lens::get_projection_mat(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the complete transformation matrix from a 3-d point in space to a point on the film, if such a matrix exists, or the identity matrix if the lens is nonlinear.

getProjectionMatInv
LMatrix4f const &Lens::get_projection_mat_inv(Lens::StereoChannel channel = (SC_mono)) const;

Description: Returns the matrix that transforms from a 2-d point on the film to a 3-d vector in space, if such a matrix exists.

getUpVector
LVector3f const &Lens::get_up_vector(void) const;

Description: Returns the axis perpendicular to the camera's view vector that indicates the "up" direction.

getVfov
float Lens::get_vfov(void) const;

Description: Returns the vertical component of fov only. See get_fov().

getViewHpr
LVecBase3f const &Lens::get_view_hpr(void) const;

Description: Returns the direction in which the lens is facing.

getViewMat
LMatrix4f const &Lens::get_view_mat(void) const;

Description: Returns the direction in which the lens is facing.

getViewVector
LVector3f const &Lens::get_view_vector(void) const;

Description: Returns the axis along which the lens is facing.

isLinear
virtual bool Lens::is_linear(void) const;

Description: Returns true if the lens represents a linear projection (e.g. PerspectiveLens, OrthographicLens), and therefore there is a valid matrix returned by get_projection_mat(), or false otherwise.

isOrthographic
virtual bool Lens::is_orthographic(void) const;

Description: Returns true if the lens represents a orthographic projection (i.e. it is a OrthographicLens), false otherwise.

isPerspective
virtual bool Lens::is_perspective(void) const;

Description: Returns true if the lens represents a perspective projection (i.e. it is a PerspectiveLens), false otherwise.

makeBounds
virtual PointerTo< BoundingVolume > Lens::make_bounds(void) const;

Description: Allocates and returns a new BoundingVolume that encloses the frustum used for this kind of lens, if possible. If a suitable bounding volume cannot be created, returns NULL.

makeCopy
virtual PointerTo< Lens > Lens::make_copy(void) const = 0;

Undocumented function.

makeGeometry
virtual PointerTo< Geom > Lens::make_geometry(void);

Description: Allocates and returns a new Geom that can be rendered to show a visible representation of the frustum used for this kind of lens, if it makes sense to do so. If a visible representation cannot be created, returns NULL.

output
virtual void Lens::output(ostream &out) const;

Description:

project
bool Lens::project(LPoint3f const &point3d, LPoint3f &point2d) const;

Description: Given a 3-d point in space, determine the 2-d point this maps to, in the range (-1,1) in both dimensions, where (0,0) is the center of the lens and (-1,-1) is the lower-left corner.
Returns true if the 3-d point is in front of the lens and within the viewing frustum (in which case point2d is filled in), or false otherwise (in which case point2d will be filled in with something, which may or may not be meaningful).
The z coordinate will also be set to a value in the range (-1, 1), where 1 represents a point on the near plane, and -1 represents a point on the far plane.

recomputeAll
void Lens::recompute_all(void);

Description: Forces all internal parameters of the Lens to be recomputed. Normally, this should never need to be called; it is provided only to assist in debugging.

setAspectRatio
void Lens::set_aspect_ratio(float aspect_ratio);

Description: Sets the aspect ratio of the lens. This is the ratio of the height to the width of the generated image. Setting this overrides the two-parameter fov or film size setting.

setChangeEvent
void Lens::set_change_event(string const &event);

Description: Sets the name of the event that will be generated whenever any properties of the Lens have changed. If this is not set for a particular lens, no event will be generated.
The event is thrown with one parameter, the lens itself. This can be used to automatically track changes to camera fov, etc. in the application.

setConvergenceDistance
void Lens::set_convergence_distance(float convergence_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setCoordinateSystem
void Lens::set_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system that all 3-d computations are performed within for this Lens. Normally, this is CS_default.

setFar
void Lens::set_far(float far_distance);

Description: Defines the position of the far plane (or cylinder, sphere, whatever). Points farther from the lens than this may not be rendered.

setFilmOffset
void Lens::set_film_offset(float x, float y);

Description: Sets the horizontal and vertical offset amounts of this Lens. These are both in the same units specified in set_film_size().
This can be used to establish an off-axis lens.

setFilmSize
void Lens::set_film_size(float width);

Description: Sets the size and shape of the "film" within the lens. This both establishes the units used by calls like set_focal_length(), and establishes the aspect ratio of the frame.
In a physical camera, the field of view of a lens is determined by the lens' focal length and by the size of the film area exposed by the lens. For instance, a 35mm camera exposes a rectangle on the film about 24mm x 36mm, which means a 50mm lens gives about a 40-degree horizontal field of view.
In the virtual camera, you may set the film size to any units here, and specify a focal length in the same units to simulate the same effect. Or, you may ignore this parameter, and specify the field of view and aspect ratio of the lens directly.
Description: Sets the horizontal size of the film without changing its shape. The aspect ratio remains unchanged; this computes the vertical size of the film to automatically maintain the aspect ratio.

setFocalLength
void Lens::set_focal_length(float focal_length);

Description: Sets the focal length of the lens. This may adjust the field-of-view correspondingly, and is an alternate way to specify field of view.
For certain kinds of lenses (e.g. OrthographicLens), the focal length has no meaning.

setFov
void Lens::set_fov(float fov);

Description: Sets the field of view of the lens in both dimensions. This establishes both the field of view and the aspect ratio of the lens. This is one way to specify the field of view of a lens; set_focal_length() is another way.
For certain kinds of lenses (like OrthoLens), the field of view has no meaning.
Description: Sets the horizontal field of view of the lens without changing the aspect ratio. The vertical field of view is adjusted to maintain the same aspect ratio.
For certain kinds of lenses (like OrthographicLens), the field of view has no meaning.

setFrustumFromCorners
void Lens::set_frustum_from_corners(LVecBase3f const &ul, LVecBase3f const &ur, LVecBase3f const &ll, LVecBase3f const &lr, int flags);

Description: Sets up the lens to use the frustum defined by the four indicated points. This is most useful for a PerspectiveLens, but it may be called for other kinds of lenses as well.
The frustum will be rooted at the origin (or by whatever translation might have been specified in a previous call to set_view_mat).
It is legal for the four points not to be arranged in a rectangle; if this is the case, the frustum will be fitted as tightly as possible to cover all four points.
The flags parameter contains the union of one or more of the following bits to control the behavior of this function:
FC_roll - If this is included, the camera may be rotated so that its up vector is perpendicular to the top line. Otherwise, the standard up vector is used.
FC_camera_plane - This allows the camera plane to be adjusted to be as nearly perpendicular to the center of the frustum as possible. Without this bit, the orientation camera plane is defined by position of the four points (which should all be coplanar). With this bit, the camera plane is arbitarary, and may be chosen so that the four points do not themselves lie in the camera plane (but the points will still be within the frustum).
FC_off_axis - This allows the resulting frustum to be off-axis to get the tightest possible fit. Without this bit, the viewing axis will be centered within the frustum, but there may be more wasted space along the edges.
FC_aspect_ratio - This allows the frustum to be scaled non-proportionately in the vertical and horizontal dimensions, if necessary, to get a tighter fit. Without this bit, the current aspect ratio will be preserved.
FC_shear - This allows the frustum to be sheared, if necessary, to get the tightest possible fit. This may result in a parallelogram-based frustum, which will give a slanted appearance to the rendered image. Without this bit, the frustum will be rectangle-based.
In general, if 0 is passed in as the value for flags, the generated frustum will be a loose fit but sane; if -1 is passed in, it will be a tighter fit and possibly screwy.

setInterocularDistance
void Lens::set_interocular_distance(float interocular_distance);

Description: Sets the distance between the left and right eyes of a stereo camera. This distance is used to apply a stereo effect when the lens is rendered on a stereo display region. It only has an effect on a PerspectiveLens.
Also see set_interocular_distance(), which relates.

setKeystone
void Lens::set_keystone(LVecBase2f const &keystone);

Description: Indicates the ratio of keystone correction to perform on the lens, in each of three axes. This will build a special non-affine scale factor into the projection matrix that will compensate for keystoning of a projected image; this can be used to compensate for a projector that for physical reasons cannot be aimed directly at it screen.
The default value is taken from the default-keystone Config variable. 0, 0 indicates no keystone correction; specify a small value (usually in the range -1 .. 1) in either the x or y position to generate a keystone correction in that axis.

setMinFov
void Lens::set_min_fov(float min_fov);

Description: Sets the field of view of the smallest dimension of the window. If the window is wider than it is tall, this specifies the vertical field of view; if it is taller than it is wide, this specifies the horizontal field of view.
In many cases, this is preferable to setting either the horizontal or vertical field of view explicitly. Setting this parameter means that pulling the window wider will widen the field of view, which is usually what you expect to happen.

setNear
void Lens::set_near(float near_distance);

Description: Defines the position of the near plane (or cylinder, sphere, whatever). Points closer to the lens than this may not be rendered.

setNearFar
void Lens::set_near_far(float near_distance, float far_distance);

Description: Simultaneously changes the near and far planes.

setViewHpr
void Lens::set_view_hpr(float h, float p, float r);

Description: Sets the direction in which the lens is facing. Normally, this is down the forward axis (usually the Y axis), but it may be rotated. This is only one way of specifying the rotation; you may also specify an explicit vector in which to look, or you may give a complete transformation matrix.

setViewMat
void Lens::set_view_mat(LMatrix4f const &view_mat);

Description: Sets an arbitrary transformation on the lens. This replaces the individual transformation components like set_view_hpr().
Setting a transformation here will have a slightly different effect than putting one on the LensNode that contains this lens. In particular, lighting and other effects computations will still be performed on the lens in its untransformed (facing forward) position, but the actual projection matrix will be transformed by this matrix.

setViewVector
void Lens::set_view_vector(float x, float y, float z, float i, float j, float k);

Description: Specifies the direction in which the lens is facing by giving an axis to look along, and a perpendicular (or at least non-parallel) up axis.
See also set_view_hpr().

write
virtual void Lens::write(ostream &out, int indent_level = (0)) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PStatClient

    from pandac.PandaModules import PStatClient
    Class : PStatClient
    Description : Manages the communications to report statistics via a network connection to a remote PStatServer.
    Normally, there is only one PStatClient in the world, although it is possible to have multiple PStatClients if extraordinary circumstances require in. Since each PStatCollector registers itself with the PStatClient when it is created, having multiple PStatClients requires special care when constructing the various PStatCollectors.
    If DO_PSTATS is not defined, we don't want to use stats at all. This class is therefore defined as a stub class.

Inheritance:

    PStatClient: ConnectionManager Thread::PStatsCallback
    ConnectionManager:
    Thread::PStatsCallback:

Methods of PStatClient:

    clientConnect
    clientDisconnect
    clientIsConnected
    clientMainTick
    clientResumeAfterPause
    clientThreadTick
    connect
    disconnect
    getClientName
    getCollector
    getCollectorDef
    getCollectorFullname
    getCollectorName
    getCurrentThread
    getGlobalPstats
    getMainThread
    getMaxRate
    getNumCollectors
    getNumThreads
    getRealTime
    getThread
    getThreadName
    getThreadObject
    getThreadSyncName
    isConnected
    mainTick
    resumeAfterPause
    setClientName
    setMaxRate
    threadTick

Methods of ConnectionManager:

    ConnectionManager (Constructor)
    closeConnection
    getHostName
    openTCPClientConnection
    openTCPServerRendezvous
    openUDPConnection
clientConnect
bool PStatClient::client_connect(string hostname, int port);

Description: The nonstatic implementation of connect().

clientDisconnect
void PStatClient::client_disconnect(void);

Description: The nonstatic implementation of disconnect().

clientIsConnected
bool PStatClient::client_is_connected(void) const;

Description: The nonstatic implementation of is_connected().

clientMainTick
void PStatClient::client_main_tick(void);

Description: A convenience function to call new_frame() on the given PStatClient's main thread, and any other threads with a sync_name of "Main".

clientResumeAfterPause
void PStatClient::client_resume_after_pause(void);

Description: Resumes the PStatClient after the simulation has been paused for a while. This allows the stats to continue exactly where it left off, instead of leaving a big gap that would represent a chug.

clientThreadTick
void PStatClient::client_thread_tick(string const &sync_name);

Description: A convenience function to call new_frame() on all of the threads with the indicated sync name.

connect
static bool PStatClient::connect(string const &hostname = ((string())), int port = (-1));

Description: Attempts to establish a connection to the indicated PStatServer. Returns true if successful, false on failure.

disconnect
static void PStatClient::disconnect(void);

Description: Closes the connection previously established.

getClientName
string PStatClient::get_client_name(void) const;

Description: Retrieves the name of the client as set.

getCollector
PStatCollector PStatClient::get_collector(int index) const;

Description: Returns the nth collector.

getCollectorDef
PStatCollectorDef *PStatClient::get_collector_def(int index) const;

Description: Returns the definition body of the nth collector.

getCollectorFullname
string PStatClient::get_collector_fullname(int index) const;

Description: Returns the "full name" of the indicated collector. This will be the concatenation of all of the collector's parents' names (except Frame) and the collector's own name.

getCollectorName
string PStatClient::get_collector_name(int index) const;

Description: Returns the name of the indicated collector.

getCurrentThread
PStatThread PStatClient::get_current_thread(void) const;

Description: Returns a handle to the currently-executing thread. This is the thread that PStatCollectors will be counted in if they do not specify otherwise.

getGlobalPstats
static PStatClient *PStatClient::get_global_pstats(void);

Description: Returns a pointer to the global PStatClient object. It's legal to declare your own PStatClient locally, but it's also convenient to have a global one that everyone can register with. This is the global one.

getMainThread
PStatThread PStatClient::get_main_thread(void) const;

Description: Returns a handle to the client's Main thread. This is the thread that started the application.

getMaxRate
float PStatClient::get_max_rate(void) const;

Description: Returns the maximum number of packets that will be sent to the server per second, per thread. See set_max_rate().

getNumCollectors
int PStatClient::get_num_collectors(void) const;

Description: Returns the total number of collectors the Client knows about.

getNumThreads
int PStatClient::get_num_threads(void) const;

Description: Returns the total number of threads the Client knows about.

getRealTime
double PStatClient::get_real_time(void) const;

Description: Returns the time according to to the PStatClient's clock object. It keeps its own clock, instead of using the global clock object, so the stats won't get mucked up if you put the global clock in non-real-time mode or something.

getThread
PStatThread PStatClient::get_thread(int index) const;

Description: Returns the nth thread.

getThreadName
string PStatClient::get_thread_name(int index) const;

Description: Returns the name of the indicated thread.

getThreadObject
Thread *PStatClient::get_thread_object(int index) const;

Description: Returns the Panda Thread object associated with the indicated PStatThread.

getThreadSyncName
string PStatClient::get_thread_sync_name(int index) const;

Description: Returns the sync_name of the indicated thread.

isConnected
static bool PStatClient::is_connected(void);

Description: Returns true if the client believes it is connected to a working PStatServer, false otherwise.

mainTick
static void PStatClient::main_tick(void);

Description: A convenience function to call new_frame() on the global PStatClient's main thread, and any other threads with a sync_name of "Main".

resumeAfterPause
static void PStatClient::resume_after_pause(void);

Description: Resumes the PStatClient after the simulation has been paused for a while. This allows the stats to continue exactly where it left off, instead of leaving a big gap that would represent a chug.

setClientName
void PStatClient::set_client_name(string const &name);

Description: Sets the name of the client. This is reported to the PStatsServer, and will presumably be written in the title bar or something.

setMaxRate
void PStatClient::set_max_rate(float rate);

Description: Controls the number of packets that will be sent to the server. Normally, one packet is sent per frame, but this can flood the server with more packets than it can handle if the frame rate is especially good (e.g. if nothing is onscreen at the moment). Set this parameter to a reasonable number to prevent this from happening.
This number specifies the maximum number of packets that will be sent to the server per second, per thread.

threadTick
static void PStatClient::thread_tick(string const &sync_name);

Description: A convenience function to call new_frame() on any threads with the indicated sync_name

ConnectionManager
ConnectionManager::ConnectionManager(void);

Description:

closeConnection
bool ConnectionManager::close_connection(PointerTo< Connection > const &connection);

Description: Terminates a UDP or TCP socket previously opened. This also removes it from any associated ConnectionReader or ConnectionListeners.
The socket itself may not be immediately closed--it will not be closed until all outstanding pointers to it are cleared, including any pointers remaining in NetDatagrams recently received from the socket.
The return value is true if the connection was marked to be closed, or false if close_connection() had already been called (or the connection did not belong to this ConnectionManager). In neither case can you infer anything about whether the connection has
*actually* been closed yet based on the return value.

getHostName
static string ConnectionManager::get_host_name(void);

Description: Returns the name of this particular machine on the network, if available, or the empty string if the hostname cannot be determined.

openTCPClientConnection
PointerTo< Connection > ConnectionManager::open_TCP_client_connection(NetAddress const &address, int timeout_ms);

Description: Attempts to establish a TCP client connection to a server at the indicated address. If the connection is not established within timeout_ms milliseconds, a null connection is returned.
Description: This is a shorthand version of the function to directly establish communications to a named host and port.

openTCPServerRendezvous
PointerTo< Connection > ConnectionManager::open_TCP_server_rendezvous(int port, int backlog);

Description: Creates a socket to be used as a rendezvous socket for a server to listen for TCP connections. The socket returned by this call should only be added to a ConnectionListener (not to a generic ConnectionReader).
backlog is the maximum length of the queue of pending connections.

openUDPConnection
PointerTo< Connection > ConnectionManager::open_UDP_connection(int port = (0));

Description: Opens a socket for sending and/or receiving UDP packets. If the port number is greater than zero, the UDP connection will be opened for listening on the indicated port; otherwise, it will be useful only for sending.
Use a ConnectionReader and ConnectionWriter to handle the actual communication.


PStatCollector

    from pandac.PandaModules import PStatCollector
    Class : PStatCollector
    Description : A lightweight class that represents a single element that may be timed and/or counted via stats.
    Collectors can be used to measure two different kinds of values: elapsed time, and "other".
    To measure elapsed time, call start() and stop() as appropriate to bracket the section of code you want to time (or use a PStatTimer to do this automatically).
    To measure anything else, call set_level() and/or add_level() to set the "level" value associated with this collector. The meaning of the value set for the "level" is entirely up to the user; it may represent the number of triangles rendered or the kilobytes of texture memory consumed, for instance. The level set will remain fixed across multiple frames until it is reset via another set_level() or adjusted via a call to add_level(). It may also be completely removed via clear_level().

Inheritance:

    PStatCollector:

Methods of PStatCollector:

    PStatCollector (Constructor)
    addLevel
    addLevelNow
    addThreadLevel
    clearLevel
    clearThreadLevel
    flushLevel
    getFullname
    getIndex
    getLevel
    getName
    getThreadLevel
    isActive
    isStarted
    isValid
    operator =
    output
    setLevel
    setThreadLevel
    start
    stop
    subLevel
    subLevelNow
    subThreadLevel
PStatCollector
PStatCollector::PStatCollector(string const &name, PStatClient *client = ((void *)(0)));

Description: Normally, this constructor is called only from PStatClient. Use one of the constructors below to create your own Collector.
Description: Creates an invalid PStatCollector. Any attempt to use this collector will crash messily.
You can reassign it to a different, valid one later.
Description: Creates a new PStatCollector, ready to start accumulating data. The name of the collector uniquely identifies it among the other collectors; if two collectors share the same name then they are really the same collector.
The name may also be a compound name, something like "Cull:Sort", which indicates that this is a collector named "Sort", a child of the collector named "Cull". The parent may also be named explicitly by reference in the other flavor of the constructor; see further comments on this for that constructor.
If the client pointer is non-null, it specifies a particular client to register the collector with; otherwise, the global client is used.
The parent is the collector that conceptually includes all of the time measured for this collector. For instance, a particular character's animation time is owned by the "Animation" collector, which is in turn owned by the "Frame" collector. It is not strictly necessary that all of the time spent in a particular collector is completely nested within time spent in its parent's collector. If parent is the empty string, the collector is owned by "Frame".
This constructor does not take a client pointer; it always creates the new collector on the same client as its parent.
Description:

addLevel
void PStatCollector::add_level(double increment);

Description: Adds the indicated increment (which may be negative) to the level setting associated with this collector for the main thread. If the collector did not already have a level setting for the main thread, it is initialized to 0.
As an optimization, the data is not immediately set to the PStatClient. It will be sent the next time flush_level() is called.
Description: Adds the indicated increment (which may be negative) to the level setting associated with this collector for the indicated thread. If the collector did not already have a level setting for this thread, it is initialized to 0.

addLevelNow
void PStatCollector::add_level_now(double increment);

Description: Calls add_level() and immediately calls flush_level().

addThreadLevel
void PStatCollector::add_thread_level(double increment);

Description: Adds the indicated increment (which may be negative) to the level setting associated with this collector for the current thread. If the collector did not already have a level setting for the current thread, it is initialized to 0.

clearLevel
void PStatCollector::clear_level(void);

Description: Removes the level setting associated with this collector for the main thread. The collector will no longer show up on any level graphs in the main thread. This implicitly calls flush_level().
Description: Removes the level setting associated with this collector for the indicated thread. The collector will no longer show up on any level graphs in this thread.

clearThreadLevel
void PStatCollector::clear_thread_level(void);

Description: Removes the level setting associated with this collector for the current thread. The collector will no longer show up on any level graphs in the current thread.

flushLevel
void PStatCollector::flush_level(void);

Description: Updates the PStatClient with the recent results from add_level() and sub_level().

getFullname
string PStatCollector::get_fullname(void) const;

Description: Returns the full name of this collector. This includes the names of all the collector's parents, concatenated together with colons.

getIndex
int PStatCollector::get_index(void) const;

Description: Returns the index number of this particular collector within the PStatClient.

getLevel
double PStatCollector::get_level(void);

Description: Returns the current level value of the given collector in the main thread. This implicitly calls flush_level().
Description: Returns the current level value of the given collector.

getName
string PStatCollector::get_name(void) const;

Description: Returns the local name of this collector. This is the rightmost part of the fullname, after the rightmost colon.

getThreadLevel
double PStatCollector::get_thread_level(void);

Description: Returns the current level value of the given collector in the current thread.

isActive
bool PStatCollector::is_active(void);

Description: Returns true if this particular collector is active on the default thread, and we are currently transmitting PStats data.
Description: Returns true if this particular collector is active on the indicated thread, and we are currently transmitting PStats data.

isStarted
bool PStatCollector::is_started(void);

Description: Returns true if this particular collector has been started on the default thread, or false otherwise.
Description: Returns true if this particular collector has been started on the indicated thread, or false otherwise.

isValid
bool PStatCollector::is_valid(void) const;

Description: Returns true if collector is valid and may be used, or false if it was constructed with the default constructor (in which case any attempt to use it will crash).

operator =
void PStatCollector::operator =(PStatCollector const &copy);

Description:

output
void PStatCollector::output(ostream &out) const;

Description:

setLevel
void PStatCollector::set_level(double level);

Description: Sets the level setting associated with this collector for the main thread to the indicated value. This implicitly calls flush_level().
Description: Sets the level setting associated with this collector for the indicated thread to the indicated value.

setThreadLevel
void PStatCollector::set_thread_level(double level);

Description: Sets the level setting associated with this collector for the current thread to the indicated value.

start
void PStatCollector::start(void);

Description: Starts this particular timer ticking. This should be called before the code you want to measure.
Description: Starts this timer ticking within a particular thread.
Description: Marks that the timer should have been started as of the indicated time. This must be a time based on the PStatClient's clock (see PStatClient::get_clock()), and care should be taken that all such calls exhibit a monotonically increasing series of time values.

stop
void PStatCollector::stop(void);

Description: Stops this timer. This should be called after the code you want to measure.
Description: Stops this timer within a particular thread.
Description: Marks that the timer should have been stopped as of the indicated time. This must be a time based on the PStatClient's clock (see PStatClient::get_clock()), and care should be taken that all such calls exhibit a monotonically increasing series of time values.

subLevel
void PStatCollector::sub_level(double decrement);

Description: Subtracts the indicated decrement (which may be negative) to the level setting associated with this collector for the main thread. If the collector did not already have a level setting for the main thread, it is initialized to 0.
As an optimization, the data is not immediately set to the PStatClient. It will be sent the next time flush_level() is called.
Description: Subtracts the indicated decrement (which may be negative) to the level setting associated with this collector for the indicated thread. If the collector did not already have a level setting for this thread, it is initialized to 0.

subLevelNow
void PStatCollector::sub_level_now(double decrement);

Description: Calls sub_level() and immediately calls flush_level().

subThreadLevel
void PStatCollector::sub_thread_level(double decrement);

Description: Subtracts the indicated decrement (which may be negative) to the level setting associated with this collector for the current thread. If the collector did not already have a level setting for the current thread, it is initialized to 0.


PStatCollectorForward

    from pandac.PandaModules import PStatCollectorForward
    Class : PStatCollectorForward
    Description : This class serves as a cheap forward reference to a PStatCollector, so that classes that are defined before the pstats module may access the PStatCollector.

Inheritance:

    PStatCollectorForward: PStatCollectorForwardBase
    PStatCollectorForwardBase: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of PStatCollectorForward:

    PStatCollectorForward (Constructor)

Methods of PStatCollectorForwardBase:

    addLevel

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
PStatCollectorForward
PStatCollectorForward::PStatCollectorForward(PStatCollector const &col);

Description:

addLevel
virtual void PStatCollectorForwardBase::add_level(double level) = 0;

Undocumented function.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PStatCollectorForwardBase

    from pandac.PandaModules import PStatCollectorForwardBase
    Class : PStatCollectorForwardBase
    Description : This class serves as a cheap forward reference to a PStatCollector, which is defined in the pstatclient module (and is not directly accessible here in the express module).
    This is subclassed as PStatCollectorForward, which defines the actual functionality.

Inheritance:

    PStatCollectorForwardBase: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of PStatCollectorForwardBase:

    addLevel

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
addLevel
virtual void PStatCollectorForwardBase::add_level(double level) = 0;

Undocumented function.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PStatThread

    from pandac.PandaModules import PStatThread
    Class : PStatThread
    Description : A lightweight class that represents a single thread of execution to PStats. It corresponds one-to-one with Panda's Thread instance.

Inheritance:

    PStatThread:

Methods of PStatThread:

    PStatThread (Constructor)
    getIndex
    getThread
    newFrame
    operator =
PStatThread
PStatThread::PStatThread(Thread *thread, PStatClient *client = ((void *)(0)));

Description: Normally, this constructor is called only from PStatClient. Use one of the constructors below to create your own Thread.
Description: Creates a new named thread. This will be used to unify tasks that share a common thread, and differentiate tasks that occur in different threads.
Description:

getIndex
int PStatThread::get_index(void) const;

Description: Returns the index number of this particular thread within the PStatClient.

getThread
Thread *PStatThread::get_thread(void) const;

Description: Returns the Panda Thread object associated with this particular PStatThread.

newFrame
void PStatThread::new_frame(void);

Description: This must be called at the start of every "frame", whatever a frame may be deemed to be, to accumulate all the stats that have collected so far for the thread and ship them off to the server.
Calling PStatClient::thread_tick() will automatically call this for any threads with the indicated sync name.

operator =
void PStatThread::operator =(PStatThread const &copy);

Description:


Pulse

    from direct.fsm.StatePush import Pulse

Inheritance:

    Pulse:

Methods of Pulse:

    __init__
    sendPulse
__init__
def __init__(self)

Undocumented function.

sendPulse
def sendPulse(self)

Undocumented function.


PushesStateChanges

    from direct.fsm.StatePush import PushesStateChanges

Inheritance:

    PushesStateChanges:

Methods of PushesStateChanges:

    __init__
    _addSubscription
    _handlePotentialStateChange
    _handleStateChange
    _removeSubscription
    destroy
    getState
__init__
def __init__(self, value)

Undocumented function.

_addSubscription
def _addSubscription(self, subscriber)

Undocumented function.

_handlePotentialStateChange
def _handlePotentialStateChange(self, value)

Undocumented function.

_handleStateChange
def _handleStateChange(self)

Undocumented function.

_removeSubscription
def _removeSubscription(self, subscriber)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

getState
def getState(self)

Undocumented function.


PyDatagram

    from direct.distributed.PyDatagram import PyDatagram

Inheritance:

    PyDatagram:

Methods of PyDatagram:

    addOldServerHeader
    addServerHeader
    putArg
addOldServerHeader
def addOldServerHeader(self, channel, sender, code)

Undocumented function.

addServerHeader
def addServerHeader(self, channel, sender, code)

Undocumented function.

putArg
def putArg(self, arg, subatomicType, divisor=1)

Undocumented function.


PyDatagramIterator

    from direct.distributed.PyDatagramIterator import PyDatagramIterator

Inheritance:

    PyDatagramIterator:

Methods of PyDatagramIterator:

    getArg
getArg
def getArg(self, subatomicType, divisor=1)

Undocumented function.


pythonresource

    from direct.pyinst.resource import pythonresource
    An empty base class.
    Used to classify resources.

Inheritance:

    pythonresource:


PythonThread

    from pandac.PandaModules import PythonThread
    Class : PythonThread
    Description : This class is exposed to Python to allow creation of a Panda thread from the Python level. It will spawn a thread that executes an arbitrary Python functor.

Inheritance:

    PythonThread: Thread
    Thread: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of PythonThread:

    PythonThread (Constructor)
    getClassType
    join

Methods of Thread:

    bindThread
    considerYield
    forceYield
    getClassType
    getCurrentPipelineStage
    getCurrentThread
    getExternalThread
    getMainThread
    getName
    getPipelineStage
    getPstatsIndex
    getSyncName
    isStarted
    isThreadingSupported
    isTrueThreads
    join
    output
    preempt
    prepareForExit
    setMinPipelineStage
    setPipelineStage
    sleep
    start
    writeStatus

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
PythonThread
PythonThread::PythonThread(PyObject *function, PyObject *args, string const &name, string const &sync_name);

Description:

getClassType
static TypeHandle PythonThread::get_class_type(void);

Undocumented function.

join
PyObject *PythonThread::join(void);

Description: Blocks the calling process until the thread terminates. If the thread has already terminated, this returns immediately.
The PythonThread flavor of this function returns the same value returned by the thread function.

bindThread
static PointerTo< Thread > Thread::bind_thread(string const &name, string const &sync_name);

Description: Returns a new Panda Thread object associated with the current thread (which has been created externally). This can be used to bind a unique Panda Thread object with an external thread, such as a new Python thread.
It is particularly useful to bind a Panda Thread object to an external thread for the purposes of PStats monitoring. Without this call, each external thread will be assigned the same global ExternalThread object, which means they will all appear in the same PStats graph.
It is the caller's responsibility to save the returned Thread pointer for the lifetime of the external thread. It is an error for the Thread pointer to destruct while the external thread is still in the system.
It is also an error to call this method from the main thread, or twice within a given thread, unless it is given the same name each time (in which case the same pointer will be returned each time).

considerYield
static void Thread::consider_yield(void);

Description: Possibly suspends the current thread for the rest of the current epoch, if it has run for enough this epoch. This is especially important for the simple thread implementation, which relies on cooperative yields like this.

forceYield
static void Thread::force_yield(void);

Description: Suspends the current thread for the rest of the current epoch.

getClassType
static TypeHandle Thread::get_class_type(void);

Undocumented function.

getCurrentPipelineStage
static int Thread::get_current_pipeline_stage(void);

Description: Returns the integer pipeline stage associated with the current thread. This is the same thing as get_current_thread()->get_pipeline_stage(), but it may be faster to retrieve in some contexts.

getCurrentThread
static Thread *Thread::get_current_thread(void);

Description: Returns a pointer to the currently-executing Thread object. If this is called from the main thread, this will return the same value as get_main_thread().
This will always return some valid Thread pointer. It will never return NULL, even if the current thread was spawned outside of Panda's threading system, although all non-Panda threads will return the exact same Thread pointer.

getExternalThread
static Thread *Thread::get_external_thread(void);

Description: Returns a pointer to the "external" Thread object--this is a special Thread object that corresponds to any thread spawned outside of Panda's threading interface. Note that multiple different threads may share this same pointer.

getMainThread
static Thread *Thread::get_main_thread(void);

Description: Returns a pointer to the "main" Thread object--this is the Thread that started the whole process.

getName
string const &Thread::get_name(void) const;

Description: Returns the name of the thread. Each thread should probably have a unique name, but this is not enforced (and not strictly required).

getPipelineStage
int Thread::get_pipeline_stage(void) const;

Description: Returns the Pipeline stage number associated with this thread. The default stage is 0 if no stage is specified otherwise. See set_pipeline_stage().

getPstatsIndex
int Thread::get_pstats_index(void) const;

Description: Returns the PStats index associated with this thread, or -1 if no index has yet been associated with this thread. This is used internally by the PStatClient; you should not need to call this directly.

getSyncName
string const &Thread::get_sync_name(void) const;

Description: Returns the sync name of the thread. This name collects threads into "sync groups", which are expected to run synchronously. This is mainly used for the benefit of PStats; threads with the same sync name can be ticked all at once via the thread_tick() call.

isStarted
bool Thread::is_started(void) const;

Description: Returns true if the thread has been started, false if it has not, or if join() has already been called.

isThreadingSupported
static bool Thread::is_threading_supported(void);

Description: Returns true if threading support has been compiled in and enabled, or false if no threading is available (and Thread::start() will always fail).

isTrueThreads
static bool Thread::is_true_threads(void);

Description: Returns true if a real threading library is available that supports actual OS-implemented threads, or false if the only threading we can provide is simulated user-space threading.

join
void Thread::join(void);

Description: Blocks the calling process until the thread terminates. If the thread has already terminated, this returns immediately.

output
virtual void Thread::output(ostream &out) const;

Description:

preempt
void Thread::preempt(void);

Description: Indicates that this thread should run as soon as possible, preemptying any other threads that may be scheduled to run. This may not be implemented on every platform.

prepareForExit
static void Thread::prepare_for_exit(void);

Description: Should be called by the main thread just before exiting the program, this blocks until any remaining thread cleanup has finished.

setMinPipelineStage
void Thread::set_min_pipeline_stage(int min_pipeline_stage);

Description: Sets this thread's pipeline stage number to at least the indicated value, unless it is already larger. See set_pipeline_stage().

setPipelineStage
void Thread::set_pipeline_stage(int pipeline_stage);

Description: Specifies the Pipeline stage number associated with this thread. The default stage is 0 if no stage is specified otherwise.
This must be a value in the range [0 .. pipeline->get_num_stages() - 1]. It specifies the values that this thread observes for all pipelined data. Typically, an application thread will leave this at 0, but a render thread may set it to 1 or 2 (to operate on the previous frame's data, or the second previous frame's data).

sleep
static void Thread::sleep(double seconds);

Description: Suspends the current thread for at least the indicated amount of time. It might be suspended for longer.

start
bool Thread::start(ThreadPriority priority, bool joinable);

Description: Starts the thread executing. It is only valid to call this once.
The thread will begin executing its thread_main() function, and will terminate when thread_main() returns.
priority is intended as a hint to the relative importance of this thread. This may be ignored by the thread implementation.
joinable should be set true if you intend to call join() to wait for the thread to terminate, or false if you don't care and you will never call join().
The return value is true if the thread is successfully started, false otherwise.

writeStatus
static void Thread::write_status(ostream &out);

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


PYZTarget

    from direct.pyinst.Builder import PYZTarget

Inheritance:

    PYZTarget:

Methods of PYZTarget:

    __init__
    assemble
    edit
    gather
__init__
def __init__(self, cfg, sectnm, cnvrts)

Undocumented function.

assemble
def assemble(self)

Undocumented function.

edit
def edit(self)

Undocumented function.

gather
def gather(self)

Undocumented function.


Queue

    from direct.showbase.PythonUtil import Queue

Inheritance:

    Queue:

Methods of Queue:

    __init__
    __len__
    back
    clear
    front
    isEmpty
    pop
    push
    top
__init__
def __init__(self)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

back
def back(self)

Undocumented function.

clear
def clear(self)

Undocumented function.

front
def front(self)

Undocumented function.

isEmpty
def isEmpty(self)

Undocumented function.

pop
def pop(self)

Undocumented function.

push
def push(self, item)

Undocumented function.

top
def top(self)

Undocumented function.


QueuedConnectionListener

    from pandac.PandaModules import QueuedConnectionListener
    Class : QueuedConnectionListener
    Description : This flavor of ConnectionListener will queue up all of the TCP connections it established for later detection by the client code.

Inheritance:

    QueuedConnectionListener: ConnectionListener QueuedReturn< ConnectionListenerData >
    ConnectionListener: ConnectionReader
    ConnectionReader:
    QueuedReturn< ConnectionListenerData >:

Methods of QueuedConnectionListener:

    QueuedConnectionListener (Constructor)
    getNewConnection
    newConnectionAvailable

Methods of ConnectionReader:

    addConnection
    getManager
    getNumThreads
    getRawMode
    getTcpHeaderSize
    isConnectionOk
    isPolling
    poll
    removeConnection
    setRawMode
    setTcpHeaderSize

Methods of QueuedReturn< ConnectionListenerData >:

    getCurrentQueueSize
    getMaxQueueSize
    getOverflowFlag
    resetOverflowFlag
    setMaxQueueSize
QueuedConnectionListener
QueuedConnectionListener::QueuedConnectionListener(ConnectionManager *manager, int num_threads);

Description:

getNewConnection
bool QueuedConnectionListener::get_new_connection(PointerTo< Connection > &rendezvous, NetAddress &address, PointerTo< Connection > &new_connection);

Description: If a previous call to new_connection_available() returned true, this function will return information about the newly established connection.
The rendezvous parameter is the particular rendezvous socket this new connection originally communicated with; it is provided in case the ConnectionListener was monitorind more than one and you care which one it was. The address parameter is the net address of the new client, and new_connection is the socket of the newly established connection.
The return value is true if a connection was successfully returned, or false if there was, in fact, no new connection. (This may happen if there are multiple threads accessing the QueuedConnectionListener).
Description: This flavor of get_new_connection() simply returns a new connection, assuming the user doesn't care about the rendezvous socket that originated it or the address it came from.

newConnectionAvailable
bool QueuedConnectionListener::new_connection_available(void);

Description: Returns true if a new connection was recently established; the connection information may then be retrieved via get_new_connection().

addConnection
bool ConnectionReader::add_connection(Connection *connection);

Description: Adds a new socket to the list of sockets the ConnectionReader will monitor. A datagram that comes in on any of the monitored sockets will be reported. In the case of a ConnectionListener, this adds a new rendezvous socket; any activity on any of the monitored sockets will cause a connection to be accepted.
The return value is true if the connection was added, false if it was already there.
add_connection() is thread-safe, and may be called at will by any thread.

getManager
ConnectionManager *ConnectionReader::get_manager(void) const;

Description: Returns a pointer to the ConnectionManager object that serves this ConnectionReader.

getNumThreads
int ConnectionReader::get_num_threads(void) const;

Description: Returns the number of threads the ConnectionReader has been created with.

getRawMode
bool ConnectionReader::get_raw_mode(void) const;

Description: Returns the current setting of the raw mode flag. See set_raw_mode().

getTcpHeaderSize
int ConnectionReader::get_tcp_header_size(void) const;

Description: Returns the current setting of TCP header size. See set_tcp_header_size().

isConnectionOk
bool ConnectionReader::is_connection_ok(Connection *connection);

Description: Returns true if the indicated connection has been added to the ConnectionReader and is being monitored properly, false if it is not known, or if there was some error condition detected on the connection. (If there was an error condition, normally the ConnectionManager would have been informed and closed the connection.)

isPolling
bool ConnectionReader::is_polling(void) const;

Description: Returns true if the reader is a polling reader, i.e. it has no threads.

poll
void ConnectionReader::poll(void);

Description: Explicitly polls the available sockets to see if any of them have any noise. This function does nothing unless this is a polling-type ConnectionReader, i.e. it was created with zero threads (and is_polling() will return true).
It is not necessary to call this explicitly for a QueuedConnectionReader.

removeConnection
bool ConnectionReader::remove_connection(Connection *connection);

Description: Removes a socket from the list of sockets being monitored. Returns true if the socket was correctly removed, false if it was not on the list in the first place.
remove_connection() is thread-safe, and may be called at will by any thread.

setRawMode
void ConnectionReader::set_raw_mode(bool mode);

Description: Sets the ConnectionReader into raw mode (or turns off raw mode). In raw mode, datagram headers are not expected; instead, all the data available on the pipe is treated as a single datagram.
This is similar to set_tcp_header_size(0), except that it also turns off headers for UDP packets.

setTcpHeaderSize
void ConnectionReader::set_tcp_header_size(int tcp_header_size);

Description: Sets the header size of TCP packets. At the present, legal values for this are 0, 2, or 4; this specifies the number of bytes to use encode the datagram length at the start of each TCP datagram. Sender and receiver must independently agree on this.

getCurrentQueueSize
int ::QueuedReturn< ConnectionListenerData >::get_current_queue_size(void) const;

Undocumented function.

getMaxQueueSize
int ::QueuedReturn< ConnectionListenerData >::get_max_queue_size(void) const;

Undocumented function.

getOverflowFlag
bool ::QueuedReturn< ConnectionListenerData >::get_overflow_flag(void) const;

Undocumented function.

resetOverflowFlag
void ::QueuedReturn< ConnectionListenerData >::reset_overflow_flag(void);

Undocumented function.

setMaxQueueSize
void ::QueuedReturn< ConnectionListenerData >::set_max_queue_size(int max_size);

Undocumented function.


QueuedConnectionManager

    from pandac.PandaModules import QueuedConnectionManager
    Class : QueuedConnectionManager
    Description : This flavor of ConnectionManager will queue up all of the reset-connection messages from the ConnectionReaders and ConnectionWriters and report them to the client on demand.
    When a reset connection has been discovered via reset_connection_available()/get_reset_connection(), it is still the responsibility of the client to call close_connection() on that connection to free up its resources.

Inheritance:

    QueuedConnectionManager: ConnectionManager QueuedReturn< PointerTo< Connection > >
    ConnectionManager:
    QueuedReturn< PointerTo< Connection > >:

Methods of QueuedConnectionManager:

    QueuedConnectionManager (Constructor)
    getResetConnection
    resetConnectionAvailable

Methods of ConnectionManager:

    ConnectionManager (Constructor)
    closeConnection
    getHostName
    openTCPClientConnection
    openTCPServerRendezvous
    openUDPConnection

Methods of QueuedReturn< PointerTo< Connection > >:

    getCurrentQueueSize
    getMaxQueueSize
    getOverflowFlag
    resetOverflowFlag
    setMaxQueueSize
QueuedConnectionManager
QueuedConnectionManager::QueuedConnectionManager(void);

Description:

getResetConnection
bool QueuedConnectionManager::get_reset_connection(PointerTo< Connection > &connection);

Description: If a previous call to reset_connection_available() returned true, this function will return information about the newly reset connection.
Only connections which were externally reset are certain to appear in this list. Those which were explicitly closed via a call to close_connection() may or may not be reported. Furthermore, it is the responsibility of the caller to subsequently call close_connection() with any connection reported reset by this call. (There is no harm in calling close_connection() more than once on a given socket.)
The return value is true if a connection was successfully returned, or false if there was, in fact, no reset connection. (This may happen if there are multiple threads accessing the QueuedConnectionManager).

resetConnectionAvailable
bool QueuedConnectionManager::reset_connection_available(void) const;

Description: Returns true if one of the readers/writers/listeners reported a connection reset recently. If so, the particular connection that has been reset can be extracted via get_reset_connection().
Only connections which were externally reset are certain to appear in this list. Those which were explicitly closed via a call to close_connection() may or may not be reported. Furthermore, it is the responsibility of the caller to subsequently call close_connection() with any connection reported reset by this call. (There is no harm in calling close_connection() more than once on a given socket.)

ConnectionManager
ConnectionManager::ConnectionManager(void);

Description:

closeConnection
bool ConnectionManager::close_connection(PointerTo< Connection > const &connection);

Description: Terminates a UDP or TCP socket previously opened. This also removes it from any associated ConnectionReader or ConnectionListeners.
The socket itself may not be immediately closed--it will not be closed until all outstanding pointers to it are cleared, including any pointers remaining in NetDatagrams recently received from the socket.
The return value is true if the connection was marked to be closed, or false if close_connection() had already been called (or the connection did not belong to this ConnectionManager). In neither case can you infer anything about whether the connection has
*actually* been closed yet based on the return value.

getHostName
static string ConnectionManager::get_host_name(void);

Description: Returns the name of this particular machine on the network, if available, or the empty string if the hostname cannot be determined.

openTCPClientConnection
PointerTo< Connection > ConnectionManager::open_TCP_client_connection(NetAddress const &address, int timeout_ms);

Description: Attempts to establish a TCP client connection to a server at the indicated address. If the connection is not established within timeout_ms milliseconds, a null connection is returned.
Description: This is a shorthand version of the function to directly establish communications to a named host and port.

openTCPServerRendezvous
PointerTo< Connection > ConnectionManager::open_TCP_server_rendezvous(int port, int backlog);

Description: Creates a socket to be used as a rendezvous socket for a server to listen for TCP connections. The socket returned by this call should only be added to a ConnectionListener (not to a generic ConnectionReader).
backlog is the maximum length of the queue of pending connections.

openUDPConnection
PointerTo< Connection > ConnectionManager::open_UDP_connection(int port = (0));

Description: Opens a socket for sending and/or receiving UDP packets. If the port number is greater than zero, the UDP connection will be opened for listening on the indicated port; otherwise, it will be useful only for sending.
Use a ConnectionReader and ConnectionWriter to handle the actual communication.

getCurrentQueueSize
int ::QueuedReturn< PointerTo< Connection > >::get_current_queue_size(void) const;

Undocumented function.

getMaxQueueSize
int ::QueuedReturn< PointerTo< Connection > >::get_max_queue_size(void) const;

Undocumented function.

getOverflowFlag
bool ::QueuedReturn< PointerTo< Connection > >::get_overflow_flag(void) const;

Undocumented function.

resetOverflowFlag
void ::QueuedReturn< PointerTo< Connection > >::reset_overflow_flag(void);

Undocumented function.

setMaxQueueSize
void ::QueuedReturn< PointerTo< Connection > >::set_max_queue_size(int max_size);

Undocumented function.


QueuedConnectionReader

    from pandac.PandaModules import QueuedConnectionReader
    Class : QueuedConnectionReader
    Description : This flavor of ConnectionReader will read from its sockets and queue up all of the datagrams read for later receipt by the client code. This class is useful for client code that doesn't want to deal with threading and is willing to poll for datagrams at its convenience.

Inheritance:

    QueuedConnectionReader: ConnectionReader QueuedReturn< NetDatagram >
    ConnectionReader:
    QueuedReturn< NetDatagram >:

Methods of QueuedConnectionReader:

    QueuedConnectionReader (Constructor)
    dataAvailable
    getData

Methods of ConnectionReader:

    addConnection
    getManager
    getNumThreads
    getRawMode
    getTcpHeaderSize
    isConnectionOk
    isPolling
    poll
    removeConnection
    setRawMode
    setTcpHeaderSize

Methods of QueuedReturn< NetDatagram >:

    getCurrentQueueSize
    getMaxQueueSize
    getOverflowFlag
    resetOverflowFlag
    setMaxQueueSize
QueuedConnectionReader
QueuedConnectionReader::QueuedConnectionReader(ConnectionManager *manager, int num_threads);

Description:

dataAvailable
bool QueuedConnectionReader::data_available(void);

Description: Returns true if a datagram is available on the queue; call get_data() to extract the datagram.

getData
bool QueuedConnectionReader::get_data(NetDatagram &result);

Description: If a previous call to data_available() returned true, this function will return the datagram that has become available.
The return value is true if a datagram was successfully returned, or false if there was, in fact, no datagram available. (This may happen if there are multiple threads accessing the QueuedConnectionReader).
Description: This flavor of QueuedConnectionReader::get_data(), works like the other, except that it only fills a Datagram object, not a NetDatagram object. This means that the Datagram cannot be queried for its source Connection and/or NetAddress, but it is useful in all other respects.

addConnection
bool ConnectionReader::add_connection(Connection *connection);

Description: Adds a new socket to the list of sockets the ConnectionReader will monitor. A datagram that comes in on any of the monitored sockets will be reported. In the case of a ConnectionListener, this adds a new rendezvous socket; any activity on any of the monitored sockets will cause a connection to be accepted.
The return value is true if the connection was added, false if it was already there.
add_connection() is thread-safe, and may be called at will by any thread.

getManager
ConnectionManager *ConnectionReader::get_manager(void) const;

Description: Returns a pointer to the ConnectionManager object that serves this ConnectionReader.

getNumThreads
int ConnectionReader::get_num_threads(void) const;

Description: Returns the number of threads the ConnectionReader has been created with.

getRawMode
bool ConnectionReader::get_raw_mode(void) const;

Description: Returns the current setting of the raw mode flag. See set_raw_mode().

getTcpHeaderSize
int ConnectionReader::get_tcp_header_size(void) const;

Description: Returns the current setting of TCP header size. See set_tcp_header_size().

isConnectionOk
bool ConnectionReader::is_connection_ok(Connection *connection);

Description: Returns true if the indicated connection has been added to the ConnectionReader and is being monitored properly, false if it is not known, or if there was some error condition detected on the connection. (If there was an error condition, normally the ConnectionManager would have been informed and closed the connection.)

isPolling
bool ConnectionReader::is_polling(void) const;

Description: Returns true if the reader is a polling reader, i.e. it has no threads.

poll
void ConnectionReader::poll(void);

Description: Explicitly polls the available sockets to see if any of them have any noise. This function does nothing unless this is a polling-type ConnectionReader, i.e. it was created with zero threads (and is_polling() will return true).
It is not necessary to call this explicitly for a QueuedConnectionReader.

removeConnection
bool ConnectionReader::remove_connection(Connection *connection);

Description: Removes a socket from the list of sockets being monitored. Returns true if the socket was correctly removed, false if it was not on the list in the first place.
remove_connection() is thread-safe, and may be called at will by any thread.

setRawMode
void ConnectionReader::set_raw_mode(bool mode);

Description: Sets the ConnectionReader into raw mode (or turns off raw mode). In raw mode, datagram headers are not expected; instead, all the data available on the pipe is treated as a single datagram.
This is similar to set_tcp_header_size(0), except that it also turns off headers for UDP packets.

setTcpHeaderSize
void ConnectionReader::set_tcp_header_size(int tcp_header_size);

Description: Sets the header size of TCP packets. At the present, legal values for this are 0, 2, or 4; this specifies the number of bytes to use encode the datagram length at the start of each TCP datagram. Sender and receiver must independently agree on this.

getCurrentQueueSize
int ::QueuedReturn< NetDatagram >::get_current_queue_size(void) const;

Undocumented function.

getMaxQueueSize
int ::QueuedReturn< NetDatagram >::get_max_queue_size(void) const;

Undocumented function.

getOverflowFlag
bool ::QueuedReturn< NetDatagram >::get_overflow_flag(void) const;

Undocumented function.

resetOverflowFlag
void ::QueuedReturn< NetDatagram >::reset_overflow_flag(void);

Undocumented function.

setMaxQueueSize
void ::QueuedReturn< NetDatagram >::set_max_queue_size(int max_size);

Undocumented function.


Ramfile

    from pandac.PandaModules import Ramfile
    Class : Ramfile
    Description : An in-memory buffer specifically designed for downloading files to memory.

Inheritance:

    Ramfile:

Methods of Ramfile:

    Ramfile (Constructor)
    getData
    read
    readline
    seek
    tell
Ramfile
Ramfile::Ramfile(void);

Description:

getData
string const &Ramfile::get_data(void) const;

Description: Returns the entire buffer contents as a string, regardless of the current data pointer.

read
string Ramfile::read(unsigned int length);

Description: Extracts and returns the indicated number of characters from the current data pointer, and advances the data pointer. If the data pointer exceeds the end of the buffer, returns empty string.
The interface here is intentionally designed to be similar to that for Python's file.read() function.

readline
string Ramfile::readline(void);

Description: Assumes the stream represents a text file, and extracts one line up to and including the trailing newline character. Returns empty string when the end of file is reached.
The interface here is intentionally designed to be similar to that for Python's file.readline() function.

seek
void Ramfile::seek(unsigned int pos);

Description: Moves the data pointer to the indicated byte position. It is not an error to move the pointer past the end of data.

tell
unsigned int Ramfile::tell(void) const;

Description: Returns the current data pointer position as a byte offset from the beginning of the stream.


RandomNumGen

    from direct.showbase.RandomNumGen import RandomNumGen

Inheritance:

    RandomNumGen:

Methods of RandomNumGen:

    __init__
    __rand
    choice
    randint
    random
    randrange
    shuffle
__init__
def __init__(self, seed)

seed must be an integer or another RandomNumGen

__rand
def __rand(self, N)

returns integer in [0..N)

choice
def choice(self, seq)

returns a random element from seq

randint
def randint(self, a, b)

returns integer in [a, b]

random
def random(self)

returns random float in [0.0, 1.0)

randrange
def randrange(self, start, stop=None, step=1)

randrange([start,] stop[, step]) same as choice(range(start, stop[, step])) without construction of a list

shuffle
def shuffle(self, x)

randomly shuffles x in-place


ReceivesMultipleStateChanges

    from direct.fsm.StatePush import ReceivesMultipleStateChanges

Inheritance:

    ReceivesMultipleStateChanges:

Methods of ReceivesMultipleStateChanges:

    __init__
    _recvMultiStatePush
    _recvStatePush
    _subscribeTo
    _unsubscribe
    destroy
__init__
def __init__(self)

Undocumented function.

_recvMultiStatePush
def _recvMultiStatePush(self, key, source)

Undocumented function.

_recvStatePush
def _recvStatePush(self, source)

Undocumented function.

_subscribeTo
def _subscribeTo(self, source, key)

Undocumented function.

_unsubscribe
def _unsubscribe(self, key)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


ReceivesStateChanges

    from direct.fsm.StatePush import ReceivesStateChanges

Inheritance:

    ReceivesStateChanges:

Methods of ReceivesStateChanges:

    __init__
    _finishInit
    _recvStatePush
    _subscribeTo
    _unsubscribe
    destroy
__init__
def __init__(self, source)

Undocumented function.

_finishInit
def _finishInit(self)

Undocumented function.

_recvStatePush
def _recvStatePush(self, source)

Undocumented function.

_subscribeTo
def _subscribeTo(self, source)

Undocumented function.

_unsubscribe
def _unsubscribe(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


RecentConnectionReader

    from pandac.PandaModules import RecentConnectionReader
    Class : RecentConnectionReader
    Description : This flavor of ConnectionReader will read from its sockets and retain only the single most recent datagram for inspection by client code. It's useful particularly for reading telemetry-type data from UDP sockets where you don't care about getting every last socket, and in fact if the sockets are coming too fast you'd prefer to skip some of them.
    This class will always create one thread for itself.

Inheritance:

    RecentConnectionReader: ConnectionReader
    ConnectionReader:

Methods of RecentConnectionReader:

    RecentConnectionReader (Constructor)
    dataAvailable
    getData

Methods of ConnectionReader:

    addConnection
    getManager
    getNumThreads
    getRawMode
    getTcpHeaderSize
    isConnectionOk
    isPolling
    poll
    removeConnection
    setRawMode
    setTcpHeaderSize
RecentConnectionReader
RecentConnectionReader::RecentConnectionReader(ConnectionManager *manager);

Description:

dataAvailable
bool RecentConnectionReader::data_available(void);

Description: Returns true if a datagram is available on the queue; call get_data() to extract the datagram.

getData
bool RecentConnectionReader::get_data(NetDatagram &result);

Description: If a previous call to data_available() returned true, this function will return the datagram that has become available.
The return value is true if a datagram was successfully returned, or false if there was, in fact, no datagram available. (This may happen if there are multiple threads accessing the RecentConnectionReader).
Description: This flavor of RecentConnectionReader::get_data(), works like the other, except that it only fills a Datagram object, not a NetDatagram object. This means that the Datagram cannot be queried for its source Connection and/or NetAddress, but it is useful in all other respects.

addConnection
bool ConnectionReader::add_connection(Connection *connection);

Description: Adds a new socket to the list of sockets the ConnectionReader will monitor. A datagram that comes in on any of the monitored sockets will be reported. In the case of a ConnectionListener, this adds a new rendezvous socket; any activity on any of the monitored sockets will cause a connection to be accepted.
The return value is true if the connection was added, false if it was already there.
add_connection() is thread-safe, and may be called at will by any thread.

getManager
ConnectionManager *ConnectionReader::get_manager(void) const;

Description: Returns a pointer to the ConnectionManager object that serves this ConnectionReader.

getNumThreads
int ConnectionReader::get_num_threads(void) const;

Description: Returns the number of threads the ConnectionReader has been created with.

getRawMode
bool ConnectionReader::get_raw_mode(void) const;

Description: Returns the current setting of the raw mode flag. See set_raw_mode().

getTcpHeaderSize
int ConnectionReader::get_tcp_header_size(void) const;

Description: Returns the current setting of TCP header size. See set_tcp_header_size().

isConnectionOk
bool ConnectionReader::is_connection_ok(Connection *connection);

Description: Returns true if the indicated connection has been added to the ConnectionReader and is being monitored properly, false if it is not known, or if there was some error condition detected on the connection. (If there was an error condition, normally the ConnectionManager would have been informed and closed the connection.)

isPolling
bool ConnectionReader::is_polling(void) const;

Description: Returns true if the reader is a polling reader, i.e. it has no threads.

poll
void ConnectionReader::poll(void);

Description: Explicitly polls the available sockets to see if any of them have any noise. This function does nothing unless this is a polling-type ConnectionReader, i.e. it was created with zero threads (and is_polling() will return true).
It is not necessary to call this explicitly for a QueuedConnectionReader.

removeConnection
bool ConnectionReader::remove_connection(Connection *connection);

Description: Removes a socket from the list of sockets being monitored. Returns true if the socket was correctly removed, false if it was not on the list in the first place.
remove_connection() is thread-safe, and may be called at will by any thread.

setRawMode
void ConnectionReader::set_raw_mode(bool mode);

Description: Sets the ConnectionReader into raw mode (or turns off raw mode). In raw mode, datagram headers are not expected; instead, all the data available on the pipe is treated as a single datagram.
This is similar to set_tcp_header_size(0), except that it also turns off headers for UDP packets.

setTcpHeaderSize
void ConnectionReader::set_tcp_header_size(int tcp_header_size);

Description: Sets the header size of TCP packets. At the present, legal values for this are 0, 2, or 4; this specifies the number of bytes to use encode the datagram length at the start of each TCP datagram. Sender and receiver must independently agree on this.


RecorderBase

    from pandac.PandaModules import RecorderBase
    Class : RecorderBase
    Description : This 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.
    Note that RecorderBase does not actually inherit from TypedObject, even though it defines get_type(). The assumption is that the classes that derive from RecorderBase might also inherit independently from TypedObject.
    It also does not inherit from TypedWritable, but it defines a method called write_recorder() which is very similar to a TypedWritable's write_datagram(). Classes that derive from RecorderBase and also inherit from TypedWritable may choose to remap write_recorder() to do exactly the same thing as write_datagram(), or they may choose to write something slightly different.

Inheritance:

    RecorderBase: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of RecorderBase:

    getClassType
    isPlaying
    isRecording

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle RecorderBase::get_class_type(void);

Undocumented function.

isPlaying
bool RecorderBase::is_playing(void) const;

Description: Returns true if this recorder is presently playing back data from session file, false otherwise. If this is true, play_data() will be called from time to time.

isRecording
bool RecorderBase::is_recording(void) const;

Description: Returns true if this recorder is presently recording data for saving to a session file, false otherwise. If this is true, record_data() will be called from time to time.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


RecorderController

    from pandac.PandaModules import RecorderController
    Class : RecorderController
    Description : This object manages the process of recording the user's runtime inputs to a bam file so that the session can be recreated later.

Inheritance:

    RecorderController: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of RecorderController:

    RecorderController (Constructor)
    addRecorder
    beginPlayback
    beginRecord
    close
    getClassType
    getClockOffset
    getFilename
    getFrameOffset
    getFrameTie
    getRandomSeed
    getRecorder
    getStartTime
    hasRecorder
    isError
    isOpen
    isPlaying
    isRecording
    playFrame
    recordFrame
    removeRecorder
    setFrameTie
    setRandomSeed

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
RecorderController
RecorderController::RecorderController(void);

Description:

addRecorder
void RecorderController::add_recorder(string const &name, RecorderBase *recorder);

Description: Adds the named recorder to the set of recorders that are in use.
If the controller is in recording mode, the named recorder will begin recording its status to the session file. If the controller is in playback mode and the name and type matches a recorder in the session file, the recorder will begin receiving data.

beginPlayback
bool RecorderController::begin_playback(Filename const &filename);

Description: Begins playing back data from the indicated filename. All of the recorders in use should already have been added, although this may define additional recorders if they are present in the file (these new recorders will not be used). This may also undefine recorders that were previously added but are not present in the file.

beginRecord
bool RecorderController::begin_record(Filename const &filename);

Description: Begins recording data to the indicated filename. All of the recorders in use should already have been added.

close
void RecorderController::close(void);

Description: Finishes recording data to the indicated filename.

getClassType
static TypeHandle RecorderController::get_class_type(void);

Undocumented function.

getClockOffset
double RecorderController::get_clock_offset(void) const;

Description: Returns the delta offset between the actual frame time and the frame time written to the log. This is essentially the time at which the recording (or playback) started.

getFilename
Filename const &RecorderController::get_filename(void) const;

Description: Returns the filename that was passed to the most recent call to begin_record() or begin_playback().

getFrameOffset
int RecorderController::get_frame_offset(void) const;

Description: Returns the delta offset between the actual frame count and the frame count written to the log. This is essentially the frame number at which the recording (or playback) started.

getFrameTie
bool RecorderController::get_frame_tie(void) const;

Description: See set_frame_tie().

getRandomSeed
int RecorderController::get_random_seed(void) const;

Description: Returns the random seed that was set by a previous call to set_random_seed(), or the number read from the session file after begin_playback() has been called.

getRecorder
RecorderBase *RecorderController::get_recorder(string const &name) const;

Description: Returns the recorder with the indicated name, or NULL if there is no such recorder.
If the controller is in playback mode, this may return the recorder matching the indicated name as read from the session file, even if it was never added to the table by the user. In this case, has_recorder() may return false, but get_recorder() will return a non-NULL value.

getStartTime
unsigned int RecorderController::get_start_time(void) const;

Description: Returns the time (and date) at which the current session was originally recorded (or, in recording mode, the time at which the current session began).

hasRecorder
bool RecorderController::has_recorder(string const &name) const;

Description: Returns true if the named recorder has been added to the table by a previous call to add_recorder(), false otherwise.
If the controller is in playback mode, this will also return false for a recorder that was found in the session file but was never explicitly added via add_recorder(); see get_recorder().

isError
bool RecorderController::is_error(void);

Description: Returns true if the controller has been opened for input or output output and there is an error on the stream, or false if the controller is closed or if there is no problem.

isOpen
bool RecorderController::is_open(void) const;

Description: Returns true if the controller has been opened for either input or output, false otherwise.

isPlaying
bool RecorderController::is_playing(void) const;

Description: Returns true if the controller has been opened for input, false otherwise.

isRecording
bool RecorderController::is_recording(void) const;

Description: Returns true if the controller has been opened for output, false otherwise.

playFrame
void RecorderController::play_frame(void);

Description: Gets the next frame of data from all of the active recorders and adds it to the output file.

recordFrame
void RecorderController::record_frame(void);

Description: Gets the next frame of data from all of the active recorders and adds it to the output file.

removeRecorder
bool RecorderController::remove_recorder(string const &name);

Description: Removes the named recorder from the table. Returns true if successful, false if there was no such recorder.
If the controller is in recording mode, the named recorder will stop recording. If the controller is in playback mode, the named recorder will disassociate itself from the session file (but if the session file still has data for this name, a default recorder will take its place to decode the data from the session file).

setFrameTie
void RecorderController::set_frame_tie(bool frame_tie);

Description: Sets the frame_tie flag.
When this is true, sessions are played back frame-for-frame, based on the frame count of the recorded session. This gives the most accurate playback, but the playback rate will vary according to the frame rate of the playback machine.
When this is false, sessions are played back at real time, based on the clock of the recorded session. This may introduce playback discrepencies if the frames do not fall at exactly the same times as they did in the original.

setRandomSeed
void RecorderController::set_random_seed(int random_seed);

Description: Indicates an arbitrary number to be recorded in the session file as a random seed, should the application wish to take advantage of it. This must be set before begin_record() is called.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


RectangleEmitter

    from pandac.PandaModules import RectangleEmitter
    Class : RectangleEmitter
    Description : Describes a planar square region in which particles are generated.

Inheritance:

    RectangleEmitter: BaseParticleEmitter
    BaseParticleEmitter: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of RectangleEmitter:

    RectangleEmitter (Constructor)
    getMaxBound
    getMinBound
    setMaxBound
    setMinBound

Methods of BaseParticleEmitter:

    generate
    getAmplitude
    getAmplitudeSpread
    getEmissionType
    getExplicitLaunchVector
    getOffsetForce
    getRadiateOrigin
    makeCopy
    output
    setAmplitude
    setAmplitudeSpread
    setEmissionType
    setExplicitLaunchVector
    setOffsetForce
    setRadiateOrigin
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleEmitter:

    ETEXPLICIT | (emissionType)
ETRADIATE | (emissionType)
ETCUSTOM | (emissionType)
RectangleEmitter
RectangleEmitter::RectangleEmitter(void);

Description : copy constructor

getMaxBound
LPoint2f RectangleEmitter::get_max_bound(void) const;

Description : boundary get

getMinBound
LPoint2f RectangleEmitter::get_min_bound(void) const;

Description : boundary get

setMaxBound
void RectangleEmitter::set_max_bound(LPoint2f const &vmax);

Description : boundary set

setMinBound
void RectangleEmitter::set_min_bound(LPoint2f const &vmin);

Description : boundary set

generate
void BaseParticleEmitter::generate(LPoint3f &pos, LVector3f &vel);

Description : parent generation function

getAmplitude
float BaseParticleEmitter::get_amplitude(void) const;

Description : amplitude query

getAmplitudeSpread
float BaseParticleEmitter::get_amplitude_spread(void) const;

Description : amplitude spread query

getEmissionType
BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type(void) const;

Description : emission type query

getExplicitLaunchVector
LVector3f BaseParticleEmitter::get_explicit_launch_vector(void) const;

Description : query for explicit emission launch vector

getOffsetForce
LVector3f BaseParticleEmitter::get_offset_force(void) const;

Description : user-defined force

getRadiateOrigin
LPoint3f BaseParticleEmitter::get_radiate_origin(void) const;

Description : query for explicit emission launch vector

makeCopy
virtual BaseParticleEmitter *BaseParticleEmitter::make_copy(void) = 0;

Undocumented function.

output
virtual void BaseParticleEmitter::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAmplitude
void BaseParticleEmitter::set_amplitude(float a);

Description : amplitude assignment

setAmplitudeSpread
void BaseParticleEmitter::set_amplitude_spread(float as);

Description : amplitude spread assignment

setEmissionType
void BaseParticleEmitter::set_emission_type(BaseParticleEmitter::emissionType et);

Description : emission type assignment

setExplicitLaunchVector
void BaseParticleEmitter::set_explicit_launch_vector(LVector3f const &elv);

this is a constant force applied to all particles
Description : assignment of explicit emission launch vector

setOffsetForce
void BaseParticleEmitter::set_offset_force(LVector3f const &of);

Description : user-defined force

setRadiateOrigin
void BaseParticleEmitter::set_radiate_origin(LPoint3f const &ro);

this is a constant force applied to all particles
Description : assignment of radiate emission origin point

write
virtual void BaseParticleEmitter::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


RefCounter

    from direct.showbase.PythonUtil import RefCounter

Inheritance:

    RefCounter:

Methods of RefCounter:

    __init__
    _getKey
    dec
    inc
__init__
def __init__(self, byId=False)

Undocumented function.

_getKey
def _getKey(self, item)

Undocumented function.

dec
def dec(self, item)

returns True if ref count has hit zero

inc
def inc(self, item)

Undocumented function.


ReferenceCount

    from pandac.PandaModules import ReferenceCount
    Class : ReferenceCount
    Description : A base class for all things that want to be reference-counted. ReferenceCount works in conjunction with PointerTo to automatically delete objects when the last pointer to them goes away.

Inheritance:

    ReferenceCount: MemoryBase
    MemoryBase:

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


RelatedObjectMgr

    from direct.distributed.RelatedObjectMgr import RelatedObjectMgr
    This class manages a relationship between DistributedObjects that know about each other, and are expected to be generated together. Ideally, we should be able to guarantee the ordering of the generate calls, but there are certain cases in which the objects may not be generated in the correct order as defined by the toon.dc file.
    To handle cases like these robustly, it is necessary for each object to deal with the possibility that its companion object has not yet been generated. This may mean deferring some operations until the expected companion object has been generated.
    This class helps manage that process. To use it, an object should register its desire to be associated with the other object's doId. When the other object is generated (or immediately, if the object already exists), the associated callback will be called. There is also a timeout callback in case the object never appears.

Inheritance:

    RelatedObjectMgr:

Methods of RelatedObjectMgr:

    __generated
    __generateObjectList
    __init__
    __listenFor
    __noListenFor
    __removePending
    __timeoutExpired
    abortAllRequests
    abortRequest
    destroy
    requestObjects
__generated
def __generated(self, object)

Undocumented function.

__generateObjectList
def __generateObjectList(self, doIdList)

Undocumented function.

__init__
def __init__(self, cr)

Undocumented function.

__listenFor
def __listenFor(self, doId)

Undocumented function.

__noListenFor
def __noListenFor(self, doId)

Undocumented function.

__removePending
def __removePending(self, tuple, doIdsPending)

Undocumented function.

__timeoutExpired
def __timeoutExpired(self, tuple)

Undocumented function.

abortAllRequests
def abortAllRequests(self)

Call this method to abruptly abort all pending requests, but leave the RelatedObjectMgr in a state for accepting more requests.

abortRequest
def abortRequest(self, tuple)

Aborts a previous request. The parameter is the return value from a previous call to requestObjects(). The pending request is removed from the queue and no further callbacks will be called.
See Also: requestObjects()

destroy
def destroy(self)

Undocumented function.

requestObjects
def requestObjects(self, doIdList, allCallback=None, eachCallback=None, timeout=None, timeoutCallback=None)

Requests a callback to be called when the objects in the doIdList are generated. The allCallback will be called only when all the objects have been generated (and it receives a list of objects, in the order given in doIdList). The eachCallback is called as each object is generated, and receives only the object itself.
If the objects already exist, the appropriate callback is called immediately.
If all of the objects are not generated within the indicated timeout time, the timeoutCallback is called instead, with the original doIdList as the parameter. If the timeoutCallback is None, then allCallback is called on timeout, with the list of objects that have been generated so far, and None for objects that have not been generated.
If any element of doIdList is None or 0, it is ignored, and None is passed in its place in the object list passed to the callback.
The return value may be saved and passed to a future call to abortRequest(), in order to abort a pending request before the timeout expires.
Actually, you should be careful to call abortRequest() if you have made a call to requestObjects() that has not been resolved. To find examples, do a search for abortRequest() to find out how other code is using it. A common idiom is to store the result from requestObjects() and call abortRequest() if delete() or destroy() is called on the requesting object.
See Also: abortRequest()


ReMutex

    from pandac.PandaModules import ReMutex

Inheritance:

    ReMutex: ReMutexDirect
    ReMutexDirect:

Methods of ReMutex:

    ReMutex (Constructor)

Methods of ReMutexDirect:

    debugIsLocked
    elevateLock
    lock
    output
    release
ReMutex
ReMutex::ReMutex(void);

Description:

debugIsLocked
bool ReMutexDirect::debug_is_locked(void) const;

Description: Returns true if the current thread has locked the ReMutex, false otherwise. This method is only intended for use in debugging, hence the method name; in the ReMutexDirect case, it always returns true, since there's not a reliable way to determine this otherwise.

elevateLock
void ReMutexDirect::elevate_lock(void) const;

Description: This method increments the lock count, assuming the calling thread already holds the lock. After this call, release() will need to be called one additional time to release the lock.
This method really performs the same function as lock(), but it offers a potential (slight) performance benefit when the calling thread knows that it already holds the lock. It is an error to call this when the calling thread does not hold the lock.

lock
void ReMutexDirect::lock(void) const;

Description: Grabs the reMutex if it is available. If it is not available, blocks until it becomes available, then grabs it. In either case, the function does not return until the reMutex is held; you should then call unlock().
This method is considered const so that you can lock and unlock const reMutexes, mainly to allow thread-safe access to otherwise const data.
Also see ReMutexHolder.
Description: This variant on lock() accepts the current thread as a parameter, if it is already known, as an optimization.

output
void ReMutexDirect::output(ostream &out) const;

Description: This method is declared virtual in MutexDebug, but non-virtual in ReMutexDirect.

release
void ReMutexDirect::release(void) const;

Description: Releases the reMutex. It is an error to call this if the reMutex was not already locked.
This method is considered const so that you can lock and unlock const reMutexes, mainly to allow thread-safe access to otherwise const data.


ReMutexDirect

    from pandac.PandaModules import ReMutexDirect
    Class : ReMutexDirect
    Description : This class implements a standard reMutex by making direct calls to the underlying implementation layer. It doesn't perform any debugging operations.

Inheritance:

    ReMutexDirect:

Methods of ReMutexDirect:

    debugIsLocked
    elevateLock
    lock
    output
    release
debugIsLocked
bool ReMutexDirect::debug_is_locked(void) const;

Description: Returns true if the current thread has locked the ReMutex, false otherwise. This method is only intended for use in debugging, hence the method name; in the ReMutexDirect case, it always returns true, since there's not a reliable way to determine this otherwise.

elevateLock
void ReMutexDirect::elevate_lock(void) const;

Description: This method increments the lock count, assuming the calling thread already holds the lock. After this call, release() will need to be called one additional time to release the lock.
This method really performs the same function as lock(), but it offers a potential (slight) performance benefit when the calling thread knows that it already holds the lock. It is an error to call this when the calling thread does not hold the lock.

lock
void ReMutexDirect::lock(void) const;

Description: Grabs the reMutex if it is available. If it is not available, blocks until it becomes available, then grabs it. In either case, the function does not return until the reMutex is held; you should then call unlock().
This method is considered const so that you can lock and unlock const reMutexes, mainly to allow thread-safe access to otherwise const data.
Also see ReMutexHolder.
Description: This variant on lock() accepts the current thread as a parameter, if it is already known, as an optimization.

output
void ReMutexDirect::output(ostream &out) const;

Description: This method is declared virtual in MutexDebug, but non-virtual in ReMutexDirect.

release
void ReMutexDirect::release(void) const;

Description: Releases the reMutex. It is an error to call this if the reMutex was not already locked.
This method is considered const so that you can lock and unlock const reMutexes, mainly to allow thread-safe access to otherwise const data.


RenderAttrib

    from pandac.PandaModules import RenderAttrib
    Class : RenderAttrib
    Description : This is the base class for a number of render attributes (other than transform) that may be set on scene graph nodes to control the appearance of geometry. This includes TextureAttrib, ColorAttrib, etc.
    RenderAttrib represents render attributes that always propagate down to the leaves without regard to the particular node they are assigned to. A RenderAttrib will have the same effect on a leaf node whether it is assigned to the graph at the leaf or several nodes above. This is different from RenderEffect, which represents a particular render property that is applied immediately to the node on which it is encountered, like billboarding or decaling.
    You should not attempt to create or modify a RenderAttrib directly; instead, use the make() method of the appropriate kind of attrib you want. This will allocate and return a new RenderAttrib of the appropriate type, and it may share pointers if possible. Do not modify the new RenderAttrib if you wish to change its properties; instead, create a new one.

Inheritance:

    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


RenderEffect

    from pandac.PandaModules import RenderEffect
    Class : RenderEffect
    Description : This is the base class for a number of special render effects that may be set on scene graph nodes to change the way they render. This includes BillboardEffect, DecalEffect, etc.
    RenderEffect represents render properties that must be applied as soon as they are encountered in the scene graph, rather than propagating down to the leaves. This is different from RenderAttrib, which represents properties like color and texture that don't do anything until they propagate down to a GeomNode.
    You should not attempt to create or modify a RenderEffect directly; instead, use the make() method of the appropriate kind of effect you want. This will allocate and return a new RenderEffect of the appropriate type, and it may share pointers if possible. Do not modify the new RenderEffect if you wish to change its properties; instead, create a new one.

Inheritance:

    RenderEffect: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of RenderEffect:

    compareTo
    getClassType
    getNumEffects
    listEffects
    output
    validateEffects
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
compareTo
int RenderEffect::compare_to(RenderEffect const &other) const;

Description: Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderEffect class because all equivalent RenderEffect objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderEffect::get_class_type(void);

Undocumented function.

getNumEffects
static int RenderEffect::get_num_effects(void);

Description: Returns the total number of unique RenderEffect objects allocated in the world. This will go up and down during normal operations.

listEffects
static void RenderEffect::list_effects(ostream &out);

Description: Lists all of the RenderEffects in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderEffect::output(ostream &out) const;

Description:

validateEffects
static bool RenderEffect::validate_effects(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderEffect objects).

write
virtual void RenderEffect::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


RenderEffects

    from pandac.PandaModules import RenderEffects
    Class : RenderEffects
    Description : This represents a unique collection of RenderEffect objects that correspond to a particular renderable state.
    You should not attempt to create or modify a RenderEffects object directly. Instead, call one of the make() functions to create one for you. And instead of modifying a RenderEffects object, create a new one.

Inheritance:

    RenderEffects: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of RenderEffects:

    addEffect
    findEffect
    getClassType
    getEffect
    getNumEffects
    getNumStates
    isEmpty
    listStates
    make
    makeEmpty
    operator <
    output
    removeEffect
    unref
    validateStates
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
addEffect
ConstPointerTo< RenderEffects > RenderEffects::add_effect(RenderEffect const *effect) const;

Description: Returns a new RenderEffects object that represents the same as the source state, with the new RenderEffect added. If there is already a RenderEffect with the same type, it is replaced.

findEffect
int RenderEffects::find_effect(TypeHandle type) const;

Description: Searches for an effect with the indicated type in the state, and returns its index if it is found, or
-1 if it is not.

getClassType
static TypeHandle RenderEffects::get_class_type(void);

Undocumented function.

getEffect
RenderEffect const *RenderEffects::get_effect(int n) const;

Description: Returns the nth effect in the state.
Description: Looks for a RenderEffect of the indicated type in the state, and returns it if it is found, or NULL if it is not.

getNumEffects
int RenderEffects::get_num_effects(void) const;

Description: Returns the number of separate effects indicated in the state.

getNumStates
static int RenderEffects::get_num_states(void);

Description: Returns the total number of unique RenderEffects objects allocated in the world. This will go up and down during normal operations.

isEmpty
bool RenderEffects::is_empty(void) const;

Description: Returns true if the state is empty, false otherwise.

listStates
static void RenderEffects::list_states(ostream &out);

Description: Lists all of the RenderEffects in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

make
static ConstPointerTo< RenderEffects > RenderEffects::make(RenderEffect const *effect);

Description: Returns a RenderEffects with one effect set.
Description: Returns a RenderEffects with two effects set.
Description: Returns a RenderEffects with three effects set.
Description: Returns a RenderEffects with four effects set.

makeEmpty
static ConstPointerTo< RenderEffects > RenderEffects::make_empty(void);

Description: Returns a RenderEffects with no effects set.

operator <
bool RenderEffects::operator <(RenderEffects const &other) const;

Description: Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderEffects class because all equivalent RenderEffects objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

output
void RenderEffects::output(ostream &out) const;

Description:

removeEffect
ConstPointerTo< RenderEffects > RenderEffects::remove_effect(TypeHandle type) const;

Description: Returns a new RenderEffects object that represents the same as the source state, with the indicated RenderEffect removed.

unref
bool RenderEffects::unref(void) const;

Description: 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.

validateStates
static bool RenderEffects::validate_states(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderEffects objects).

write
void RenderEffects::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


RenderModeAttrib

    from pandac.PandaModules import RenderModeAttrib
    Class : RenderModeAttrib
    Description : Specifies how polygons are to be drawn.

Inheritance:

    RenderModeAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of RenderModeAttrib:

    getClassType
    getGeomRendering
    getMode
    getPerspective
    getThickness
    make

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderModeAttrib:

    MUnchanged | (Mode)
MFilled | (Mode)
MWireframe | (Mode)
MPoint | (Mode)
MFilledFlat | (Mode)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle RenderModeAttrib::get_class_type(void);

Undocumented function.

getGeomRendering
int RenderModeAttrib::get_geom_rendering(int geom_rendering) const;

Description: Returns the union of the Geom::GeomRendering bits that will be required once this RenderModeAttrib is applied to a geom which includes the indicated geom_rendering bits.

getMode
RenderModeAttrib::Mode RenderModeAttrib::get_mode(void) const;

Description: Returns the render mode.

getPerspective
bool RenderModeAttrib::get_perspective(void) const;

Description: Returns the perspective flag. When this is true, the point thickness represented by get_thickness() is actually a width in 3-d units, and the points should scale according to perspective. When it is false, the default, the point thickness is actually a width in pixels, and points are a uniform size regardless of distance from the camera.

getThickness
float RenderModeAttrib::get_thickness(void) const;

Description: Returns the line width or point thickness. This is only relevant when rendering points or lines, such as when the mode is M_wireframe or M_point (or when rendering actual points or lines primitives in M_polygon mode).

make
static ConstPointerTo< RenderAttrib > RenderModeAttrib::make(RenderModeAttrib::Mode mode, float thickness = (1), bool perspective = (0));

Description: Constructs a new RenderModeAttrib object that specifies whether to draw polygons in the normal, filled mode, or wireframe mode, or in some other yet-to-be-defined mode.
The thickness parameter specifies the thickness to be used for wireframe lines, as well as for ordinary linestrip lines; it also specifies the diameter of points. (Thick lines are presently only supported in OpenGL; but thick points are supported on either platform.)
If perspective is true, the point thickness represented is actually a width in 3-d units, and the points should scale according to perspective. When it is false, the point thickness is actually a width in pixels, and points are a uniform screen size regardless of distance from the camera.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


RenderState

    from pandac.PandaModules import RenderState
    Class : RenderState
    Description : This represents a unique collection of RenderAttrib objects that correspond to a particular renderable state.
    You should not attempt to create or modify a RenderState object directly. Instead, call one of the make() functions to create one for you. And instead of modifying a RenderState object, create a new one.

Inheritance:

    RenderState: NodeCachedReferenceCount
    NodeCachedReferenceCount: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of RenderState:

    addAttrib
    adjustAllPriorities
    cacheRef
    cacheUnref
    clearCache
    clearMungerCache
    compose
    cullCallback
    findAttrib
    getAttrib
    getAudioVolume
    getBin
    getBinIndex
    getClassType
    getClipPlane
    getColor
    getColorScale
    getDrawOrder
    getFog
    getGeneratedShader
    getGeomRendering
    getHash
    getMaxPriority
    getNumAttribs
    getNumStates
    getNumUnusedStates
    getOverride
    getRenderMode
    getScissor
    getShader
    getTexGen
    getTexMatrix
    getTexture
    getTransparency
    hasCullCallback
    invertCompose
    isEmpty
    listCycles
    listStates
    make
    makeEmpty
    nodeRef
    nodeUnref
    operator <
    output
    removeAttrib
    setAttrib
    unref
    validateStates
    write

Methods of NodeCachedReferenceCount:

    getClassType
    getNodeRefCount
    getReferencedBits
    nodeRef
    nodeUnref
    testRefCountIntegrity

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in NodeCachedReferenceCount:

    RNode | (Referenced)
RCache | (Referenced)
addAttrib
ConstPointerTo< RenderState > RenderState::add_attrib(RenderAttrib const *attrib, int override = (0)) const;

Description: Returns a new RenderState object that represents the same as the source state, with the new RenderAttrib added. If there is already a RenderAttrib with the same type, it is replaced (unless the override is lower).

adjustAllPriorities
ConstPointerTo< RenderState > RenderState::adjust_all_priorities(int adjustment) const;

Description: Returns a new RenderState object that represents the same as the source state, with all attributes' override values incremented (or decremented, if negative) by the indicated amount. If the override would drop below zero, it is set to zero.

cacheRef
void RenderState::cache_ref(void) const;

Description: Overrides this method to update PStats appropriately.

cacheUnref
bool RenderState::cache_unref(void) const;

Description: Overrides this method to update PStats appropriately.

clearCache
static int RenderState::clear_cache(void);

Description: Empties the cache of composed RenderStates. This makes every RenderState forget what results when it is composed with other RenderStates.
This will eliminate any RenderState objects that have been allocated but have no references outside of the internal RenderState map. It will not eliminate RenderState objects that are still in use.
Nowadays, this method should not be necessary, as reference-count cycles in the composition cache should be automatically detected and broken.
The return value is the number of RenderStates freed by this operation.

clearMungerCache
static void RenderState::clear_munger_cache(void);

Description: Completely empties the cache of state + gsg -> munger, for all states and all gsg's. Normally there is no need to empty this cache.

compose
ConstPointerTo< RenderState > RenderState::compose(RenderState const *other) const;

Description: Returns a new RenderState object that represents the composition of this state with the other state.
The result of this operation is cached, and will be retained as long as both this RenderState object and the other RenderState object continue to exist. Should one of them destruct, the cached entry will be removed, and its pointer will be allowed to destruct as well.

cullCallback
bool RenderState::cull_callback(CullTraverser *trav, CullTraverserData const &data) const;

Description: Calls cull_callback() on each attrib. If any attrib returns false, interrupts the list and returns false immediately; otherwise, completes the list and returns true.

findAttrib
int RenderState::find_attrib(TypeHandle type) const;

Description: Searches for an attribute with the indicated type in the state, and returns its index if it is found, or
-1 if it is not.

getAttrib
RenderAttrib const *RenderState::get_attrib(int n) const;

Description: Returns the nth attribute in the state.
Description: Looks for a RenderAttrib of the indicated type in the state, and returns it if it is found, or NULL if it is not.

getAudioVolume
AudioVolumeAttrib const *RenderState::get_audio_volume(void) const;

Description: This function is provided as an optimization, to speed up the render-time checking for the existance of an AudioVolumeAttrib on this state. It returns a pointer to the AudioVolumeAttrib, if there is one, or NULL if there is not.

getBin
CullBinAttrib const *RenderState::get_bin(void) const;

Description: This function is provided as an optimization, to speed up the render-time checking for the existance of a BinAttrib on this state. It returns a pointer to the BinAttrib, if there is one, or NULL if there is not.

getBinIndex
int RenderState::get_bin_index(void) const;

Description: Returns the bin index indicated by the CullBinAttrib, if any, associated by this state (or the default bin index if there is no CullBinAttrib). This function is provided as an optimization for determining this at render time.

getClassType
static TypeHandle RenderState::get_class_type(void);

Undocumented function.

getClipPlane
ClipPlaneAttrib const *RenderState::get_clip_plane(void) const;

Description: This function is provided as an optimization, to speed up the render-time checking for the existance of a ClipPlaneAttrib on this state. It returns a pointer to the ClipPlaneAttrib, if there is one, or NULL if there is not.

getColor
ColorAttrib const *RenderState::get_color(void) const;

Description: This function is provided as an optimization, to speed up the render-time checking for the existance of a ColorAttrib on this state. It returns a pointer to the ColorAttrib, if there is one, or NULL if there is not.

getColorScale
ColorScaleAttrib const *RenderState::get_color_scale(void) const;

Description: This function is provided as an optimization, to speed up the render-time checking for the existance of a ColorScaleAttrib on this state. It returns a pointer to the ColorScaleAttrib, if there is one, or NULL if there is not.

getDrawOrder
int RenderState::get_draw_order(void) const;

These methods are intended for use by low-level code, but they're also handy enough to expose to high-level users.
Description: Returns the draw order indicated by the CullBinAttrib, if any, associated by this state (or 0 if there is no CullBinAttrib). See get_bin_index().

getFog
FogAttrib const *RenderState::get_fog(void) const;

These methods are intended for use by low-level code, but they're also handy enough to expose to high-level users.
Description: This function is provided as an optimization, to speed up the render-time checking for the existance of a FogAttrib on this state. It returns a pointer to the FogAttrib, if there is one, or NULL if there is not.

getGeneratedShader
ShaderAttrib const *RenderState::get_generated_shader(void) const;

Description: Generate a ShaderAttrib for this RenderState. This generated ShaderAttrib can be thought of as a replacement for the regular ShaderAttrib that is a standard part of the RenderState.

getGeomRendering
int RenderState::get_geom_rendering(int geom_rendering) const;

Description: Returns the union of the Geom::GeomRendering bits that will be required once this RenderState is applied to a geom which includes the indicated geom_rendering bits.

getHash
unsigned int RenderState::get_hash(void) const;

Description: Returns a suitable hash value for phash_map.

getMaxPriority
static int RenderState::get_max_priority(void);

Description: Returns the maximum priority number (sometimes called override) that may be set on any node. This may or may not be enforced, but the scene graph code assumes that no priority numbers will be larger than this, and some effects may not work properly if you use a larger number.

getNumAttribs
int RenderState::get_num_attribs(void) const;

Description: Returns the number of separate attributes indicated in the state.

getNumStates
static int RenderState::get_num_states(void);

Description: Returns the total number of unique RenderState objects allocated in the world. This will go up and down during normal operations.

getNumUnusedStates
static int RenderState::get_num_unused_states(void);

Description: Returns the total number of RenderState objects that have been allocated but have no references outside of the internal RenderState cache.
A nonzero return value is not necessarily indicative of leaked references; it is normal for two RenderState objects, both of which have references held outside the cache, to have to result of their composition stored within the cache. This result will be retained within the cache until one of the base RenderStates is released.
Use list_cycles() to get an idea of the number of actual "leaked" RenderState objects.

getOverride
int RenderState::get_override(int n) const;

Description: Returns the override associated with the nth attribute in the state.
Description: Looks for a RenderAttrib of the indicated type in the state, and returns its override value if it is found, or 0 if it is not.

getRenderMode
RenderModeAttrib const *RenderState::get_render_mode(void) const;

Description: This function is provided as an optimization, to speed up the render-time checking for the existance of a RenderModeAttrib on this state. It returns a pointer to the RenderModeAttrib, if there is one, or NULL if there is not.

getScissor
ScissorAttrib const *RenderState::get_scissor(void) const;

Description: This function is provided as an optimization, to speed up the render-time checking for the existance of a ScissorAttrib on this state. It returns a pointer to the ScissorAttrib, if there is one, or NULL if there is not.

getShader
ShaderAttrib const *RenderState::get_shader(void) const;

Description: This function is provided as an optimization, to speed up the render-time checking for the existance of a ShaderAttrib on this state. It returns a pointer to the ShaderAttrib, if there is one, or NULL if there is not.

getTexGen
TexGenAttrib const *RenderState::get_tex_gen(void) const;

Description: This function is provided as an optimization, to speed up the render-time checking for the existance of a TexGenAttrib on this state. It returns a pointer to the TexGenAttrib, if there is one, or NULL if there is not.

getTexMatrix
TexMatrixAttrib const *RenderState::get_tex_matrix(void) const;

Description: This function is provided as an optimization, to speed up the render-time checking for the existance of a TexMatrixAttrib on this state. It returns a pointer to the TexMatrixAttrib, if there is one, or NULL if there is not.

getTexture
TextureAttrib const *RenderState::get_texture(void) const;

Description: This function is provided as an optimization, to speed up the render-time checking for the existance of a TextureAttrib on this state. It returns a pointer to the TextureAttrib, if there is one, or NULL if there is not.

getTransparency
TransparencyAttrib const *RenderState::get_transparency(void) const;

Description: This function is provided as an optimization, to speed up the render-time checking for the existance of a TransparencyAttrib on this state. It returns a pointer to the TransparencyAttrib, if there is one, or NULL if there is not.

hasCullCallback
bool RenderState::has_cull_callback(void) const;

Description: Returns true if any of the RenderAttribs in this state request a cull_callback(), false if none of them do.

invertCompose
ConstPointerTo< RenderState > RenderState::invert_compose(RenderState const *other) const;

Description: Returns a new RenderState object that represents the composition of this state's inverse with the other state.
This is similar to compose(), but is particularly useful for computing the relative state of a node as viewed from some other node.

isEmpty
bool RenderState::is_empty(void) const;

Description: Returns true if the state is empty, false otherwise.

listCycles
static void RenderState::list_cycles(ostream &out);

Description: Detects all of the reference-count cycles in the cache and reports them to standard output.
These cycles may be inadvertently created when state compositions cycle back to a starting point. Nowadays, these cycles should be automatically detected and broken, so this method should never list any cycles unless there is a bug in that detection logic.
The cycles listed here are not leaks in the strictest sense of the word, since they can be reclaimed by a call to clear_cache(); but they will not be reclaimed automatically.

listStates
static void RenderState::list_states(ostream &out);

Description: Lists all of the RenderStates in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

make
static ConstPointerTo< RenderState > RenderState::make(RenderAttrib const *attrib, int override = (0));

Description: Returns a RenderState with one attribute set.
Description: Returns a RenderState with two attributes set.
Description: Returns a RenderState with three attributes set.
Description: Returns a RenderState with four attributes set.
Description: Returns a RenderState with n attributes set.
Description: Returns a RenderState made from the specified slots.

makeEmpty
static ConstPointerTo< RenderState > RenderState::make_empty(void);

Description: Returns a RenderState with no attributes set.

nodeRef
void RenderState::node_ref(void) const;

Description: Overrides this method to update PStats appropriately.

nodeUnref
bool RenderState::node_unref(void) const;

Description: Overrides this method to update PStats appropriately.

operator <
bool RenderState::operator <(RenderState const &other) const;

Description: Provides an arbitrary ordering among all unique RenderStates, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderState class because all equivalent RenderState objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

output
void RenderState::output(ostream &out) const;

Description:

removeAttrib
ConstPointerTo< RenderState > RenderState::remove_attrib(TypeHandle type) const;

Description: Returns a new RenderState object that represents the same as the source state, with the indicated RenderAttrib removed.

setAttrib
ConstPointerTo< RenderState > RenderState::set_attrib(RenderAttrib const *attrib) const;

Description: Returns a new RenderState object that represents the same as the source state, with the new RenderAttrib added. If there is already a RenderAttrib with the same type, it is replaced unconditionally. The override is not changed.
Description: Returns a new RenderState object that represents the same as the source state, with the new RenderAttrib added. If there is already a RenderAttrib with the same type, it is replaced unconditionally. The override is also replaced unconditionally.

unref
bool RenderState::unref(void) const;

Description: 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.

validateStates
static bool RenderState::validate_states(void);

Description: Ensures that the cache is still stored in sorted order, and that none of the cache elements have been inadvertently deleted. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderState objects).

write
void RenderState::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle NodeCachedReferenceCount::get_class_type(void);

Undocumented function.

getNodeRefCount
int NodeCachedReferenceCount::get_node_ref_count(void) const;

Description: Returns the current reference count.

getReferencedBits
int NodeCachedReferenceCount::get_referenced_bits(void) const;

Description: Returns the union of the values defined in the Referenced enum that represents the various things that appear to be holding a pointer to this object.
If R_node is included, at least one node is holding a pointer; if R_cache is included, at least one cache element is.

nodeRef
void NodeCachedReferenceCount::node_ref(void) const;

Description: Explicitly increments the reference count.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

nodeUnref
bool NodeCachedReferenceCount::node_unref(void) const;

Description: 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.

testRefCountIntegrity
bool NodeCachedReferenceCount::test_ref_count_integrity(void) const;

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

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


RequestDenied

    from direct.fsm.FSM import RequestDenied

Inheritance:

    RequestDenied:


RescaleNormalAttrib

    from pandac.PandaModules import RescaleNormalAttrib
    Class : RescaleNormalAttrib
    Description : Specifies how polygons are to be drawn.

Inheritance:

    RescaleNormalAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of RescaleNormalAttrib:

    getClassType
    getMode
    make
    makeDefault

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RescaleNormalAttrib:

    MNone | (Mode)
MRescale | (Mode)
MNormalize | (Mode)
MAuto | (Mode)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle RescaleNormalAttrib::get_class_type(void);

Undocumented function.

getMode
RescaleNormalAttrib::Mode RescaleNormalAttrib::get_mode(void) const;

Description: Returns the render mode.

make
static ConstPointerTo< RenderAttrib > RescaleNormalAttrib::make(RescaleNormalAttrib::Mode mode);

Description: Constructs a new RescaleNormalAttrib object that specifies whether to rescale normals to compensate for transform scales or incorrectly defined normals.

makeDefault
static ConstPointerTo< RenderAttrib > RescaleNormalAttrib::make_default(void);

Description: Constructs a RescaleNoramlAttrib object that's suitable for putting at the top of a scene graph. This will contain whatever attrib was suggested by the user's rescale-normals Config variable.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


resource

    from direct.pyinst.resource import resource
    Base class for all resources.
    contents() returns of list of what's contained (eg files in dirs) dependencies() for Python resources returns a list of moduleresources and binaryresources

Inheritance:

    resource:

Methods of resource:

    __cmp__
    __init__
    __repr__
    asBinary
    asFilter
    asSource
    contents
    dependencies
__cmp__
def __cmp__(self, other)

Undocumented function.

__init__
def __init__(self, name, path, typ)

NAME is the logical name of the resource. PATH is the full path to the resource. TYP is the type code. No editting or sanity checks.

__repr__
def __repr__(self)

Undocumented function.

asBinary
def asBinary(self)

Return self in binary form.
Base implementation returns self

asFilter
def asFilter(self)

Create a tocfilter based on self.
Pure virtual

asSource
def asSource(self)

Return self in source form.
Base implementation returns self

contents
def contents(self)

A list of resources within this resource.
Overridable. Base implementation returns [self]

dependencies
def dependencies(self)

A list of resources this resource requires.
Overridable. Base implementation returns []


RetryCancelDialog

    from direct.gui.DirectDialog import RetryCancelDialog

Inheritance:

    RetryCancelDialog:

Methods of RetryCancelDialog:

    __init__
__init__
def __init__(self, parent=None, **kw)

Undocumented function.


RigidBodyCombiner

    from pandac.PandaModules import RigidBodyCombiner
    Class : RigidBodyCombiner
    Description : This is a special node that combines multiple independently-moving rigid nodes into one Geom internally (or as few Geoms as possible), for the purposes of improving rendering performance.
    To use it, parent a number of moving objects to this node and call collect(). A child node is identified as "moving" if (a) it has a non-identity transform initially, or (b) it is a ModelNode with the preserve_transform flag set. Any other nodes will be considered static, and later transforms applied to them will not be identified.
    You should call collect() only at startup or if you change the set of children; it is a relatively expensive call.
    Once you call collect(), you may change the transforms on the child nodes freely without having to call collect() again.
    RenderEffects such as Billboards are not supported below this node.

Inheritance:

    RigidBodyCombiner: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of RigidBodyCombiner:

    RigidBodyCombiner (Constructor)
    collect
    getClassType
    getInternalScene

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
RigidBodyCombiner
RigidBodyCombiner::RigidBodyCombiner(string const &name);

Description:

collect
void RigidBodyCombiner::collect(void);

Description: Walks through the entire subgraph of nodes rooted at this node, accumulates all of the RenderAttribs and Geoms below this node, flattening them into just one Geom (or as few as possible, if there are multiple different states).
Nodes that have transforms on them at the time of collect(), or any ModelNodes with the preserve_transform flag, will be identified as "moving" nodes, and their transforms will be monitored as they change in future frames and each new transform directly applied to the vertices.
This call must be made after adding any nodes to or removing any nodes from the subgraph rooted at this node. It should not be made too often, as it is a relatively expensive call. If you need to hide children of this node, consider scaling them to zero (or very near zero), or moving them behind the camera, instead.

getClassType
static TypeHandle RigidBodyCombiner::get_class_type(void);

Undocumented function.

getInternalScene
NodePath RigidBodyCombiner::get_internal_scene(void);

Description: Returns a special NodePath that represents the internal node of this object. This is the node that is actually sent to the graphics card for rendering; it contains the collection of the children of this node into as few Geoms as possible.
This node is filled up by the last call to collect().

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


RingEmitter

    from pandac.PandaModules import RingEmitter

Inheritance:

    RingEmitter: BaseParticleEmitter
    BaseParticleEmitter: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of RingEmitter:

    RingEmitter (Constructor)
    getAngle
    getRadius
    getRadiusSpread
    setAngle
    setRadius
    setRadiusSpread

Methods of BaseParticleEmitter:

    generate
    getAmplitude
    getAmplitudeSpread
    getEmissionType
    getExplicitLaunchVector
    getOffsetForce
    getRadiateOrigin
    makeCopy
    output
    setAmplitude
    setAmplitudeSpread
    setEmissionType
    setExplicitLaunchVector
    setOffsetForce
    setRadiateOrigin
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleEmitter:

    ETEXPLICIT | (emissionType)
ETRADIATE | (emissionType)
ETCUSTOM | (emissionType)
RingEmitter
RingEmitter::RingEmitter(void);

Description : constructor
Description : copy constructor

getAngle
float RingEmitter::get_angle(void) const;

Description : angle of elevation get

getRadius
float RingEmitter::get_radius(void) const;

Description : radius get

getRadiusSpread
float RingEmitter::get_radius_spread(void) const;

Description : radius_spread get

setAngle
void RingEmitter::set_angle(float angle);

Description : angle of elevation set

setRadius
void RingEmitter::set_radius(float r);

Description : radius set

setRadiusSpread
void RingEmitter::set_radius_spread(float spread);

Description : radius_spread set

generate
void BaseParticleEmitter::generate(LPoint3f &pos, LVector3f &vel);

Description : parent generation function

getAmplitude
float BaseParticleEmitter::get_amplitude(void) const;

Description : amplitude query

getAmplitudeSpread
float BaseParticleEmitter::get_amplitude_spread(void) const;

Description : amplitude spread query

getEmissionType
BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type(void) const;

Description : emission type query

getExplicitLaunchVector
LVector3f BaseParticleEmitter::get_explicit_launch_vector(void) const;

Description : query for explicit emission launch vector

getOffsetForce
LVector3f BaseParticleEmitter::get_offset_force(void) const;

Description : user-defined force

getRadiateOrigin
LPoint3f BaseParticleEmitter::get_radiate_origin(void) const;

Description : query for explicit emission launch vector

makeCopy
virtual BaseParticleEmitter *BaseParticleEmitter::make_copy(void) = 0;

Undocumented function.

output
virtual void BaseParticleEmitter::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAmplitude
void BaseParticleEmitter::set_amplitude(float a);

Description : amplitude assignment

setAmplitudeSpread
void BaseParticleEmitter::set_amplitude_spread(float as);

Description : amplitude spread assignment

setEmissionType
void BaseParticleEmitter::set_emission_type(BaseParticleEmitter::emissionType et);

Description : emission type assignment

setExplicitLaunchVector
void BaseParticleEmitter::set_explicit_launch_vector(LVector3f const &elv);

this is a constant force applied to all particles
Description : assignment of explicit emission launch vector

setOffsetForce
void BaseParticleEmitter::set_offset_force(LVector3f const &of);

Description : user-defined force

setRadiateOrigin
void BaseParticleEmitter::set_radiate_origin(LPoint3f const &ro);

this is a constant force applied to all particles
Description : assignment of radiate emission origin point

write
virtual void BaseParticleEmitter::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Rope

    from direct.showutil.Rope import Rope
    This class defines a NURBS curve whose control vertices are defined based on points relative to one or more nodes in space, so that the "rope" will animate as the nodes move around. It uses the C++ RopeNode class to achieve fancy rendering effects like thick lines built from triangle strips.

Inheritance:

    Rope:

Methods of Rope:

    __init__
    getPoints
    recompute
    setup
__init__
def __init__(self, name='Rope')

Undocumented function.

getPoints
def getPoints(self, len)

Returns a list of len points, evenly distributed in parametric space on the rope, in the coordinate space of the Rope itself.

recompute
def recompute(self)

Recomputes the curve after its properties have changed. Normally it is not necessary for the user to call this directly.

setup
def setup(self, order, verts, knots=None)

This must be called to define the shape of the curve initially, and may be called again as needed to adjust the curve's properties.
order must be either 1, 2, 3, or 4, and is one more than the degree of the curve; most NURBS curves are order 4.
verts is a list of (NodePath, point) tuples, defining the control vertices of the curve. For each control vertex, the NodePath may refer to an arbitrary node in the scene graph, indicating the point should be interpreted in the coordinate space of that node (and it will automatically move when the node is moved), or it may be the empty NodePath or None to indicate the point should be interpreted in the coordinate space of the Rope itself. Each point value may be either a 3-tuple or a 4-tuple (or a VBase3 or VBase4). If it is a 3-component vector, it represents a 3-d point in space; a 4-component vector represents a point in 4-d homogeneous space; that is to say, a 3-d point and an additional weight factor (which should have been multiplied into the x y z components).
verts may be a list of dictionaries instead of a list of tuples. In this case, each vertex dictionary may have any of the following elements:
'node' : the NodePath indicating the coordinate space 'point' : the 3-D point relative to the node; default (0, 0, 0) 'color' : the color of the vertex, default (1, 1, 1, 1) 'thickness' : the thickness at the vertex, default 1
In order to enable the per-vertex color or thickness, you must call rope.ropeNode.setPerVertexColor() or rope.ropeNode.setPerVertexThickness().
knots is optional. If specified, it should be a list of floats, and should be of length len(verts) + order. If it is omitted, a default knot string is generated that consists of the first (order - 1) and last (order - 1) values the same, and the intermediate values incrementing by 1.


RopeNode

    from pandac.PandaModules import RopeNode
    Class : RopeNode
    Description : This class draws a visible representation of the NURBS curve stored in its NurbsCurveEvaluator. It automatically recomputes the curve every frame.
    This is not related to NurbsCurve, CubicCurveseg or any of the ParametricCurve-derived objects in this module. It is a completely parallel implementation of NURBS curves, and will probably eventually replace the whole ParametricCurve class hierarchy.

Inheritance:

    RopeNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of RopeNode:

    RopeNode (Constructor)
    clearMatrix
    getClassType
    getCurve
    getMatrix
    getNormalMode
    getNumSlices
    getNumSubdiv
    getRenderMode
    getThickness
    getTubeUp
    getUseVertexColor
    getUseVertexThickness
    getUvDirection
    getUvMode
    getUvScale
    getVertexColorDimension
    getVertexThicknessDimension
    hasMatrix
    resetBound
    setCurve
    setMatrix
    setNormalMode
    setNumSlices
    setNumSubdiv
    setRenderMode
    setThickness
    setTubeUp
    setUseVertexColor
    setUseVertexThickness
    setUvDirection
    setUvMode
    setUvScale

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RopeNode:

    RMThread | (RenderMode)
RMTape | (RenderMode)
RMBillboard | (RenderMode)
RMTube | (RenderMode)
UVNone | (UVMode)
UVParametric | (UVMode)
UVDistance | (UVMode)
UVDistance2 | (UVMode)
NMNone | (NormalMode)
NMVertex | (NormalMode)

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
RopeNode
RopeNode::RopeNode(string const &name);

Description:

clearMatrix
void RopeNode::clear_matrix(void);

Description: Resets the node's matrix to identity. See set_matrix().

getClassType
static TypeHandle RopeNode::get_class_type(void);

Undocumented function.

getCurve
NurbsCurveEvaluator *RopeNode::get_curve(void) const;

Description: Returns the curve represented by the RopeNode.

getMatrix
LMatrix4f const &RopeNode::get_matrix(void) const;

Description: Returns the optional matrix which is used to transform each control vertex after it has been transformed into the RopeNode's coordinate space, but before the polygon vertices are generated.

getNormalMode
RopeNode::NormalMode RopeNode::get_normal_mode(void) const;

Description: Returns the kind of normals to generate for the rope. This is only applicable when the RenderMode is set to RM_tube.

getNumSlices
int RopeNode::get_num_slices(void) const;

Description: Returns the number of radial subdivisions to make if RenderMode is RM_tube. It is ignored in the other render modes. See set_num_slices().

getNumSubdiv
int RopeNode::get_num_subdiv(void) const;

Description: Returns the number of subdivisions per cubic segment to draw. See set_num_subdiv().

getRenderMode
RopeNode::RenderMode RopeNode::get_render_mode(void) const;

Description: Returns the method used to render the rope. See set_render_mode().

getThickness
float RopeNode::get_thickness(void) const;

Description: Returns the thickness of the rope. See set_thickness().

getTubeUp
LVector3f const &RopeNode::get_tube_up(void) const;

Description: Returns the normal vector used to control the "top" of the curve, when RenderMode is RM_tube. See set_tube_up().

getUseVertexColor
bool RopeNode::get_use_vertex_color(void) const;

Description: Returns the "use vertex color" flag. See set_use_vertex_color().

getUseVertexThickness
bool RopeNode::get_use_vertex_thickness(void) const;

Description: Returns the "use vertex thickness" flag. See set_use_vertex_thickness().

getUvDirection
bool RopeNode::get_uv_direction(void) const;

Description: Returns true if the rope runs down the U coordinate of the texture, or false if it runs down the V coordinate.

getUvMode
RopeNode::UVMode RopeNode::get_uv_mode(void) const;

Description: Returns the algorithm to use to generate UV's for the rope.

getUvScale
float RopeNode::get_uv_scale(void) const;

Description: Returns the scaling factor to apply to generated UV's for the rope.

getVertexColorDimension
static int RopeNode::get_vertex_color_dimension(void);

Description: Returns the numeric extended dimension in which the color components should be found. See NurbsCurveEvaluator::set_extended_vertex().
The color components will be expected at (n, n + 1, n + 2, n + 3).

getVertexThicknessDimension
static int RopeNode::get_vertex_thickness_dimension(void);

Description: Returns the numeric extended dimension in which the thickness component should be found. See NurbsCurveEvaluator::set_extended_vertex().

hasMatrix
bool RopeNode::has_matrix(void) const;

Description: Returns true if the node has a matrix set, false otherwise. See set_matrix().

resetBound
void RopeNode::reset_bound(NodePath const &rel_to);

Description: Recomputes the bounding volume. This is normally called automatically, but it must occasionally be called explicitly when the curve has changed properties outside of this node's knowledge.

setCurve
void RopeNode::set_curve(NurbsCurveEvaluator *curve);

Description: Sets the particular curve represented by the RopeNode.

setMatrix
void RopeNode::set_matrix(LMatrix4f const &matrix);

Description: Specifies an optional matrix which is used to transform each control vertex after it has been transformed into the RopeNode's coordinate space, but before the polygon vertices are generated.

setNormalMode
void RopeNode::set_normal_mode(RopeNode::NormalMode normal_mode);

Description: Specifies the kind of normals to generate for the rope. This is only applicable when the RenderMode is set to RM_tube; in the other render modes, normals are never generated.

setNumSlices
void RopeNode::set_num_slices(int num_slices);

Description: Specifies the number of radial subdivisions to make if RenderMode is RM_tube. It is ignored in the other render modes.
Increasing this number increases the roundness of a cross-section of the tube. The minimum value for a dimensional tube is 3; setting it to 2 will get you a thin piece of tape (which is similar to RM_billboard, except it won't rotate to face the camera).

setNumSubdiv
void RopeNode::set_num_subdiv(int num_subdiv);

Description: Specifies the number of subdivisions per cubic segment (that is, per unique knot value) to draw in a fixed uniform tesselation of the curve.

setRenderMode
void RopeNode::set_render_mode(RopeNode::RenderMode render_mode);

Description: Specifies the method used to render the rope. The simplest is RM_thread, which just draws a one-pixel line segment.

setThickness
void RopeNode::set_thickness(float thickness);

Description: Specifies the thickness of the rope, in pixels or in spatial units, depending on the render mode. See set_render_mode().
The thickness may also be specified on a per-vertex basis. See set_use_vertex_thickness().

setTubeUp
void RopeNode::set_tube_up(LVector3f const &tube_up);

Description: Specifies a normal vector, generally perpendicular to the main axis of the starting point of the curve, that controls the "top" of the curve, when RenderMode is RM_tube. This is used to orient the vertices that make up the tube. If this vector is too nearly parallel with the starting direction of the curve, there may be a tendency for the whole tube to gimble-lock around its primary axis.

setUseVertexColor
void RopeNode::set_use_vertex_color(bool flag);

Description: Sets the "use vertex color" flag. When this is true, the R, G, B, A vertex color is assumed to be stored as the dimensions n + 0, n + 1, n + 2, n + 3, respectively, of the extended vertex values, where n is the value returned by get_vertex_color_dimension(). Use NurbsCurveEvaluator::set_extended_vertex() to set these values.

setUseVertexThickness
void RopeNode::set_use_vertex_thickness(bool flag);

Description: Sets the "use vertex thickness" flag. When this is true, the vertex thickness is assumed to be stored as the dimension get_vertex_thickness_dimension(), of the extended vertex values. Use NurbsCurveEvaluator::set_extended_vertex() to set these values.
In this mode, the overall thickness is also applied as a scale to the vertex thickness. Not all render modes support vertex thickness.

setUvDirection
void RopeNode::set_uv_direction(bool u_dominant);

Description: Specify true to vary the U coordinate down the length of the rope, or false to vary the V coordinate.

setUvMode
void RopeNode::set_uv_mode(RopeNode::UVMode uv_mode);

Description: Specifies the algorithm to use to generate UV's for the rope.

setUvScale
void RopeNode::set_uv_scale(float scale);

Description: Specifies an additional scaling factor to apply to generated UV's along the rope. This scale factor is applied in whichever direction is along the rope, as specified by set_uv_direction().

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


RotatingLog

    from direct.directnotify.RotatingLog import RotatingLog
    A file() (or open()) replacement that will automatically open and write to a new file if the prior file is too large or after a time interval.

Inheritance:

    RotatingLog:

Methods of RotatingLog:

    __del__
    __init__
    close
    fileno
    filePath
    flush
    isatty
    next
    read
    readline
    readlines
    rotate
    seek
    shouldRotate
    tell
    truncate
    write
    writelines
    xreadlines
__del__
def __del__(self)

Undocumented function.

__init__
def __init__(self, path="./log_file", hourInterval=24, megabyteLimit=1024)

path is a full or partial path with file name. hourInterval is the number of hours at which to rotate the file. megabyteLimit is the number of megabytes of file size the log may grow to, after which the log is rotated. Note: The log file may get a bit larger than limit do to writing out whole lines (last line may exceed megabyteLimit or "megabyteGuidline").

close
def close(self)

Undocumented function.

fileno
def fileno(self)

Undocumented function.

filePath
def filePath(self)

Undocumented function.

flush
def flush(self)

Undocumented function.

isatty
def isatty(self)

Undocumented function.

next
def next(self)

Undocumented function.

read
def read(self, size)

Undocumented function.

readline
def readline(self, size)

Undocumented function.

readlines
def readlines(self, sizehint)

Undocumented function.

rotate
def rotate(self)

Rotate the log now. You normally shouldn't need to call this. See write().

seek
def seek(self, offset, whence=0)

Undocumented function.

shouldRotate
def shouldRotate(self)

Returns a bool about whether a new log file should be created and written to (while at the same time stopping output to the old log file and closing it).

tell
def tell(self)

Undocumented function.

truncate
def truncate(self, size)

Undocumented function.

write
def write(self, data)

Write the data to either the current log or a new one, depending on the return of shouldRotate() and whether the new file can be opened.

writelines
def writelines(self, sequence)

Undocumented function.

xreadlines
def xreadlines(self)

Undocumented function.


RotationTest

    from direct.physics.RotationTest import RotationTest

Inheritance:

    RotationTest:

Methods of RotationTest:

    __init__
    setup
__init__
def __init__(self)

Undocumented function.

setup
def setup(self)

Undocumented function.


SampleObject

    from direct.distributed.SampleObject import SampleObject

Inheritance:

    SampleObject:

Methods of SampleObject:

    __init__
    getColor
    setColor
__init__
def __init__(self, cr)

Undocumented function.

getColor
def getColor(self)

Undocumented function.

setColor
def setColor(self, red=0, green=0, blue=0)

Undocumented function.


SavedContext

    from pandac.PandaModules import SavedContext
    Class : SavedContext
    Description : This is the base class for all GSG-specific context objects, such as TextureContext and GeomContext. It exists mainly to provide some structural organization. At the moment, there are no methods common to all of these objects, but there might be one day.

Inheritance:

    SavedContext: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of SavedContext:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
getClassType
static TypeHandle SavedContext::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


ScaleInterval

    from direct.interval.FunctionInterval import ScaleInterval

Inheritance:

    ScaleInterval:

Methods of ScaleInterval:

    __init__
__init__
def __init__(self, nodePath, scale, duration=0.0, name=None, other=None)

__init__(nodePath, scale, duration, name)


ScaleLerpFunctor

    from pandac.PandaModules import ScaleLerpFunctor
    Class : ScaleLerpFunctor
    Description : Class for Lerping between scales

Inheritance:

    ScaleLerpFunctor: SimpleLerpFunctor< LVecBase3f >
    SimpleLerpFunctor< LVecBase3f >: LerpFunctor
    LerpFunctor: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ScaleLerpFunctor:

    ScaleLerpFunctor (Constructor)
    getClassType

Methods of SimpleLerpFunctor< LVecBase3f >:

    getClassType
    getEnd
    getStart
    interpolate

Methods of LerpFunctor:

    getClassType

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
ScaleLerpFunctor
ScaleLerpFunctor::ScaleLerpFunctor(NodePath np, LVecBase3f start, LVecBase3f end);

Undocumented function.

getClassType
static TypeHandle ScaleLerpFunctor::get_class_type(void);

now for typehandle stuff

getClassType
static TypeHandle ::SimpleLerpFunctor< LVecBase3f >::get_class_type(void);

Undocumented function.

getEnd
LVecBase3f const &::SimpleLerpFunctor< LVecBase3f >::get_end(void) const;

Undocumented function.

getStart
LVecBase3f const &::SimpleLerpFunctor< LVecBase3f >::get_start(void) const;

Undocumented function.

interpolate
LVecBase3f ::SimpleLerpFunctor< LVecBase3f >::interpolate(float );

Undocumented function.

getClassType
static TypeHandle LerpFunctor::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


SceneGraphAnalyzer

    from pandac.PandaModules import SceneGraphAnalyzer
    Class : SceneGraphAnalyzer
    Description : A handy class that can scrub over a scene graph and collect interesting statistics on it.

Inheritance:

    SceneGraphAnalyzer:

Methods of SceneGraphAnalyzer:

    SceneGraphAnalyzer (Constructor)
    addNode
    clear
    getLodMode
    getNumColors
    getNumGeomNodes
    getNumGeoms
    getNumGeomVertexDatas
    getNumGeomVertexFormats
    getNumIndividualTris
    getNumInstances
    getNumLines
    getNumLodNodes
    getNumLongNormals
    getNumNodes
    getNumNodesWithAttribs
    getNumNormals
    getNumPoints
    getNumShortNormals
    getNumTexcoords
    getNumTransforms
    getNumTrianglesInFans
    getNumTrianglesInStrips
    getNumTrifans
    getNumTris
    getNumTristrips
    getNumVertices
    getTextureBytes
    getTotalNormalLength
    getVertexDataSize
    setLodMode
    write

Constants in SceneGraphAnalyzer:

    LMLowest | (LodMode)
LMHighest | (LodMode)
LMAll | (LodMode)
LMNone | (LodMode)
SceneGraphAnalyzer
SceneGraphAnalyzer::SceneGraphAnalyzer(void);

Description:

addNode
void SceneGraphAnalyzer::add_node(PandaNode *node);

Description: Adds a new node to the set of data for analysis. Normally, this would only be called once, and passed the top of the scene graph, but it's possible to repeatedly pass in subgraphs to get an analysis of all the graphs together.

clear
void SceneGraphAnalyzer::clear(void);

Description: Resets all of the data in the analyzer in preparation for a new run.

getLodMode
SceneGraphAnalyzer::LodMode SceneGraphAnalyzer::get_lod_mode(SceneGraphAnalyzer::LodMode lod_mode) const;

Description: Returns the mode in which LODNodes are analyzed.

getNumColors
int SceneGraphAnalyzer::get_num_colors(void) const;

Description:

getNumGeomNodes
int SceneGraphAnalyzer::get_num_geom_nodes(void) const;

Description:

getNumGeoms
int SceneGraphAnalyzer::get_num_geoms(void) const;

Description:

getNumGeomVertexDatas
int SceneGraphAnalyzer::get_num_geom_vertex_datas(void) const;

Description:

getNumGeomVertexFormats
int SceneGraphAnalyzer::get_num_geom_vertex_formats(void) const;

Description:

getNumIndividualTris
int SceneGraphAnalyzer::get_num_individual_tris(void) const;

Description:

getNumInstances
int SceneGraphAnalyzer::get_num_instances(void) const;

Description:

getNumLines
int SceneGraphAnalyzer::get_num_lines(void) const;

Description:

getNumLodNodes
int SceneGraphAnalyzer::get_num_lod_nodes(void) const;

Description:

getNumLongNormals
int SceneGraphAnalyzer::get_num_long_normals(void) const;

Description:

getNumNodes
int SceneGraphAnalyzer::get_num_nodes(void) const;

Description:

getNumNodesWithAttribs
int SceneGraphAnalyzer::get_num_nodes_with_attribs(void) const;

Description:

getNumNormals
int SceneGraphAnalyzer::get_num_normals(void) const;

Description:

getNumPoints
int SceneGraphAnalyzer::get_num_points(void) const;

Description:

getNumShortNormals
int SceneGraphAnalyzer::get_num_short_normals(void) const;

Description:

getNumTexcoords
int SceneGraphAnalyzer::get_num_texcoords(void) const;

Description:

getNumTransforms
int SceneGraphAnalyzer::get_num_transforms(void) const;

Description:

getNumTrianglesInFans
int SceneGraphAnalyzer::get_num_triangles_in_fans(void) const;

Description:

getNumTrianglesInStrips
int SceneGraphAnalyzer::get_num_triangles_in_strips(void) const;

Description:

getNumTrifans
int SceneGraphAnalyzer::get_num_trifans(void) const;

Description:

getNumTris
int SceneGraphAnalyzer::get_num_tris(void) const;

Description:

getNumTristrips
int SceneGraphAnalyzer::get_num_tristrips(void) const;

Description:

getNumVertices
int SceneGraphAnalyzer::get_num_vertices(void) const;

Description:

getTextureBytes
int SceneGraphAnalyzer::get_texture_bytes(void) const;

Description:

getTotalNormalLength
float SceneGraphAnalyzer::get_total_normal_length(void) const;

Description:

getVertexDataSize
int SceneGraphAnalyzer::get_vertex_data_size(void) const;

Description:

setLodMode
void SceneGraphAnalyzer::set_lod_mode(SceneGraphAnalyzer::LodMode lod_mode);

Description: Specifies the mode in which LODNodes are analyzed.

write
void SceneGraphAnalyzer::write(ostream &out, int indent_level = (0)) const;

Description: Describes all the data collected.


SceneGraphExplorer

    from direct.tkwidgets.SceneGraphExplorer import SceneGraphExplorer
    Graphical display of a scene graph

Inheritance:

    SceneGraphExplorer:

Methods of SceneGraphExplorer:

    __init__
    mouse2Down
    mouse2Motion
    onDestroy
    setChildrenTag
    setFSortChildren
    update
    updateSelection
__init__
def __init__(self, parent=None, nodePath=render, isItemEditable=True, **kw)

Undocumented function.

mouse2Down
def mouse2Down(self, event)

Undocumented function.

mouse2Motion
def mouse2Motion(self, event)

Undocumented function.

onDestroy
def onDestroy(self, event)

Undocumented function.

setChildrenTag
def setChildrenTag(self, tag, fModeChildrenTag)

Undocumented function.

setFSortChildren
def setFSortChildren(self, fSortChildren)

Undocumented function.

update
def update(self, fUseCachedChildren=1)

Refresh scene graph explorer

updateSelection
def updateSelection(self, searchKey)

Undocumented function.


SceneGraphExplorerItem

    from direct.tkwidgets.SceneGraphExplorer import SceneGraphExplorerItem
    Example TreeItem subclass -- browse the file system.

Inheritance:

    SceneGraphExplorerItem:

Methods of SceneGraphExplorerItem:

    __init__
    GetIconName
    GetKey
    GetSubList
    GetText
    IsEditable
    IsExpandable
    MenuCommand
    OnSelect
    SetText
__init__
def __init__(self, nodePath, isItemEditable=True)

Undocumented function.

GetIconName
def GetIconName(self)

Undocumented function.

GetKey
def GetKey(self)

Undocumented function.

GetSubList
def GetSubList(self)

Undocumented function.

GetText
def GetText(self)

Undocumented function.

IsEditable
def IsEditable(self)

Undocumented function.

IsExpandable
def IsExpandable(self)

Undocumented function.

MenuCommand
def MenuCommand(self, command)

Undocumented function.

OnSelect
def OnSelect(self)

Undocumented function.

SetText
def SetText(self, text)

Undocumented function.


SceneGraphLeakDetector

    from direct.showbase.LeakDetectors import SceneGraphLeakDetector

Inheritance:

    SceneGraphLeakDetector:

Methods of SceneGraphLeakDetector:

    __init__
    __len__
    __repr__
    _leakNode
    destroy
__init__
def __init__(self, render)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

_leakNode
def _leakNode(self, task=None)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


SceneGraphReducer

    from pandac.PandaModules import SceneGraphReducer
    Class : SceneGraphReducer
    Description : An interface for simplifying ("flattening") scene graphs by eliminating unneeded nodes and collapsing out unneeded state changes and transforms.
    This class is designed so that it may be inherited from and specialized, if needed, to fine-tune the flattening behavior, but normally the default behavior is sufficient.

Inheritance:

    SceneGraphReducer:

Methods of SceneGraphReducer:

    SceneGraphReducer (Constructor)
    applyAttribs
    clearGsg
    collectVertexData
    decompose
    flatten
    getCombineRadius
    getGsg
    makeCompatibleFormat
    makeCompatibleState
    makeNonindexed
    premunge
    removeColumn
    setCombineRadius
    setGsg
    unify

Constants in SceneGraphReducer:

    TTTransform | (AttribTypes)
TTColor | (AttribTypes)
TTColorScale | (AttribTypes)
TTTexMatrix | (AttribTypes)
TTClipPlane | (AttribTypes)
TTCullFace | (AttribTypes)
TTOther | (AttribTypes)
CSGeomNode | (CombineSiblings)
CSWithinRadius | (CombineSiblings)
CSOther | (CombineSiblings)
CSRecurse | (CombineSiblings)
CVDName | (CollectVertexData)
CVDModel | (CollectVertexData)
CVDTransform | (CollectVertexData)
CVDAvoidDynamic | (CollectVertexData)
CVDOneNodeOnly | (CollectVertexData)
CVDFormat | (CollectVertexData)
CVDUsageHint | (CollectVertexData)
CVDAnimationType | (CollectVertexData)
MNCompositeOnly | (MakeNonindexed)
MNAvoidAnimated | (MakeNonindexed)
MNAvoidDynamic | (MakeNonindexed)
SceneGraphReducer
SceneGraphReducer::SceneGraphReducer(GraphicsStateGuardianBase *gsg = ((void *)(0)));

Description:

applyAttribs
void SceneGraphReducer::apply_attribs(PandaNode *node, int attrib_types = ((~ (TT_clip_plane | TT_cull_face))));

Description: Walks the scene graph, accumulating attribs of the indicated types, applying them to the vertices, and removing them from the scene graph. This has a performance optimization benefit in itself, but is especially useful to pave the way for a call to flatten() and greatly improve the effectiveness of the flattening operation.
Multiply instanced geometry is duplicated before the attribs are applied.
Of course, this operation does make certain dynamic operations impossible.
Description: This flavor of apply_attribs() can be called recursively from within another flatten process (e.g. from PandaNode::apply_attribs_to_vertices()). The parameters were presumably received from a parent SceneGraphReducer object.

clearGsg
void SceneGraphReducer::clear_gsg(void);

Description: Specifies that no particular GraphicsStateGuardian will be used to guide the optimization. The SceneGraphReducer will instead use config variables such as max-collect-vertices and max-collect-indices.

collectVertexData
int SceneGraphReducer::collect_vertex_data(PandaNode *root, int collect_bits = ((~ 0)));

Description: Collects all different GeomVertexData blocks that have compatible formats at this node and below into a single, unified block (or at least multiple larger blocks). This is intended to reduce rendering overhead incurred by switching vertex buffers. It can also make a subsequent call to unify() much more effective than it would have been otherwise.
The set of bits passed in collect_bits indicates which properties are used to differentiate GeomVertexData blocks. If it is 0, then more blocks will be combined together than if it is nonzero.

decompose
void SceneGraphReducer::decompose(PandaNode *root);

Description: Calls decompose() on every GeomNode at this level and below.
There is usually no reason to call this explicitly, since unify() will do this anyway if it needs to be done. However, calling it ahead of time can make that future call to unify() run a little bit faster.
This operation has no effect if the config variable preserve-triangle-strips has been set true.

flatten
int SceneGraphReducer::flatten(PandaNode *root, int combine_siblings_bits);

Description: Simplifies the graph by removing unnecessary nodes and nodes.
In general, a node (and its parent node) is a candidate for removal if the node has no siblings and the node has no special properties.
If combine_siblings_bits is nonzero, some sibling nodes (according to the bits set in combine_siblings_bits) may also be collapsed into a single node. This will further reduce scene graph complexity, sometimes substantially, at the cost of reduced spatial separation.
Returns the number of nodes removed from the graph.

getCombineRadius
float SceneGraphReducer::get_combine_radius(void) const;

Description: Returns the radius that is used in conjunction with CS_within_radius. See set_combine_radius().

getGsg
GraphicsStateGuardianBase *SceneGraphReducer::get_gsg(void) const;

Description: Returns the particular GraphicsStateGuardian that this object will attempt to optimize to. See set_gsg().

makeCompatibleFormat
int SceneGraphReducer::make_compatible_format(PandaNode *root, int collect_bits = ((~ 0)));

Description: Walks through the tree at this node and below and unifies the GeomVertexFormat for any GeomVertexData objects that are found, so that all eligible vdatas (according to collect_bits; see collect_vertex_data) will share the same vertex format.
This will add unused columns where necessary to match formats. It can result in suboptimal performance if used needlessly.
There is usually no reason to call this explicitly, since collect_vertex_data() will do this anyway if it has not been done already. However, calling it ahead of time can make that future call to collect_vertex_data() run a little bit faster.
The return value is the number of vertex datas modified.

makeCompatibleState
int SceneGraphReducer::make_compatible_state(PandaNode *root);

Description: Searches for GeomNodes that contain multiple Geoms that differ only in their ColorAttribs. If such a GeomNode is found, then all the colors are pushed down into the vertices. This makes it feasible for the geoms to be unified later.

makeNonindexed
int SceneGraphReducer::make_nonindexed(PandaNode *root, int nonindexed_bits = ((~ 0)));

Description: Converts indexed geometry to nonindexed geometry at the indicated node and below, by duplicating vertices where necessary. The parameter nonindexed_bits is a union of bits defined in SceneGraphReducer::MakeNonindexed, which specifes which types of geometry to avoid making nonindexed.

premunge
void SceneGraphReducer::premunge(PandaNode *root, RenderState const *initial_state);

Description: Walks the scene graph rooted at this node and below, and uses the indicated GSG to premunge every Geom found to optimize it for eventual rendering on the indicated GSG. If there is no GSG indicated for the SceneGraphReducer, this is a no-op.
This operation will also apply to stashed children.

removeColumn
int SceneGraphReducer::remove_column(PandaNode *root, InternalName const *column);

Description: Removes the indicated data column from any GeomVertexDatas found at the indicated root and below. Returns the number of GeomNodes modified.

setCombineRadius
void SceneGraphReducer::set_combine_radius(float combine_radius);

Description: Specifies the radius that is used in conjunction with CS_within_radius to decide whether a subgraph's siblings should be combined into a single node or not.
If the CS_within_radius bit is included in the combine_siblings_bits parameter passed to flatten, than any nodes whose bounding volume is smaller than the indicated radius will be combined together (as if CS_other were set).

setGsg
void SceneGraphReducer::set_gsg(GraphicsStateGuardianBase *gsg);

Description: Specifies the particular GraphicsStateGuardian that this object will attempt to optimize to. The GSG may specify parameters such as maximum number of vertices per vertex data, max number of vertices per primitive, and whether triangle strips are preferred. It also affects the types of vertex column data that is created by premunge().

unify
void SceneGraphReducer::unify(PandaNode *root, bool preserve_order);

Description: Calls unify() on every GeomNode at this level and below. This attempts to reduce the total number of individual Geoms and GeomPrimitives by combining these objects wherever possible. See GeomNode::unify().


ScissorAttrib

    from pandac.PandaModules import ScissorAttrib
    Class : ScissorAttrib
    Description : This restricts rendering to within a rectangular region of the scene, without otherwise affecting the viewport or lens properties. Geometry that falls outside the scissor region is not rendered. It is akin to the OpenGL glScissor() function.
    The ScissorAttrib always specifies its region relative to its enclosing DisplayRegion, in screen space, and performs no culling.
    See ScissorEffect if you wish to define a region relative to 2-D or 3-D coordinates in the scene graph, with culling.

Inheritance:

    ScissorAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ScissorAttrib:

    getClassType
    getFrame
    make
    makeOff

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle ScissorAttrib::get_class_type(void);

Undocumented function.

getFrame
LVecBase4f const &ScissorAttrib::get_frame(void) const;

Description: Returns the left, right, bottom, top coordinates of the scissor frame. This defines a frame within the current DisplayRegion, where 0,0 is the lower-left corner of the DisplayRegion, and 1,1 is the upper-right corner.

make
static ConstPointerTo< RenderAttrib > ScissorAttrib::make(float left, float right, float bottom, float top);

Description: Constructs a ScissorAttrib that restricts rendering to the indicated frame within the current DisplayRegion. (0,0) is the lower-left corner of the DisplayRegion, and (1,1) is the upper-right corner.

makeOff
static ConstPointerTo< RenderAttrib > ScissorAttrib::make_off(void);

Description: Constructs a new ScissorAttrib object that removes the scissor region and fills the DisplayRegion.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ScissorEffect

    from pandac.PandaModules import ScissorEffect
    Class : ScissorEffect
    Description : This provides a higher-level wrapper around ScissorAttrib. It allows for the scissor region to be defined via points relative to the current node, and also performs culling based on the scissor region.

Inheritance:

    ScissorEffect: RenderEffect
    RenderEffect: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ScissorEffect:

    addPoint
    getClassType
    getClip
    getFrame
    getNode
    getNumPoints
    getPoint
    isScreen
    makeNode
    makeScreen

Methods of RenderEffect:

    compareTo
    getClassType
    getNumEffects
    listEffects
    output
    validateEffects
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
addPoint
ConstPointerTo< RenderEffect > ScissorEffect::add_point(LPoint3f const &point, NodePath const &node = ((()))) const;

Description: Returns a new ScissorEffect with the indicated point added. It is only valid to call this on a "node" type ScissorEffect. The full set of points, projected into screen space, defines the bounding volume of the rectangular scissor region.
Each point may be relative to a different node, if desired.

getClassType
static TypeHandle ScissorEffect::get_class_type(void);

Undocumented function.

getClip
bool ScissorEffect::get_clip(void) const;

Description: Returns true if this ScissorEffect actually enables scissoring, or false if it culls only.

getFrame
LVecBase4f const &ScissorEffect::get_frame(void) const;

Description: If is_screen() returns true, this method may be called to query the screen-based scissor frame. This is a series of left, right, bottom, top, representing the scissor frame relative to the current DisplayRegion. See ScissorAttrib.

getNode
NodePath ScissorEffect::get_node(int n) const;

Description: Returns the node to which the nth point is relative, or empty NodePath to indicate the current node.

getNumPoints
int ScissorEffect::get_num_points(void) const;

Description: Returns the number of node-based scissor points. See get_point().

getPoint
LPoint3f const &ScissorEffect::get_point(int n) const;

Description: If is_screen() returns false, then get_num_points() and get_point() may be called to query the node-based scissor frame. These return n points (at least two), which are understood to be in the space of this node, and which define any opposite corners of the scissor frame.

isScreen
bool ScissorEffect::is_screen(void) const;

Description: Returns true if the ScissorEffect is a screen-based effect, meaning get_frame() has a meaningful value, but get_a() and get_b() do not.

makeNode
static ConstPointerTo< RenderEffect > ScissorEffect::make_node(bool clip = (1));

Description: Constructs a new node-relative ScissorEffect, with no points. This empty ScissorEffect does nothing. You must then call add_point a number of times to add the points you require.
Description: Constructs a new node-relative ScissorEffect. The two points are understood to be relative to the indicated node, or the current node if the NodePath is empty, and determine the diagonally opposite corners of the scissor region.
Description: Constructs a new node-relative ScissorEffect. The four points are understood to be relative to the indicated node, or the current node if the indicated NodePath is empty, and determine four points surrounding the scissor region.

makeScreen
static ConstPointerTo< RenderEffect > ScissorEffect::make_screen(LVecBase4f const &frame, bool clip = (1));

Description: Constructs a new screen-relative ScissorEffect. The frame defines a left, right, bottom, top region, relative to the DisplayRegion. See ScissorAttrib.

compareTo
int RenderEffect::compare_to(RenderEffect const &other) const;

Description: Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderEffect class because all equivalent RenderEffect objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderEffect::get_class_type(void);

Undocumented function.

getNumEffects
static int RenderEffect::get_num_effects(void);

Description: Returns the total number of unique RenderEffect objects allocated in the world. This will go up and down during normal operations.

listEffects
static void RenderEffect::list_effects(ostream &out);

Description: Lists all of the RenderEffects in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderEffect::output(ostream &out) const;

Description:

validateEffects
static bool RenderEffect::validate_effects(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderEffect objects).

write
virtual void RenderEffect::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ScratchPad

    from direct.showbase.PythonUtil import ScratchPad
    empty class to stick values onto

Inheritance:

    ScratchPad:

Methods of ScratchPad:

    __init__
    add
    destroy
__init__
def __init__(self, **kArgs)

Undocumented function.

add
def add(self, **kArgs)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


scriptresource

    from direct.pyinst.resource import scriptresource
    A top-level python resource.
    Has (lazily computed) attributes, modules and binaries, which together are the scripts dependencies()

Inheritance:

    scriptresource:

Methods of scriptresource:

    __getattr__
    __init__
    asFilter
    asSource
    dependencies
__getattr__
def __getattr__(self, name)

Undocumented function.

__init__
def __init__(self, name, fullname)

Undocumented function.

asFilter
def asFilter(self)

Return a ModFilter based on self.

asSource
def asSource(self)

Return self as a dataresource (ie, a text file wrapper).

dependencies
def dependencies(self)

Return all dependencies (Python and binary) of self.


SelectedNodePaths

    from direct.directtools.DirectSelection import SelectedNodePaths

Inheritance:

    SelectedNodePaths:

Methods of SelectedNodePaths:

    __getitem__
    __init__
    addTag
    dehighlightAll
    deselect
    deselectAll
    forEachDeselectedNodePathDo
    forEachSelectedNodePathDo
    getDeselectedAsList
    getDeselectedDict
    getDirectNodePath
    getNumSelected
    getSelectedAsList
    getSelectedDict
    getWrt
    getWrtAll
    highlightAll
    isolateSelected
    moveWrtWidget
    moveWrtWidgetAll
    removeAll
    removeSelected
    removeTag
    reset
    select
    toggleVisAll
    toggleVisSelected
__getitem__
def __getitem__(self, index)

Undocumented function.

__init__
def __init__(self)

Undocumented function.

addTag
def addTag(self, tag)

Undocumented function.

dehighlightAll
def dehighlightAll(self)

Undocumented function.

deselect
def deselect(self, nodePath)

Deselect the specified node path

deselectAll
def deselectAll(self)

Undocumented function.

forEachDeselectedNodePathDo
def forEachDeselectedNodePathDo(self, func)

Perform given func on deselected node paths. No node path connectivity verification performed

forEachSelectedNodePathDo
def forEachSelectedNodePathDo(self, func)

Perform given func on selected node paths. No node path connectivity verification performed

getDeselectedAsList
def getDeselectedAsList(self)

Undocumented function.

getDeselectedDict
def getDeselectedDict(self, id)

Search deselectedDict for node path, try to repair broken node paths.

getDirectNodePath
def getDirectNodePath(self, nodePath)

Undocumented function.

getNumSelected
def getNumSelected(self)

Undocumented function.

getSelectedAsList
def getSelectedAsList(self)

Return a list of all selected node paths. No verification of connectivity is performed on the members of the list

getSelectedDict
def getSelectedDict(self, id)

Search selectedDict for node path, try to repair broken node paths.

getWrt
def getWrt(self, nodePath)

Undocumented function.

getWrtAll
def getWrtAll(self)

Undocumented function.

highlightAll
def highlightAll(self)

Undocumented function.

isolateSelected
def isolateSelected(self)

Undocumented function.

moveWrtWidget
def moveWrtWidget(self, nodePath)

Undocumented function.

moveWrtWidgetAll
def moveWrtWidgetAll(self)

Undocumented function.

removeAll
def removeAll(self)

Undocumented function.

removeSelected
def removeSelected(self)

Undocumented function.

removeTag
def removeTag(self, tag)

Undocumented function.

reset
def reset(self)

Undocumented function.

select
def select(self, nodePath, fMultiSelect=0, fSelectTag=1)

Select the specified node path. Multiselect as required

toggleVisAll
def toggleVisAll(self)

Undocumented function.

toggleVisSelected
def toggleVisSelected(self)

Undocumented function.


SelectionQueue

    from direct.directtools.DirectSelection import SelectionQueue

Inheritance:

    SelectionQueue:

Methods of SelectionQueue:

    __init__
    addCollider
    addUnpickable
    collideWithBitMask
    collideWithGeom
    collideWithWidget
    findCollisionEntry
    findNextCollisionEntry
    getCurrentEntry
    isEntryBackfacing
    removeUnpickable
    setCurrentEntry
    setCurrentIndex
    setParentNP
__init__
def __init__(self, parentNP=render)

Undocumented function.

addCollider
def addCollider(self, collider)

Undocumented function.

addUnpickable
def addUnpickable(self, item)

Undocumented function.

collideWithBitMask
def collideWithBitMask(self, bitMask)

Undocumented function.

collideWithGeom
def collideWithGeom(self)

Undocumented function.

collideWithWidget
def collideWithWidget(self)

Undocumented function.

findCollisionEntry
def findCollisionEntry(self, skipFlags=SKIP_NONE, startIndex=0)

Undocumented function.

findNextCollisionEntry
def findNextCollisionEntry(self, skipFlags=SKIP_NONE)

Undocumented function.

getCurrentEntry
def getCurrentEntry(self)

Undocumented function.

isEntryBackfacing
def isEntryBackfacing(self, entry)

Undocumented function.

removeUnpickable
def removeUnpickable(self, item)

Undocumented function.

setCurrentEntry
def setCurrentEntry(self, entry)

Undocumented function.

setCurrentIndex
def setCurrentIndex(self, index)

Undocumented function.

setParentNP
def setParentNP(self, parentNP)

Undocumented function.


SelectionRay

    from direct.directtools.DirectSelection import SelectionRay

Inheritance:

    SelectionRay:

Methods of SelectionRay:

    __init__
    pick
    pick3D
    pickBitMask
    pickBitMask3D
    pickGeom
    pickGeom3D
    pickWidget
__init__
def __init__(self, parentNP=render)

Undocumented function.

pick
def pick(self, targetNodePath, xy=None)

Undocumented function.

pick3D
def pick3D(self, targetNodePath, origin, dir)

Undocumented function.

pickBitMask
def pickBitMask(self, bitMask=BitMask32.allOff(), targetNodePath=render, skipFlags=SKIP_ALL)

Undocumented function.

pickBitMask3D
def pickBitMask3D(self, bitMask=BitMask32.allOff(), targetNodePath=render, origin=Point3(0), dir=Vec3(0, 0, -1), skipFlags=SKIP_ALL)

Undocumented function.

pickGeom
def pickGeom(self, targetNodePath=render, skipFlags=SKIP_ALL, xy=None)

Undocumented function.

pickGeom3D
def pickGeom3D(self, targetNodePath=render, origin=Point3(0), dir=Vec3(0, 0, -1), skipFlags=SKIP_HIDDEN|SKIP_CAMERA)

Undocumented function.

pickWidget
def pickWidget(self, targetNodePath=render, skipFlags=SKIP_NONE)

Undocumented function.


SelectionSegment

    from direct.directtools.DirectSelection import SelectionSegment

Inheritance:

    SelectionSegment:

Methods of SelectionSegment:

    __init__
    addCollider
    pickBitMask
    pickGeom
__init__
def __init__(self, parentNP=render, numSegments=1)

Undocumented function.

addCollider
def addCollider(self, collider)

Undocumented function.

pickBitMask
def pickBitMask(self, bitMask=BitMask32.allOff(), targetNodePath=render, endPointList=[], skipFlags=SKIP_HIDDEN|SKIP_CAMERA)

Undocumented function.

pickGeom
def pickGeom(self, targetNodePath=render, endPointList=[], skipFlags=SKIP_HIDDEN|SKIP_CAMERA)

Undocumented function.


SelectionSphere

    from direct.directtools.DirectSelection import SelectionSphere

Inheritance:

    SelectionSphere:

Methods of SelectionSphere:

    __init__
    addCollider
    isEntryBackfacing
    pick
    pickBitMask
    pickGeom
    setCenter
    setCenterRadius
    setRadius
__init__
def __init__(self, parentNP=render, numSpheres=1)

Undocumented function.

addCollider
def addCollider(self, collider)

Undocumented function.

isEntryBackfacing
def isEntryBackfacing(self, entry)

Undocumented function.

pick
def pick(self, targetNodePath, skipFlags)

Undocumented function.

pickBitMask
def pickBitMask(self, bitMask=BitMask32.allOff(), targetNodePath=render, skipFlags=SKIP_HIDDEN|SKIP_CAMERA)

Undocumented function.

pickGeom
def pickGeom(self, targetNodePath=render, skipFlags=SKIP_HIDDEN|SKIP_CAMERA)

Undocumented function.

setCenter
def setCenter(self, i, center)

Undocumented function.

setCenterRadius
def setCenterRadius(self, i, center, radius)

Undocumented function.

setRadius
def setRadius(self, i, radius)

Undocumented function.


SelectiveChildNode

    from pandac.PandaModules import SelectiveChildNode
    Class : SelectiveChildNode
    Description : A base class for nodes like LODNode and SequenceNode that select only one visible child at a time.

Inheritance:

    SelectiveChildNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of SelectiveChildNode:

    SelectiveChildNode (Constructor)
    getClassType

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
SelectiveChildNode
SelectiveChildNode::SelectiveChildNode(string const &name);

Description:

getClassType
static TypeHandle SelectiveChildNode::get_class_type(void);

Undocumented function.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Sequence

    from direct.interval.MetaInterval import Sequence

Inheritance:

    Sequence:

Methods of Sequence:

    applyIvals
applyIvals
def applyIvals(self, meta, relTime, relTo)

Undocumented function.


SequenceInspector

    from direct.tkpanels.Inspector import SequenceInspector

Inheritance:

    SequenceInspector:

Methods of SequenceInspector:

    initializePartsList
    partNumber
initializePartsList
def initializePartsList(self)

Undocumented function.

partNumber
def partNumber(self, partNumber)

Undocumented function.


SequenceNode

    from pandac.PandaModules import SequenceNode
    Class : SequenceNode
    Description : A node that automatically cycles through rendering each one of its children according to its frame rate.

Inheritance:

    SequenceNode: SelectiveChildNode AnimInterface
    SelectiveChildNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase
    AnimInterface:

Methods of SequenceNode:

    SequenceNode (Constructor)
    getClassType
    getNumFrames
    setFrameRate

Methods of SelectiveChildNode:

    SelectiveChildNode (Constructor)
    getClassType

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of AnimInterface:

    getClassType
    getFrac
    getFrame
    getFrameRate
    getFullFframe
    getFullFrame
    getNextFrame
    getNumFrames
    getPlayRate
    isPlaying
    loop
    output
    pingpong
    play
    pose
    setPlayRate
    stop

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
SequenceNode
SequenceNode::SequenceNode(string const &name);

Description:

getClassType
static TypeHandle SequenceNode::get_class_type(void);

Undocumented function.

getNumFrames
virtual int SequenceNode::get_num_frames(void) const;

Description: Returns the number of frames in the animation. This is a property of the animation and may not be directly adjusted by the user (although it may change without warning with certain kinds of animations, since this is a virtual method that may be overridden).

setFrameRate
void SequenceNode::set_frame_rate(double frame_rate);

Description: Changes the advertised frame rate of the SequenceNode. This can be used in conjunction with get_play_rate() to change the effective frame rate of the node.

SelectiveChildNode
SelectiveChildNode::SelectiveChildNode(string const &name);

Description:

getClassType
static TypeHandle SelectiveChildNode::get_class_type(void);

Undocumented function.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

getClassType
static TypeHandle AnimInterface::get_class_type(void);

Undocumented function.

getFrac
double AnimInterface::get_frac(void) const;

Description: Returns the fractional part of the current frame. Normally, this is in the range 0.0 <= f < 1.0, but in the one special case of an animation playing to its end frame and stopping, it might exactly equal 1.0.
It will always be true that get_full_frame() + get_frac() == get_full_fframe().

getFrame
int AnimInterface::get_frame(void) const;

Description: Returns the current integer frame number. This number will be in the range 0 <= f < get_num_frames().

getFrameRate
double AnimInterface::get_frame_rate(void) const;

Description: Returns the native frame rate of the animation. This is the number of frames per second that will elapse when the play_rate is set to 1.0. It is a fixed property of the animation and may not be adjusted by the user.

getFullFframe
double AnimInterface::get_full_fframe(void) const;

Description: Returns the current floating-point frame number.
Unlike the value returned by get_frame(), this frame number may extend beyond the range of get_num_frames() if the frame range passed to play(), loop(), etc. did.
Unlike the value returned by get_full_frame(), this return value may equal (to_frame + 1.0), when the animation has played to its natural end. However, in this case the return value of get_full_frame() will be to_frame, not (to_frame + 1).

getFullFrame
int AnimInterface::get_full_frame(void) const;

Description: Returns the current integer frame number.
Unlike the value returned by get_frame(), this frame number may extend beyond the range of get_num_frames() if the frame range passed to play(), loop(), etc. did.
Unlike the value returned by get_full_fframe(), this return value will never exceed the value passed to to_frame in the play() method.

getNextFrame
int AnimInterface::get_next_frame(void) const;

Description: Returns the current integer frame number + 1, constrained to the range 0 <= f < get_num_frames().
If the play mode is PM_play, this will clamp to the same value as get_frame() at the end of the animation. If the play mode is any other value, this will wrap around to frame 0 at the end of the animation.

getNumFrames
virtual int AnimInterface::get_num_frames(void) const;

Description: Returns the number of frames in the animation. This is a property of the animation and may not be directly adjusted by the user (although it may change without warning with certain kinds of animations, since this is a virtual method that may be overridden).

getPlayRate
double AnimInterface::get_play_rate(void) const;

Description: Returns the rate at which the animation plays. See set_play_rate().

isPlaying
bool AnimInterface::is_playing(void) const;

Description: Returns true if the animation is currently playing, false if it is stopped (e.g. because stop() or pose() was called, or because it reached the end of the animation after play() was called).

loop
void AnimInterface::loop(bool restart);

Description: Starts the entire animation looping. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.
Description: Loops the animation from the frame "from" to and including the frame "to", indefinitely. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.

output
virtual void AnimInterface::output(ostream &out) const;

Description:

pingpong
void AnimInterface::pingpong(bool restart);

Description: Starts the entire animation bouncing back and forth between its first frame and last frame. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.
Description: Loops the animation from the frame "from" to and including the frame "to", and then back in the opposite direction, indefinitely.

play
void AnimInterface::play(void);

Description: Runs the entire animation from beginning to end and stops.
Description: Runs the animation from the frame "from" to and including the frame "to", at which point the animation is stopped. Both "from" and "to" frame numbers may be outside the range (0, get_num_frames()) and the animation will follow the range correctly, reporting numbers modulo get_num_frames(). For instance, play(0, get_num_frames() * 2) will play the animation twice and then stop.

pose
void AnimInterface::pose(double frame);

Description: Sets the animation to the indicated frame and holds it there.

setPlayRate
void AnimInterface::set_play_rate(double play_rate);

Description: Changes the rate at which the animation plays. 1.0 is the normal speed, 2.0 is twice normal speed, and 0.5 is half normal speed. 0.0 is legal to pause the animation, and a negative value will play the animation backwards.

stop
void AnimInterface::stop(void);

Description: Stops a currently playing or looping animation right where it is. The animation remains posed at the current frame.


SerialNumGen

    from direct.showbase.PythonUtil import SerialNumGen
    generates serial numbers

Inheritance:

    SerialNumGen:

Methods of SerialNumGen:

    __init__
    next
__init__
def __init__(self, start=None)

Undocumented function.

next
def next(self)

Undocumented function.


ServerRepository

    from direct.distributed.ServerRepository import ServerRepository
    This maintains the server-side connection with a Panda server. It is only for use with the Panda LAN server provided by CMU.

Inheritance:

    ServerRepository:

Methods of ServerRepository:

    __init__
    clientHardDisconnectTask
    handleClientCreateObjectRequired
    handleClientDeleteObject
    handleClientDisable
    handleClientDisconnect
    handleClientUpdateField
    handleDatagram
    handleRemoveZone
    handleSetZone
    importModule
    listenerPoll
    readDCFile
    readerPollOnce
    readerPollUntilEmpty
    sendAvatarGenerate
    sendDOIDrange
    sendToAll
    sendToZoneExcept
__init__
def __init__(self, tcpPort, udpPort, dcFileNames=None)

Undocumented function.

clientHardDisconnectTask
def clientHardDisconnectTask(self, task)

Undocumented function.

handleClientCreateObjectRequired
def handleClientCreateObjectRequired(self, datagram, dgi)

Undocumented function.

handleClientDeleteObject
def handleClientDeleteObject(self, datagram, doid)

Undocumented function.

handleClientDisable
def handleClientDisable(self, datagram, doid)

Undocumented function.

handleClientDisconnect
def handleClientDisconnect(self, connection)

Undocumented function.

handleClientUpdateField
def handleClientUpdateField(self, datagram, dgi)

Undocumented function.

handleDatagram
def handleDatagram(self, datagram)

Undocumented function.

handleRemoveZone
def handleRemoveZone(self, dgi, connection)

Undocumented function.

handleSetZone
def handleSetZone(self, dgi, connection)

Undocumented function.

importModule
def importModule(self, dcImports, moduleName, importSymbols)

Imports the indicated moduleName and all of its symbols into the current namespace. This more-or-less reimplements the Python import command.

listenerPoll
def listenerPoll(self, task)

Undocumented function.

readDCFile
def readDCFile(self, dcFileNames=None)

Reads in the dc files listed in dcFileNames, or if dcFileNames is None, reads in all of the dc files listed in the Configrc file.

readerPollOnce
def readerPollOnce(self)

Undocumented function.

readerPollUntilEmpty
def readerPollUntilEmpty(self, task)

Undocumented function.

sendAvatarGenerate
def sendAvatarGenerate(self)

Undocumented function.

sendDOIDrange
def sendDOIDrange(self, connection)

Undocumented function.

sendToAll
def sendToAll(self, datagram)

Undocumented function.

sendToZoneExcept
def sendToZoneExcept(self, ZoneID, datagram, connection)

Undocumented function.


SfxPlayer

    from direct.showbase.SfxPlayer import SfxPlayer
    Play sound effects, potentially localized.

Inheritance:

    SfxPlayer:

Methods of SfxPlayer:

    __init__
    getCutoffDistance
    getLocalizedVolume
    playSfx
    setCutoffDistance
    setFinalVolume
__init__
def __init__(self)

Undocumented function.

getCutoffDistance
def getCutoffDistance(self)

Return the curent cutoff distance.

getLocalizedVolume
def getLocalizedVolume(self, node, listenerNode=None, cutoff=None)

Get the volume that a sound should be played at if it is localized at this node. We compute this wrt the camera or to listenerNode.

playSfx
def playSfx(self, sfx, looping=0, interrupt=1, volume=None, time=0.0, node=None, listenerNode=None, cutoff=None)

Undocumented function.

setCutoffDistance
def setCutoffDistance(self, d)

Undocumented function.

setFinalVolume
def setFinalVolume(self, sfx, node, volume, listenerNode, cutoff=None)

Calculate the final volume based on all contributed factors.


ShadeModelAttrib

    from pandac.PandaModules import ShadeModelAttrib
    Class : ShadeModelAttrib
    Description : Specifies whether flat shading (per-polygon) or smooth shading (per-vertex) is in effect.

Inheritance:

    ShadeModelAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ShadeModelAttrib:

    getClassType
    getMode
    make

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in ShadeModelAttrib:

    MFlat | (Mode)
MSmooth | (Mode)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle ShadeModelAttrib::get_class_type(void);

Undocumented function.

getMode
ShadeModelAttrib::Mode ShadeModelAttrib::get_mode(void) const;

Description: Returns the shade mode.

make
static ConstPointerTo< RenderAttrib > ShadeModelAttrib::make(ShadeModelAttrib::Mode mode);

Description: Constructs a new ShadeModelAttrib object that specifies whether to draw polygons with flat shading or with per-vertex (smooth) shading.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Shader

    from pandac.PandaModules import Shader
    Class : Shader
    Summary:

Inheritance:

    Shader: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of Shader:

    getClassType
    getErrorFlag
    getFilename
    getHeader
    getShaderUtilization
    getText
    haveShaderUtilization
    isPrepared
    load
    make
    prepare
    prepareNow
    release
    releaseAll
    setShaderUtilization

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle Shader::get_class_type(void);

Undocumented function.

getErrorFlag
bool Shader::get_error_flag(void) const;

Description: Returns true if the shader contains a compile-time error. This doesn't tell you whether or not the shader is supported on the current video card.

getFilename
Filename const &Shader::get_filename(void) const;

Filename: shader.I Heavily Modified: jyelon (Sep05)
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."
Description: Return the Shader's filename.

getHeader
string const &Shader::get_header(void) const;

Description: Return the Shader's header line.

getShaderUtilization
static ShaderUtilization Shader::get_shader_utilization(void);

Description: This flag returns SUT_none, SUT_basic, or SUT_advanced and controls the automatic generation of shaders. It is initialized from the config variable of the same name, but it can be subsequently adjusted.

getText
string const &Shader::get_text(void) const;

Description: Return the Shader's text.

haveShaderUtilization
static bool Shader::have_shader_utilization(void);

Description: If true, then get_shader_utilization has been set using set_shader_utilization. If false, then get_shader_utilization simply returns the config variable of the same name.

isPrepared
bool Shader::is_prepared(PreparedGraphicsObjects *prepared_objects) const;

Description: Returns true if the shader has already been prepared or enqueued for preparation on the indicated GSG, false otherwise.

load
static PointerTo< Shader > Shader::load(Filename const &file);

Description:

make
static PointerTo< Shader > Shader::make(string const &body);

Description:

prepare
void Shader::prepare(PreparedGraphicsObjects *prepared_objects);

Description: Indicates that the shader should be enqueued to be prepared in the indicated prepared_objects at the beginning of the next frame. This will ensure the texture is already loaded into texture memory if it is expected to be rendered soon.
Use this function instead of prepare_now() to preload textures from a user interface standpoint.

prepareNow
ShaderContext *Shader::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg);

Description: Creates a context for the texture on the particular GSG, if it does not already exist. Returns the new (or old) ShaderContext. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new textures. If this is not necessarily the case, you should use prepare() instead.
Normally, this is not called directly except by the GraphicsStateGuardian; a texture does not need to be explicitly prepared by the user before it may be rendered.

release
bool Shader::release(PreparedGraphicsObjects *prepared_objects);

Description: Frees the texture context only on the indicated object, if it exists there. Returns true if it was released, false if it had not been prepared.

releaseAll
int Shader::release_all(void);

Description: Frees the context allocated on all objects for which the texture has been declared. Returns the number of contexts which have been freed.

setShaderUtilization
static void Shader::set_shader_utilization(ShaderUtilization utl);

Description: Set this flag to SUT_none, SUT_basic, or SUT_advanced to limit panda's automatic shader generation facilities.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ShaderAttrib

    from pandac.PandaModules import ShaderAttrib
    Class : ShaderAttrib
    Description :

Inheritance:

    ShaderAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ShaderAttrib:

    autoShader
    clearFlag
    clearShader
    clearShaderInput
    getClassType
    getFlag
    getShader
    getShaderInput
    getShaderInputNodepath
    getShaderInputTexture
    getShaderInputVector
    getShaderPriority
    hasShader
    make
    makeOff
    registerWithReadFactory
    setFlag
    setShader
    setShaderAuto
    setShaderInput
    setShaderOff

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
autoShader
bool ShaderAttrib::auto_shader(void) const;

Description: If true, then this ShaderAttrib does not contain an explicit shader - instead, it requests the automatic generation of a shader.

clearFlag
ConstPointerTo< RenderAttrib > ShaderAttrib::clear_flag(int flag) const;

Description:

clearShader
ConstPointerTo< RenderAttrib > ShaderAttrib::clear_shader(void) const;

Description:

clearShaderInput
ConstPointerTo< RenderAttrib > ShaderAttrib::clear_shader_input(InternalName *id) const;

Description:

getClassType
static TypeHandle ShaderAttrib::get_class_type(void);

Undocumented function.

getFlag
bool ShaderAttrib::get_flag(int flag) const;

Description:

getShader
Shader const *ShaderAttrib::get_shader(void) const;

Description: Returns the shader object associated with the node. If get_override returns true, but get_shader returns NULL, that means that this attribute should disable the shader.

getShaderInput
ShaderInput const *ShaderAttrib::get_shader_input(InternalName *id) const;

Description: Returns the ShaderInput of the given name. If no such name is found, this function does not return NULL --- it returns the "blank" ShaderInput.

getShaderInputNodepath
NodePath const &ShaderAttrib::get_shader_input_nodepath(InternalName *id) const;

Description: Returns the ShaderInput as a nodepath. Assertion fails if there is none, or if it is not a nodepath.

getShaderInputTexture
Texture *ShaderAttrib::get_shader_input_texture(InternalName *id) const;

Description: Returns the ShaderInput as a texture. Assertion fails if there is none, or if it is not a texture.

getShaderInputVector
LVector4f const &ShaderAttrib::get_shader_input_vector(InternalName *id) const;

Description: Returns the ShaderInput as a vector. Assertion fails if there is none, or if it is not a vector.

getShaderPriority
int ShaderAttrib::get_shader_priority(void) const;

Description:

hasShader
bool ShaderAttrib::has_shader(void) const;

Description: If true, the shader field of this attribute overrides the shader field of the parent attribute.

make
static ConstPointerTo< RenderAttrib > ShaderAttrib::make(void);

Description: Constructs a new ShaderAttrib object with nothing set.

makeOff
static ConstPointerTo< RenderAttrib > ShaderAttrib::make_off(void);

Description: Constructs a new ShaderAttrib object that disables the use of shaders (it does not clear out all shader data, however.)

registerWithReadFactory
static void ShaderAttrib::register_with_read_factory(void);

Description: Factory method to generate a Shader object

setFlag
ConstPointerTo< RenderAttrib > ShaderAttrib::set_flag(int flag, bool value) const;

Description:

setShader
ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader(Shader const *s, int priority = (0)) const;

Description:

setShaderAuto
ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_auto(int priority = (0)) const;

Description:

setShaderInput
ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_input(ShaderInput const *inp) const;

Description:

setShaderOff
ConstPointerTo< RenderAttrib > ShaderAttrib::set_shader_off(int priority = (0)) const;

Description:

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ShaderContext

    from pandac.PandaModules import ShaderContext
    Class : ShaderContext
    Description : The ShaderContext is meant to contain the compiled version of a shader string. ShaderContext is an abstract base class, there will be a subclass of it for each shader language and graphics API. Since the languages are so different and the graphics APIs have so little in common, the base class contains almost nothing. All the implementation details are in the subclasses.

Inheritance:

    ShaderContext: SavedContext
    SavedContext: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of ShaderContext:

    getClassType
    getShader

Methods of SavedContext:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
getClassType
static TypeHandle ShaderContext::get_class_type(void);

Undocumented function.

getShader
Shader *ShaderContext::get_shader(void) const;

Description:

getClassType
static TypeHandle SavedContext::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


ShaderGenerator

    from pandac.PandaModules import ShaderGenerator
    Class : ShaderGenerator
    Description : The ShaderGenerator is a device that effectively replaces the classic fixed function pipeline with a 'next-gen' fixed function pipeline. The next-gen fixed function pipeline supports features like normal mapping, gloss mapping, cartoon lighting, and so forth. It works by automatically generating a shader from a given RenderState.
    Currently, there is a single default ShaderGenerator object. It is our intent that in time, people will write classes that derive from ShaderGenerator but which yield slightly different results.
    The ShaderGenerator owes its existence to the 'Bamboo Team' at Carnegie Mellon's Entertainment Technology Center. This is a group of students who, as a semester project, decided that next-gen graphics should be accessible to everyone, even if they don't know shader programming. The group consisted of:
    Aaron Lo, Programmer Heegun Lee, Programmer Erin Fernandez, Artist/Tester Joe Grubb, Artist/Tester Ivan Ortega, Technical Artist/Tester
    Thanks to them!

Inheritance:

    ShaderGenerator: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ShaderGenerator:

    ShaderGenerator (Constructor)
    getClassType
    getDefault
    setDefault
    synthesizeShader

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
ShaderGenerator
ShaderGenerator::ShaderGenerator(void);

Description: Create a ShaderGenerator. This has no state, except possibly to cache certain results.

getClassType
static TypeHandle ShaderGenerator::get_class_type(void);

Undocumented function.

getDefault
static ShaderGenerator *ShaderGenerator::get_default(void);

Description: Get a pointer to the default shader generator.

setDefault
static void ShaderGenerator::set_default(ShaderGenerator *generator);

Description: Set the default shader generator.

synthesizeShader
virtual ConstPointerTo< RenderAttrib > ShaderGenerator::synthesize_shader(RenderState const *rs);

Description: This is the routine that implements the next-gen fixed function pipeline by synthesizing a shader.
Currently supports:
- flat colors
- vertex colors
- lighting
- normal maps
- gloss maps
- glow maps
- materials, but not updates to materials
- 2D textures
- texture stage modes: modulate, decal, add
- light ramps (for cartoon shading)
Not yet supported:
- 3D textures, cube textures
- texture stage modes: replace, blend
- color scale attrib
- texgen
- texmatrix
- fog
- other TextureStage::Modes
Potential optimizations
- omit attenuation calculations if attenuation off

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ShaderInput

    from pandac.PandaModules import ShaderInput
    Class : ShaderInput
    Description : This is a small container class that can hold any one of the value types that can be passed as input to a shader.

Inheritance:

    ShaderInput: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ShaderInput:

    ShaderInput (Constructor)
    getBlank
    getClassType
    getName
    getNodepath
    getPriority
    getTexture
    getValueType
    getVector

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in ShaderInput:

    MInvalid | (ShaderInputType)
MTexture | (ShaderInputType)
MNodepath | (ShaderInputType)
MVector | (ShaderInputType)
ShaderInput
ShaderInput::ShaderInput(InternalName *id, int priority = (0));

Description:

getBlank
static ShaderInput const *ShaderInput::get_blank(void);

Description: Returns a static ShaderInput object with name NULL, priority zero, type INVALID, and all value-fields cleared.

getClassType
static TypeHandle ShaderInput::get_class_type(void);

Undocumented function.

getName
InternalName *ShaderInput::get_name(void) const;

Description:

getNodepath
NodePath const &ShaderInput::get_nodepath(void) const;

Description:

getPriority
int ShaderInput::get_priority(void) const;

Description:

getTexture
Texture *ShaderInput::get_texture(void) const;

Description:

getValueType
int ShaderInput::get_value_type(void) const;

Description:

getVector
LVector4f const &ShaderInput::get_vector(void) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ShaderPool

    from pandac.PandaModules import ShaderPool
    Class : ShaderPool
    Description : This is the preferred interface for loading shaders for the TextNode system. It is similar to ModelPool and TexturePool in that it unifies references to the same filename.

Inheritance:

    ShaderPool:

Methods of ShaderPool:

    addShader
    garbageCollect
    hasShader
    listContents
    loadShader
    releaseAllShaders
    releaseShader
    verifyShader
    write
addShader
static void ShaderPool::add_shader(string const &filename, Shader *shader);

Description: Adds the indicated already-loaded shader to the pool. The shader will always replace any previously-loaded shader in the pool that had the same filename.

garbageCollect
static int ShaderPool::garbage_collect(void);

Description: Releases only those shaders in the pool that have a reference count of exactly 1; i.e. only those shaders that are not being used outside of the pool. Returns the number of shaders released.

hasShader
static bool ShaderPool::has_shader(string const &filename);

These functions take string parameters instead of Filenames because that's somewhat more convenient to the scripting language.
Filename: shaderPool.I Created by: aignacio (Mar06)
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."
Description: Returns true if the shader has ever been loaded, false otherwise.

listContents
static void ShaderPool::list_contents(ostream &out);

Description: Lists the contents of the shader pool to the indicated output stream.

loadShader
static ConstPointerTo< Shader > ShaderPool::load_shader(string const &filename);

Description: Loads the given filename up into a shader, if it has not already been loaded, and returns the new shader. If a shader with the same filename was previously loaded, returns that one instead. If the shader file cannot be found, returns NULL.

releaseAllShaders
static void ShaderPool::release_all_shaders(void);

Description: Releases all shaders in the pool and restores the pool to the empty state.

releaseShader
static void ShaderPool::release_shader(string const &filename);

Description: Removes the indicated shader from the pool, indicating it will never be loaded again; the shader may then be freed. If this function is never called, a reference count will be maintained on every shader every loaded, and shaders will never be freed.

verifyShader
static bool ShaderPool::verify_shader(string const &filename);

These functions take string parameters instead of Filenames because that's somewhat more convenient to the scripting language.
Description: Loads the given filename up into a shader, if it has not already been loaded, and returns true to indicate success, or false to indicate failure. If this returns true, it is guaranteed that a subsequent call to load_shader() with the same shader name will return a valid Shader pointer.

write
static void ShaderPool::write(ostream &out);

Description: Lists the contents of the shader pool to the indicated output stream.


ShadowCaster

    from direct.showbase.ShadowDemo import ShadowCaster

Inheritance:

    ShadowCaster:

Methods of ShadowCaster:

    __init__
    clear
    setGround
__init__
def __init__(self, lightPath, objectPath, filmX, filmY)

Undocumented function.

clear
def clear(self)

Undoes the effect of the ShadowCaster.

setGround
def setGround(self, groundPath)

Specifies the part of the world that is to be considered the ground: this is the part onto which the rendered texture will be applied.


ShadowPlacer

    from direct.showbase.ShadowPlacer import ShadowPlacer

Inheritance:

    ShadowPlacer:

Methods of ShadowPlacer:

    __init__
    delete
    off
    on
    oneTimeCollide
    resetToOrigin
    setup
__init__
def __init__(self, cTrav, shadowNodePath, wallCollideMask, floorCollideMask)

Undocumented function.

delete
def delete(self)

Undocumented function.

off
def off(self)

Turn off the shadow placement. The shadow will still be there, but the z position will not be updated until a call to on() is made.

on
def on(self)

Turn on the shadow placement. The shadow z position will start being updated until a call to off() is made.

oneTimeCollide
def oneTimeCollide(self)

Makes one quick collision pass for the avatar, for instance as a one-time straighten-things-up operation after collisions have been disabled.

resetToOrigin
def resetToOrigin(self)

Undocumented function.

setup
def setup(self, cTrav, shadowNodePath, wallCollideMask, floorCollideMask)

Set up the collisions


SheetNode

    from pandac.PandaModules import SheetNode
    Class : SheetNode
    Description : This class draws a visible representation of the NURBS surface stored in its NurbsSurfaceEvaluator. It automatically recomputes the surface every frame.
    This is not related to NurbsSurface, CubicSurfaceseg or any of the ParametricSurface-derived objects in this module. It is a completely parallel implementation of NURBS surfaces, and will probably eventually replace the whole ParametricSurface class hierarchy.

Inheritance:

    SheetNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of SheetNode:

    SheetNode (Constructor)
    getClassType
    getNumUSubdiv
    getNumVSubdiv
    getSurface
    getUseVertexColor
    resetBound
    setNumUSubdiv
    setNumVSubdiv
    setSurface
    setUseVertexColor

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
SheetNode
SheetNode::SheetNode(string const &name);

Description:

getClassType
static TypeHandle SheetNode::get_class_type(void);

Undocumented function.

getNumUSubdiv
int SheetNode::get_num_u_subdiv(void) const;

Description: Returns the number of subdivisions per cubic segment to draw in the U direction. See set_num_u_subdiv().

getNumVSubdiv
int SheetNode::get_num_v_subdiv(void) const;

Description: Returns the number of subdivisions per cubic segment to draw in the V direction. See set_num_v_subdiv().

getSurface
NurbsSurfaceEvaluator *SheetNode::get_surface(void) const;

Description: Returns the surface represented by the SheetNode.

getUseVertexColor
bool SheetNode::get_use_vertex_color(void) const;

Description: Returns the "use vertex color" flag. See set_use_vertex_color().

resetBound
void SheetNode::reset_bound(NodePath const &rel_to);

Description: Recomputes the bounding volume. This is normally called automatically, but it must occasionally be called explicitly when the surface has changed properties outside of this node's knowledge.

setNumUSubdiv
void SheetNode::set_num_u_subdiv(int num_u_subdiv);

Description: Specifies the number of subdivisions per cubic segment (that is, per unique knot value) to draw in a fixed uniform tesselation of the surface in the U direction.

setNumVSubdiv
void SheetNode::set_num_v_subdiv(int num_v_subdiv);

Description: Specifies the number of subdivisions per cubic segment (that is, per unique knot value) to draw in a fixed uniform tesselation of the surface in the V direction.

setSurface
void SheetNode::set_surface(NurbsSurfaceEvaluator *surface);

Description: Sets the particular surface represented by the SheetNode.

setUseVertexColor
void SheetNode::set_use_vertex_color(bool flag);

Description: Sets the "use vertex color" flag. When this is true, the R, G, B, A vertex color is assumed to be stored as the dimensions 0, 1, 2, 3, respectively, of the extended vertex values. Use NurbsCurveEvaluator::set_extended_vertex() to set these values.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ShipPilot

    from direct.controls.ShipPilot import ShipPilot

Inheritance:

    ShipPilot:

Methods of ShipPilot:

    __init__
    adjustWallBitMask
    avatarPhysicsIndicator
    deleteCollisions
    disableAvatarControls
    displayDebugInfo
    enableAvatarControls
    getVelocity
    handleAvatarControls
    initializeCollisions
    setAvatar
    setAvatarPhysicsIndicator
    setCollisionsActive
    setFloorBitMask
    setShip
    setTag
    setupCollisions
    setupPhysics
    setWalkSpeed
    setWallBitMask
    takedownPhysics
__init__
def __init__(self, gravity=-32.1740, standableGround=0.707, hardLandingForce=16.0)

Undocumented function.

adjustWallBitMask
def adjustWallBitMask(self, oldMask, newMask)

Undocumented function.

avatarPhysicsIndicator
def avatarPhysicsIndicator(self, task)

Undocumented function.

deleteCollisions
def deleteCollisions(self)

Undocumented function.

disableAvatarControls
def disableAvatarControls(self)

Ignore the arrow keys, etc.

displayDebugInfo
def displayDebugInfo(self)

For debug use.

enableAvatarControls
def enableAvatarControls(self)

Activate the arrow keys, etc.

getVelocity
def getVelocity(self)

Undocumented function.

handleAvatarControls
def handleAvatarControls(self, task)

Check on the arrow keys and update the "avatar" (ship).

initializeCollisions
def initializeCollisions(self, collisionTraverser, cRootNodePath, bow, stern, starboard, port)

Set up the avatar collisions. All we do here is assign the traverser. All the ship specific stuff happens in setAvatar() and its helper functions.

setAvatar
def setAvatar(self, ship)

Undocumented function.

setAvatarPhysicsIndicator
def setAvatarPhysicsIndicator(self, indicator)

indicator is a NodePath

setCollisionsActive
def setCollisionsActive(self, active=1)

Undocumented function.

setFloorBitMask
def setFloorBitMask(self, bitMask)

Undocumented function.

setShip
def setShip(self, ship)

Undocumented function.

setTag
def setTag(self, key, value)

Undocumented function.

setupCollisions
def setupCollisions(self)

Undocumented function.

setupPhysics
def setupPhysics(self, shipNodePath)

Undocumented function.

setWalkSpeed
def setWalkSpeed(self, forward, jump, reverse, rotate)

Undocumented function.

setWallBitMask
def setWallBitMask(self, bitMask)

Undocumented function.

takedownPhysics
def takedownPhysics(self)

Undocumented function.


ShipPilot2

    from direct.controls.ShipPilot2 import ShipPilot2

Inheritance:

    ShipPilot2:

Methods of ShipPilot2:

    __init__
    addBlastForce
    avatarPhysicsIndicator
    deleteCollisions
    determineHeight
    disableAvatarControls
    displayDebugInfo
    doDeltaPos
    enableAvatarControls
    getCollisionsActive
    getSpeeds
    getVelocity
    handleAvatarControls
    initializeCollisions
    oneTimeCollide
    placeOnFloor
    reset
    setAirborneHeightFunc
    setAvatar
    setAvatarPhysicsIndicator
    setCollisionsActive
    setFloorBitMask
    setPriorParentVector
    setTag
    setupPhysics
    setupRay
    setupSphere
    setWalkSpeed
    setWallBitMask
    takedownPhysics
__init__
def __init__(self, gravity=-32.1740, standableGround=0.707, hardLandingForce=16.0)

Undocumented function.

addBlastForce
def addBlastForce(self, vector)

Undocumented function.

avatarPhysicsIndicator
def avatarPhysicsIndicator(self, task)

Undocumented function.

deleteCollisions
def deleteCollisions(self)

Undocumented function.

determineHeight
def determineHeight(self)

returns the height of the avatar above the ground. If there is no floor below the avatar, 0.0 is returned. aka get airborne height.

disableAvatarControls
def disableAvatarControls(self)

Ignore the arrow keys, etc.

displayDebugInfo
def displayDebugInfo(self)

For debug use.

doDeltaPos
def doDeltaPos(self)

Undocumented function.

enableAvatarControls
def enableAvatarControls(self)

Activate the arrow keys, etc.

getCollisionsActive
def getCollisionsActive(self)

Undocumented function.

getSpeeds
def getSpeeds(self)

Undocumented function.

getVelocity
def getVelocity(self)

Undocumented function.

handleAvatarControls
def handleAvatarControls(self, task)

Check on the arrow keys and update the avatar.

initializeCollisions
def initializeCollisions(self, collisionTraverser, avatarRadius=1.4, floorOffset=1.0, reach=1.0, width=30.0, length=105.0, height=45.0)

width is feet from port to starboard. length is feet from aft to bow. height is feet from bildge to deck (i.e. not including mast height).
Set up the avatar collisions

oneTimeCollide
def oneTimeCollide(self)

Makes one quick collision pass for the avatar, for instance as a one-time straighten-things-up operation after collisions have been disabled.

placeOnFloor
def placeOnFloor(self)

Make a reasonable effort to place the avatar on the ground. For example, this is useful when switching away from the current walker.

reset
def reset(self)

Undocumented function.

setAirborneHeightFunc
def setAirborneHeightFunc(self, getAirborneHeight)

Undocumented function.

setAvatar
def setAvatar(self, ship)

Undocumented function.

setAvatarPhysicsIndicator
def setAvatarPhysicsIndicator(self, indicator)

indicator is a NodePath

setCollisionsActive
def setCollisionsActive(self, active=1)

Undocumented function.

setFloorBitMask
def setFloorBitMask(self, bitMask)

Undocumented function.

setPriorParentVector
def setPriorParentVector(self)

Undocumented function.

setTag
def setTag(self, key, value)

Undocumented function.

setupPhysics
def setupPhysics(self, avatarNodePath)

Undocumented function.

setupRay
def setupRay(self, floorBitmask, floorOffset)

Undocumented function.

setupSphere
def setupSphere(self, bitmask, avatarRadius)

Set up the collision sphere

setWalkSpeed
def setWalkSpeed(self, forward, jump, reverse, rotate)

Undocumented function.

setWallBitMask
def setWallBitMask(self, bitMask)

Undocumented function.

takedownPhysics
def takedownPhysics(self)

Undocumented function.


ShowBase

    from direct.showbase.ShowBase import ShowBase

Inheritance:

    ShowBase:

Methods of ShowBase:

    __audioLoop
    __collisionLoop
    __dataLoop
    __doStartDirect
    __igLoop
    __init__
    __ivalLoop
    __resetPrevTransform
    __shadowCollisionLoop
    __windowEvent
    _movieTask
    addAngularIntegrator
    addSfxManager
    backfaceCullingOff
    backfaceCullingOn
    changeMouseInterface
    closeWindow
    createBaseAudioManagers
    createStats
    destroy
    disableAllAudio
    disableMouse
    disableParticles
    enableAllAudio
    enableMouse
    enableMusic
    enableParticles
    enableSoftwareMousePointer
    enableSoundEffects
    exitfunc
    finalizeExit
    getAlt
    getAspectRatio
    getBackgroundColor
    getControl
    getExitErrorCode
    getMeta
    getShift
    initShadowTrav
    isMainWindowOpen
    isParticleMgrEnabled
    isPhysicsMgrEnabled
    loadMusic
    loadSfx
    makeAllPipes
    makeCamera
    makeCamera2d
    makeCamera2dp
    makeDefaultPipe
    movie
    oobe
    oobeCull
    openDefaultWindow
    openMainWindow
    openWindow
    playMusic
    playSfx
    popCTrav
    printEnvDebugInfo
    profileFrames
    pushCTrav
    removeCameraFrustum
    restart
    reviveInput
    run
    saveCubeMap
    saveSphereMap
    screenshot
    SetAllSfxEnables
    setBackgroundColor
    setFrameRateMeter
    setMouseOnNode
    setSleep
    setupDataGraph
    setupMouse
    setupRender
    setupRender2d
    setupRender2dp
    setupWindowControls
    showCameraFrustum
    shutdown
    silenceInput
    sleepCycleTask
    startDirect
    startTk
    startWx
    textureOff
    textureOn
    toggleBackface
    toggleParticles
    toggleTexture
    toggleWireframe
    updateManagers
    useDrive
    userExit
    useTrackball
    wireframeOff
    wireframeOn
__audioLoop
def __audioLoop(self, state)

Undocumented function.

__collisionLoop
def __collisionLoop(self, state)

Undocumented function.

__dataLoop
def __dataLoop(self, state)

Undocumented function.

__doStartDirect
def __doStartDirect(self)

Undocumented function.

__igLoop
def __igLoop(self, state)

Undocumented function.

__init__
def __init__(self)

Undocumented function.

__ivalLoop
def __ivalLoop(self, state)

Undocumented function.

__resetPrevTransform
def __resetPrevTransform(self, state)

Undocumented function.

__shadowCollisionLoop
def __shadowCollisionLoop(self, state)

Undocumented function.

__windowEvent
def __windowEvent(self, win)

Undocumented function.

_movieTask
def _movieTask(self, state)

Undocumented function.

addAngularIntegrator
def addAngularIntegrator(self)

Undocumented function.

addSfxManager
def addSfxManager(self, extraSfxManager)

Undocumented function.

backfaceCullingOff
def backfaceCullingOff(self)

Undocumented function.

backfaceCullingOn
def backfaceCullingOn(self)

Undocumented function.

changeMouseInterface
def changeMouseInterface(self, changeTo)

Switch mouse action

closeWindow
def closeWindow(self, win, keepCamera=0)

Closes the indicated window and removes it from the list of windows. If it is the main window, clears the main window pointer to None.

createBaseAudioManagers
def createBaseAudioManagers(self)

Undocumented function.

createStats
def createStats(self, hostname=None, port=None)

Undocumented function.

destroy
def destroy(self)

Call this function to destroy the ShowBase and stop all its tasks, freeing all of the Panda resources. Normally, you should not need to call it explicitly, as it is bound to the exitfunc and will be called at application exit time automatically.
This function is designed to be safe to call multiple times.

disableAllAudio
def disableAllAudio(self)

Undocumented function.

disableMouse
def disableMouse(self)

Temporarily disable the mouse control of the camera, either via the drive interface or the trackball, whichever is currently in use.

disableParticles
def disableParticles(self)

Undocumented function.

enableAllAudio
def enableAllAudio(self)

Undocumented function.

enableMouse
def enableMouse(self)

Reverse the effect of a previous call to disableMouse(). useDrive() also implicitly enables the mouse.

enableMusic
def enableMusic(self, bEnableMusic)

Undocumented function.

enableParticles
def enableParticles(self)

Undocumented function.

enableSoftwareMousePointer
def enableSoftwareMousePointer(self)

Creates some geometry and parents it to render2d to show the currently-known mouse position. Useful if the mouse pointer is invisible for some reason.

enableSoundEffects
def enableSoundEffects(self, bEnableSoundEffects)

Undocumented function.

exitfunc
def exitfunc(self)

This should be assigned to sys.exitfunc to be called just before Python shutdown. It guarantees that the Panda window is closed cleanly, so that we free system resources, restore the desktop and keyboard functionality, etc.

finalizeExit
def finalizeExit(self)

Undocumented function.

getAlt
def getAlt(self)

Undocumented function.

getAspectRatio
def getAspectRatio(self, win=None)

Undocumented function.

getBackgroundColor
def getBackgroundColor(self, win=None)

Returns the current window background color. This assumes the window is set up to clear the color each frame (this is the normal setting).

getControl
def getControl(self)

Undocumented function.

getExitErrorCode
def getExitErrorCode(self)

Undocumented function.

getMeta
def getMeta(self)

Undocumented function.

getShift
def getShift(self)

Undocumented function.

initShadowTrav
def initShadowTrav(self)

Undocumented function.

isMainWindowOpen
def isMainWindowOpen(self)

Undocumented function.

isParticleMgrEnabled
def isParticleMgrEnabled(self)

Undocumented function.

isPhysicsMgrEnabled
def isPhysicsMgrEnabled(self)

Undocumented function.

loadMusic
def loadMusic(self, name)

Undocumented function.

loadSfx
def loadSfx(self, name)

Undocumented function.

makeAllPipes
def makeAllPipes(self)

Creates all GraphicsPipes that the system knows about and fill up self.pipeList with them.

makeCamera
def makeCamera(self, win, sort=0, scene=None, displayRegion=(0, 1, 0, 1), stereo=None, aspectRatio=None, clearDepth=0, clearColor=None, lens=None, camName='cam', mask=None, useCamera=None)

Makes a new 3-d camera associated with the indicated window, and creates a display region in the indicated subrectangle.
If stereo is True, then a stereo camera is created, with a pair of DisplayRegions. If stereo is False, then a standard camera is created. If stereo is None or omitted, a stereo camera is created if the window says it can render in stereo.
If useCamera is not None, it is a NodePath to be used as the camera to apply to the window, rather than creating a new camera.

makeCamera2d
def makeCamera2d(self, win, sort=10, displayRegion=(0, 1, 0, 1), coords=(-1, 1, -1, 1), lens=None, cameraName=None)

Makes a new camera2d associated with the indicated window, and assigns it to render the indicated subrectangle of render2d.

makeCamera2dp
def makeCamera2dp(self, win, sort=20, displayRegion=(0, 1, 0, 1), coords=(-1, 1, -1, 1), lens=None, cameraName=None)

Makes a new camera2dp associated with the indicated window, and assigns it to render the indicated subrectangle of render2dp.

makeDefaultPipe
def makeDefaultPipe(self)

Creates the default GraphicsPipe, which will be used to make windows unless otherwise specified.

movie
def movie(self, namePrefix='movie', duration=1.0, fps=30, format='png', sd=4, source=None)

Spawn a task to capture a movie using the screenshot function.
- namePrefix will be used to form output file names (can include
path information (e.g. '/i/beta/frames/myMovie')
- duration is the length of the movie in seconds
- fps is the frame rate of the resulting movie
- format specifies output file format (e.g. png, bmp)
- sd specifies number of significant digits for frame count in the
output file name (e.g. if sd = 4, movie_0001.png)
- source is the Window, Buffer, DisplayRegion, or Texture from which
to save the resulting images. The default is the main window.

oobe
def oobe(self)

Enable a special "out-of-body experience" mouse-interface mode. This can be used when a "god" camera is needed; it moves the camera node out from under its normal node and sets the world up in trackball state. Button events are still sent to the normal mouse action node (e.g. the DriveInterface), and mouse events, if needed, may be sent to the normal node by holding down the Control key.
This is different than useTrackball(), which simply changes the existing mouse action to a trackball interface. In fact, OOBE mode doesn't care whether useDrive() or useTrackball() is in effect; it just temporarily layers a new trackball interface on top of whatever the basic interface is. You can even switch between useDrive() and useTrackball() while OOBE mode is in effect.
This is a toggle; the second time this function is called, it disables the mode.

oobeCull
def oobeCull(self)

While in OOBE mode (see above), cull the viewing frustum as if it were still attached to our original camera. This allows us to visualize the effectiveness of our bounding volumes.

openDefaultWindow
def openDefaultWindow(self, *args, **kw)

Undocumented function.

openMainWindow
def openMainWindow(self, *args, **kw)

Creates the initial, main window for the application, and sets up the mouse and render2d structures appropriately for it. If this method is called a second time, it will close the previous main window and open a new one, preserving the lens properties in base.camLens.
The return value is true on success, or false on failure (in which case base.win may be either None, or the previous, closed window).

openWindow
def openWindow(self, props=None, pipe=None, gsg=None, type=None, name=None, size=None, aspectRatio=None, makeCamera=1, keepCamera=0, scene=None, stereo=None, rawmice=0)

Creates a window and adds it to the list of windows that are to be updated every frame.

playMusic
def playMusic(self, music, looping=0, interrupt=1, volume=None, time=0.0)

Undocumented function.

playSfx
def playSfx(self, sfx, looping=0, interrupt=1, volume=None, time=0.0, node=None, listener=None, cutoff=None)

Undocumented function.

popCTrav
def popCTrav(self)

Undocumented function.

printEnvDebugInfo
def printEnvDebugInfo(self)

Print some information about the environment that we are running in. Stuff like the model paths and other paths. Feel free to add stuff to this.

profileFrames
def profileFrames(self, num=1)

Undocumented function.

pushCTrav
def pushCTrav(self, cTrav)

Undocumented function.

removeCameraFrustum
def removeCameraFrustum(self)

Undocumented function.

restart
def restart(self)

Undocumented function.

reviveInput
def reviveInput(self)

Restores inputs after a previous call to silenceInput.

run
def run(self)

Undocumented function.

saveCubeMap
def saveCubeMap(self, namePrefix='cube_map_#.png', defaultFilename=0, source=None, camera=None, size=128, cameraMask=PandaNode.getAllCameraMask())

Similar to screenshot(), this sets up a temporary cube map Texture which it uses to take a series of six snapshots of the current scene, one in each of the six cube map directions. This requires rendering a new frame.
Unlike screenshot(), source may only be a GraphicsWindow, GraphicsBuffer, or DisplayRegion; it may not be a Texture.
camera should be the node to which the cubemap cameras will be parented. The default is the camera associated with source, if source is a DisplayRegion, or base.camera otherwise.
The return value is the filename if successful, or None if there is a problem.

saveSphereMap
def saveSphereMap(self, namePrefix='spheremap.png', defaultFilename=0, source=None, camera=None, size=256, cameraMask=PandaNode.getAllCameraMask(), numVertices=1000)

This works much like saveCubeMap(), and uses the graphics API's hardware cube-mapping ability to get a 360-degree view of the world. But then it converts the six cube map faces into a single fisheye texture, suitable for applying as a static environment map (sphere map).
For eye-relative static environment maps, sphere maps are often preferable to cube maps because they require only a single texture and because they are supported on a broader range of hardware.
The return value is the filename if successful, or None if there is a problem.

screenshot
def screenshot(self, namePrefix='screenshot', defaultFilename=1, source=None, imageComment="")

Captures a screenshot from the main window or from the specified window or Texture and writes it to a filename in the current directory (or to a specified directory).
If defaultFilename is True, the filename is synthesized by appending namePrefix to a default filename suffix (including the filename extension) specified in the Config variable screenshot-filename. Otherwise, if defaultFilename is False, the entire namePrefix is taken to be the filename to write, and this string should include a suitable filename extension that will be used to determine the type of image file to write.
Normally, the source is a GraphicsWindow, GraphicsBuffer or DisplayRegion. If a Texture is supplied instead, it must have a ram image (that is, if it was generated by makeTextureBuffer() or makeCubeMap(), the parameter toRam should have been set true). If it is a cube map texture as generated by makeCubeMap(), namePrefix should contain the hash mark ('#') character.
The return value is the filename if successful, or None if there is a problem.

SetAllSfxEnables
def SetAllSfxEnables(self, bEnabled)

Undocumented function.

setBackgroundColor
def setBackgroundColor(self, r=None, g=None, b=None, a=0.0, win=None)

Sets the window background color to the indicated value. This assumes the window is set up to clear the color each frame (this is the normal setting).
The color may be either a VBase3 or a VBase4, or a 3-component tuple, or the individual r, g, b parameters.

setFrameRateMeter
def setFrameRateMeter(self, flag)

Turns on or off (according to flag) a standard frame rate meter in the upper-right corner of the main window.

setMouseOnNode
def setMouseOnNode(self, newNode)

Undocumented function.

setSleep
def setSleep(self, amount)

Sets up a task that calls python 'sleep' every frame. This is a simple way to reduce the CPU usage (and frame rate) of a panda program.

setupDataGraph
def setupDataGraph(self)

Creates the data graph and populates it with the basic input devices.

setupMouse
def setupMouse(self, win)

Creates the structures necessary to monitor the mouse input, using the indicated window. If the mouse has already been set up for a different window, those structures are deleted first.

setupRender
def setupRender(self)

Creates the render scene graph, the primary scene graph for rendering 3-d geometry.

setupRender2d
def setupRender2d(self)

Creates the render2d scene graph, the primary scene graph for 2-d objects and gui elements that are superimposed over the 3-d geometry in the window.

setupRender2dp
def setupRender2dp(self)

Creates a render2d scene graph, the secondary scene graph for 2-d objects and gui elements that are superimposed over the 2-d and 3-d geometry in the window.

setupWindowControls
def setupWindowControls(self)

Undocumented function.

showCameraFrustum
def showCameraFrustum(self)

Undocumented function.

shutdown
def shutdown(self)

Undocumented function.

silenceInput
def silenceInput(self)

This is a heavy-handed way of temporarily turning off all inputs. Bring them back with reviveInput().

sleepCycleTask
def sleepCycleTask(self, task)

Undocumented function.

startDirect
def startDirect(self, fWantDirect=1, fWantTk=1, fWantWx=0)

Undocumented function.

startTk
def startTk(self, fWantTk=1)

Undocumented function.

startWx
def startWx(self, fWantWx=1)

Undocumented function.

textureOff
def textureOff(self)

Undocumented function.

textureOn
def textureOn(self)

Undocumented function.

toggleBackface
def toggleBackface(self)

Undocumented function.

toggleParticles
def toggleParticles(self)

Undocumented function.

toggleTexture
def toggleTexture(self)

Undocumented function.

toggleWireframe
def toggleWireframe(self)

Undocumented function.

updateManagers
def updateManagers(self, state)

Undocumented function.

useDrive
def useDrive(self)

Switch mouse action to drive mode

userExit
def userExit(self)

Undocumented function.

useTrackball
def useTrackball(self)

Switch mouse action to trackball mode

wireframeOff
def wireframeOff(self)

Undocumented function.

wireframeOn
def wireframeOn(self)

Undocumented function.


ShowBoundsEffect

    from pandac.PandaModules import ShowBoundsEffect
    Class : ShowBoundsEffect
    Description : Applied to a GeomNode to cause a visible bounding volume to be drawn for this node. This is generally used only during development to help identify bounding volume issues.

Inheritance:

    ShowBoundsEffect: RenderEffect
    RenderEffect: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ShowBoundsEffect:

    getClassType
    getTight
    make

Methods of RenderEffect:

    compareTo
    getClassType
    getNumEffects
    listEffects
    output
    validateEffects
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle ShowBoundsEffect::get_class_type(void);

Undocumented function.

getTight
bool ShowBoundsEffect::get_tight(void) const;

Description: Returns true if the "tight" flag was set, meaning the effect should compute and draw the tight bounding-box of the node's vertices every frame.

make
static ConstPointerTo< RenderEffect > ShowBoundsEffect::make(bool tight = (0));

Description: Constructs a new ShowBoundsEffect object.

compareTo
int RenderEffect::compare_to(RenderEffect const &other) const;

Description: Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderEffect class because all equivalent RenderEffect objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderEffect::get_class_type(void);

Undocumented function.

getNumEffects
static int RenderEffect::get_num_effects(void);

Description: Returns the total number of unique RenderEffect objects allocated in the world. This will go up and down during normal operations.

listEffects
static void RenderEffect::list_effects(ostream &out);

Description: Lists all of the RenderEffects in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderEffect::output(ostream &out) const;

Description:

validateEffects
static bool RenderEffect::validate_effects(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderEffect objects).

write
virtual void RenderEffect::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ShowInterval

    from pandac.PandaModules import ShowInterval
    Class : ShowInterval
    Description : An interval that calls NodePath::show().

Inheritance:

    ShowInterval: CInterval
    CInterval: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of ShowInterval:

    ShowInterval (Constructor)
    getClassType

Methods of CInterval:

    clearToInitial
    finish
    getAutoFinish
    getAutoPause
    getClassType
    getDoneEvent
    getDuration
    getManager
    getName
    getOpenEnded
    getPlayRate
    getState
    getT
    getWantsTCallback
    isPlaying
    isStopped
    loop
    output
    pause
    privDoEvent
    privFinalize
    privInitialize
    privInstant
    privInterrupt
    privReverseFinalize
    privReverseInitialize
    privReverseInstant
    privStep
    resume
    resumeUntil
    setAutoFinish
    setAutoPause
    setDoneEvent
    setManager
    setPlayRate
    setT
    setupPlay
    setupResume
    setupResumeUntil
    setWantsTCallback
    start
    stepPlay
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in CInterval:

    ETInitialize | (EventType)
ETInstant | (EventType)
ETStep | (EventType)
ETFinalize | (EventType)
ETReverseInitialize | (EventType)
ETReverseInstant | (EventType)
ETReverseFinalize | (EventType)
ETInterrupt | (EventType)
SInitial | (State)
SStarted | (State)
SPaused | (State)
SFinal | (State)
ShowInterval
ShowInterval::ShowInterval(NodePath const &node, string const &name = ((string())));

Description:

getClassType
static TypeHandle ShowInterval::get_class_type(void);

Undocumented function.

clearToInitial
void CInterval::clear_to_initial(void);

Description: Pauses the interval, if it is playing, and resets its state to its initial state, abandoning any state changes already in progress in the middle of the interval. Calling this is like pausing the interval and discarding it, creating a new one in its place.

finish
void CInterval::finish(void);

Description: Stops the interval from playing and sets it to its final state.

getAutoFinish
bool CInterval::get_auto_finish(void) const;

Description: Returns the state of the 'auto_finish' flag. See set_auto_finish().

getAutoPause
bool CInterval::get_auto_pause(void) const;

Description: Returns the state of the 'auto_pause' flag. See set_auto_pause().

getClassType
static TypeHandle CInterval::get_class_type(void);

Undocumented function.

getDoneEvent
string const &CInterval::get_done_event(void) const;

Description: Returns the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

getDuration
double CInterval::get_duration(void) const;

Description: Returns the duration of the interval in seconds.

getManager
CIntervalManager *CInterval::get_manager(void) const;

Description: Returns the CIntervalManager object which will be responsible for playing this interval. Note that this can only return a C++ object; if the particular CIntervalManager object has been extended in the scripting language, this will return the encapsulated C++ object, not the full extended object.

getName
string const &CInterval::get_name(void) const;

Description: Returns the interval's name.

getOpenEnded
bool CInterval::get_open_ended(void) const;

Description: Returns the state of the "open_ended" flag. This is primarily intended for instantaneous intervals like FunctionIntervals; it indicates true if the interval has some lasting effect that should be applied even if the interval doesn't get started until after its finish time, or false if the interval is a transitive thing that doesn't need to be called late.

getPlayRate
double CInterval::get_play_rate(void) const;

Description: Returns the play rate as set by the last call to start(), loop(), or set_play_rate().

getState
CInterval::State CInterval::get_state(void) const;

Description: Indicates the state the interval believes it is in: whether it has been started, is currently in the middle, or has been finalized.

getT
double CInterval::get_t(void) const;

Description: Returns the current time of the interval: the last value of t passed to priv_initialize(), priv_step(), or priv_finalize().

getWantsTCallback
bool CInterval::get_wants_t_callback(void) const;

Description: Returns the state of the 'wants_t_callback' flag. See set_wants_t_callback().

isPlaying
bool CInterval::is_playing(void) const;

Description: Returns true if the interval is currently playing, false otherwise.

isStopped
bool CInterval::is_stopped(void) const;

Description: Returns true if the interval is in either its initial or final states (but not in a running or paused state).

loop
void CInterval::loop(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play until it is interrupted with finish() or pause(), looping back to start_t when it reaches end_t.
If end_t is less than zero, it indicates the end of the interval.

output
virtual void CInterval::output(ostream &out) const;

Description:

pause
double CInterval::pause(void);

Description: Stops the interval from playing but leaves it in its current state. It may later be resumed from this point by calling resume().

privDoEvent
void CInterval::priv_do_event(double t, CInterval::EventType event);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: Calls the appropriate event function indicated by the EventType.

privFinalize
virtual void CInterval::priv_finalize(void);

Description: This is called to stop an interval, forcing it to whatever state it would be after it played all the way through. It's generally invoked by set_final_t().

privInitialize
virtual void CInterval::priv_initialize(double t);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: This replaces the first call to priv_step(), and indicates that the interval has just begun. This may be overridden by derived classes that need to do some explicit initialization on the first call.

privInstant
virtual void CInterval::priv_instant(void);

Description: This is called in lieu of priv_initialize() .. priv_step() .. priv_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the final state.

privInterrupt
virtual void CInterval::priv_interrupt(void);

Description: This is called while the interval is playing to indicate that it is about to be interrupted; that is, priv_step() will not be called for a length of time. But the interval should remain in its current state in anticipation of being eventually restarted when the calls to priv_step() eventually resume.
The purpose of this function is to allow self-running intervals like sound intervals to stop the actual sound playback during the pause.

privReverseFinalize
virtual void CInterval::priv_reverse_finalize(void);

Description: Called generally following a priv_reverse_initialize(), this indicates the interval should set itself to the initial state.

privReverseInitialize
virtual void CInterval::priv_reverse_initialize(double t);

Description: Similar to priv_initialize(), but this is called when the interval is being played backwards; it indicates that the interval should start at the finishing state and undo any intervening intervals.

privReverseInstant
virtual void CInterval::priv_reverse_instant(void);

Description: This is called in lieu of priv_reverse_initialize() .. priv_step() .. priv_reverse_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the initial state.

privStep
virtual void CInterval::priv_step(double t);

Description: Advances the time on the interval. The time may either increase (the normal case) or decrease (e.g. if the interval is being played by a slider).

resume
void CInterval::resume(void);

Description: Restarts the interval from its current point after a previous call to pause().
Description: Restarts the interval from the indicated point after a previous call to pause().

resumeUntil
void CInterval::resume_until(double end_t);

Description: Restarts the interval from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setAutoFinish
void CInterval::set_auto_finish(bool auto_finish);

Description: Changes the state of the 'auto_finish' flag. If this is true, the interval may be arbitrarily finished when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setAutoPause
void CInterval::set_auto_pause(bool auto_pause);

Description: Changes the state of the 'auto_pause' flag. If this is true, the interval may be arbitrarily interrupted when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setDoneEvent
void CInterval::set_done_event(string const &event);

Description: Sets the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

setManager
void CInterval::set_manager(CIntervalManager *manager);

Description: Indicates the CIntervalManager object which will be responsible for playing this interval. This defaults to the global CIntervalManager; you should need to change this only if you have special requirements for playing this interval.

setPlayRate
void CInterval::set_play_rate(double play_rate);

Description: Changes the play rate of the interval. If the interval is already started, this changes its speed on-the-fly. Note that since play_rate is a parameter to start() and loop(), the next call to start() or loop() will reset this parameter.

setT
void CInterval::set_t(double t);

Description: Explicitly sets the time within the interval. Normally, you would use start() .. finish() to let the time play normally, but this may be used to set the time to some particular value.

setupPlay
void CInterval::setup_play(double start_time, double end_time, double play_rate, bool do_loop);

Description: Called to prepare the interval for automatic timed playback, e.g. via a Python task. The interval will be played from start_t to end_t, at a time factor specified by play_rate. start_t must always be less than end_t (except for the exception for end_t == -1, below), but if play_rate is negative the interval will be played backwards.
Specify end_t of -1 to play the entire interval from start_t.
Call step_play() repeatedly to execute the interval.

setupResume
void CInterval::setup_resume(void);

Description: Called to prepare the interval for restarting at the current point within the interval after an interruption.

setupResumeUntil
void CInterval::setup_resume_until(double end_t);

Description: Called to prepare the interval for restarting from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setWantsTCallback
void CInterval::set_wants_t_callback(bool wants_t_callback);

Description: Changes the state of the 'wants_t_callback' flag. If this is true, the interval will be returned by CIntervalManager::get_event() each time the interval's time value has been changed, regardless of whether it has any external events.

start
void CInterval::start(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play to the end and stop.
If end_t is less than zero, it indicates the end of the interval.

stepPlay
bool CInterval::step_play(void);

Description: Should be called once per frame to execute the automatic timed playback begun with setup_play().
Returns true if the interval should continue, false if it is done and should stop.

write
virtual void CInterval::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Signature

    from direct.showbase.PythonUtil import Signature

Inheritance:

    Signature:

Methods of Signature:

    __init__
    __repr__
    defaults
    full_arglist
    ordinary_args
    special_args
__init__
def __init__(self, func)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

defaults
def defaults(self)

Undocumented function.

full_arglist
def full_arglist(self)

Undocumented function.

ordinary_args
def ordinary_args(self)

Undocumented function.

special_args
def special_args(self)

Undocumented function.


SimpleAllocator

    from pandac.PandaModules import SimpleAllocator
    Class : SimpleAllocator
    Description : An implementation of a very simple block allocator. This class can allocate ranges of nonnegative integers within a specified upper limit; it uses a simple first-fit algorithm to find the next available space.

Inheritance:

    SimpleAllocator: LinkedListNode
    LinkedListNode:

Methods of SimpleAllocator:

    SimpleAllocator (Constructor)
    alloc
    getContiguous
    getFirstBlock
    getMaxSize
    getTotalSize
    isEmpty
    output
    setMaxSize
    write
SimpleAllocator
SimpleAllocator::SimpleAllocator(unsigned int max_size, Mutex &lock);

Description:

alloc
SimpleAllocatorBlock *SimpleAllocator::alloc(unsigned int size);

Description: Allocates a new block. Returns NULL if a block of the requested size cannot be allocated.
To free the allocated block, call block->free(), or simply delete the block pointer.

getContiguous
unsigned int SimpleAllocator::get_contiguous(void) const;

Description: Returns an upper-bound estimate of the size of the largest contiguous block that may be allocated. It is guaranteed that an attempt to allocate a block larger than this will fail, though it is not guaranteed that an attempt to allocate a block this size or smaller will succeed.

getFirstBlock
SimpleAllocatorBlock *SimpleAllocator::get_first_block(void) const;

Description: Returns a pointer to the first allocated block, or NULL if there are no allocated blocks.

getMaxSize
unsigned int SimpleAllocator::get_max_size(void) const;

Description: Returns the available space for allocated objects.

getTotalSize
unsigned int SimpleAllocator::get_total_size(void) const;

Description: Returns the total size of allocated objects.

isEmpty
bool SimpleAllocator::is_empty(void) const;

Description: Returns true if there are no blocks allocated on this page, or false if there is at least one.

output
void SimpleAllocator::output(ostream &out) const;

Description:

setMaxSize
void SimpleAllocator::set_max_size(unsigned int max_size);

Description: Changes the available space for allocated objects. This will not affect any already-allocated objects, but will have an effect on future calls to alloc().

write
void SimpleAllocator::write(ostream &out) const;

Description:


SimpleAllocatorBlock

    from pandac.PandaModules import SimpleAllocatorBlock
    Class : SimpleAllocatorBlock
    Description : A single block as returned from SimpleAllocator::alloc().

Inheritance:

    SimpleAllocatorBlock: LinkedListNode
    LinkedListNode:

Methods of SimpleAllocatorBlock:

    free
    getAllocator
    getMaxSize
    getNextBlock
    getSize
    getStart
    isFree
    output
    realloc
free
void SimpleAllocatorBlock::free(void);

Description: Releases the allocated space.

getAllocator
SimpleAllocator *SimpleAllocatorBlock::get_allocator(void) const;

Description: Returns the SimpleAllocator object that owns this block. Returns NULL if the block has been freed.

getMaxSize
unsigned int SimpleAllocatorBlock::get_max_size(void) const;

Description: Returns the maximum size this block can be reallocated to, as limited by the following block.

getNextBlock
SimpleAllocatorBlock *SimpleAllocatorBlock::get_next_block(void) const;

Description: Returns a pointer to the next allocated block in the chain, or NULL if there are no more allocated blocks.

getSize
unsigned int SimpleAllocatorBlock::get_size(void) const;

Description: Returns the size of this block. It is an error to call this if the block has been freed.

getStart
unsigned int SimpleAllocatorBlock::get_start(void) const;

Description: Returns the starting point of this block. It is an error to call this if the block has been freed.

isFree
bool SimpleAllocatorBlock::is_free(void) const;

Description: Returns true if the block has been freed, false if it is still valid.

output
void SimpleAllocatorBlock::output(ostream &out) const;

Description:

realloc
bool SimpleAllocatorBlock::realloc(unsigned int size);

Description: Changes the size of this block to the specified size. Returns true if the change is accepted, false if there was not enough room.


SimpleLru

    from pandac.PandaModules import SimpleLru
    Class : SimpleLru
    Description : An implementation of a very simple LRU algorithm.

Inheritance:

    SimpleLru: LinkedListNode Namable
    LinkedListNode:
    Namable:

Methods of SimpleLru:

    SimpleLru (Constructor)
    beginEpoch
    considerEvict
    countActiveSize
    getMaxSize
    getTotalSize
    setMaxSize

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
SimpleLru
SimpleLru::SimpleLru(string const &name, unsigned int max_size);

Description:

beginEpoch
void SimpleLru::begin_epoch(void);

Description: Marks the end of the previous epoch and the beginning of the next one. This will evict any objects that are pending eviction, and also update any internal bookkeeping.

considerEvict
void SimpleLru::consider_evict(void);

Description: Evicts a sequence of objects if the queue is full.

countActiveSize
unsigned int SimpleLru::count_active_size(void) const;

Description: Returns the total size of the pages that were enqueued since the last call to begin_epoch().

getMaxSize
unsigned int SimpleLru::get_max_size(void) const;

Description: Returns the max size of all objects that are allowed to be active on the LRU.

getTotalSize
unsigned int SimpleLru::get_total_size(void) const;

Description: Returns the total size of all objects currently active on the LRU.

setMaxSize
void SimpleLru::set_max_size(unsigned int max_size);

Description: Changes the max size of all objects that are allowed to be active on the LRU.
If the size is (size_t)-1, there is no limit.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


SimpleLruPage

    from pandac.PandaModules import SimpleLruPage
    Class : SimpleLruPage
    Description : One atomic piece that may be managed by a SimpleLru chain. To use this class, inherit from it and override evict_lru().

Inheritance:

    SimpleLruPage: LinkedListNode
    LinkedListNode:

Methods of SimpleLruPage:

    SimpleLruPage (Constructor)
    dequeueLru
    enqueueLru
    evictLru
    getLru
    getLruSize
    markUsedLru
    operator =
    setLruSize
SimpleLruPage
SimpleLruPage::SimpleLruPage(unsigned int lru_size);

Description:

dequeueLru
void SimpleLruPage::dequeue_lru(void);

Description: Removes the page from its SimpleLru.

enqueueLru
void SimpleLruPage::enqueue_lru(SimpleLru *lru);

Description: Adds the page to the tail of the SimpleLru. When it reaches the head, it will be the next to be evicted.

evictLru
virtual void SimpleLruPage::evict_lru(void);

Description: Evicts the page from the LRU. Called internally when the LRU determines that it is full. May also be called externally when necessary to explicitly evict the page.
It is legal for this method to either evict the page as requested, do nothing (in which case the eviction will be requested again at the next epoch), or requeue itself on the tail of the queue (in which case the eviction will be requested again much later).

getLru
SimpleLru *SimpleLruPage::get_lru(void) const;

Description: Returns the LRU that manages this page, or NULL if it is not currently managed by any LRU.

getLruSize
unsigned int SimpleLruPage::get_lru_size(void) const;

Description: Returns the size of this page as reported to the LRU, presumably in bytes.

markUsedLru
void SimpleLruPage::mark_used_lru(void) const;

Description: To be called when the page is used; this will move it to the tail of the SimpleLru queue it is already on.
This method is const because it's not technically modifying the contents of the page itself.
Description: To be called when the page is used; this will move it to the tail of the specified SimpleLru queue.

operator =
void SimpleLruPage::operator =(SimpleLruPage const &copy);

Description:

setLruSize
void SimpleLruPage::set_lru_size(unsigned int lru_size);

Description: Specifies the size of this page, presumably in bytes, although any unit is possible.


Singleton

    from direct.showbase.PythonUtil import Singleton

Inheritance:

    Singleton:

Methods of Singleton:

    __call__
    __init__
__call__
def __call__(cls, *args, **kw)

Undocumented function.

__init__
def __init__(cls, name, bases, dic)

Undocumented function.


SingletonError

    from direct.showbase.PythonUtil import SingletonError
    Used to indicate an inappropriate value for a Singleton.

Inheritance:

    SingletonError:


SliceInspector

    from direct.tkpanels.Inspector import SliceInspector

Inheritance:

    SliceInspector:

Methods of SliceInspector:

    namedParts
namedParts
def namedParts(self)

Undocumented function.


Slider

    from direct.tkwidgets.Slider import Slider
    Valuator widget which includes an min/max slider and an entry for setting floating point values in a range

Inheritance:

    Slider:

Methods of Slider:

    __init__
    createValuator
    packValuator
    setMax
    setMin
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

createValuator
def createValuator(self)

Undocumented function.

packValuator
def packValuator(self)

Undocumented function.

setMax
def setMax(self)

Undocumented function.

setMin
def setMin(self)

Undocumented function.


SliderTable

    from pandac.PandaModules import SliderTable
    Class : SliderTable
    Description : Stores the total set of VertexSliders that the vertices in a particular GeomVertexData object might depend on.
    This is similar to a TransformTable, but it stores VertexSliders instead of VertexTransforms, and it stores them by name instead of by index number. Also, it is only used when animating vertices on the CPU, since GPU's don't support morphs at this point in time.

Inheritance:

    SliderTable: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of SliderTable:

    SliderTable (Constructor)
    addSlider
    findSliders
    getClassType
    getModified
    getNumSliders
    getSlider
    getSliderRows
    hasSlider
    isEmpty
    isRegistered
    operator =
    registerTable
    removeSlider
    setSlider
    setSliderRows
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
SliderTable
SliderTable::SliderTable(void);

Description:

addSlider
int SliderTable::add_slider(VertexSlider const *slider, SparseArray const &rows);

Description: Adds a new slider to the table, and returns the index number of the new slider. Only valid for unregistered tables.

findSliders
SparseArray const &SliderTable::find_sliders(InternalName const *name) const;

Description: Returns a list of slider indices that represent the list of sliders with the indicated name, or an empty SparseArray if no slider in the table has that name.

getClassType
static TypeHandle SliderTable::get_class_type(void);

Undocumented function.

getModified
UpdateSeq SliderTable::get_modified(Thread *current_thread) const;

Description: Returns a sequence number that's guaranteed to change at least when any VertexSliders in the table change. (However, this is only true for a registered table. An unregistered table may or may not reflect an update here when a VertexSlider changes.)

getNumSliders
int SliderTable::get_num_sliders(void) const;

Description: Returns the number of sliders in the table.

getSlider
VertexSlider const *SliderTable::get_slider(int n) const;

Description: Returns the nth slider in the table.

getSliderRows
SparseArray const &SliderTable::get_slider_rows(int n) const;

Description: Returns the set of rows (vertices) governed by the nth slider in the table.

hasSlider
bool SliderTable::has_slider(InternalName const *name) const;

Description: Returns true if the table has at least one slider by the indicated name, false otherwise.

isEmpty
bool SliderTable::is_empty(void) const;

Description: Returns true if the table has no sliders, false if it has at least one.

isRegistered
bool SliderTable::is_registered(void) const;

Description: Returns true if this table has been registered. Once it has been registered, the set of sliders in a SliderTable may not be further modified; but it must be registered before it can be assigned to a Geom.

operator =
void SliderTable::operator =(SliderTable const &copy);

Description:

registerTable
static ConstPointerTo< SliderTable > SliderTable::register_table(SliderTable const *table);

Description: Registers a SliderTable for use. This is similar to GeomVertexFormat::register_format(). Once registered, a SliderTable may no longer be modified (although the individual VertexSlider objects may modify their reported sliders).
This must be called before a table may be used in a Geom. After this call, you should discard the original pointer you passed in (which may or may not now be invalid) and let its reference count decrement normally; you should use only the returned value from this point on.

removeSlider
void SliderTable::remove_slider(int n);

Description: Removes the nth slider. Only valid for unregistered tables.

setSlider
void SliderTable::set_slider(int n, VertexSlider const *slider);

Description: Replaces the nth slider. Only valid for unregistered tables.

setSliderRows
void SliderTable::set_slider_rows(int n, SparseArray const &rows);

Description: Replaces the rows affected by the nth slider. Only valid for unregistered tables.

write
void SliderTable::write(ostream &out) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


SliderWidget

    from direct.tkwidgets.Slider import SliderWidget

Inheritance:

    SliderWidget:

Methods of SliderWidget:

    __init__
    _bigDecrementValue
    _bigIncrementValue
    _decrementValue
    _firstScaleCommand
    _getMarkerX
    _goToMax
    _goToMin
    _incrementValue
    _postSlider
    _scaleBtnPress
    _scaleBtnRelease
    _scaleCommand
    _unpostOnNextRelease
    _unpostSlider
    _updateValue
    _widgetBtnPress
    _widgetBtnRelease
    _widgetMove
    destroy
    get
    highlightWidget
    restoreWidget
    set
    setBackground
    setBorderwidth
    setMax
    setMin
    setNumDigits
    setRelief
    updateIndicator
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

_bigDecrementValue
def _bigDecrementValue(self, event)

Undocumented function.

_bigIncrementValue
def _bigIncrementValue(self, event)

Undocumented function.

_decrementValue
def _decrementValue(self, event)

Undocumented function.

_firstScaleCommand
def _firstScaleCommand(self, val)

Hack to avoid calling command on instantiation of Scale

_getMarkerX
def _getMarkerX(self)

Undocumented function.

_goToMax
def _goToMax(self, event)

Undocumented function.

_goToMin
def _goToMin(self, event)

Undocumented function.

_incrementValue
def _incrementValue(self, event)

Undocumented function.

_postSlider
def _postSlider(self, event=None)

Undocumented function.

_scaleBtnPress
def _scaleBtnPress(self, event)

Undocumented function.

_scaleBtnRelease
def _scaleBtnRelease(self, event)

Undocumented function.

_scaleCommand
def _scaleCommand(self, val)

Undocumented function.

_unpostOnNextRelease
def _unpostOnNextRelease(self, event=None)

Undocumented function.

_unpostSlider
def _unpostSlider(self, event=None)

Undocumented function.

_updateValue
def _updateValue(self, event)

Undocumented function.

_widgetBtnPress
def _widgetBtnPress(self, event)

Undocumented function.

_widgetBtnRelease
def _widgetBtnRelease(self, event)

Undocumented function.

_widgetMove
def _widgetMove(self, event)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

get
def get(self)

self.get() Get current slider value

highlightWidget
def highlightWidget(self, event)

Undocumented function.

restoreWidget
def restoreWidget(self, event)

Undocumented function.

set
def set(self, value, fCommand=1)

self.set(value, fCommand = 1) Set slider to new value, execute command if fCommand == 1

setBackground
def setBackground(self)

Undocumented function.

setBorderwidth
def setBorderwidth(self)

Undocumented function.

setMax
def setMax(self)

Undocumented function.

setMin
def setMin(self)

Undocumented function.

setNumDigits
def setNumDigits(self)

Undocumented function.

setRelief
def setRelief(self)

Undocumented function.

updateIndicator
def updateIndicator(self, value)

Undocumented function.


SmoothMover

    from pandac.PandaModules import SmoothMover
    Class : SmoothMover
    Description : This class handles smoothing of sampled motion points over time, e.g. for smoothing the apparent movement of remote avatars, whose positions are sent via occasional telemetry updates.
    It can operate in any of three modes: off, in which it does not smooth any motion but provides the last position it was told; smoothing only, in which it smooths motion information but never tries to anticipate where the avatar might be going; or full prediction, in which it smooths motion as well as tries to predict the avatar's position in lead of the last position update. The assumption is that all SmoothMovers in the world will be operating in the same mode together.

Inheritance:

    SmoothMover:

Methods of SmoothMover:

    SmoothMover (Constructor)
    applySmoothHpr
    applySmoothMat
    applySmoothPos
    clearPositions
    computeAndApplySmoothHpr
    computeAndApplySmoothMat
    computeAndApplySmoothPos
    computeAndApplySmoothPosHpr
    computeSmoothPosition
    getAcceptClockSkew
    getDefaultToStandingStill
    getDelay
    getDirectionalVelocity
    getExpectedBroadcastPeriod
    getForwardAxis
    getLatestPosition
    getMaxPositionAge
    getMostRecentTimestamp
    getPredictionMode
    getResetVelocityAge
    getSampleHpr
    getSamplePos
    getSmoothForwardVelocity
    getSmoothHpr
    getSmoothLateralVelocity
    getSmoothMat
    getSmoothMode
    getSmoothPos
    getSmoothRotationalVelocity
    handleWrtReparent
    hasMostRecentTimestamp
    markPosition
    output
    setAcceptClockSkew
    setDefaultToStandingStill
    setDelay
    setDirectionalVelocity
    setExpectedBroadcastPeriod
    setH
    setHpr
    setMat
    setMaxPositionAge
    setP
    setPhonyTimestamp
    setPos
    setPredictionMode
    setR
    setResetVelocityAge
    setScale
    setSmoothMode
    setSx
    setSy
    setSz
    setTimestamp
    setX
    setY
    setZ
    write

Constants in SmoothMover:

    SMOff | (SmoothMode)
SMOn | (SmoothMode)
PMOff | (PredictionMode)
PMOn | (PredictionMode)
SmoothMover
SmoothMover::SmoothMover(void);

Description:

applySmoothHpr
void SmoothMover::apply_smooth_hpr(NodePath &node) const;

Description: Applies the smoothed orientation to the indicated NodePath. This is equivalent to calling node.set_hpr(smooth_mover->get_smooth_hpr()). It exists as an optimization only, to avoid the overhead of passing the return value through Python.

applySmoothMat
void SmoothMover::apply_smooth_mat(NodePath &node);

Description: Applies the smoothed transform to the indicated NodePath. This is equivalent to calling node.set_mat(smooth_mover->get_smooth_mat()). It exists as an optimization only, to avoid the overhead of passing the return value through Python.

applySmoothPos
void SmoothMover::apply_smooth_pos(NodePath &node) const;

Description: Applies the smoothed position to the indicated NodePath. This is equivalent to calling node.set_pos(smooth_mover->get_smooth_pos()). It exists as an optimization only, to avoid the overhead of passing the return value through Python.

clearPositions
void SmoothMover::clear_positions(bool reset_velocity);

Description: Erases all the old position reports. This should be done, for instance, prior to teleporting the avatar to a new position; otherwise, the smoother might try to lerp the avatar there. If reset_velocity is true, the velocity is also reset to 0.

computeAndApplySmoothHpr
void SmoothMover::compute_and_apply_smooth_hpr(NodePath &hpr_node);

Description: A further optimization to reduce Python calls. This computes the smooth position and applies it to the indicated node or nodes in one call. The pos_node and hpr_node might be the same NodePath.

computeAndApplySmoothMat
void SmoothMover::compute_and_apply_smooth_mat(NodePath &node);

Description: A further optimization to reduce Python calls. This computes the smooth position and applies it to the indicated node in one call.

computeAndApplySmoothPos
void SmoothMover::compute_and_apply_smooth_pos(NodePath &node);

Description: A further optimization to reduce Python calls. This computes the smooth position and applies it to the indicated node in one call.

computeAndApplySmoothPosHpr
void SmoothMover::compute_and_apply_smooth_pos_hpr(NodePath &pos_node, NodePath &hpr_node);

Description: A further optimization to reduce Python calls. This computes the smooth position and applies it to the indicated node or nodes in one call. The pos_node and hpr_node might be the same NodePath.

computeSmoothPosition
bool SmoothMover::compute_smooth_position(void);

Description: Computes the smoothed position (and orientation) of the mover at the indicated point in time, based on the previous position reports. After this call has been made, get_smooth_pos() etc. may be called to retrieve the smoothed position.
With no parameter, the function uses ClockObject::get_frame_time() as the default time.
The return value is true if the value has changed (or might have changed) since the last call to compute_smooth_position(), or false if it remains the same.

getAcceptClockSkew
bool SmoothMover::get_accept_clock_skew(void);

Description: Returns the current state of the 'accept clock skew' flag. See set_accept_clock_skew().

getDefaultToStandingStill
bool SmoothMover::get_default_to_standing_still(void);

Description: Returns the current state of the 'default to standing still' flag. See set_default_to_standing_still().

getDelay
double SmoothMover::get_delay(void);

Description: Returns the amount of time, in seconds, to delay the computed position of a SmoothMover. See set_delay().

getDirectionalVelocity
bool SmoothMover::get_directional_velocity(void);

Description: Returns the current state of the 'directional velocity' flag. See set_directional_velocity().

getExpectedBroadcastPeriod
double SmoothMover::get_expected_broadcast_period(void);

Description: Returns the interval at which we expect the SmoothNodes to broadcast their position, in elapsed seconds. See set_expected_broadcast_period().

getForwardAxis
LVecBase3f const &SmoothMover::get_forward_axis(void) const;

Description: Returns the smoothed position as computed by a previous call to compute_smooth_position().

getLatestPosition
bool SmoothMover::get_latest_position(void);

Description: Updates the smooth_pos (and smooth_hpr, etc.) members to reflect the absolute latest position known for this avatar. This may result in a pop to the most recent position.
Returns true if the latest position is known, false otherwise.

getMaxPositionAge
double SmoothMover::get_max_position_age(void);

Description: Returns the maximum amount of time a position is allowed to remain unchanged before assuming it represents the avatar actually standing still.

getMostRecentTimestamp
double SmoothMover::get_most_recent_timestamp(void) const;

Description: Returns most recently recorded timestamp

getPredictionMode
SmoothMover::PredictionMode SmoothMover::get_prediction_mode(void);

Description: Returns the predictioning mode of all SmoothMovers in the world. See set_prediction_mode().

getResetVelocityAge
double SmoothMover::get_reset_velocity_age(void);

Description: Returns the amount of time that should elapse after the last position report before the velocity is reset to 0. See set_reset_velocity_age().

getSampleHpr
LVecBase3f const &SmoothMover::get_sample_hpr(void) const;

Description: Returns the current orientation of the working sample point. This orientation is updated periodically by set_h(), set_p(), etc., and its current value is copied to the sample point table when mark_position() is called.

getSamplePos
LPoint3f const &SmoothMover::get_sample_pos(void) const;

Description: Returns the current position of the working sample point. This position is updated periodically by set_x(), set_y(), etc., and its current value is copied to the sample point table when mark_position() is called.

getSmoothForwardVelocity
float SmoothMover::get_smooth_forward_velocity(void) const;

Description: Returns the speed at which the avatar is moving, in feet per second, along its own forward axis (after applying the avatar's hpr). This will be a positive number if the avatar is moving forward, and a negative number if it is moving backward.

getSmoothHpr
LVecBase3f const &SmoothMover::get_smooth_hpr(void) const;

Description: Returns the smoothed orientation as computed by a previous call to compute_smooth_position().

getSmoothLateralVelocity
float SmoothMover::get_smooth_lateral_velocity(void) const;

Description: Returns the speed at which the avatar is moving, in feet per second, along its own lateral axis (after applying the avatar's hpr). This will be a positive number if the avatar is moving right, and a negative number if it is moving left.

getSmoothMat
LMatrix4f const &SmoothMover::get_smooth_mat(void);

Description: Returns the complete smoothed transformation matrix as computed by a previous call to compute_smooth_position().

getSmoothMode
SmoothMover::SmoothMode SmoothMover::get_smooth_mode(void);

Description: Returns the smoothing mode of all SmoothMovers in the world. See set_smooth_mode().

getSmoothPos
LPoint3f const &SmoothMover::get_smooth_pos(void) const;

Description: Returns the smoothed position as computed by a previous call to compute_smooth_position().

getSmoothRotationalVelocity
float SmoothMover::get_smooth_rotational_velocity(void) const;

Description: Returns the speed at which the avatar is rotating in the horizontal plane (i.e. heading), in degrees per second. This may be positive or negative, according to the direction of rotation.

handleWrtReparent
void SmoothMover::handle_wrt_reparent(NodePath &old_parent, NodePath &new_parent);

Description: Node is being wrtReparented, update recorded sample positions to reflect new parent

hasMostRecentTimestamp
bool SmoothMover::has_most_recent_timestamp(void) const;

Description: Returns true if we have most recently recorded timestamp

markPosition
void SmoothMover::mark_position(void);

Description: Stores the position, orientation, and timestamp (if relevant) indicated by previous calls to set_pos(), set_hpr(), and set_timestamp() in a new position report.
When compute_smooth_position() is called, it uses these stored position reports to base its computation of the known position.

output
void SmoothMover::output(ostream &out) const;

Description:

setAcceptClockSkew
void SmoothMover::set_accept_clock_skew(bool flag);

Description: Sets the 'accept clock skew' flag. When this flag is true, clock skew from the other clients will be tolerated by delaying each smooth mover's position an additional amount, on top of that specified by set_delay(), based on the measured average latency for timestamp messages received by the client.
In this way, if the other client has significant clock skew with respect to our clock, it will be evident as a large positive or negative average latency for timestamps. By subtracting out this average latency, we compensate for poor clock sync.

setDefaultToStandingStill
void SmoothMover::set_default_to_standing_still(bool flag);

Description: Sets the flag that indicates whether to assume that the node stopped moving during periods when we don't get enough position updates. If true, the object will stand still momentarily. If false, the object will continuously lerp between the position updates that we did get.

setDelay
void SmoothMover::set_delay(double delay);

Description: Sets the amount of time, in seconds, to delay the computed position of a SmoothMover. This is particularly useful when the prediction mode is off, because it can allow the apparent motion of an avatar to appear smooth without relying on prediction, at the cost of introducing additional lag in the avatar's apparent position.

setDirectionalVelocity
void SmoothMover::set_directional_velocity(bool flag);

Description: Sets the flag that indicates whether the avatar's direction is considered in computing the velocity. When this is true, velocity is automatically decomposed into a forward and a lateral velocity (and both may be positive or negative); when it is false, all velocity is always returned as forward velocity (and it is always positive).

setExpectedBroadcastPeriod
void SmoothMover::set_expected_broadcast_period(double period);

Description: Sets the interval at which we expect the SmoothNodes to broadcast their position, in elapsed seconds. This controls the length of time we assume the object has truly stopped, when we receive a long sequence of no updates.

setH
bool SmoothMover::set_h(float h);

Description: Sets the heading only. See set_hpr().

setHpr
bool SmoothMover::set_hpr(LVecBase3f const &hpr);

Description: Specifies the orientation of the SmoothMover at a particular time in the past. When mark_position() is called, this will be recorded (along with hpr and timestamp) in a position report, which will then be used along with all other position reports to determine the smooth position at any particular instant.
The return value is true if any parameter has changed since the last call to set_hpr(), or false if they are the same.

setMat
bool SmoothMover::set_mat(LMatrix4f const &mat);

Description: Specifies the scale, hpr, and pos for the SmoothMover at some particular point, based on the matrix.

setMaxPositionAge
void SmoothMover::set_max_position_age(double age);

Description: Sets the maximum amount of time a position is allowed to remain unchanged before assuming it represents the avatar actually standing still.

setP
bool SmoothMover::set_p(float p);

Description: Sets the pitch only. See set_hpr().

setPhonyTimestamp
void SmoothMover::set_phony_timestamp(void);

Description: Lies and specifies that the current position report was received now. This is usually used for very old position reports for which we're not sure of the actual receipt time.

setPos
bool SmoothMover::set_pos(LVecBase3f const &pos);

These methods are used to specify each position update. Call the appropriate set_* function(s), as needed, and then call mark_position(). The return value of each function is true if the parameter value has changed, or false if it remains the same as last time.
Description: Specifies the position of the SmoothMover at a particular time in the past. When mark_position() is called, this will be recorded (along with hpr and timestamp) in a position report, which will then be used along with all other position reports to determine the smooth position at any particular instant.
The return value is true if any parameter has changed since the last call to set_pos(), or false if they are the same.

setPredictionMode
void SmoothMover::set_prediction_mode(SmoothMover::PredictionMode mode);

Description: Sets the predictioning mode of all SmoothMovers in the world. If this is PM_off, no prediction will be performed, but smoothing might still be performed.

setR
bool SmoothMover::set_r(float r);

Description: Sets the roll only. See set_hpr().

setResetVelocityAge
void SmoothMover::set_reset_velocity_age(double age);

Description: Sets the amount of time that should elapse after the last position report before the velocity is reset to 0. This is similar to max_position_age, but it is only used to determine the resetting of the reported velocity. It should always be greater than or equal to max_position_age.

setScale
bool SmoothMover::set_scale(LVecBase3f const &scale);

This method is just used to specify a scale which is only used when composing the matrix for return by get_smooth_mat(). It might change from time to time, but it is not smoothed.
Filename: smoothMover.I Created by: drose (19Oct01)
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."
Description: Specifies the current scale that should be applied to the transform. This is not smoothed along with pos and hpr, but rather takes effect immediately; it is only here at all so we can return a complete matrix in get_smooth_mat().

setSmoothMode
void SmoothMover::set_smooth_mode(SmoothMover::SmoothMode mode);

Description: Sets the smoothing mode of all SmoothMovers in the world. If this is SM_off, no smoothing or prediction will be performed, and get_smooth_pos() will simply return the position last set by mark_position().

setSx
bool SmoothMover::set_sx(float sx);

Description: Sets the X-axis scale only. See set_scale().

setSy
bool SmoothMover::set_sy(float sy);

Description: Sets the Y-axis scale only. See set_scale().

setSz
bool SmoothMover::set_sz(float sz);

Description: Sets the Z-axis scale only. See set_scale().

setTimestamp
void SmoothMover::set_timestamp(double timestamp);

Description: Specifies the time that the current position report applies. This should be called, along with set_pos() and set_hpr(), before a call to mark_position().

setX
bool SmoothMover::set_x(float x);

Description: Sets the X position only. See set_pos().

setY
bool SmoothMover::set_y(float y);

Description: Sets the Y position only. See set_pos().

setZ
bool SmoothMover::set_z(float z);

Description: Sets the Z position only. See set_pos().

write
void SmoothMover::write(ostream &out) const;

Description:


SocketStream

    from pandac.PandaModules import SocketStream
    Class : SocketStream
    Description : A base class for iostreams that read and write to a (possibly non-blocking) socket.

Inheritance:

    SocketStream: iostream SSReader SSWriter
    iostream: istream ostream
    istream: ios
    ios: ios_base
    ios_base:
    ostream: ios
    SSReader:
    SSWriter:

Methods of SocketStream:

    close
    flush
    isClosed

Methods of iostream:

    flush

Methods of istream:

    get
    seekg
    tellg

Methods of ios:

    bad
    clear
    eof
    fail
    good

Methods of ostream:

    flush
    put
    seekp
    tellp

Methods of SSReader:

    close
    isClosed
    receiveDatagram

Methods of SSWriter:

    close
    considerFlush
    flush
    getCollectTcp
    getCollectTcpInterval
    isClosed
    sendDatagram
    setCollectTcp
    setCollectTcpInterval

Constants in ios_base:

    beg | (seekdir)
cur | (seekdir)
end | (seekdir)
close
virtual void SocketStream::close(void) = 0;

Undocumented function.

flush
bool SocketStream::flush(void);

Description: Sends the most recently queued data now. This only has meaning if set_collect_tcp() has been set to true.

isClosed
virtual bool SocketStream::is_closed(void) = 0;

Undocumented function.

flush
void iostream::flush(void);

Undocumented function.

get
int istream::get(void);

Undocumented function.

seekg
void istream::seekg(unsigned long int pos);

Undocumented function.

tellg
unsigned long int istream::tellg(void);

Undocumented function.

bad
bool ios::bad(void) const;

Undocumented function.

clear
void ios::clear(void);

Undocumented function.

eof
bool ios::eof(void) const;

Undocumented function.

fail
bool ios::fail(void) const;

Undocumented function.

good
bool ios::good(void) const;

Undocumented function.

flush
void ostream::flush(void);

Undocumented function.

put
void ostream::put(char c);

Undocumented function.

seekp
void ostream::seekp(unsigned long int pos);

Undocumented function.

tellp
unsigned long int ostream::tellp(void);

Undocumented function.

close
virtual void SSReader::close(void) = 0;

Undocumented function.

isClosed
virtual bool SSReader::is_closed(void) = 0;

Undocumented function.

receiveDatagram
bool SSReader::receive_datagram(Datagram &dg);

Description: Receives a datagram over the socket by expecting a little-endian 16-bit byte count as a prefix. If the socket stream is non-blocking, may return false if the data is not available; otherwise, returns false only if the socket closes.

close
virtual void SSWriter::close(void) = 0;

Undocumented function.

considerFlush
bool SSWriter::consider_flush(void);

Description: Sends the most recently queued data if enough time has elapsed. This only has meaning if set_collect_tcp() has been set to true.

flush
bool SSWriter::flush(void);

Description: Sends the most recently queued data now. This only has meaning if set_collect_tcp() has been set to true.

getCollectTcp
bool SSWriter::get_collect_tcp(void) const;

Description: Returns the current setting of "collect-tcp" mode. See set_collect_tcp().

getCollectTcpInterval
double SSWriter::get_collect_tcp_interval(void) const;

Description: Returns the interval in time, in seconds, for which to hold TCP packets before sending all of the recently received packets at once. This only has meaning if "collect-tcp" mode is enabled; see set_collect_tcp().

isClosed
virtual bool SSWriter::is_closed(void) = 0;

Undocumented function.

sendDatagram
bool SSWriter::send_datagram(Datagram const &dg);

Description: Transmits the indicated datagram over the socket by prepending it with a little-endian 16-bit byte count. Does not return until the data is sent or the connection is closed, even if the socket stream is non-blocking.

setCollectTcp
void SSWriter::set_collect_tcp(bool collect_tcp);

Description: Enables or disables "collect-tcp" mode. In this mode, individual TCP packets are not sent immediately, but rather they are collected together and accumulated to be sent periodically as one larger TCP packet. This cuts down on overhead from the TCP/IP protocol, especially if many small packets need to be sent on the same connection, but it introduces additional latency (since packets must be held before they can be sent).
See set_collect_tcp_interval() to specify the interval of time for which to hold packets before sending them.
If you enable this mode, you may also need to periodically call consider_flush() to flush the queue if no packets have been sent recently.

setCollectTcpInterval
void SSWriter::set_collect_tcp_interval(double interval);

Description: Specifies the interval in time, in seconds, for which to hold TCP packets before sending all of the recently received packets at once. This only has meaning if "collect-tcp" mode is enabled; see set_collect_tcp().


SocketStreamRecorder

    from pandac.PandaModules import SocketStreamRecorder
    Class : SocketStreamRecorder
    Description : Records any data received from the indicated socket stream. On playback, it will act as if the incoming data is coming over the wire again even if an actual connection is not available.
    Outbound data will not be recorded, but will be sent straight through to the socket if it is connected, or silently ignored if it is not.

Inheritance:

    SocketStreamRecorder: RecorderBase
    RecorderBase: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of SocketStreamRecorder:

    SocketStreamRecorder (Constructor)
    close
    considerFlush
    flush
    getClassType
    getCollectTcp
    getCollectTcpInterval
    isClosed
    receiveDatagram
    sendDatagram
    setCollectTcp
    setCollectTcpInterval

Methods of RecorderBase:

    getClassType
    isPlaying
    isRecording

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
SocketStreamRecorder
SocketStreamRecorder::SocketStreamRecorder(void);

Description:

close
void SocketStreamRecorder::close(void);

Description: See SocketStream::close().

considerFlush
bool SocketStreamRecorder::consider_flush(void);

Description: See SocketStream::consider_flush()

flush
bool SocketStreamRecorder::flush(void);

Description: See SocketStream::flush()

getClassType
static TypeHandle SocketStreamRecorder::get_class_type(void);

Undocumented function.

getCollectTcp
bool SocketStreamRecorder::get_collect_tcp(void) const;

Description: See SocketStream::get_collect_tcp().

getCollectTcpInterval
double SocketStreamRecorder::get_collect_tcp_interval(void) const;

Description: See SocketStream::get_collect_tcp_interval().

isClosed
bool SocketStreamRecorder::is_closed(void);

Description: See SocketStream::is_closed().

receiveDatagram
bool SocketStreamRecorder::receive_datagram(Datagram &dg);

Description: Receives a datagram over the socket by expecting a little-endian 16-bit byte count as a prefix. If the socket stream is non-blocking, may return false if the data is not available; otherwise, returns false only if the socket closes.

sendDatagram
bool SocketStreamRecorder::send_datagram(Datagram const &dg);

Description: See SocketStream::send_datagram().

setCollectTcp
void SocketStreamRecorder::set_collect_tcp(bool collect_tcp);

Description: See SocketStream::set_collect_tcp().

setCollectTcpInterval
void SocketStreamRecorder::set_collect_tcp_interval(double interval);

Description: See SocketStream::set_collect_tcp_interval().

getClassType
static TypeHandle RecorderBase::get_class_type(void);

Undocumented function.

isPlaying
bool RecorderBase::is_playing(void) const;

Description: Returns true if this recorder is presently playing back data from session file, false otherwise. If this is true, play_data() will be called from time to time.

isRecording
bool RecorderBase::is_recording(void) const;

Description: Returns true if this recorder is presently recording data for saving to a session file, false otherwise. If this is true, record_data() will be called from time to time.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Socket_Address

    from pandac.PandaModules import Socket_Address
    Class : Socket_Address
    Description: A simple place to store and munipulate tcp and port address for communication layer

Inheritance:

    Socket_Address:

Methods of Socket_Address:

    SocketAddress (Constructor)
    clear
    getIp
    GetIPAddressRaw
    getIpPort
    getPort
    isMcastRange
    operator <
    operator ==
    setAnyIP
    setBroadcast
    setHost
    setPort
SocketAddress
Socket_Address::Socket_Address(short int port = (0));

Function name : Socket_Address
Description : Constructor that lets us set a port value
Function name : Socket_Address Constructor
Description : Copy Constructor

clear
void Socket_Address::clear(void);

Function name : clear
Description : Set the internal values to a suitable known value

getIp
string Socket_Address::get_ip(void) const;

Function name : get_ip
Description : Return the ip address portion in dot notation string

GetIPAddressRaw
unsigned long int Socket_Address::GetIPAddressRaw(void) const;

Function name : Socket_Address::GetIPAdddressRaw
Description : Return a RAW sockaddr_in

getIpPort
string Socket_Address::get_ip_port(void) const;

Function name : get_ip_port
Description : Return the ip address/port in dot notation string

getPort
unsigned short int Socket_Address::get_port(void) const;

Function name : get_port
Description : Get the port portion as an integer

isMcastRange
bool Socket_Address::isMcastRange(void);

Function name : isMcastRange
Description : return true if the address is in the mcast range.

operator <
bool Socket_Address::operator <(Socket_Address const &in) const;

Function name : <
Description :

operator ==
bool Socket_Address::operator ==(Socket_Address const &in) const;

Function name : Socket_Address::operator==
Description : Allow for normal == operation on a address item.. Will simplify the use in sorted containers..

setAnyIP
bool Socket_Address::set_any_IP(int port);

Function name : set_any_IP
Description : Set to any address and a specified port

setBroadcast
bool Socket_Address::set_broadcast(int port);

Function name : set_broadcast
Description : Set to the broadcast address and a specified port

setHost
bool Socket_Address::set_host(string const &hostname, int port);

Function name : set_host
Description : this function will take a port and string-based tcp address and initialize the address with the information
Return type : bool (address is undefined after an error)
Function name : Socket_Address::set_host
Description :

setPort
bool Socket_Address::set_port(int port);

Function name : set_port
Description : Set to a specified port


Socket_IP

    from pandac.PandaModules import Socket_IP
    Class : Socket_IP
    Description : Base functionality for a INET domain Socket this call should be the starting point for all other unix domain sockets
    SocketIP |
    -------------------------------------------------------------------
    | | | | SocketTCP SocketTCP_Listen SocketUDP_Incoming SocketUDP_OutBound
    socket_fdset

Inheritance:

    Socket_IP: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of Socket_IP:

    SocketIP (Constructor)
    Active
    Close
    getClassType
    GetLastError
    GetPeerName
    GetSocket
    InitNetworkDriver
    SetBlocking
    SetNonBlocking
    SetRecvBufferSize
    SetReuseAddress
    SetSocket

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
SocketIP
Socket_IP::Socket_IP(void);

Function name : Socket_IP::Socket_IP
Description : Def Constructor
Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

Active
bool Socket_IP::Active(void);

Function name : Socket_IP::Active
Description : Ask if the socket is open (allocated)

Close
void Socket_IP::Close(void);

Function name : Socket_IP::Close
Description : closes a socket if it is open (allocated)

getClassType
static TypeHandle Socket_IP::get_class_type(void);

Undocumented function.

GetLastError
static int Socket_IP::GetLastError(void);

Function name : Socket_IP::GetLastError
Description : gets the last errcode from a socket operation

GetPeerName
Socket_Address Socket_IP::GetPeerName(void) const;

Function name : Socket_IP::GetPeerName
Description : Wrapper on berkly getpeername...

GetSocket
int Socket_IP::GetSocket(void);

Function name : Socket_IP::GetSocket
Description : Gets the base socket type
Description : Get The RAW file id of the socket

InitNetworkDriver
static int Socket_IP::InitNetworkDriver(void);

Undocumented function.

SetBlocking
int Socket_IP::SetBlocking(void);

Function name : Socket_IP::SetBlocking
Description : Set the socket to block on subsequent calls to socket functions that address this socket

SetNonBlocking
int Socket_IP::SetNonBlocking(void);

Function name : SetNonBlocking
Description : this function will throw a socket into non-blocking mode

SetRecvBufferSize
int Socket_IP::SetRecvBufferSize(int size);

Function name : Socket_IP::SetRecvBufferSize
Description : Ok it sets the recv buffer size for both tcp and UDP

SetReuseAddress
bool Socket_IP::SetReuseAddress(bool flag = (1));

Function name : SetReuseAddress
Description : Informs a socket to reuse IP address as needed

SetSocket
void Socket_IP::SetSocket(int ins);

Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


Socket_TCP

    from pandac.PandaModules import Socket_TCP
    Class : Socket_TCP
    Description : Base functionality for a TCP connected socket This class is pretty useless by itself but it does hide some of the platform differences from machine to machine

Inheritance:

    Socket_TCP: Socket_IP
    Socket_IP: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of Socket_TCP:

    SocketTCP (Constructor)
    ActiveOpen
    ActiveOpenNonBlocking
    DontLinger
    ErrorIsWouldBlocking
    getClassType
    RecvData
    SendData
    SetLinger
    SetNoDelay
    SetSendBufferSize
    ShutdownSend

Methods of Socket_IP:

    SocketIP (Constructor)
    Active
    Close
    getClassType
    GetLastError
    GetPeerName
    GetSocket
    InitNetworkDriver
    SetBlocking
    SetNonBlocking
    SetRecvBufferSize
    SetReuseAddress
    SetSocket

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
SocketTCP
Socket_TCP::Socket_TCP(int );

Function name : Socket_TCP::Socket_TCP
Description :

ActiveOpen
bool Socket_TCP::ActiveOpen(Socket_Address const &theaddress, bool setdelay);

inline bool ActiveOpen(const Socket_Address & theaddress);
Function name : ActiveOpen
Description : This function will try and set the socket up for active open to a specified address and port provided by the input parameter

ActiveOpenNonBlocking
bool Socket_TCP::ActiveOpenNonBlocking(Socket_Address const &theaddress);

inline bool ActiveOpen(const Socket_Address & theaddress);
Function name : ActiveOpenNonBlocking
Description : This function will try and set the socket up for active open to a specified address and port provided by the input parameter (non-blocking version)

DontLinger
int Socket_TCP::DontLinger(void);

Function name : Socket_TCP::DontLinger
Description : Turn off the linger flag. The socket will quickly release buffered items and free up OS resources. You may lose a stream if you use this flag and do not negotiate the close at the application layer.

ErrorIsWouldBlocking
bool Socket_TCP::ErrorIs_WouldBlocking(int err);

Undocumented function.

getClassType
static TypeHandle Socket_TCP::get_class_type(void);

Undocumented function.

RecvData
string Socket_TCP::RecvData(int max_len);

inline int RecvData( std::string &str, int max_len);
Function name : Socket_TCP::RecvData
Description : Read the data from the connection
Return type : int
- if error
0 if socket closed for read or length is 0 + bytes read ( May be smaller than requested)

SendData
int Socket_TCP::SendData(string const &str);

Function name : Socket_TCP::SendData
Description : Ok Lets Send the Data
Return type : int
- if error
0 if socket closed for write or lengh is 0 + bytes writen ( May be smaller than requested)

SetLinger
int Socket_TCP::SetLinger(int interval_seconds = (0));

Function name : SetLinger
Description : will control the behavior of SO_LINGER for a TCP socket

SetNoDelay
int Socket_TCP::SetNoDelay(bool flag = (1));

Function name : SetNoDelay
Description : Disable Nagle algorithm. Don't delay send to coalesce packets

SetSendBufferSize
int Socket_TCP::SetSendBufferSize(int insize);

Function name : SetSendBufferSize
Description : Just like it sounds. Sets a buffered socket recv buffer size. This function does not refuse ranges outside hard-coded OS limits

ShutdownSend
bool Socket_TCP::ShutdownSend(void);

Undocumented function.

SocketIP
Socket_IP::Socket_IP(void);

Function name : Socket_IP::Socket_IP
Description : Def Constructor
Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

Active
bool Socket_IP::Active(void);

Function name : Socket_IP::Active
Description : Ask if the socket is open (allocated)

Close
void Socket_IP::Close(void);

Function name : Socket_IP::Close
Description : closes a socket if it is open (allocated)

getClassType
static TypeHandle Socket_IP::get_class_type(void);

Undocumented function.

GetLastError
static int Socket_IP::GetLastError(void);

Function name : Socket_IP::GetLastError
Description : gets the last errcode from a socket operation

GetPeerName
Socket_Address Socket_IP::GetPeerName(void) const;

Function name : Socket_IP::GetPeerName
Description : Wrapper on berkly getpeername...

GetSocket
int Socket_IP::GetSocket(void);

Function name : Socket_IP::GetSocket
Description : Gets the base socket type
Description : Get The RAW file id of the socket

InitNetworkDriver
static int Socket_IP::InitNetworkDriver(void);

Undocumented function.

SetBlocking
int Socket_IP::SetBlocking(void);

Function name : Socket_IP::SetBlocking
Description : Set the socket to block on subsequent calls to socket functions that address this socket

SetNonBlocking
int Socket_IP::SetNonBlocking(void);

Function name : SetNonBlocking
Description : this function will throw a socket into non-blocking mode

SetRecvBufferSize
int Socket_IP::SetRecvBufferSize(int size);

Function name : Socket_IP::SetRecvBufferSize
Description : Ok it sets the recv buffer size for both tcp and UDP

SetReuseAddress
bool Socket_IP::SetReuseAddress(bool flag = (1));

Function name : SetReuseAddress
Description : Informs a socket to reuse IP address as needed

SetSocket
void Socket_IP::SetSocket(int ins);

Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


Socket_TCP_Listen

    from pandac.PandaModules import Socket_TCP_Listen
    Class : Socket_TCP_Listen
    Description : Base functionality for a TCP rendezvous socket

Inheritance:

    Socket_TCP_Listen: Socket_IP
    Socket_IP: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of Socket_TCP_Listen:

    SocketTCPListen (Constructor)
    getClassType
    GetIncomingConnection
    OpenForListen

Methods of Socket_IP:

    SocketIP (Constructor)
    Active
    Close
    getClassType
    GetLastError
    GetPeerName
    GetSocket
    InitNetworkDriver
    SetBlocking
    SetNonBlocking
    SetRecvBufferSize
    SetReuseAddress
    SetSocket

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
SocketTCPListen
Socket_TCP_Listen::Socket_TCP_Listen(void);

Undocumented function.

getClassType
static TypeHandle Socket_TCP_Listen::get_class_type(void);

Undocumented function.

GetIncomingConnection
bool Socket_TCP_Listen::GetIncomingConnection(Socket_TCP &newsession, Socket_Address &address);

Function name : GetIncomingConnection
Description : This function is used to accept new connections

OpenForListen
bool Socket_TCP_Listen::OpenForListen(Socket_Address const &Inaddess, int backlog_size = (1024));

Function name : OpenForListen
Description : This function will initialize a listening Socket

SocketIP
Socket_IP::Socket_IP(void);

Function name : Socket_IP::Socket_IP
Description : Def Constructor
Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

Active
bool Socket_IP::Active(void);

Function name : Socket_IP::Active
Description : Ask if the socket is open (allocated)

Close
void Socket_IP::Close(void);

Function name : Socket_IP::Close
Description : closes a socket if it is open (allocated)

getClassType
static TypeHandle Socket_IP::get_class_type(void);

Undocumented function.

GetLastError
static int Socket_IP::GetLastError(void);

Function name : Socket_IP::GetLastError
Description : gets the last errcode from a socket operation

GetPeerName
Socket_Address Socket_IP::GetPeerName(void) const;

Function name : Socket_IP::GetPeerName
Description : Wrapper on berkly getpeername...

GetSocket
int Socket_IP::GetSocket(void);

Function name : Socket_IP::GetSocket
Description : Gets the base socket type
Description : Get The RAW file id of the socket

InitNetworkDriver
static int Socket_IP::InitNetworkDriver(void);

Undocumented function.

SetBlocking
int Socket_IP::SetBlocking(void);

Function name : Socket_IP::SetBlocking
Description : Set the socket to block on subsequent calls to socket functions that address this socket

SetNonBlocking
int Socket_IP::SetNonBlocking(void);

Function name : SetNonBlocking
Description : this function will throw a socket into non-blocking mode

SetRecvBufferSize
int Socket_IP::SetRecvBufferSize(int size);

Function name : Socket_IP::SetRecvBufferSize
Description : Ok it sets the recv buffer size for both tcp and UDP

SetReuseAddress
bool Socket_IP::SetReuseAddress(bool flag = (1));

Function name : SetReuseAddress
Description : Informs a socket to reuse IP address as needed

SetSocket
void Socket_IP::SetSocket(int ins);

Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


Socket_UDP

    from pandac.PandaModules import Socket_UDP
    Class : Socket_UDP
    Description : Base functionality for a combination UDP Reader and Writer. This duplicates code from Socket_UDP_Outgoing, to avoid the problems of multiple inheritance.

Inheritance:

    Socket_UDP: Socket_UDP_Incoming
    Socket_UDP_Incoming: Socket_IP
    Socket_IP: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of Socket_UDP:

    SocketUDP (Constructor)
    getClassType
    InitNoAddress
    InitToAddress
    Send
    SendTo
    SetToBroadCast

Methods of Socket_UDP_Incoming:

    SocketUDPIncoming (Constructor)
    getClassType
    GetPacket
    InitNoAddress
    OpenForInput
    OpenForInputMCast
    SendTo
    SetToBroadCast

Methods of Socket_IP:

    SocketIP (Constructor)
    Active
    Close
    getClassType
    GetLastError
    GetPeerName
    GetSocket
    InitNetworkDriver
    SetBlocking
    SetNonBlocking
    SetRecvBufferSize
    SetReuseAddress
    SetSocket

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
SocketUDP
Socket_UDP::Socket_UDP(void);

Undocumented function.

getClassType
static TypeHandle Socket_UDP::get_class_type(void);

Undocumented function.

InitNoAddress
bool Socket_UDP::InitNoAddress(void);

use this interface for a none tagreted UDP connection
Function name : Socket_UDP::InitNoAddress
Description : This will set a udp up for targeted sends..
Return type : inline bool
Argument : void

InitToAddress
bool Socket_UDP::InitToAddress(Socket_Address const &address);

use this interface for a tagreted UDP connection
Function name : Socket_UDP::InitToAddress
Description : Connects the Socket to a Specified address
Return type : inline bool
Argument : NetAddress & address

Send
bool Socket_UDP::Send(string const &data);

Function name : Socket_UDP::Send
Description : Send data to connected address
Return type : inline bool
Argument : char * data
Argument : int len
Argument : const string &data

SendTo
bool Socket_UDP::SendTo(string const &data, Socket_Address const &address);

Function name : Socket_UDP::SendTo
Description : Send data to specified address
Return type : inline bool
Argument : char * data
Argument : int len
Argument : NetAddress & address
Argument : const string &data

SetToBroadCast
bool Socket_UDP::SetToBroadCast(void);

Function name : Socket_UDP:SetToBroadCast
Description : Ask the OS to let us receive BROADCASt packets on this port.. Return type : bool
Argument : void

SocketUDPIncoming
Socket_UDP_Incoming::Socket_UDP_Incoming(void);

Undocumented function.

getClassType
static TypeHandle Socket_UDP_Incoming::get_class_type(void);

Undocumented function.

GetPacket
bool Socket_UDP_Incoming::GetPacket(char *data, int *max_len, Socket_Address &address);

Function name : Socket_UDP_Incoming::GetPacket
Description : Grabs a dataset off the listening UDP socket and fills in the source address information
Return type : bool
Argument : char * data
Argument : int *max_len
Argument : NetAddress & address

InitNoAddress
bool Socket_UDP_Incoming::InitNoAddress(void);

Function name : Socket_UDP_Incoming::InitNoAddress
Description : Set this socket to work with out a bound external address.. Return type : inline bool
Argument : void

OpenForInput
bool Socket_UDP_Incoming::OpenForInput(Socket_Address const &address);

Function name : Socket_UDP_Incoming::OpenForInput
Description : Starts a UDP socket listening on a port
Return type : bool
Argument : NetAddress & address

OpenForInputMCast
bool Socket_UDP_Incoming::OpenForInputMCast(Socket_Address const &address);

Function name : Socket_UDP_Incoming::OpenForInput
Description : Starts a UDP socket listening on a port
Return type : bool
Argument : NetAddress & address

SendTo
bool Socket_UDP_Incoming::SendTo(char const *data, int len, Socket_Address const &address);

Function name : SocketUDP_Outgoing::SendTo
Description : Send data to specified address
Return type : inline bool
Argument : char * data
Argument : int len
Argument : NetAddress & address

SetToBroadCast
bool Socket_UDP_Incoming::SetToBroadCast(void);

Function name : Socket_UDP_Incoming::tToBroadCast
Description : Flips the OS bits that allow for brodcast packets to com in on this port
Return type : bool
Argument : void

SocketIP
Socket_IP::Socket_IP(void);

Function name : Socket_IP::Socket_IP
Description : Def Constructor
Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

Active
bool Socket_IP::Active(void);

Function name : Socket_IP::Active
Description : Ask if the socket is open (allocated)

Close
void Socket_IP::Close(void);

Function name : Socket_IP::Close
Description : closes a socket if it is open (allocated)

getClassType
static TypeHandle Socket_IP::get_class_type(void);

Undocumented function.

GetLastError
static int Socket_IP::GetLastError(void);

Function name : Socket_IP::GetLastError
Description : gets the last errcode from a socket operation

GetPeerName
Socket_Address Socket_IP::GetPeerName(void) const;

Function name : Socket_IP::GetPeerName
Description : Wrapper on berkly getpeername...

GetSocket
int Socket_IP::GetSocket(void);

Function name : Socket_IP::GetSocket
Description : Gets the base socket type
Description : Get The RAW file id of the socket

InitNetworkDriver
static int Socket_IP::InitNetworkDriver(void);

Undocumented function.

SetBlocking
int Socket_IP::SetBlocking(void);

Function name : Socket_IP::SetBlocking
Description : Set the socket to block on subsequent calls to socket functions that address this socket

SetNonBlocking
int Socket_IP::SetNonBlocking(void);

Function name : SetNonBlocking
Description : this function will throw a socket into non-blocking mode

SetRecvBufferSize
int Socket_IP::SetRecvBufferSize(int size);

Function name : Socket_IP::SetRecvBufferSize
Description : Ok it sets the recv buffer size for both tcp and UDP

SetReuseAddress
bool Socket_IP::SetReuseAddress(bool flag = (1));

Function name : SetReuseAddress
Description : Informs a socket to reuse IP address as needed

SetSocket
void Socket_IP::SetSocket(int ins);

Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


Socket_UDP_Incoming

    from pandac.PandaModules import Socket_UDP_Incoming
    Class : Socket_UDP_Incoming
    Description : Base functionality for a UDP Reader

Inheritance:

    Socket_UDP_Incoming: Socket_IP
    Socket_IP: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of Socket_UDP_Incoming:

    SocketUDPIncoming (Constructor)
    getClassType
    GetPacket
    InitNoAddress
    OpenForInput
    OpenForInputMCast
    SendTo
    SetToBroadCast

Methods of Socket_IP:

    SocketIP (Constructor)
    Active
    Close
    getClassType
    GetLastError
    GetPeerName
    GetSocket
    InitNetworkDriver
    SetBlocking
    SetNonBlocking
    SetRecvBufferSize
    SetReuseAddress
    SetSocket

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
SocketUDPIncoming
Socket_UDP_Incoming::Socket_UDP_Incoming(void);

Undocumented function.

getClassType
static TypeHandle Socket_UDP_Incoming::get_class_type(void);

Undocumented function.

GetPacket
bool Socket_UDP_Incoming::GetPacket(char *data, int *max_len, Socket_Address &address);

Function name : Socket_UDP_Incoming::GetPacket
Description : Grabs a dataset off the listening UDP socket and fills in the source address information
Return type : bool
Argument : char * data
Argument : int *max_len
Argument : NetAddress & address

InitNoAddress
bool Socket_UDP_Incoming::InitNoAddress(void);

Function name : Socket_UDP_Incoming::InitNoAddress
Description : Set this socket to work with out a bound external address.. Return type : inline bool
Argument : void

OpenForInput
bool Socket_UDP_Incoming::OpenForInput(Socket_Address const &address);

Function name : Socket_UDP_Incoming::OpenForInput
Description : Starts a UDP socket listening on a port
Return type : bool
Argument : NetAddress & address

OpenForInputMCast
bool Socket_UDP_Incoming::OpenForInputMCast(Socket_Address const &address);

Function name : Socket_UDP_Incoming::OpenForInput
Description : Starts a UDP socket listening on a port
Return type : bool
Argument : NetAddress & address

SendTo
bool Socket_UDP_Incoming::SendTo(char const *data, int len, Socket_Address const &address);

Function name : SocketUDP_Outgoing::SendTo
Description : Send data to specified address
Return type : inline bool
Argument : char * data
Argument : int len
Argument : NetAddress & address

SetToBroadCast
bool Socket_UDP_Incoming::SetToBroadCast(void);

Function name : Socket_UDP_Incoming::tToBroadCast
Description : Flips the OS bits that allow for brodcast packets to com in on this port
Return type : bool
Argument : void

SocketIP
Socket_IP::Socket_IP(void);

Function name : Socket_IP::Socket_IP
Description : Def Constructor
Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

Active
bool Socket_IP::Active(void);

Function name : Socket_IP::Active
Description : Ask if the socket is open (allocated)

Close
void Socket_IP::Close(void);

Function name : Socket_IP::Close
Description : closes a socket if it is open (allocated)

getClassType
static TypeHandle Socket_IP::get_class_type(void);

Undocumented function.

GetLastError
static int Socket_IP::GetLastError(void);

Function name : Socket_IP::GetLastError
Description : gets the last errcode from a socket operation

GetPeerName
Socket_Address Socket_IP::GetPeerName(void) const;

Function name : Socket_IP::GetPeerName
Description : Wrapper on berkly getpeername...

GetSocket
int Socket_IP::GetSocket(void);

Function name : Socket_IP::GetSocket
Description : Gets the base socket type
Description : Get The RAW file id of the socket

InitNetworkDriver
static int Socket_IP::InitNetworkDriver(void);

Undocumented function.

SetBlocking
int Socket_IP::SetBlocking(void);

Function name : Socket_IP::SetBlocking
Description : Set the socket to block on subsequent calls to socket functions that address this socket

SetNonBlocking
int Socket_IP::SetNonBlocking(void);

Function name : SetNonBlocking
Description : this function will throw a socket into non-blocking mode

SetRecvBufferSize
int Socket_IP::SetRecvBufferSize(int size);

Function name : Socket_IP::SetRecvBufferSize
Description : Ok it sets the recv buffer size for both tcp and UDP

SetReuseAddress
bool Socket_IP::SetReuseAddress(bool flag = (1));

Function name : SetReuseAddress
Description : Informs a socket to reuse IP address as needed

SetSocket
void Socket_IP::SetSocket(int ins);

Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


Socket_UDP_Outgoing

    from pandac.PandaModules import Socket_UDP_Outgoing
    Class : Socket_UDP_Outgoing
    Description : Base functionality for a UDP Sending Socket

Inheritance:

    Socket_UDP_Outgoing: Socket_IP
    Socket_IP: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of Socket_UDP_Outgoing:

    SocketUDPOutgoing (Constructor)
    getClassType
    InitNoAddress
    InitToAddress
    Send
    SendTo
    SetToBroadCast

Methods of Socket_IP:

    SocketIP (Constructor)
    Active
    Close
    getClassType
    GetLastError
    GetPeerName
    GetSocket
    InitNetworkDriver
    SetBlocking
    SetNonBlocking
    SetRecvBufferSize
    SetReuseAddress
    SetSocket

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
SocketUDPOutgoing
Socket_UDP_Outgoing::Socket_UDP_Outgoing(void);

Undocumented function.

getClassType
static TypeHandle Socket_UDP_Outgoing::get_class_type(void);

Undocumented function.

InitNoAddress
bool Socket_UDP_Outgoing::InitNoAddress(void);

use this interface for a none tagreted UDP connection
Function name : Socket_UDP_Outgoing::InitNoAddress
Description : This will set a udp up for targeted sends..
Return type : inline bool
Argument : void

InitToAddress
bool Socket_UDP_Outgoing::InitToAddress(Socket_Address const &address);

use this interface for a tagreted UDP connection
Function name : Socket_UDP_Outgoing::InitToAddress
Description : Connects the Socket to a Specified address
Return type : inline bool
Argument : NetAddress & address

Send
bool Socket_UDP_Outgoing::Send(string const &data);

Function name : Socket_UDP_Outgoing::Send
Description : Send data to connected address
Return type : inline bool
Argument : char * data
Argument : int len
Argument : const string &data

SendTo
bool Socket_UDP_Outgoing::SendTo(string const &data, Socket_Address const &address);

Function name : Socket_UDP_Outgoing::SendTo
Description : Send data to specified address
Return type : inline bool
Argument : char * data
Argument : int len
Argument : NetAddress & address
Argument : const string &data

SetToBroadCast
bool Socket_UDP_Outgoing::SetToBroadCast(void);

Function name : Socket_UDP_Outgoing:SetToBroadCast
Description : Ask the OS to let us receive BROADCASt packets on this port.. Return type : bool
Argument : void

SocketIP
Socket_IP::Socket_IP(void);

Function name : Socket_IP::Socket_IP
Description : Def Constructor
Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

Active
bool Socket_IP::Active(void);

Function name : Socket_IP::Active
Description : Ask if the socket is open (allocated)

Close
void Socket_IP::Close(void);

Function name : Socket_IP::Close
Description : closes a socket if it is open (allocated)

getClassType
static TypeHandle Socket_IP::get_class_type(void);

Undocumented function.

GetLastError
static int Socket_IP::GetLastError(void);

Function name : Socket_IP::GetLastError
Description : gets the last errcode from a socket operation

GetPeerName
Socket_Address Socket_IP::GetPeerName(void) const;

Function name : Socket_IP::GetPeerName
Description : Wrapper on berkly getpeername...

GetSocket
int Socket_IP::GetSocket(void);

Function name : Socket_IP::GetSocket
Description : Gets the base socket type
Description : Get The RAW file id of the socket

InitNetworkDriver
static int Socket_IP::InitNetworkDriver(void);

Undocumented function.

SetBlocking
int Socket_IP::SetBlocking(void);

Function name : Socket_IP::SetBlocking
Description : Set the socket to block on subsequent calls to socket functions that address this socket

SetNonBlocking
int Socket_IP::SetNonBlocking(void);

Function name : SetNonBlocking
Description : this function will throw a socket into non-blocking mode

SetRecvBufferSize
int Socket_IP::SetRecvBufferSize(int size);

Function name : Socket_IP::SetRecvBufferSize
Description : Ok it sets the recv buffer size for both tcp and UDP

SetReuseAddress
bool Socket_IP::SetReuseAddress(bool flag = (1));

Function name : SetReuseAddress
Description : Informs a socket to reuse IP address as needed

SetSocket
void Socket_IP::SetSocket(int ins);

Function name : Socket_IP::SetSocket
Description : Assigns an existing socket to this class

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


SoundInterval

    from direct.interval.SoundInterval import SoundInterval

Inheritance:

    SoundInterval:

Methods of SoundInterval:

    __init__
    finish
    loop
    privFinalize
    privInitialize
    privInterrupt
    privStep
__init__
def __init__(self, sound, loop=0, duration=0.0, name=None, volume=1.0, startTime=0.0, node=None, seamlessLoop=True, listenerNode=None, cutOff=None)

__init__(sound, loop, name)

finish
def finish(self, *args, **kArgs)

Undocumented function.

loop
def loop(self, startT=0.0, endT=-1.0, playRate=1.0, stagger=False)

Undocumented function.

privFinalize
def privFinalize(self)

Undocumented function.

privInitialize
def privInitialize(self, t)

Undocumented function.

privInterrupt
def privInterrupt(self)

Undocumented function.

privStep
def privStep(self, t)

Undocumented function.


SparkleParticleRenderer

    from pandac.PandaModules import SparkleParticleRenderer
    Class : SparkleParticleRenderer
    Description : pretty sparkly things.

Inheritance:

    SparkleParticleRenderer: BaseParticleRenderer
    BaseParticleRenderer: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of SparkleParticleRenderer:

    SparkleParticleRenderer (Constructor)
    getBirthRadius
    getCenterColor
    getDeathRadius
    getEdgeColor
    getLifeScale
    setBirthRadius
    setCenterColor
    setDeathRadius
    setEdgeColor
    setLifeScale

Methods of BaseParticleRenderer:

    getAlphaMode
    getIgnoreScale
    getRenderNode
    getRenderNodePath
    getUserAlpha
    output
    setAlphaMode
    setColorBlendMode
    setIgnoreScale
    setUserAlpha
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in SparkleParticleRenderer:

    SPNOSCALE | (SparkleParticleLifeScale)
SPSCALE | (SparkleParticleLifeScale)

Constants in BaseParticleRenderer:

    PRALPHANONE | (ParticleRendererAlphaMode)
PRALPHAOUT | (ParticleRendererAlphaMode)
PRALPHAIN | (ParticleRendererAlphaMode)
PRALPHAINOUT | (ParticleRendererAlphaMode)
PRALPHAUSER | (ParticleRendererAlphaMode)
PRNOTINITIALIZEDYET | (ParticleRendererAlphaMode)
PPNOBLEND | (ParticleRendererBlendMethod)
PPBLENDLINEAR | (ParticleRendererBlendMethod)
PPBLENDCUBIC | (ParticleRendererBlendMethod)
SparkleParticleRenderer
SparkleParticleRenderer::SparkleParticleRenderer(void);

Description : Default Constructor
Description : Constructor
Description : Copy Constructor

getBirthRadius
float SparkleParticleRenderer::get_birth_radius(void) const;

Undocumented function.

getCenterColor
LVecBase4f const &SparkleParticleRenderer::get_center_color(void) const;

Undocumented function.

getDeathRadius
float SparkleParticleRenderer::get_death_radius(void) const;

Undocumented function.

getEdgeColor
LVecBase4f const &SparkleParticleRenderer::get_edge_color(void) const;

Undocumented function.

getLifeScale
SparkleParticleRenderer::SparkleParticleLifeScale SparkleParticleRenderer::get_life_scale(void) const;

Undocumented function.

setBirthRadius
void SparkleParticleRenderer::set_birth_radius(float radius);

Undocumented function.

setCenterColor
void SparkleParticleRenderer::set_center_color(LVecBase4f const &c);

Undocumented function.

setDeathRadius
void SparkleParticleRenderer::set_death_radius(float radius);

Undocumented function.

setEdgeColor
void SparkleParticleRenderer::set_edge_color(LVecBase4f const &c);

Undocumented function.

setLifeScale
void SparkleParticleRenderer::set_life_scale(SparkleParticleRenderer::SparkleParticleLifeScale );

Undocumented function.

getAlphaMode
BaseParticleRenderer::ParticleRendererAlphaMode BaseParticleRenderer::get_alpha_mode(void) const;

Undocumented function.

getIgnoreScale
bool BaseParticleRenderer::get_ignore_scale(void) const;

Description : Returns the "ignore scale" flag. See set_ignore_scale().

getRenderNode
GeomNode *BaseParticleRenderer::get_render_node(void) const;

Class : Published
Description : Query the geomnode pointer

getRenderNodePath
NodePath BaseParticleRenderer::get_render_node_path(void) const;

Class : Published
Description : Query the geomnode pointer

getUserAlpha
float BaseParticleRenderer::get_user_alpha(void) const;

Description : gets alpha for "user" alpha mode

output
virtual void BaseParticleRenderer::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAlphaMode
void BaseParticleRenderer::set_alpha_mode(BaseParticleRenderer::ParticleRendererAlphaMode am);

Undocumented function.

setColorBlendMode
void BaseParticleRenderer::set_color_blend_mode(ColorBlendAttrib::Mode bm, ColorBlendAttrib::Operand oa = (O_zero), ColorBlendAttrib::Operand ob = (O_zero));

Description : sets the ColorBlendAttrib on the _render_node

setIgnoreScale
void BaseParticleRenderer::set_ignore_scale(bool ignore_scale);

Description : Sets the "ignore scale" flag. When this is true, particles will be drawn as if they had no scale, regardless of whatever scale might be inherited from above the render node in the scene graph.
This flag is mainly useful to support legacy code that was written for a very early version of Panda, whose sprite particle renderer had a bug that incorrectly ignored the inherited scale.

setUserAlpha
void BaseParticleRenderer::set_user_alpha(float ua);

Description : sets alpha for "user" alpha mode

write
virtual void BaseParticleRenderer::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


SparseArray

    from pandac.PandaModules import SparseArray
    Class : SparseArray
    Description : This class records a set of integers, where each integer is either present or not present in the set.
    It is similar in principle and in interface to a BitArray (which can be thought of as a set of integers, one integer corresponding to each different bit position), but the SparseArray is implemented as a list of min/max subrange lists, rather than as a bitmask.
    This makes it particularly efficient for storing sets which consist of large sections of consecutively included or consecutively excluded elements, with arbitrarily large integers, but particularly inefficient for doing boolean operations such as & or |.
    Also, unlike BitArray, the SparseArray can store negative integers.

Inheritance:

    SparseArray:

Methods of SparseArray:

    SparseArray (Constructor)
    allOff
    allOn
    bit
    clear
    clearBit
    clearRange
    compareTo
    getBit
    getClassType
    getHighestBits
    getHighestOffBit
    getHighestOnBit
    getLowestOffBit
    getLowestOnBit
    getMaxNumBits
    getNextHigherDifferentBit
    getNumBits
    getNumOffBits
    getNumOnBits
    getNumSubranges
    getSubrangeBegin
    getSubrangeEnd
    hasAllOf
    hasAnyOf
    hasBitsInCommon
    hasMaxNumBits
    invertInPlace
    isAllOn
    isInverse
    isZero
    lowerOn
    operator !=
    operator &
    operator &=
    operator <
    operator <<
    operator <<=
    operator =
    operator ==
    operator >>
    operator >>=
    operator ^
    operator ^=
    operator |
    operator |=
    operator ~
    output
    range
    setBit
    setBitTo
    setRange
    setRangeTo
SparseArray
SparseArray::SparseArray(void);

Description:

allOff
static SparseArray SparseArray::all_off(void);

Description: Returns a SparseArray whose bits are all off.

allOn
static SparseArray SparseArray::all_on(void);

Description: Returns a SparseArray with an infinite array of bits, all on.

bit
static SparseArray SparseArray::bit(int index);

Description: Returns a SparseArray with only the indicated bit on.

clear
void SparseArray::clear(void);

Description: Sets all the bits in the SparseArray off.

clearBit
void SparseArray::clear_bit(int index);

Description: Sets the nth bit off. If n >= get_num_bits(), this automatically extends the array.

clearRange
void SparseArray::clear_range(int low_bit, int size);

Description: Sets the indicated range of bits off.

compareTo
int SparseArray::compare_to(SparseArray const &other) const;

Description: Returns a number less than zero if this SparseArray sorts before the indicated other SparseArray, greater than zero if it sorts after, or 0 if they are equivalent. This is based on the same ordering defined by operator <.

getBit
bool SparseArray::get_bit(int index) const;

Description: Returns true if the nth bit is set, false if it is cleared. It is valid for n to increase beyond get_num_bits(), but the return value get_num_bits() will always be the same.

getClassType
static TypeHandle SparseArray::get_class_type(void);

Undocumented function.

getHighestBits
bool SparseArray::get_highest_bits(void) const;

Description: Returns true if the infinite set of bits beyond get_num_bits() are all on, or false of they are all off.

getHighestOffBit
int SparseArray::get_highest_off_bit(void) const;

Description: Returns the index of the highest 0 bit in the array. Returns -1 if there are no 0 bits or if there an infinite number of 1 bits.

getHighestOnBit
int SparseArray::get_highest_on_bit(void) const;

Description: Returns the index of the highest 1 bit in the array. Returns -1 if there are no 1 bits or if there an infinite number of 1 bits.

getLowestOffBit
int SparseArray::get_lowest_off_bit(void) const;

Description: Returns the index of the lowest 0 bit in the array. Returns -1 if there are no 0 bits or if there are an infinite number of 1 bits.

getLowestOnBit
int SparseArray::get_lowest_on_bit(void) const;

Description: Returns the index of the lowest 1 bit in the array. Returns -1 if there are no 1 bits or if there are an infinite number of 1 bits.

getMaxNumBits
static int SparseArray::get_max_num_bits(void);

Description: If get_max_num_bits() returned true, this method may be called to return the maximum number of bits that may be stored in this structure. It is an error to call this if get_max_num_bits() return false.
It is always an error to call this method. The SparseArray has no maximum number of bits. This method is defined so generic programming algorithms can use BitMask or SparseArray interchangeably.

getNextHigherDifferentBit
int SparseArray::get_next_higher_different_bit(int low_bit) const;

Description: Returns the index of the next bit in the array, above low_bit, whose value is different that the value of low_bit. Returns low_bit again if all bits higher than low_bit have the same value.
This can be used to quickly iterate through all of the bits in the array.

getNumBits
int SparseArray::get_num_bits(void) const;

Description: Returns the current number of possibly different bits in this array. There are actually an infinite number of bits, but every bit higher than this bit will have the same value, either 0 or 1 (see get_highest_bits()).
This number may grow and/or shrink automatically as needed.

getNumOffBits
int SparseArray::get_num_off_bits(void) const;

Description: Returns the number of bits that are set to 0 in the array. Returns -1 if there are an infinite number of 0 bits.

getNumOnBits
int SparseArray::get_num_on_bits(void) const;

Description: Returns the number of bits that are set to 1 in the array. Returns -1 if there are an infinite number of 1 bits.

getNumSubranges
int SparseArray::get_num_subranges(void) const;

Description: Returns the number of separate subranges stored in the SparseArray. You can use this limit to iterate through the subranges, calling get_subrange_begin() and get_subrange_end() for each one.
Also see is_inverse().

getSubrangeBegin
int SparseArray::get_subrange_begin(int n) const;

Description: Returns the first numeric element in the nth subrange.
Also see is_inverse().

getSubrangeEnd
int SparseArray::get_subrange_end(int n) const;

Description: Returns the last numeric element, plus one, in the nth subrange.
Also see is_inverse().

hasAllOf
bool SparseArray::has_all_of(int low_bit, int size) const;

Description: Returns true if all bits in the indicated range are set, false otherwise.

hasAnyOf
bool SparseArray::has_any_of(int low_bit, int size) const;

Description: Returns true if any bit in the indicated range is set, false otherwise.

hasBitsInCommon
bool SparseArray::has_bits_in_common(SparseArray const &other) const;

Description: Returns true if this SparseArray has any "one" bits in common with the other one, false otherwise.
This is equivalent to (array & other) != 0, but may be faster.

hasMaxNumBits
static bool SparseArray::has_max_num_bits(void);

Description: Returns true if there is a maximum number of bits that may be stored in this structure, false otherwise. If this returns true, the number may be queried in get_max_num_bits().
This method always returns false. The SparseArray has no maximum number of bits. This method is defined so generic programming algorithms can use BitMask or SparseArray interchangeably.

invertInPlace
void SparseArray::invert_in_place(void);

Description: Inverts all the bits in the SparseArray. This is equivalent to array = ~array.

isAllOn
bool SparseArray::is_all_on(void) const;

Description: Returns true if the entire bitmask is one, false otherwise.

isInverse
bool SparseArray::is_inverse(void) const;

Description: If this is true, the SparseArray is actually defined as a list of subranges of integers that are *not* in the set. If this is false (the default), then the subranges define the integers that *are* in the set. This affects the interpretation of the values returned by iterating through get_num_subranges().

isZero
bool SparseArray::is_zero(void) const;

Description: Returns true if the entire bitmask is zero, false otherwise.

lowerOn
static SparseArray SparseArray::lower_on(int on_bits);

Description: Returns a SparseArray whose lower on_bits bits are on.

operator !=
bool SparseArray::operator !=(SparseArray const &other) const;

Description:

operator &
SparseArray SparseArray::operator &(SparseArray const &other) const;

Description:

operator &=
void SparseArray::operator &=(SparseArray const &other);

Description:

operator <
bool SparseArray::operator <(SparseArray const &other) const;

Description: Returns true if the unsigned integer which is represented by this SparseArray is less than that of the other one, false otherwise.

operator <<
SparseArray SparseArray::operator <<(int shift) const;

Description:

operator <<=
void SparseArray::operator <<=(int shift);

Description: Logical left shift. Since negative bit positions have meaning in a SparseArray, real bit values are rotated in on the left (not necessarily zero).

operator =
SparseArray &SparseArray::operator =(SparseArray const &copy);

Description:

operator ==
bool SparseArray::operator ==(SparseArray const &other) const;

Description:

operator >>
SparseArray SparseArray::operator >>(int shift) const;

Description:

operator >>=
void SparseArray::operator >>=(int shift);

Description: Logical right shift. The rightmost bits become negative, but are not lost; they will reappear into the zero position if the array is later left-shifted.

operator ^
SparseArray SparseArray::operator ^(SparseArray const &other) const;

Description:

operator ^=
void SparseArray::operator ^=(SparseArray const &other);

Description:

operator |
SparseArray SparseArray::operator |(SparseArray const &other) const;

Description:

operator |=
void SparseArray::operator |=(SparseArray const &other);

Description:

operator ~
SparseArray SparseArray::operator ~(void) const;

Undocumented function.

output
void SparseArray::output(ostream &out) const;

Description:

range
static SparseArray SparseArray::range(int low_bit, int size);

Description: Returns a SparseArray whose size bits, beginning at low_bit, are on.

setBit
void SparseArray::set_bit(int index);

Description: Sets the nth bit on. If n >= get_num_bits(), this automatically extends the array.

setBitTo
void SparseArray::set_bit_to(int index, bool value);

Description: Sets the nth bit either on or off, according to the indicated bool value.

setRange
void SparseArray::set_range(int low_bit, int size);

Description: Sets the indicated range of bits on.

setRangeTo
void SparseArray::set_range_to(bool value, int low_bit, int size);

Description: Sets the indicated range of bits to either on or off.


SphereSurfaceEmitter

    from pandac.PandaModules import SphereSurfaceEmitter
    Class : SphereSurfaceEmitter
    Description : Describes a curved space in which particles are generated.

Inheritance:

    SphereSurfaceEmitter: BaseParticleEmitter
    BaseParticleEmitter: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of SphereSurfaceEmitter:

    SphereSurfaceEmitter (Constructor)
    getRadius
    setRadius

Methods of BaseParticleEmitter:

    generate
    getAmplitude
    getAmplitudeSpread
    getEmissionType
    getExplicitLaunchVector
    getOffsetForce
    getRadiateOrigin
    makeCopy
    output
    setAmplitude
    setAmplitudeSpread
    setEmissionType
    setExplicitLaunchVector
    setOffsetForce
    setRadiateOrigin
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleEmitter:

    ETEXPLICIT | (emissionType)
ETRADIATE | (emissionType)
ETCUSTOM | (emissionType)
SphereSurfaceEmitter
SphereSurfaceEmitter::SphereSurfaceEmitter(void);

Description : copy constructor

getRadius
float SphereSurfaceEmitter::get_radius(void) const;

Description : radius get

setRadius
void SphereSurfaceEmitter::set_radius(float r);

Description : radius set

generate
void BaseParticleEmitter::generate(LPoint3f &pos, LVector3f &vel);

Description : parent generation function

getAmplitude
float BaseParticleEmitter::get_amplitude(void) const;

Description : amplitude query

getAmplitudeSpread
float BaseParticleEmitter::get_amplitude_spread(void) const;

Description : amplitude spread query

getEmissionType
BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type(void) const;

Description : emission type query

getExplicitLaunchVector
LVector3f BaseParticleEmitter::get_explicit_launch_vector(void) const;

Description : query for explicit emission launch vector

getOffsetForce
LVector3f BaseParticleEmitter::get_offset_force(void) const;

Description : user-defined force

getRadiateOrigin
LPoint3f BaseParticleEmitter::get_radiate_origin(void) const;

Description : query for explicit emission launch vector

makeCopy
virtual BaseParticleEmitter *BaseParticleEmitter::make_copy(void) = 0;

Undocumented function.

output
virtual void BaseParticleEmitter::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAmplitude
void BaseParticleEmitter::set_amplitude(float a);

Description : amplitude assignment

setAmplitudeSpread
void BaseParticleEmitter::set_amplitude_spread(float as);

Description : amplitude spread assignment

setEmissionType
void BaseParticleEmitter::set_emission_type(BaseParticleEmitter::emissionType et);

Description : emission type assignment

setExplicitLaunchVector
void BaseParticleEmitter::set_explicit_launch_vector(LVector3f const &elv);

this is a constant force applied to all particles
Description : assignment of explicit emission launch vector

setOffsetForce
void BaseParticleEmitter::set_offset_force(LVector3f const &of);

Description : user-defined force

setRadiateOrigin
void BaseParticleEmitter::set_radiate_origin(LPoint3f const &ro);

this is a constant force applied to all particles
Description : assignment of radiate emission origin point

write
virtual void BaseParticleEmitter::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


SphereVolumeEmitter

    from pandac.PandaModules import SphereVolumeEmitter
    Class : SphereVolumeEmitter
    Description : Describes a voluminous spherical region in which particles are generated.

Inheritance:

    SphereVolumeEmitter: BaseParticleEmitter
    BaseParticleEmitter: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of SphereVolumeEmitter:

    SphereVolumeEmitter (Constructor)
    getRadius
    setRadius

Methods of BaseParticleEmitter:

    generate
    getAmplitude
    getAmplitudeSpread
    getEmissionType
    getExplicitLaunchVector
    getOffsetForce
    getRadiateOrigin
    makeCopy
    output
    setAmplitude
    setAmplitudeSpread
    setEmissionType
    setExplicitLaunchVector
    setOffsetForce
    setRadiateOrigin
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleEmitter:

    ETEXPLICIT | (emissionType)
ETRADIATE | (emissionType)
ETCUSTOM | (emissionType)
SphereVolumeEmitter
SphereVolumeEmitter::SphereVolumeEmitter(void);

Description : copy constructor

getRadius
float SphereVolumeEmitter::get_radius(void) const;

Description : radius get

setRadius
void SphereVolumeEmitter::set_radius(float r);

Description : radius set

generate
void BaseParticleEmitter::generate(LPoint3f &pos, LVector3f &vel);

Description : parent generation function

getAmplitude
float BaseParticleEmitter::get_amplitude(void) const;

Description : amplitude query

getAmplitudeSpread
float BaseParticleEmitter::get_amplitude_spread(void) const;

Description : amplitude spread query

getEmissionType
BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type(void) const;

Description : emission type query

getExplicitLaunchVector
LVector3f BaseParticleEmitter::get_explicit_launch_vector(void) const;

Description : query for explicit emission launch vector

getOffsetForce
LVector3f BaseParticleEmitter::get_offset_force(void) const;

Description : user-defined force

getRadiateOrigin
LPoint3f BaseParticleEmitter::get_radiate_origin(void) const;

Description : query for explicit emission launch vector

makeCopy
virtual BaseParticleEmitter *BaseParticleEmitter::make_copy(void) = 0;

Undocumented function.

output
virtual void BaseParticleEmitter::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAmplitude
void BaseParticleEmitter::set_amplitude(float a);

Description : amplitude assignment

setAmplitudeSpread
void BaseParticleEmitter::set_amplitude_spread(float as);

Description : amplitude spread assignment

setEmissionType
void BaseParticleEmitter::set_emission_type(BaseParticleEmitter::emissionType et);

Description : emission type assignment

setExplicitLaunchVector
void BaseParticleEmitter::set_explicit_launch_vector(LVector3f const &elv);

this is a constant force applied to all particles
Description : assignment of explicit emission launch vector

setOffsetForce
void BaseParticleEmitter::set_offset_force(LVector3f const &of);

Description : user-defined force

setRadiateOrigin
void BaseParticleEmitter::set_radiate_origin(LPoint3f const &ro);

this is a constant force applied to all particles
Description : assignment of radiate emission origin point

write
virtual void BaseParticleEmitter::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Spotlight

    from pandac.PandaModules import Spotlight
    Class : Spotlight
    Description : A light originating from a single point in space, and shining in a particular direction, with a cone-shaped falloff.
    The Spotlight frustum is defined using a Lens, so it can have any of the properties that a camera lens can have.
    Note that the class is named Spotlight instead of SpotLight, because "spotlight" is a single English word, instead of two words.

Inheritance:

    Spotlight: LightLensNode
    LightLensNode: Light LensNode
    Light: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:
    LensNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    Namable:
    LinkedListNode:

Methods of Spotlight:

    Spotlight (Constructor)
    getAttenuation
    getClassType
    getExponent
    getSpecularColor
    makeSpot
    setAttenuation
    setExponent
    setSpecularColor

Methods of LightLensNode:

    getClassType
    output
    write

Methods of Light:

    asNode
    getClassPriority
    getClassType
    getColor
    getPriority
    setColor
    setPriority

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of LensNode:

    LensNode (Constructor)
    copyLens
    getClassType
    getLens
    hideFrustum
    isInView
    setLens
    showFrustum

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
Spotlight
Spotlight::Spotlight(string const &name);

Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

getAttenuation
LVecBase3f const &Spotlight::get_attenuation(void) const;

Description: Returns the terms of the attenuation equation for the light. These are, in order, the constant, linear, and quadratic terms based on the distance from the point to the vertex.

getClassType
static TypeHandle Spotlight::get_class_type(void);

Undocumented function.

getExponent
float Spotlight::get_exponent(void) const;

Description: Returns the exponent that controls the amount of light falloff from the center of the spotlight. See set_exponent().

getSpecularColor
LVecBase4f const &Spotlight::get_specular_color(void) const;

Description: Returns the color of specular highlights generated by the light.

makeSpot
static PointerTo< Texture > Spotlight::make_spot(int pixel_width, float full_radius, LVecBase4f &fg, LVecBase4f &bg);

Description: Returns a newly-generated Texture that renders a circular spot image as might be cast from the spotlight. This may be projected onto target geometry (for instance, via NodePath::project_texture()) instead of actually enabling the light itself, as a cheesy way to make a high-resolution spot appear on the geometry.
pixel_width specifies the height and width of the new texture in pixels, full_radius is a value in the range 0..1 that indicates the relative size of the fully bright center spot, and fg and bg are the colors of the interior and exterior of the spot, respectively.

setAttenuation
void Spotlight::set_attenuation(LVecBase3f const &attenuation);

Description: Sets the terms of the attenuation equation for the light. These are, in order, the constant, linear, and quadratic terms based on the distance from the point to the vertex.

setExponent
void Spotlight::set_exponent(float exponent);

Description: Sets the exponent that controls the amount of light falloff from the center of the spotlight. The light is attenuated by the cosine of the angle between the direction of the light and the direction of the point being lighted, raised to the power of this exponent. Thus, higher exponents result in a more focused light source, regardless of the field-of-view of the lens.

setSpecularColor
void Spotlight::set_specular_color(LVecBase4f const &color);

Description: Sets the color of specular highlights generated by the light.

getClassType
static TypeHandle LightLensNode::get_class_type(void);

Undocumented function.

output
virtual void LightLensNode::output(ostream &out) const;

We have to explicitly publish these because they resolve the multiple inheritance.
Description:

write
virtual void LightLensNode::write(ostream &out, int indent_level = (0)) const;

We have to explicitly publish these because they resolve the multiple inheritance.
Description:

asNode
virtual PandaNode *Light::as_node(void) = 0;

Undocumented function.

getClassPriority
virtual int Light::get_class_priority(void) const = 0;

Undocumented function.

getClassType
static TypeHandle Light::get_class_type(void);

Undocumented function.

getColor
LVecBase4f const &Light::get_color(void) const;

Description: Returns the basic color of the light.

getPriority
int Light::get_priority(void) const;

Description: Returns the priority associated with this light. See set_priority().

setColor
void Light::set_color(LVecBase4f const &color);

Description: Sets the basic color of the light.

setPriority
void Light::set_priority(int priority);

Description: Changes the relative importance of this light relative to the other lights that are applied simultaneously.
The priority number is used to decide which of the requested lights are to be selected for rendering when more lights are requested than the hardware will support. The highest-priority n lights are selected for rendering.
This is similar to TextureStage::set_priority().

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

LensNode
LensNode::LensNode(string const &name);

Description:

copyLens
void LensNode::copy_lens(Lens const &lens);

Description: Sets up the LensNode using a copy of the indicated Lens. If the original Lens is changed or destroyed, this LensNode is not affected.

getClassType
static TypeHandle LensNode::get_class_type(void);

Undocumented function.

getLens
Lens *LensNode::get_lens(void) const;

Description: Returns a pointer to the particular Lens associated with this LensNode, or NULL if there is not yet a Lens associated.

hideFrustum
void LensNode::hide_frustum(void);

Description: Disables the drawing of the lens's frustum to aid in visualization.

isInView
bool LensNode::is_in_view(LPoint3f const &pos);

Description: Returns true if the given point is within the bounds of the lens of the LensNode (i.e. if the camera can see the point).

setLens
void LensNode::set_lens(Lens *lens);

Description: Sets up the LensNode using this particular Lens pointer. If the lens is subsequently modified, the LensNode properties immediately reflect the change.

showFrustum
void LensNode::show_frustum(void);

Description: Enables the drawing of the lens's frustum to aid in visualization. This actually creates a GeomNode which is parented to the LensNode.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


SpriteAnim

    from pandac.PandaModules import SpriteAnim
    Class : SpriteAnim
    Description : Helper class used by SpriteParticleRenderer to keep track of its textures and their respective UVs and source types.

Inheritance:

    SpriteAnim: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of SpriteAnim:

    getModelSource
    getNodeSource
    getNumFrames
    getSourceType
    getTexSource
    setSourceInfo

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in SpriteAnim:

    STTexture | (SourceType)
STFromNode | (SourceType)
getModelSource
string SpriteAnim::get_model_source(void) const;

Undocumented function.

getNodeSource
string SpriteAnim::get_node_source(void) const;

Undocumented function.

getNumFrames
int SpriteAnim::get_num_frames(void) const;

Undocumented function.

getSourceType
SpriteAnim::SourceType SpriteAnim::get_source_type(void) const;

Undocumented function.

getTexSource
string SpriteAnim::get_tex_source(void) const;

Undocumented function.

setSourceInfo
void SpriteAnim::set_source_info(string const &tex);

Undocumented function.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


SpriteParticleRenderer

    from pandac.PandaModules import SpriteParticleRenderer
    Class : SpriteParticleRenderer
    Description : Renders a particle system with high-speed nasty trick sprites.

Inheritance:

    SpriteParticleRenderer: BaseParticleRenderer
    BaseParticleRenderer: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of SpriteParticleRenderer:

    SpriteParticleRenderer (Constructor)
    addFromNode
    addTexture
    getAlphaBlendMethod
    getAlphaDisable
    getAnim
    getAnimAngleFlag
    getAnimateFramesEnable
    getAnimateFramesIndex
    getAnimateFramesRate
    getColor
    getColorInterpolationManager
    getFinalXScale
    getFinalYScale
    getHeight
    getInitialXScale
    getInitialYScale
    getLastAnim
    getLlUv
    getNonanimatedTheta
    getNumAnims
    getTexture
    getUrUv
    getWidth
    getXScaleFlag
    getYScaleFlag
    removeAnimation
    setAlphaBlendMethod
    setAlphaDisable
    setAnimAngleFlag
    setAnimateFramesEnable
    setAnimateFramesIndex
    setAnimateFramesRate
    setColor
    setFinalXScale
    setFinalYScale
    setFromNode
    setInitialXScale
    setInitialYScale
    setLlUv
    setNonanimatedTheta
    setSize
    setTexture
    setUrUv
    setXScaleFlag
    setYScaleFlag

Methods of BaseParticleRenderer:

    getAlphaMode
    getIgnoreScale
    getRenderNode
    getRenderNodePath
    getUserAlpha
    output
    setAlphaMode
    setColorBlendMode
    setIgnoreScale
    setUserAlpha
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleRenderer:

    PRALPHANONE | (ParticleRendererAlphaMode)
PRALPHAOUT | (ParticleRendererAlphaMode)
PRALPHAIN | (ParticleRendererAlphaMode)
PRALPHAINOUT | (ParticleRendererAlphaMode)
PRALPHAUSER | (ParticleRendererAlphaMode)
PRNOTINITIALIZEDYET | (ParticleRendererAlphaMode)
PPNOBLEND | (ParticleRendererBlendMethod)
PPBLENDLINEAR | (ParticleRendererBlendMethod)
PPBLENDCUBIC | (ParticleRendererBlendMethod)
SpriteParticleRenderer
SpriteParticleRenderer::SpriteParticleRenderer(Texture *tex = ((Texture *)((void *)(0))));

Description : constructor
Description : copy constructor

addFromNode
void SpriteParticleRenderer::add_from_node(NodePath const &node_path, bool size_from_texels = (0), bool resize = (0));

Description : This will allow the renderer to randomly choose from more than one texture or sequence at particle birth.
If the source type is important, use this one.
model and node should lead to node_path like this: node_path = loader.loadModel(model).find(node)
If resize is true, or if there are no textures currently on the renderer, it will force the renderer to use the size information from this node from now on. (Default is false)

addTexture
void SpriteParticleRenderer::add_texture(Texture *tex, float texels_per_unit = (1), bool resize = (0));

Description : Adds texture to image pool, effectively creating a single frame animation that can be selected at particle birth. This should only be called after a previous call to set_texture().

getAlphaBlendMethod
BaseParticleRenderer::ParticleRendererBlendMethod SpriteParticleRenderer::get_alpha_blend_method(void) const;

Undocumented function.

getAlphaDisable
bool SpriteParticleRenderer::get_alpha_disable(void) const;

Undocumented function.

getAnim
SpriteAnim *SpriteParticleRenderer::get_anim(int const n) const;

Undocumented function.

getAnimAngleFlag
bool SpriteParticleRenderer::get_anim_angle_flag(void) const;

Undocumented function.

getAnimateFramesEnable
bool SpriteParticleRenderer::get_animate_frames_enable(void) const;

Undocumented function.

getAnimateFramesIndex
int SpriteParticleRenderer::get_animate_frames_index(void) const;

Purpose : Gets the frame to be used when animation is disabled.

getAnimateFramesRate
float SpriteParticleRenderer::get_animate_frames_rate(void) const;

Undocumented function.

getColor
LVecBase4f SpriteParticleRenderer::get_color(void) const;

Undocumented function.

getColorInterpolationManager
ColorInterpolationManager *SpriteParticleRenderer::get_color_interpolation_manager(void) const;

Undocumented function.

getFinalXScale
float SpriteParticleRenderer::get_final_x_scale(void) const;

Undocumented function.

getFinalYScale
float SpriteParticleRenderer::get_final_y_scale(void) const;

Undocumented function.

getHeight
float SpriteParticleRenderer::get_height(void) const;

Description : Returns the height of each particle in world units.

getInitialXScale
float SpriteParticleRenderer::get_initial_x_scale(void) const;

Undocumented function.

getInitialYScale
float SpriteParticleRenderer::get_initial_y_scale(void) const;

Undocumented function.

getLastAnim
SpriteAnim *SpriteParticleRenderer::get_last_anim(void) const;

Undocumented function.

getLlUv
LPoint2f SpriteParticleRenderer::get_ll_uv(void) const;

Description : Returns the UV coordinate of the lower-left corner; see set_ll_uv().

getNonanimatedTheta
float SpriteParticleRenderer::get_nonanimated_theta(void) const;

Undocumented function.

getNumAnims
int SpriteParticleRenderer::get_num_anims(void) const;

Undocumented function.

getTexture
Texture *SpriteParticleRenderer::get_texture(void) const;

Undocumented function.

getUrUv
LPoint2f SpriteParticleRenderer::get_ur_uv(void) const;

Description : Returns the UV coordinate of the lower-left corner; see set_ur_uv().
Description : Returns the UV coordinate of the upper-right corner; see set_ur_uv().

getWidth
float SpriteParticleRenderer::get_width(void) const;

Description : Returns the width of each particle in world units.

getXScaleFlag
bool SpriteParticleRenderer::get_x_scale_flag(void) const;

Undocumented function.

getYScaleFlag
bool SpriteParticleRenderer::get_y_scale_flag(void) const;

Undocumented function.

removeAnimation
void SpriteParticleRenderer::remove_animation(int const n);

Description : Removes an animation texture set from the renderer.

setAlphaBlendMethod
void SpriteParticleRenderer::set_alpha_blend_method(BaseParticleRenderer::ParticleRendererBlendMethod bm);

Undocumented function.

setAlphaDisable
void SpriteParticleRenderer::set_alpha_disable(bool ad);

Undocumented function.

setAnimAngleFlag
void SpriteParticleRenderer::set_anim_angle_flag(bool animate_theta);

Undocumented function.

setAnimateFramesEnable
void SpriteParticleRenderer::set_animate_frames_enable(bool an);

Undocumented function.

setAnimateFramesIndex
void SpriteParticleRenderer::set_animate_frames_index(int i);

Purpose : Sets the frame to be used when animation is disabled.

setAnimateFramesRate
void SpriteParticleRenderer::set_animate_frames_rate(float r);

Undocumented function.

setColor
void SpriteParticleRenderer::set_color(LVecBase4f const &color);

Undocumented function.

setFinalXScale
void SpriteParticleRenderer::set_final_x_scale(float final_x_scale);

Undocumented function.

setFinalYScale
void SpriteParticleRenderer::set_final_y_scale(float final_y_scale);

Undocumented function.

setFromNode
void SpriteParticleRenderer::set_from_node(NodePath const &node_path, bool size_from_texels = (0));

Description : If the source type is important, use this one.
model and node should lead to node_path like this: node_path = loader.loadModel(model).find(node)
This will remove all previously add textures and resize the renderer to match the new geometry.
Description : Sets the properties on this renderer from the geometry referenced by the indicated NodePath. This should be a reference to a GeomNode or a SequenceNode; it extracts out the texture and UV range from the node.
This will remove all previously added textures and animations. It will also resize the renderer to match this new geometry.
If node_path refers to a GeomNode(or has one beneath it) the texture, its size, and UV data will be extracted from that.
If node_path references a SequenceNode(or has one beneath it) with multiple GeomNodes beneath it, the size data will correspond only to the first GeomNode found with a valid texture, while the texture and UV information will be stored for each individual node.
If size_from_texels is true, the particle size is based on the number of texels in the source image; otherwise, it is based on the size of the first polygon found in the node.
model and node are the two items used to construct node_path. If the source type is important, use set_from_node(NodePath,string,string,bool) instead.

setInitialXScale
void SpriteParticleRenderer::set_initial_x_scale(float initial_x_scale);

Undocumented function.

setInitialYScale
void SpriteParticleRenderer::set_initial_y_scale(float initial_y_scale);

Undocumented function.

setLlUv
void SpriteParticleRenderer::set_ll_uv(LPoint2f const &ll_uv);

Description : Sets the UV coordinate of the lower-left corner of all the sprites generated by this renderer. Normally this is (0, 0), but it might be set to something else to use only a portion of the texture.

setNonanimatedTheta
void SpriteParticleRenderer::set_nonanimated_theta(float theta);

Undocumented function.

setSize
void SpriteParticleRenderer::set_size(float width, float height);

Description : Sets the size of each particle in world units.

setTexture
void SpriteParticleRenderer::set_texture(Texture *tex, float texels_per_unit = (1));

Description : Sets the renderer up to render the entire texture image. The scale of each particle is based on the size of the texture in each dimension, modified by texels_per_unit.
Used to set the size of the particles. Will clear all previously loaded textures and animations.

setUrUv
void SpriteParticleRenderer::set_ur_uv(LPoint2f const &ur_uv);

Description : Sets the UV coordinate of the upper-right corner of all the sprites generated by this renderer. Normally this is (1, 1), but it might be set to something else to use only a portion of the texture.

setXScaleFlag
void SpriteParticleRenderer::set_x_scale_flag(bool animate_x_ratio);

Undocumented function.

setYScaleFlag
void SpriteParticleRenderer::set_y_scale_flag(bool animate_y_ratio);

Undocumented function.

getAlphaMode
BaseParticleRenderer::ParticleRendererAlphaMode BaseParticleRenderer::get_alpha_mode(void) const;

Undocumented function.

getIgnoreScale
bool BaseParticleRenderer::get_ignore_scale(void) const;

Description : Returns the "ignore scale" flag. See set_ignore_scale().

getRenderNode
GeomNode *BaseParticleRenderer::get_render_node(void) const;

Class : Published
Description : Query the geomnode pointer

getRenderNodePath
NodePath BaseParticleRenderer::get_render_node_path(void) const;

Class : Published
Description : Query the geomnode pointer

getUserAlpha
float BaseParticleRenderer::get_user_alpha(void) const;

Description : gets alpha for "user" alpha mode

output
virtual void BaseParticleRenderer::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAlphaMode
void BaseParticleRenderer::set_alpha_mode(BaseParticleRenderer::ParticleRendererAlphaMode am);

Undocumented function.

setColorBlendMode
void BaseParticleRenderer::set_color_blend_mode(ColorBlendAttrib::Mode bm, ColorBlendAttrib::Operand oa = (O_zero), ColorBlendAttrib::Operand ob = (O_zero));

Description : sets the ColorBlendAttrib on the _render_node

setIgnoreScale
void BaseParticleRenderer::set_ignore_scale(bool ignore_scale);

Description : Sets the "ignore scale" flag. When this is true, particles will be drawn as if they had no scale, regardless of whatever scale might be inherited from above the render node in the scene graph.
This flag is mainly useful to support legacy code that was written for a very early version of Panda, whose sprite particle renderer had a bug that incorrectly ignored the inherited scale.

setUserAlpha
void BaseParticleRenderer::set_user_alpha(float ua);

Description : sets alpha for "user" alpha mode

write
virtual void BaseParticleRenderer::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


SpriteParticleRendererExt

    from direct.particles.SpriteParticleRendererExt import SpriteParticleRendererExt
    Contains methods to extend functionality of the SpriteParticleRenderer class

Inheritance:

    SpriteParticleRendererExt:

Methods of SpriteParticleRendererExt:

    addTextureFromFile
    addTextureFromNode
    getSourceFileName
    getSourceNodeName
    getSourceTextureName
    setSourceFileName
    setSourceNodeName
    setSourceTextureName
    setTextureFromFile
    setTextureFromNode
addTextureFromFile
def addTextureFromFile(self, fileName=None)

Undocumented function.

addTextureFromNode
def addTextureFromNode(self, modelName=None, nodeName=None, sizeFromTexels=False)

Undocumented function.

getSourceFileName
def getSourceFileName(self)

Undocumented function.

getSourceNodeName
def getSourceNodeName(self)

Undocumented function.

getSourceTextureName
def getSourceTextureName(self)

Undocumented function.

setSourceFileName
def setSourceFileName(self, name)

Undocumented function.

setSourceNodeName
def setSourceNodeName(self, name)

Undocumented function.

setSourceTextureName
def setSourceTextureName(self, name)

Undocumented function.

setTextureFromFile
def setTextureFromFile(self, fileName=None)

Undocumented function.

setTextureFromNode
def setTextureFromNode(self, modelName=None, nodeName=None, sizeFromTexels=False)

Undocumented function.


Squeezer

    from direct.showbase.pandaSqueezeTool import Squeezer

Inheritance:

    Squeezer:

Methods of Squeezer:

    __init__
    adddata
    addmodule
    getarchive
    getstatus
__init__
def __init__(self)

Undocumented function.

adddata
def adddata(self, file)

Undocumented function.

addmodule
def addmodule(self, file)

Undocumented function.

getarchive
def getarchive(self)

Undocumented function.

getstatus
def getstatus(self)

Undocumented function.


SSReader

    from pandac.PandaModules import SSReader
    Class : SSReader
    Description : An internal class for reading from a socket stream. This serves as a base class for both ISocketStream and SocketStream; its purpose is to minimize redundant code between them. Do not use it directly.

Inheritance:

    SSReader:

Methods of SSReader:

    close
    isClosed
    receiveDatagram
close
virtual void SSReader::close(void) = 0;

Undocumented function.

isClosed
virtual bool SSReader::is_closed(void) = 0;

Undocumented function.

receiveDatagram
bool SSReader::receive_datagram(Datagram &dg);

Description: Receives a datagram over the socket by expecting a little-endian 16-bit byte count as a prefix. If the socket stream is non-blocking, may return false if the data is not available; otherwise, returns false only if the socket closes.


SSWriter

    from pandac.PandaModules import SSWriter
    Class : SSWriter
    Description : An internal class for writing to a socket stream. This serves as a base class for both OSocketStream and SocketStream; its purpose is to minimize redundant code between them. Do not use it directly.

Inheritance:

    SSWriter:

Methods of SSWriter:

    close
    considerFlush
    flush
    getCollectTcp
    getCollectTcpInterval
    isClosed
    sendDatagram
    setCollectTcp
    setCollectTcpInterval
close
virtual void SSWriter::close(void) = 0;

Undocumented function.

considerFlush
bool SSWriter::consider_flush(void);

Description: Sends the most recently queued data if enough time has elapsed. This only has meaning if set_collect_tcp() has been set to true.

flush
bool SSWriter::flush(void);

Description: Sends the most recently queued data now. This only has meaning if set_collect_tcp() has been set to true.

getCollectTcp
bool SSWriter::get_collect_tcp(void) const;

Description: Returns the current setting of "collect-tcp" mode. See set_collect_tcp().

getCollectTcpInterval
double SSWriter::get_collect_tcp_interval(void) const;

Description: Returns the interval in time, in seconds, for which to hold TCP packets before sending all of the recently received packets at once. This only has meaning if "collect-tcp" mode is enabled; see set_collect_tcp().

isClosed
virtual bool SSWriter::is_closed(void) = 0;

Undocumented function.

sendDatagram
bool SSWriter::send_datagram(Datagram const &dg);

Description: Transmits the indicated datagram over the socket by prepending it with a little-endian 16-bit byte count. Does not return until the data is sent or the connection is closed, even if the socket stream is non-blocking.

setCollectTcp
void SSWriter::set_collect_tcp(bool collect_tcp);

Description: Enables or disables "collect-tcp" mode. In this mode, individual TCP packets are not sent immediately, but rather they are collected together and accumulated to be sent periodically as one larger TCP packet. This cuts down on overhead from the TCP/IP protocol, especially if many small packets need to be sent on the same connection, but it introduces additional latency (since packets must be held before they can be sent).
See set_collect_tcp_interval() to specify the interval of time for which to hold packets before sending them.
If you enable this mode, you may also need to periodically call consider_flush() to flush the queue if no packets have been sent recently.

setCollectTcpInterval
void SSWriter::set_collect_tcp_interval(double interval);

Description: Specifies the interval in time, in seconds, for which to hold TCP packets before sending all of the recently received packets at once. This only has meaning if "collect-tcp" mode is enabled; see set_collect_tcp().


Stack

    from direct.showbase.PythonUtil import Stack

Inheritance:

    Stack:

Methods of Stack:

    __init__
    __len__
    clear
    isEmpty
    pop
    push
    top
__init__
def __init__(self)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

clear
def clear(self)

Undocumented function.

isEmpty
def isEmpty(self)

Undocumented function.

pop
def pop(self)

Undocumented function.

push
def push(self, item)

Undocumented function.

top
def top(self)

Undocumented function.


StackedPerlinNoise2

    from pandac.PandaModules import StackedPerlinNoise2
    Class : StackedPerlinNoise2
    Description : Implements a multi-layer PerlinNoise, with one or more high-frequency noise functions added to a lower-frequency base noise function.

Inheritance:

    StackedPerlinNoise2:

Methods of StackedPerlinNoise2:

    StackedPerlinNoise2 (Constructor)
    addLevel
    clear
    noise
    operator ()
    operator =
StackedPerlinNoise2
StackedPerlinNoise2::StackedPerlinNoise2(void);

Filename: stackedPerlinNoise2.I Created by: drose (05Oct05)
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."
Description: Creates a StackedPerlinNoise2 object with no levels. You should call add_level() to add each level by hand.
Description: Creates num_levels nested PerlinNoise2 objects. Each stacked Perlin object will have a scale of 1 / scale_factor times the previous object (so that it is higher-frequency, if scale_factor > 1), and an amplitude of amp_scale times the previous object (so that it is less important, if amp_scale < 1).
Description: Creates an exact duplicate of the existing StackedPerlinNoise2 object, including the random seed.

addLevel
void StackedPerlinNoise2::add_level(PerlinNoise2 const &level, double amp = (1));

Description: Adds an arbitrary PerlinNoise2 object, and an associated amplitude, to the stack.

clear
void StackedPerlinNoise2::clear(void);

Description: Removes all levels from the stack. You must call add_level() again to restore them.

noise
double StackedPerlinNoise2::noise(double x, double y);

Description: Returns the noise function of the three inputs.

operator ()
double StackedPerlinNoise2::operator ()(double x, double y);

Description: Returns the noise function of the three inputs.

operator =
void StackedPerlinNoise2::operator =(StackedPerlinNoise2 const &copy);

Description: Creates an exact duplicate of the existing StackedPerlinNoise2 object, including the random seed.


StackedPerlinNoise3

    from pandac.PandaModules import StackedPerlinNoise3
    Class : StackedPerlinNoise3
    Description : Implements a multi-layer PerlinNoise, with one or more high-frequency noise functions added to a lower-frequency base noise function.

Inheritance:

    StackedPerlinNoise3:

Methods of StackedPerlinNoise3:

    StackedPerlinNoise3 (Constructor)
    addLevel
    clear
    noise
    operator ()
    operator =
StackedPerlinNoise3
StackedPerlinNoise3::StackedPerlinNoise3(void);

Filename: stackedPerlinNoise3.I Created by: drose (05Oct05)
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."
Description: Creates a StackedPerlinNoise3 object with no levels. You should call add_level() to add each level by hand.
Description: Creates num_levels nested PerlinNoise3 objects. Each stacked Perlin object will have a scale of 1 / scale_factor times the previous object (so that it is higher-frequency, if scale_factor > 1), and an amplitude of amp_scale times the previous object (so that it is less important, if amp_scale < 1).
Description: Creates an exact duplicate of the existing StackedPerlinNoise3 object, including the random seed.

addLevel
void StackedPerlinNoise3::add_level(PerlinNoise3 const &level, double amp = (1));

Description: Adds an arbitrary PerlinNoise3 object, and an associated amplitude, to the stack.

clear
void StackedPerlinNoise3::clear(void);

Description: Removes all levels from the stack. You must call add_level() again to restore them.

noise
double StackedPerlinNoise3::noise(double x, double y, double z);

Description: Returns the noise function of the three inputs.

operator ()
double StackedPerlinNoise3::operator ()(double x, double y, double z);

Description: Returns the noise function of the three inputs.

operator =
void StackedPerlinNoise3::operator =(StackedPerlinNoise3 const &copy);

Description: Creates an exact duplicate of the existing StackedPerlinNoise3 object, including the random seed.


StackTrace

    from direct.showbase.PythonUtil import StackTrace

Inheritance:

    StackTrace:

Methods of StackTrace:

    __init__
    __str__
    compact
    reverseCompact
__init__
def __init__(self, label="", start=0, limit=None)

label is a string (or anything that be be a string) that is printed as part of the trace back. This is just to make it easier to tell what the stack trace is referring to. start is an integer number of stack frames back from the most recent. (This is automatically bumped up by one to skip the __init__ call to the StackTrace). limit is an integer number of stack frames to record (or None for unlimited).

__str__
def __str__(self)

Undocumented function.

compact
def compact(self)

Undocumented function.

reverseCompact
def reverseCompact(self)

Undocumented function.


State

    from direct.fsm.State import State

Inheritance:

    State:

Methods of State:

    __enterChildren
    __exitChildren
    __init__
    __str__
    addChild
    addTransition
    enter
    exit
    getChildren
    getEnterFunc
    getExitFunc
    getName
    getTransitions
    hasChildren
    isTransitionDefined
    removeChild
    setChildren
    setEnterFunc
    setExitFunc
    setName
    setTransitions
    transitionsToAny
__enterChildren
def __enterChildren(self, argList)

Enter all child FSMs

__exitChildren
def __exitChildren(self, argList)

Exit all child FSMs

__init__
def __init__(self, name, enterFunc=None, exitFunc=None, transitions=Any, inspectorPos=[])

__init__(self, string, func, func, string[], inspectorPos = []) State constructor: takes name, enter func, exit func, and a list of states it can transition to (or State.Any).

__str__
def __str__(self)

Undocumented function.

addChild
def addChild(self, ClassicFSM)

Add the given ClassicFSM to list of child FSMs

addTransition
def addTransition(self, transition)

addTransitions(self, string)

enter
def enter(self, argList=[])

Call the enter function for this state

exit
def exit(self, argList=[])

Call the exit function for this state

getChildren
def getChildren(self)

Return the list of child FSMs

getEnterFunc
def getEnterFunc(self)

Undocumented function.

getExitFunc
def getExitFunc(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

getTransitions
def getTransitions(self)

warning -- if the state transitions to any other state, returns an empty list (falsely implying that the state has no transitions) see State.transitionsToAny()

hasChildren
def hasChildren(self)

Return true if state has child FSMs

isTransitionDefined
def isTransitionDefined(self, otherState)

Undocumented function.

removeChild
def removeChild(self, ClassicFSM)

Remove the given ClassicFSM from list of child FSMs

setChildren
def setChildren(self, FSMList)

setChildren(self, ClassicFSM[]) Set the children to given list of FSMs

setEnterFunc
def setEnterFunc(self, stateEnterFunc)

Undocumented function.

setExitFunc
def setExitFunc(self, stateExitFunc)

Undocumented function.

setName
def setName(self, stateName)

Undocumented function.

setTransitions
def setTransitions(self, stateTransitions)

setTransitions(self, string[])

transitionsToAny
def transitionsToAny(self)

returns true if State defines transitions to any other state


StateChangeNode

    from direct.fsm.StatePush import StateChangeNode

Inheritance:

    StateChangeNode:

Methods of StateChangeNode:

    __init__
    _recvStatePush
    destroy
__init__
def __init__(self, source)

Undocumented function.

_recvStatePush
def _recvStatePush(self, source)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


StateData

    from direct.fsm.StateData import StateData
    A StateData is a base class for a single state within a Finite State Machine (ClassicFSM).

Inheritance:

    StateData:

Methods of StateData:

    __init__
    enter
    exit
    getDoneStatus
    load
    unload
__init__
def __init__(self, doneEvent)

Undocumented function.

enter
def enter(self)

Enters the StateData. This makes it active in whatever sense this applies. Returns true if this is a change (i.e. it was not previously entered), or false if this is the same (i.e. it was already entered).

exit
def exit(self)

Exits the StateData. Returns true if this is a change (i.e. it was previously entered), or false if this is the same (i.e. it was already exited).

getDoneStatus
def getDoneStatus(self)

The done status of a state data may be anything. It is common practice to return a Python dictionary or a string; the default value is None.

load
def load(self)

Loads the StateData. This loads whatever assets are needed from disk, and otherwise prepares the StateData for being entered, without actually entering it. Returns true if this is a change (i.e. it was not already loaded), or false if this is the same (i.e. it was previously loaded).

unload
def unload(self)

Unloads the StateData. This frees whatever assets were loaded by load(), and generally makes the memory usage for this thing be as small as possible. Some StateData-derived classes can load and unload repeatedly; others are useless once they have been unloaded.


StateInspector

    from direct.tkpanels.FSMInspector import StateInspector

Inheritance:

    StateInspector:

Methods of StateInspector:

    __init__
    _setGridSize
    _setRadius
    center
    enteredState
    exitedState
    getName
    inspectSubMachine
    mouseDown
    mouseEnter
    mouseLeave
    mouseMotion
    mouseRelease
    popupStateMenu
    setGridSize
    setPos
    setRadius
    setText
    transitionTo
__init__
def __init__(self, inspector, state, **kw)

Undocumented function.

_setGridSize
def _setGridSize(self)

Undocumented function.

_setRadius
def _setRadius(self)

Undocumented function.

center
def center(self)

Undocumented function.

enteredState
def enteredState(self)

Undocumented function.

exitedState
def exitedState(self)

Undocumented function.

getName
def getName(self)

Undocumented function.

inspectSubMachine
def inspectSubMachine(self)

Undocumented function.

mouseDown
def mouseDown(self, event)

Undocumented function.

mouseEnter
def mouseEnter(self, event)

Undocumented function.

mouseLeave
def mouseLeave(self, event)

Undocumented function.

mouseMotion
def mouseMotion(self, event)

Undocumented function.

mouseRelease
def mouseRelease(self, event)

Undocumented function.

popupStateMenu
def popupStateMenu(self, event)

Undocumented function.

setGridSize
def setGridSize(self, size)

Undocumented function.

setPos
def setPos(self, x, y, snapToGrid=0)

Undocumented function.

setRadius
def setRadius(self, size)

Undocumented function.

setText
def setText(self, text=None)

Undocumented function.

transitionTo
def transitionTo(self)

Undocumented function.


StateVar

    from direct.fsm.StatePush import StateVar

Inheritance:

    StateVar:

Methods of StateVar:

    get
    set
get
def get(self)

Undocumented function.

set
def set(self, value)

Undocumented function.


StaticTextFont

    from pandac.PandaModules import StaticTextFont
    Class : StaticTextFont
    Description : A StaticTextFont is loaded up from a model that was previously generated via egg-mkfont, and contains all of its glyphs already generated and available for use. It doesn't require linking with any external libraries like FreeType.

Inheritance:

    StaticTextFont: TextFont
    TextFont: TypedReferenceCount Namable
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of StaticTextFont:

    StaticTextFont (Constructor)
    getClassType

Methods of TextFont:

    getClassType
    getLineHeight
    getSpaceAdvance
    isValid
    setLineHeight
    setSpaceAdvance
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in TextFont:

    RMTexture | (RenderMode)
RMWireframe | (RenderMode)
RMPolygon | (RenderMode)
RMExtruded | (RenderMode)
RMSolid | (RenderMode)
RMInvalid | (RenderMode)
WODefault | (WindingOrder)
WOLeft | (WindingOrder)
WORight | (WindingOrder)
WOInvalid | (WindingOrder)
StaticTextFont
StaticTextFont::StaticTextFont(PandaNode *font_def);

Description: The constructor expects the root node to a model generated via egg-mkfont, which consists of a set of models, one per each character in the font.

getClassType
static TypeHandle StaticTextFont::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TextFont::get_class_type(void);

Undocumented function.

getLineHeight
float TextFont::get_line_height(void) const;

Description: Returns the number of units high each line of text is.

getSpaceAdvance
float TextFont::get_space_advance(void) const;

Description: Returns the number of units wide a space is.

isValid
bool TextFont::is_valid(void) const;

Description: Returns true if the font is valid and ready to use, false otherwise.

setLineHeight
void TextFont::set_line_height(float line_height);

Description: Changes the number of units high each line of text is.

setSpaceAdvance
void TextFont::set_space_advance(float space_advance);

Description: Changes the number of units wide a space is.

write
virtual void TextFont::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


StdLibFilter

    from direct.pyinst.tocfilter import StdLibFilter
    A filter that excludes anything found in the standard library

Inheritance:

    StdLibFilter:

Methods of StdLibFilter:

    __init__
__init__
def __init__(self)

Undocumented function.


StencilAttrib

    from pandac.PandaModules import StencilAttrib
    Class : StencilAttrib
    Description : A StencilAttrib is a collection of all stencil render states. The render states in a StencilAttrib are read-only. A StencilAttrib is created with make or make_2_sided. To determine if two sided stencil is supported, call the function GraphicsStateGuardian:: get_supports_two_sided_stencil.

Inheritance:

    StencilAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of StencilAttrib:

    getClassType
    getRenderState
    make
    make2Sided
    make2SidedWithClear
    makeOff
    makeWithClear

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in StencilAttrib:

    SRSFrontEnable | (StencilRenderState)
SRSBackEnable | (StencilRenderState)
SRSFrontComparisonFunction | (StencilRenderState)
SRSFrontStencilFailOperation | (StencilRenderState)
SRSFrontStencilPassZFailOperation | (StencilRenderState)
SRSFrontStencilPassZPassOperation | (StencilRenderState)
SRSReference | (StencilRenderState)
SRSReadMask | (StencilRenderState)
SRSWriteMask | (StencilRenderState)
SRSBackComparisonFunction | (StencilRenderState)
SRSBackStencilFailOperation | (StencilRenderState)
SRSBackStencilPassZFailOperation | (StencilRenderState)
SRSBackStencilPassZPassOperation | (StencilRenderState)
SRSClear | (StencilRenderState)
SRSClearValue | (StencilRenderState)
SRSTotal | (StencilRenderState)
SRSFirst | (StencilRenderState)
SCFNever | (StencilComparisonFunction)
SCFLessThan | (StencilComparisonFunction)
SCFEqual | (StencilComparisonFunction)
SCFLessThanOrEqual | (StencilComparisonFunction)
SCFGreaterThan | (StencilComparisonFunction)
SCFNotEqual | (StencilComparisonFunction)
SCFGreaterThanOrEqual | (StencilComparisonFunction)
SCFAlways | (StencilComparisonFunction)
SOKeep | (StencilOperation)
SOZero | (StencilOperation)
SOReplace | (StencilOperation)
SOIncrement | (StencilOperation)
SODecrement | (StencilOperation)
SOInvert | (StencilOperation)
SOIncrementSaturate | (StencilOperation)
SODecrementSaturate | (StencilOperation)
SMDefault | (StencilMask)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle StencilAttrib::get_class_type(void);

Undocumented function.

getRenderState
unsigned int StencilAttrib::get_render_state(unsigned int render_state_identifier) const;

Description: Returns render state.

make
static ConstPointerTo< RenderAttrib > StencilAttrib::make(unsigned int front_enable, unsigned int front_comparison_function, unsigned int stencil_fail_operation, unsigned int stencil_pass_z_fail_operation, unsigned int front_stencil_pass_z_pass_operation, unsigned int reference, unsigned int read_mask, unsigned int write_mask);

Description: Constructs a front face StencilAttrib.

make2Sided
static ConstPointerTo< RenderAttrib > StencilAttrib::make_2_sided(unsigned int front_enable, unsigned int back_enable, unsigned int front_comparison_function, unsigned int stencil_fail_operation, unsigned int stencil_pass_z_fail_operation, unsigned int front_stencil_pass_z_pass_operation, unsigned int reference, unsigned int read_mask, unsigned int write_mask, unsigned int back_comparison_function, unsigned int back_stencil_fail_operation, unsigned int back_stencil_pass_z_fail_operation, unsigned int back_stencil_pass_z_pass_operation);

Description: Constructs a two-sided StencilAttrib.

make2SidedWithClear
static ConstPointerTo< RenderAttrib > StencilAttrib::make_2_sided_with_clear(unsigned int front_enable, unsigned int back_enable, unsigned int front_comparison_function, unsigned int stencil_fail_operation, unsigned int stencil_pass_z_fail_operation, unsigned int front_stencil_pass_z_pass_operation, unsigned int reference, unsigned int read_mask, unsigned int write_mask, unsigned int back_comparison_function, unsigned int back_stencil_fail_operation, unsigned int back_stencil_pass_z_fail_operation, unsigned int back_stencil_pass_z_pass_operation, unsigned int clear, unsigned int clear_value);

Description: Constructs a two-sided StencilAttrib.

makeOff
static ConstPointerTo< RenderAttrib > StencilAttrib::make_off(void);

Description: Constructs a StencilAttrib that has stenciling turned off.

makeWithClear
static ConstPointerTo< RenderAttrib > StencilAttrib::make_with_clear(unsigned int front_enable, unsigned int front_comparison_function, unsigned int stencil_fail_operation, unsigned int stencil_pass_z_fail_operation, unsigned int front_stencil_pass_z_pass_operation, unsigned int reference, unsigned int read_mask, unsigned int write_mask, unsigned int clear, unsigned int clear_value);

Description: Constructs a front face StencilAttrib.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


StencilRenderStates

    from pandac.PandaModules import StencilRenderStates
    Class : StencilRenderStates
    Description : An abstract cross-platform class for setting stencil buffer render states. Each gsg needs to create its own low-level API specific functions on how to set each render state. The "set_stencil_render_state" function can be used in an immediate-mode fashion.

Inheritance:

    StencilRenderStates:

Constants in StencilRenderStates:

    SRSFrontEnable | (StencilRenderState)
SRSBackEnable | (StencilRenderState)
SRSFrontComparisonFunction | (StencilRenderState)
SRSFrontStencilFailOperation | (StencilRenderState)
SRSFrontStencilPassZFailOperation | (StencilRenderState)
SRSFrontStencilPassZPassOperation | (StencilRenderState)
SRSReference | (StencilRenderState)
SRSReadMask | (StencilRenderState)
SRSWriteMask | (StencilRenderState)
SRSBackComparisonFunction | (StencilRenderState)
SRSBackStencilFailOperation | (StencilRenderState)
SRSBackStencilPassZFailOperation | (StencilRenderState)
SRSBackStencilPassZPassOperation | (StencilRenderState)
SRSClear | (StencilRenderState)
SRSClearValue | (StencilRenderState)
SRSTotal | (StencilRenderState)
SRSFirst | (StencilRenderState)
SCFNever | (StencilComparisonFunction)
SCFLessThan | (StencilComparisonFunction)
SCFEqual | (StencilComparisonFunction)
SCFLessThanOrEqual | (StencilComparisonFunction)
SCFGreaterThan | (StencilComparisonFunction)
SCFNotEqual | (StencilComparisonFunction)
SCFGreaterThanOrEqual | (StencilComparisonFunction)
SCFAlways | (StencilComparisonFunction)
SOKeep | (StencilOperation)
SOZero | (StencilOperation)
SOReplace | (StencilOperation)
SOIncrement | (StencilOperation)
SODecrement | (StencilOperation)
SOInvert | (StencilOperation)
SOIncrementSaturate | (StencilOperation)
SODecrementSaturate | (StencilOperation)


StreamReader

    from pandac.PandaModules import StreamReader
    Class : StreamReader
    Description : A class to read sequential binary data directly from an istream. Its interface is similar to DatagramIterator by design; see also StreamWriter.

Inheritance:

    StreamReader:

Methods of StreamReader:

    StreamReader (Constructor)
    extractBytes
    getBeFloat32
    getBeFloat64
    getBeInt16
    getBeInt32
    getBeInt64
    getBeUint16
    getBeUint32
    getBeUint64
    getBool
    getFixedString
    getFloat32
    getFloat64
    getInt16
    getInt32
    getInt64
    getInt8
    getIstream
    getString
    getString32
    getUint16
    getUint32
    getUint64
    getUint8
    getZString
    operator =
    readline
    skipBytes
StreamReader
StreamReader::StreamReader(istream *in, bool owns_stream);

Description:
Description: If owns_stream is true, the stream pointer will be deleted when the StreamReader destructs.
Description: The copy constructor does not copy ownership of the stream.

extractBytes
string StreamReader::extract_bytes(unsigned int size);

Undocumented function.

getBeFloat32
float StreamReader::get_be_float32(void);

Description: Extracts a 32-bit single-precision big-endian floating-point number. Since this kind of float is not necessarily portable across different architectures, special care is required.

getBeFloat64
double StreamReader::get_be_float64(void);

Description: Extracts a 64-bit big-endian floating-point number.

getBeInt16
short int StreamReader::get_be_int16(void);

Description: Extracts a signed big-endian 16-bit integer.

getBeInt32
int StreamReader::get_be_int32(void);

Description: Extracts a signed big-endian 32-bit integer.

getBeInt64
__int64 StreamReader::get_be_int64(void);

Description: Extracts a signed big-endian 64-bit integer.

getBeUint16
unsigned short int StreamReader::get_be_uint16(void);

Description: Extracts an unsigned big-endian 16-bit integer.

getBeUint32
unsigned int StreamReader::get_be_uint32(void);

Description: Extracts an unsigned big-endian 32-bit integer.

getBeUint64
unsigned __int64 StreamReader::get_be_uint64(void);

Description: Extracts an unsigned big-endian 64-bit integer.

getBool
bool StreamReader::get_bool(void);

Description: Extracts a boolean value.

getFixedString
string StreamReader::get_fixed_string(unsigned int size);

Undocumented function.

getFloat32
float StreamReader::get_float32(void);

Description: Extracts a 32-bit single-precision floating-point number. Since this kind of float is not necessarily portable across different architectures, special care is required.

getFloat64
double StreamReader::get_float64(void);

Description: Extracts a 64-bit floating-point number.

getInt16
short int StreamReader::get_int16(void);

Description: Extracts a signed 16-bit integer.

getInt32
int StreamReader::get_int32(void);

Description: Extracts a signed 32-bit integer.

getInt64
__int64 StreamReader::get_int64(void);

Description: Extracts a signed 64-bit integer.

getInt8
signed char StreamReader::get_int8(void);

Description: Extracts a signed 8-bit integer.

getIstream
istream *StreamReader::get_istream(void) const;

Description: Returns the stream in use.

getString
string StreamReader::get_string(void);

Undocumented function.

getString32
string StreamReader::get_string32(void);

Undocumented function.

getUint16
unsigned short int StreamReader::get_uint16(void);

Description: Extracts an unsigned 16-bit integer.

getUint32
unsigned int StreamReader::get_uint32(void);

Description: Extracts an unsigned 32-bit integer.

getUint64
unsigned __int64 StreamReader::get_uint64(void);

Description: Extracts an unsigned 64-bit integer.

getUint8
unsigned char StreamReader::get_uint8(void);

Description: Extracts an unsigned 8-bit integer.

getZString
string StreamReader::get_z_string(void);

Undocumented function.

operator =
void StreamReader::operator =(StreamReader const &copy);

Description: The copy constructor does not copy ownership of the stream.

readline
string StreamReader::readline(void);

Undocumented function.

skipBytes
void StreamReader::skip_bytes(unsigned int size);

Undocumented function.


StreamWriter

    from pandac.PandaModules import StreamWriter
    Class : StreamWriter
    Description : A StreamWriter object is used to write sequential binary data directly to an ostream. Its interface is very similar to Datagram by design; it's primarily intended as a convenience to eliminate the overhead of writing bytes to a Datagram and then writing the Datagram to a stream.

Inheritance:

    StreamWriter:

Methods of StreamWriter:

    StreamWriter (Constructor)
    addBeFloat32
    addBeFloat64
    addBeInt16
    addBeInt32
    addBeInt64
    addBeUint16
    addBeUint32
    addBeUint64
    addBool
    addFixedString
    addFloat32
    addFloat64
    addInt16
    addInt32
    addInt64
    addInt8
    addString
    addString32
    addUint16
    addUint32
    addUint64
    addUint8
    addZString
    appendData
    getOstream
    operator =
    padBytes
StreamWriter
StreamWriter::StreamWriter(ostream *out, bool owns_stream);

Description:
Description: The copy constructor does not copy ownership of the stream.

addBeFloat32
void StreamWriter::add_be_float32(float value);

Description: Adds a 32-bit single-precision big-endian floating-point number to the stream. Since this kind of float is not necessarily portable across different architectures, special care is required.

addBeFloat64
void StreamWriter::add_be_float64(double value);

Description: Adds a 64-bit big-endian floating-point number to the streamWriter.

addBeInt16
void StreamWriter::add_be_int16(short int value);

These functions pack numbers big-endian, in case that's desired.
Description: Adds a signed 16-bit big-endian integer to the streamWriter.

addBeInt32
void StreamWriter::add_be_int32(int value);

These functions pack numbers big-endian, in case that's desired.
Description: Adds a signed 32-bit big-endian integer to the streamWriter.

addBeInt64
void StreamWriter::add_be_int64(__int64 value);

Description: Adds a signed 64-bit big-endian integer to the streamWriter.

addBeUint16
void StreamWriter::add_be_uint16(unsigned short int value);

Description: Adds an unsigned 16-bit big-endian integer to the streamWriter.

addBeUint32
void StreamWriter::add_be_uint32(unsigned int value);

Description: Adds an unsigned 32-bit big-endian integer to the streamWriter.

addBeUint64
void StreamWriter::add_be_uint64(unsigned __int64 value);

Description: Adds an unsigned 64-bit big-endian integer to the streamWriter.

addBool
void StreamWriter::add_bool(bool value);

Description: Adds a boolean value to the stream.

addFixedString
void StreamWriter::add_fixed_string(string const &str, unsigned int size);

Description: Adds a fixed-length string to the stream. If the string given is less than the requested size, this will pad the string out with zeroes; if it is greater than the requested size, this will silently truncate the string.

addFloat32
void StreamWriter::add_float32(float value);

Description: Adds a 32-bit single-precision floating-point number to the stream. Since this kind of float is not necessarily portable across different architectures, special care is required.

addFloat64
void StreamWriter::add_float64(double value);

Description: Adds a 64-bit floating-point number to the stream.

addInt16
void StreamWriter::add_int16(short int value);

The default numeric packing is little-endian.
Description: Adds a signed 16-bit integer to the stream.

addInt32
void StreamWriter::add_int32(int value);

The default numeric packing is little-endian.
Description: Adds a signed 32-bit integer to the stream.

addInt64
void StreamWriter::add_int64(__int64 value);

Description: Adds a signed 64-bit integer to the stream.

addInt8
void StreamWriter::add_int8(signed char value);

Description: Adds a signed 8-bit integer to the stream.

addString
void StreamWriter::add_string(string const &str);

Description: Adds a variable-length string to the stream. This actually adds a count followed by n bytes.

addString32
void StreamWriter::add_string32(string const &str);

Description: Adds a variable-length string to the stream, using a 32-bit length field.

addUint16
void StreamWriter::add_uint16(unsigned short int value);

Description: Adds an unsigned 16-bit integer to the stream.

addUint32
void StreamWriter::add_uint32(unsigned int value);

Description: Adds an unsigned 32-bit integer to the stream.

addUint64
void StreamWriter::add_uint64(unsigned __int64 value);

Description: Adds an unsigned 64-bit integer to the stream.

addUint8
void StreamWriter::add_uint8(unsigned char value);

Description: Adds an unsigned 8-bit integer to the stream.

addZString
void StreamWriter::add_z_string(string str);

Description: Adds a variable-length string to the stream, as a NULL-terminated string.

appendData
void StreamWriter::append_data(void const *data, unsigned int size);

Description: Appends some more raw data to the end of the streamWriter.

getOstream
ostream *StreamWriter::get_ostream(void) const;

Description: Returns the stream in use.

operator =
void StreamWriter::operator =(StreamWriter const &copy);

Description: The copy constructor does not copy ownership of the stream.

padBytes
void StreamWriter::pad_bytes(unsigned int size);

Undocumented function.


StringStream

    from pandac.PandaModules import StringStream
    Class : StringStream
    Description : A bi-directional stream object that reads and writes data to an internal buffer, which can be retrieved and/or set as a string.

Inheritance:

    StringStream: iostream
    iostream: istream ostream
    istream: ios
    ios: ios_base
    ios_base:
    ostream: ios

Methods of StringStream:

    StringStream (Constructor)
    clearData
    getData
    getDataSize
    setData
    swapData

Methods of iostream:

    flush

Methods of istream:

    get
    seekg
    tellg

Methods of ios:

    bad
    clear
    eof
    fail
    good

Methods of ostream:

    flush
    put
    seekp
    tellp

Constants in ios_base:

    beg | (seekdir)
cur | (seekdir)
end | (seekdir)
StringStream
StringStream::StringStream(void);

Description:
Description: This version of the constructor preloads the buffer with the indicated data.

clearData
void StringStream::clear_data(void);

Description: Empties the buffer.

getData
string StringStream::get_data(void);

Description: Returns the contents of the data stream as a string.

getDataSize
unsigned int StringStream::get_data_size(void);

Description: Returns the number of characters available to be read from the data stream.

setData
void StringStream::set_data(string const &data);

Description: Replaces the contents of the data stream. This implicitly reseeks to 0.

swapData
void StringStream::swap_data(vector< unsigned char > &data);

Description: Swaps the indicated buffer for the contents of the internal buffer.

flush
void iostream::flush(void);

Undocumented function.

get
int istream::get(void);

Undocumented function.

seekg
void istream::seekg(unsigned long int pos);

Undocumented function.

tellg
unsigned long int istream::tellg(void);

Undocumented function.

bad
bool ios::bad(void) const;

Undocumented function.

clear
void ios::clear(void);

Undocumented function.

eof
bool ios::eof(void) const;

Undocumented function.

fail
bool ios::fail(void) const;

Undocumented function.

good
bool ios::good(void) const;

Undocumented function.

flush
void ostream::flush(void);

Undocumented function.

put
void ostream::put(char c);

Undocumented function.

seekp
void ostream::seekp(unsigned long int pos);

Undocumented function.

tellp
unsigned long int ostream::tellp(void);

Undocumented function.


Structure

    from direct.pyinst.icon import Structure

Inheritance:

    Structure:

Methods of Structure:

    __getattr__
    __init__
    __setattr__
    dump
    fromfile
    tostring
__getattr__
def __getattr__(self, name)

Undocumented function.

__init__
def __init__(self)

Undocumented function.

__setattr__
def __setattr__(self, name, value)

Undocumented function.

dump
def dump(self)

Undocumented function.

fromfile
def fromfile(self, file)

Undocumented function.

tostring
def tostring(self)

Undocumented function.


SubframeCall

    from direct.showbase.PythonUtil import SubframeCall
    Calls a callback at a specific time during the frame using the task system

Inheritance:

    SubframeCall:

Methods of SubframeCall:

    __init__
    _doCallback
    cleanup
__init__
def __init__(self, functor, taskPriority, name=None)

Undocumented function.

_doCallback
def _doCallback(self, task)

Undocumented function.

cleanup
def cleanup(self)

Undocumented function.


SwimWalker

    from direct.controls.SwimWalker import SwimWalker

Inheritance:

    SwimWalker:

Methods of SwimWalker:

    _calcSpeeds
_calcSpeeds
def _calcSpeeds(self)

Undocumented function.


SwitchNode

    from pandac.PandaModules import SwitchNode
    Class : SwitchNode
    Description : A node that renders only one of its children, according to the user's indication.

Inheritance:

    SwitchNode: SelectiveChildNode
    SelectiveChildNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of SwitchNode:

    SwitchNode (Constructor)
    getClassType
    setVisibleChild

Methods of SelectiveChildNode:

    SelectiveChildNode (Constructor)
    getClassType

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
SwitchNode
SwitchNode::SwitchNode(string const &name);

Description:

getClassType
static TypeHandle SwitchNode::get_class_type(void);

Undocumented function.

setVisibleChild
void SwitchNode::set_visible_child(int index);

Description: Specifies the particular child of this node, by index, that will be visible.

SelectiveChildNode
SelectiveChildNode::SelectiveChildNode(string const &name);

Description:

getClassType
static TypeHandle SelectiveChildNode::get_class_type(void);

Undocumented function.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Sync

    from direct.showbase.PythonUtil import Sync

Inheritance:

    Sync:

Methods of Sync:

    __init__
    __repr__
    change
    invalidate
    isSynced
    sync
__init__
def __init__(self, name, other=None)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

change
def change(self)

Undocumented function.

invalidate
def invalidate(self)

Undocumented function.

isSynced
def isSynced(self, other)

Undocumented function.

sync
def sync(self, other)

Undocumented function.


SystemInformation

    from direct.http.windowsSystemInfo import SystemInformation

Inheritance:

    SystemInformation:

Methods of SystemInformation:

    __init__
    _cpu
    _os_version
    _ram
    refresh
__init__
def __init__(self)

Undocumented function.

_cpu
def _cpu(self)

Undocumented function.

_os_version
def _os_version(self)

Undocumented function.

_ram
def _ram(self)

Undocumented function.

refresh
def refresh(self)

Undocumented function.


TangentRingEmitter

    from pandac.PandaModules import TangentRingEmitter
    Class : TangentRingEmitter
    Description : Describes a planar ring region in which tangent particles are generated, and particles fly off tangential to the ring.

Inheritance:

    TangentRingEmitter: BaseParticleEmitter
    BaseParticleEmitter: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of TangentRingEmitter:

    TangentRingEmitter (Constructor)
    getRadius
    getRadiusSpread
    setRadius
    setRadiusSpread

Methods of BaseParticleEmitter:

    generate
    getAmplitude
    getAmplitudeSpread
    getEmissionType
    getExplicitLaunchVector
    getOffsetForce
    getRadiateOrigin
    makeCopy
    output
    setAmplitude
    setAmplitudeSpread
    setEmissionType
    setExplicitLaunchVector
    setOffsetForce
    setRadiateOrigin
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in BaseParticleEmitter:

    ETEXPLICIT | (emissionType)
ETRADIATE | (emissionType)
ETCUSTOM | (emissionType)
TangentRingEmitter
TangentRingEmitter::TangentRingEmitter(void);

Description : copy constructor

getRadius
float TangentRingEmitter::get_radius(void) const;

Undocumented function.

getRadiusSpread
float TangentRingEmitter::get_radius_spread(void) const;

Undocumented function.

setRadius
void TangentRingEmitter::set_radius(float r);

Undocumented function.

setRadiusSpread
void TangentRingEmitter::set_radius_spread(float spread);

Undocumented function.

generate
void BaseParticleEmitter::generate(LPoint3f &pos, LVector3f &vel);

Description : parent generation function

getAmplitude
float BaseParticleEmitter::get_amplitude(void) const;

Description : amplitude query

getAmplitudeSpread
float BaseParticleEmitter::get_amplitude_spread(void) const;

Description : amplitude spread query

getEmissionType
BaseParticleEmitter::emissionType BaseParticleEmitter::get_emission_type(void) const;

Description : emission type query

getExplicitLaunchVector
LVector3f BaseParticleEmitter::get_explicit_launch_vector(void) const;

Description : query for explicit emission launch vector

getOffsetForce
LVector3f BaseParticleEmitter::get_offset_force(void) const;

Description : user-defined force

getRadiateOrigin
LPoint3f BaseParticleEmitter::get_radiate_origin(void) const;

Description : query for explicit emission launch vector

makeCopy
virtual BaseParticleEmitter *BaseParticleEmitter::make_copy(void) = 0;

Undocumented function.

output
virtual void BaseParticleEmitter::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

setAmplitude
void BaseParticleEmitter::set_amplitude(float a);

Description : amplitude assignment

setAmplitudeSpread
void BaseParticleEmitter::set_amplitude_spread(float as);

Description : amplitude spread assignment

setEmissionType
void BaseParticleEmitter::set_emission_type(BaseParticleEmitter::emissionType et);

Description : emission type assignment

setExplicitLaunchVector
void BaseParticleEmitter::set_explicit_launch_vector(LVector3f const &elv);

this is a constant force applied to all particles
Description : assignment of explicit emission launch vector

setOffsetForce
void BaseParticleEmitter::set_offset_force(LVector3f const &of);

Description : user-defined force

setRadiateOrigin
void BaseParticleEmitter::set_radiate_origin(LPoint3f const &ro);

this is a constant force applied to all particles
Description : assignment of radiate emission origin point

write
virtual void BaseParticleEmitter::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Target

    from direct.pyinst.Builder import Target

Inheritance:

    Target:

Methods of Target:

    __init__
    assemble
    build
    dump
    edit
    gather
    getbool
    getstring
    getstringlist
__init__
def __init__(self, cfg, sectnm, cnvrts)

Undocumented function.

assemble
def assemble(self)

Undocumented function.

build
def build(self)

Undocumented function.

dump
def dump(self)

Undocumented function.

edit
def edit(self)

Undocumented function.

gather
def gather(self)

Undocumented function.

getbool
def getbool(self, opt)

Undocumented function.

getstring
def getstring(self, opt)

Undocumented function.

getstringlist
def getstringlist(self, opt)

Undocumented function.


Task

    from direct.task.Task import Task

Inheritance:

    Task:

Methods of Task:

    __init__
    __repr__
    finishTask
    getPriority
    isRemoved
    remove
    setCurrentTimeFrame
    setPriority
    setStartTimeFrame
    setupPStats
__init__
def __init__(self, callback, priority=0)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

finishTask
def finishTask(self, verbose)

Undocumented function.

getPriority
def getPriority(self)

Undocumented function.

isRemoved
def isRemoved(self)

Undocumented function.

remove
def remove(self)

Undocumented function.

setCurrentTimeFrame
def setCurrentTimeFrame(self, currentTime, currentFrame)

Undocumented function.

setPriority
def setPriority(self, pri)

Undocumented function.

setStartTimeFrame
def setStartTimeFrame(self, startTime, startFrame)

Undocumented function.

setupPStats
def setupPStats(self)

Undocumented function.


TaskLeakDetector

    from direct.showbase.LeakDetectors import TaskLeakDetector

Inheritance:

    TaskLeakDetector:

Methods of TaskLeakDetector:

    __init__
    __len__
    _processTaskName
    destroy
__init__
def __init__(self)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

_processTaskName
def _processTaskName(self, taskName)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


TaskLeakDetectorBase

    from direct.showbase.LeakDetectors import TaskLeakDetectorBase

Inheritance:

    TaskLeakDetectorBase:

Methods of TaskLeakDetectorBase:

    _getTaskNamePattern
_getTaskNamePattern
def _getTaskNamePattern(self, taskName)

Undocumented function.


TaskManager

    from direct.task.Task import TaskManager

Inheritance:

    TaskManager:

Methods of TaskManager:

    __addNewTask
    __addPendingTask
    __addPendingTasksToTaskList
    __doLaterFilter
    __doLaterProcessor
    __executeTask
    __getNextDoLaterTime
    __getTime
    __getTimeFrame
    __init__
    __removeTaskFromNameDict
    __removeTasksEqual
    __removeTasksNamed
    __repeatDoMethod
    __repr__
    __stepThroughList
    __tryReplaceTaskMethod
    _unpackIOError
    add
    def
    destroy
    doMethodLater
    doOsd
    doYield
    doYieldExample
    getDoLaters
    getTasks
    getTasksNamed
    hasTaskNamed
    invokeDefaultHandler
    keyboardInterruptHandler
    osdEnabled
    popupControls
    profileFrames
    remove
    removeTasksMatching
    replaceMethod
    resetStats
    run
    setStepping
    setVerbose
    startOsd
    step
    stop
    stopOsd
__addNewTask
def __addNewTask(self, task)

Undocumented function.

__addPendingTask
def __addPendingTask(self, task)

Undocumented function.

__addPendingTasksToTaskList
def __addPendingTasksToTaskList(self)

Undocumented function.

__doLaterFilter
def __doLaterFilter(self)

Undocumented function.

__doLaterProcessor
def __doLaterProcessor(self, task)

Undocumented function.

__executeTask
def __executeTask(self, task)

Undocumented function.

__getNextDoLaterTime
def __getNextDoLaterTime(self)

Undocumented function.

__getTime
def __getTime(self)

Undocumented function.

__getTimeFrame
def __getTimeFrame(self)

Undocumented function.

__init__
def __init__(self)

Undocumented function.

__removeTaskFromNameDict
def __removeTaskFromNameDict(self, task)

Undocumented function.

__removeTasksEqual
def __removeTasksEqual(self, task)

Undocumented function.

__removeTasksNamed
def __removeTasksNamed(self, taskName)

Undocumented function.

__repeatDoMethod
def __repeatDoMethod(self, task)

Called when a task execute function returns Task.again because it wants the task to execute again after the same or a modified delay (set 'delayTime' on the task object to change the delay)

__repr__
def __repr__(self)

Undocumented function.

__stepThroughList
def __stepThroughList(self, taskPriList)

Undocumented function.

__tryReplaceTaskMethod
def __tryReplaceTaskMethod(self, task, oldMethod, newFunction)

Undocumented function.

_unpackIOError
def _unpackIOError(self, ioError)

Undocumented function.

add
def add(self, funcOrTask, name, priority=0, extraArgs=None, uponDeath=None, appendTask=False, owner=None)

Add a new task to the taskMgr. You can add a Task object or a method that takes one argument.

def
def def_doProfiledFrames

Undocumented function.

destroy
def destroy(self)

Undocumented function.

doMethodLater
def doMethodLater(self, delayTime, funcOrTask, name, extraArgs=None, priority=0, uponDeath=None, appendTask=False, owner=None)

Undocumented function.

doOsd
def doOsd(self, task)

Undocumented function.

doYield
def doYield(self, frameStartTime, nextScheuledTaksTime)

Undocumented function.

doYieldExample
def doYieldExample(self, frameStartTime, nextScheuledTaksTime)

Undocumented function.

getDoLaters
def getDoLaters(self)

Undocumented function.

getTasks
def getTasks(self)

Undocumented function.

getTasksNamed
def getTasksNamed(self, taskName)

Undocumented function.

hasTaskNamed
def hasTaskNamed(self, taskName)

Undocumented function.

invokeDefaultHandler
def invokeDefaultHandler(self, signalNumber, stackFrame)

Undocumented function.

keyboardInterruptHandler
def keyboardInterruptHandler(self, signalNumber, stackFrame)

Undocumented function.

osdEnabled
def osdEnabled(self)

Undocumented function.

popupControls
def popupControls(self)

Undocumented function.

profileFrames
def profileFrames(self, num=None)

Undocumented function.

remove
def remove(self, taskOrName)

Undocumented function.

removeTasksMatching
def removeTasksMatching(self, taskPattern)

removeTasksMatching(self, string taskPattern)
Removes tasks whose names match the pattern, which can include standard shell globbing characters like *, ?, and [].

replaceMethod
def replaceMethod(self, oldMethod, newFunction)

Undocumented function.

resetStats
def resetStats(self)

Undocumented function.

run
def run(self)

Undocumented function.

setStepping
def setStepping(self, value)

Undocumented function.

setVerbose
def setVerbose(self, value)

Undocumented function.

startOsd
def startOsd(self)

Undocumented function.

step
def step(self)

Undocumented function.

stop
def stop(self)

Undocumented function.

stopOsd
def stopOsd(self)

Undocumented function.


TaskManagerPanel

    from direct.tkpanels.TaskManagerPanel import TaskManagerPanel

Inheritance:

    TaskManagerPanel:

Methods of TaskManagerPanel:

    __init__
    createInterface
    onDestroy
__init__
def __init__(self, taskMgr, parent=None, **kw)

Undocumented function.

createInterface
def createInterface(self)

Undocumented function.

onDestroy
def onDestroy(self, event)

Undocumented function.


TaskManagerWidget

    from direct.tkpanels.TaskManagerPanel import TaskManagerWidget
    TaskManagerWidget class: this class contains methods for creating a panel to control taskManager tasks.

Inheritance:

    TaskManagerWidget:

Methods of TaskManagerWidget:

    __init__
    onDestroy
    popupMenu
    removeCurrentTask
    removeMatchingTasks
    removeTaskHook
    setCurrentTask
    spawnTaskHook
    toggleTaskMgrVerbose
    updateTaskListBox
    updateTaskMgrVerbose
__init__
def __init__(self, parent, taskMgr)

TaskManagerWidget class pops up a control panel to view/delete tasks managed by the taskManager.

onDestroy
def onDestroy(self)

Undocumented function.

popupMenu
def popupMenu(self, event)

listbox = self.taskListBox.component('listbox') index = listbox.nearest(event.y) listbox.selection_clear(0) listbox.activate(index) self.taskListBox.select_set(index) self.setCurrentTask()

removeCurrentTask
def removeCurrentTask(self)

Undocumented function.

removeMatchingTasks
def removeMatchingTasks(self)

Undocumented function.

removeTaskHook
def removeTaskHook(self, task, name)

Undocumented function.

setCurrentTask
def setCurrentTask(self, event=None)

Undocumented function.

spawnTaskHook
def spawnTaskHook(self, task, name, index)

Undocumented function.

toggleTaskMgrVerbose
def toggleTaskMgrVerbose(self)

Undocumented function.

updateTaskListBox
def updateTaskListBox(self)

Undocumented function.

updateTaskMgrVerbose
def updateTaskMgrVerbose(self, value)

Undocumented function.


TaskPriorityList

    from direct.task.Task import TaskPriorityList

Inheritance:

    TaskPriorityList:

Methods of TaskPriorityList:

    __init__
    add
    getPriority
    remove
__init__
def __init__(self, priority)

Undocumented function.

add
def add(self, task)

Undocumented function.

getPriority
def getPriority(self)

Undocumented function.

remove
def remove(self, i)

Undocumented function.


TaskThread

    from direct.showbase.TaskThreaded import TaskThread

Inheritance:

    TaskThread:

Methods of TaskThread:

    _destroy
    _init
    done
    finished
    isFinished
    run
    setUp
    tearDown
    timeLeft
_destroy
def _destroy(self)

Undocumented function.

_init
def _init(self, parent)

Undocumented function.

done
def done(self)

Undocumented function.

finished
def finished(self)

Undocumented function.

isFinished
def isFinished(self)

Undocumented function.

run
def run(self)

Undocumented function.

setUp
def setUp(self)

Undocumented function.

tearDown
def tearDown(self)

Undocumented function.

timeLeft
def timeLeft(self)

Undocumented function.


TaskThreaded

    from direct.showbase.TaskThreaded import TaskThreaded
    derive from this if you need to do a bunch of CPU-intensive processing and you don't want to hang up the show. Lets you break up the processing over multiple frames

Inheritance:

    TaskThreaded:

Methods of TaskThreaded:

    __init__
    _doCallback
    _doThreadCallback
    destroy
    finished
    getTimeslice
    scheduleCallback
    scheduleThread
    setTimeslice
    taskTimeLeft
__init__
def __init__(self, name, threaded=True, timeslice=None, callback=None)

Undocumented function.

_doCallback
def _doCallback(self, callback, taskName, task)

Undocumented function.

_doThreadCallback
def _doThreadCallback(self, thread, taskName, task)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

finished
def finished(self)

Undocumented function.

getTimeslice
def getTimeslice(self)

Undocumented function.

scheduleCallback
def scheduleCallback(self, callback)

Undocumented function.

scheduleThread
def scheduleThread(self, thread)

Undocumented function.

setTimeslice
def setTimeslice(self, timeslice)

Undocumented function.

taskTimeLeft
def taskTimeLeft(self)

returns True if there is time left for the current task callback to run without going over the allotted timeslice


TestAppShell

    from direct.tkwidgets.AppShell import TestAppShell

Inheritance:

    TestAppShell:

Methods of TestAppShell:

    __init__
    createButtons
    createInterface
    createMain
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

createButtons
def createButtons(self)

Undocumented function.

createInterface
def createInterface(self)

Undocumented function.

createMain
def createMain(self)

Undocumented function.


TestInterval

    from direct.interval.TestInterval import TestInterval

Inheritance:

    TestInterval:

Methods of TestInterval:

    __del__
    __init__
    __step
    privFinalize
    privInitialize
    privInstant
    privInterrupt
    privStep
    start
__del__
def __del__(self)

Undocumented function.

__init__
def __init__(self, particleEffect, duration=0.0, parent=None, renderParent=None, name=None)

particleEffect is ?? parent is ?? worldRelative is a boolean loop is a boolean duration is a float for the time name is ??

__step
def __step(self, dt)

Undocumented function.

privFinalize
def privFinalize(self)

Undocumented function.

privInitialize
def privInitialize(self, t)

Undocumented function.

privInstant
def privInstant(self)

Full jump from Initial state to Final State

privInterrupt
def privInterrupt(self)

Undocumented function.

privStep
def privStep(self, t)

Undocumented function.

start
def start(self, *args, **kwargs)

Undocumented function.


TexGenAttrib

    from pandac.PandaModules import TexGenAttrib
    Class : TexGenAttrib
    Description : Computes texture coordinates for geometry automatically based on vertex position and/or normal. This can be used to implement reflection and/or refraction maps, for instance to make shiny surfaces, as well as other special effects such as projective texturing.

Inheritance:

    TexGenAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of TexGenAttrib:

    addStage
    getClassType
    getConstantValue
    getGeomRendering
    getLight
    getMode
    getSourceName
    hasGenTexcoordStage
    hasStage
    isEmpty
    make
    removeStage

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
addStage
ConstPointerTo< RenderAttrib > TexGenAttrib::add_stage(TextureStage *stage, RenderAttrib::TexGenMode mode) const;

Description: Returns a new TexGenAttrib just like this one, with the indicated generation mode for the given stage. If this stage already exists, its mode is replaced.
This variant also accepts source_name and light, which are only meaningful if mode is M_light_vector.
This variant also accepts constant_value, which is only meaningful if mode is M_constant.

getClassType
static TypeHandle TexGenAttrib::get_class_type(void);

Undocumented function.

getConstantValue
LPoint3f const &TexGenAttrib::get_constant_value(TextureStage *stage) const;

Description: Returns the constant value associated with the named texture stage. This is only meaningful if the mode is M_constant.

getGeomRendering
int TexGenAttrib::get_geom_rendering(int geom_rendering) const;

Description: Returns the union of the Geom::GeomRendering bits that will be required once this TexGenAttrib is applied to a geom which includes the indicated geom_rendering bits.

getLight
NodePath TexGenAttrib::get_light(TextureStage *stage) const;

Description: Returns the Light associated with the named texture stage, or the empty NodePath if no light is associated with the indicated stage. This is only meaningful if the mode is M_light_vector.

getMode
RenderAttrib::TexGenMode TexGenAttrib::get_mode(TextureStage *stage) const;

Description: Returns the generation mode associated with the named texture stage, or M_off if nothing is associated with the indicated stage.

getSourceName
string TexGenAttrib::get_source_name(TextureStage *stage) const;

Description: Returns the source name associated with the named texture stage, or the empty string if no name is associated with the indicated stage. This is only meaningful if the mode is M_light_vector, in which case it indicates the name of the source texture coordinate set from which the tangent and binormal are derived.

hasGenTexcoordStage
bool TexGenAttrib::has_gen_texcoord_stage(TextureStage *stage) const;

Description: Returns true if the indicated TextureStage will have texture coordinates generated for it automatically (and thus there is no need to upload the texture coordinates encoded in the vertices).

hasStage
bool TexGenAttrib::has_stage(TextureStage *stage) const;

Description: Returns true if there is a mode associated with the indicated stage, or false otherwise (in which case get_transform(stage) will return M_off).

isEmpty
bool TexGenAttrib::is_empty(void) const;

Description: Returns true if no stages are defined in the TexGenAttrib, false if at least one is.

make
static ConstPointerTo< RenderAttrib > TexGenAttrib::make(void);

Description: Constructs a TexGenAttrib that generates no stages at all.
Description: Constructs a TexGenAttrib that generates just the indicated stage.

removeStage
ConstPointerTo< RenderAttrib > TexGenAttrib::remove_stage(TextureStage *stage) const;

Description: Returns a new TexGenAttrib just like this one, with the indicated stage removed.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


TexMatrixAttrib

    from pandac.PandaModules import TexMatrixAttrib
    Class : TexMatrixAttrib
    Description : Applies a transform matrix to UV's before they are rendered.

Inheritance:

    TexMatrixAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of TexMatrixAttrib:

    addStage
    getClassType
    getGeomRendering
    getMat
    getNumStages
    getStage
    getTransform
    hasStage
    isEmpty
    make
    removeStage

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
addStage
ConstPointerTo< RenderAttrib > TexMatrixAttrib::add_stage(TextureStage *stage, TransformState const *transform) const;

Description: Returns a new TexMatrixAttrib just like this one, with the indicated transform for the given stage. If this stage already exists, its transform is replaced.

getClassType
static TypeHandle TexMatrixAttrib::get_class_type(void);

Undocumented function.

getGeomRendering
int TexMatrixAttrib::get_geom_rendering(int geom_rendering) const;

Description: Returns the union of the Geom::GeomRendering bits that will be required once this TexMatrixAttrib is applied to a geom which includes the indicated geom_rendering bits.

getMat
LMatrix4f const &TexMatrixAttrib::get_mat(void) const;

Description: Returns the transformation matrix associated with the default texture stage.
Description: Returns the transformation matrix associated with the named texture stage, or identity matrix if nothing is associated with the indicated stage.

getNumStages
int TexMatrixAttrib::get_num_stages(void) const;

Description: Returns the number of stages that are represented by this attrib.

getStage
TextureStage *TexMatrixAttrib::get_stage(int n) const;

Description: Returns the nth stage that is represented by this attrib. The TextureStages are in no particular order.

getTransform
ConstPointerTo< TransformState > TexMatrixAttrib::get_transform(TextureStage *stage) const;

Description: Returns the transformation associated with the named texture stage, or identity matrix if nothing is associated with the indicated stage.

hasStage
bool TexMatrixAttrib::has_stage(TextureStage *stage) const;

Description: Returns true if there is a transform associated with the indicated stage, or false otherwise (in which case get_transform(stage) will return the identity transform).

isEmpty
bool TexMatrixAttrib::is_empty(void) const;

Description: Returns true if no stages are defined in the TexMatrixAttrib, false if at least one is.

make
static ConstPointerTo< RenderAttrib > TexMatrixAttrib::make(void);

Description: Constructs a TexMatrixAttrib that applies no stages at all.
Description: Constructs a TexMatrixAttrib that applies the indicated matrix to the default texture stage. This interface is deprecated.
Description: Constructs a TexMatrixAttrib that applies the indicated transform to the named texture stage.

removeStage
ConstPointerTo< RenderAttrib > TexMatrixAttrib::remove_stage(TextureStage *stage) const;

Description: Returns a new TexMatrixAttrib just like this one, with the indicated stage removed.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


TexProjectorEffect

    from pandac.PandaModules import TexProjectorEffect
    Class : TexProjectorEffect
    Description : This effect automatically applies a computed texture matrix to the specified texture stage, according to the relative position of two specified nodes.
    The relative transform from the "from" node to the "to" node is applied directly to the texture matrix each frame. If the "to" node happens to be a LensNode, its lens projection matrix is applied as well.
    This can be used to apply a number of special effects. Fundamentally, it may simply be used to provide a separate PandaNode that may be adjusted (e.g. via a LerpInterval) in order to easily apply a linear transformation to an object's texture coordinates (rather than having to explicitly call NodePath.set_tex_transform() each frame).
    In a more sophisticated case, the TexProjectorEffect is particularly useful in conjunction with a TexGenAttrib that specifies a mode of M_world_position (which copies the world position of each vertex to the texture coordinates). Then the TexProjector can be used to convert these world coordinates to the relative coordinates of a particular node, causing (for instance) a texture to appear to follow a node around as it moves through the world. With a LensNode, you can project a texture onto the walls, for instance to apply a flashlight effect or an image-based shadow.

Inheritance:

    TexProjectorEffect: RenderEffect
    RenderEffect: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of TexProjectorEffect:

    addStage
    getClassType
    getFrom
    getTo
    hasStage
    isEmpty
    make
    removeStage

Methods of RenderEffect:

    compareTo
    getClassType
    getNumEffects
    listEffects
    output
    validateEffects
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
addStage
ConstPointerTo< RenderEffect > TexProjectorEffect::add_stage(TextureStage *stage, NodePath const &from, NodePath const &to) const;

Description: Returns a new TexProjectorEffect just like this one, with the indicated projection for the given stage. If this stage already exists, its projection definition is replaced.
The relative transform between the "from" and the "to" nodes is automatically applied to the texture transform each frame.
Furthermore, if the "to" node is a LensNode, its projection matrix is also applied to the texture transform.

getClassType
static TypeHandle TexProjectorEffect::get_class_type(void);

Undocumented function.

getFrom
NodePath TexProjectorEffect::get_from(TextureStage *stage) const;

Description: Returns the "from" node associated with the TexProjectorEffect on the indicated stage. The relative transform between the "from" and the "to" nodes is automatically applied to the texture transform each frame.

getTo
NodePath TexProjectorEffect::get_to(TextureStage *stage) const;

Description: Returns the "to" node associated with the TexProjectorEffect on the indicated stage. The relative transform between the "from" and the "to" nodes is automatically applied to the texture transform each frame.
Furthermore, if the "to" node is a LensNode, its projection matrix is also applied to the texture transform.

hasStage
bool TexProjectorEffect::has_stage(TextureStage *stage) const;

Description: Returns true if there is a transform associated with the indicated stage, or false otherwise (in which case get_transform(stage) will return the identity transform).

isEmpty
bool TexProjectorEffect::is_empty(void) const;

Description: Returns true if no stages are defined in the TexProjectorEffect, false if at least one is.

make
static ConstPointerTo< RenderEffect > TexProjectorEffect::make(void);

Description: Constructs a TexProjectorEffect that modifies no stages at all.

removeStage
ConstPointerTo< RenderEffect > TexProjectorEffect::remove_stage(TextureStage *stage) const;

Description: Returns a new TexProjectorEffect just like this one, with the indicated stage removed.

compareTo
int RenderEffect::compare_to(RenderEffect const &other) const;

Description: Provides an arbitrary ordering among all unique RenderEffects, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderEffect class because all equivalent RenderEffect objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderEffect::get_class_type(void);

Undocumented function.

getNumEffects
static int RenderEffect::get_num_effects(void);

Description: Returns the total number of unique RenderEffect objects allocated in the world. This will go up and down during normal operations.

listEffects
static void RenderEffect::list_effects(ostream &out);

Description: Lists all of the RenderEffects in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderEffect::output(ostream &out) const;

Description:

validateEffects
static bool RenderEffect::validate_effects(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderEffect objects).

write
virtual void RenderEffect::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


TextAssembler

    from pandac.PandaModules import TextAssembler
    Class : TextAssembler
    Description : This 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. However, user code may take advantage of it, if desired, for very low-level text operations.

Inheritance:

    TextAssembler:

Methods of TextAssembler:

    TextAssembler (Constructor)
    assembleText
    calcC
    calcIndex
    calcR
    calcRC
    calcWidth
    clear
    getCharacter
    getGraphic
    getLr
    getMaxRows
    getNumCharacters
    getNumCols
    getNumRows
    getPlainWtext
    getProperties
    getUl
    getUsageHint
    getWidth
    getWordwrappedPlainWtext
    getWordwrappedWtext
    getWtext
    getXpos
    getYpos
    operator =
    setMaxRows
    setProperties
    setUsageHint
    setWsubstr
    setWtext
TextAssembler
TextAssembler::TextAssembler(TextEncoder *encoder);

Description:

assembleText
PointerTo< PandaNode > TextAssembler::assemble_text(void);

Description: Actually assembles all of the text into a GeomNode, and returns the node (or possibly a parent of the node, to keep the shadow separate). Once this has been called, you may query the extents of the text via get_ul(), get_lr().

calcC
int TextAssembler::calc_c(int n) const;

Description: Computes the column index of the nth character or graphic object in the text and returns it.
If the nth character is not a normal printable character with a position in the wordwrapped string, returns -1 (for instance, a soft-hyphen character, or a newline character, may not have a corresponding position).

calcIndex
int TextAssembler::calc_index(int r, int c) const;

Description: Computes the character index of the character at the rth row and cth column position. This is the inverse of calc_r_c().
It is legal for c to exceed the index number of the last column by 1, and it is legal for r to exceed the index number of the last row by 1, if c is 0.

calcR
int TextAssembler::calc_r(int n) const;

Description: Computes the row index of the nth character or graphic object in the text and returns it.
If the nth character is not a normal printable character with a position in the wordwrapped string, returns -1 (for instance, a soft-hyphen character, or a newline character, may not have a corresponding position).

calcRC
bool TextAssembler::calc_r_c(int &r, int &c, int n) const;

Description: Computes the row and column index of the nth character or graphic object in the text. Fills r and c accordingly.
Returns true if the nth character is valid and has a corresponding r and c position, false otherwise (for instance, a soft-hyphen character, or a newline character, may not have a corresponding position). In either case, r and c will be filled in sensibly.

calcWidth
static float TextAssembler::calc_width(wchar_t character, TextProperties const &properties);

Description: Returns the width of a single character, according to its associated font.
Description: Returns the width of a single character, according to its associated font. This also correctly calculates the width of cheesy ligatures and accented characters, which may not exist in the font as such.
Description: Returns the width of a single TextGraphic image.

clear
void TextAssembler::clear(void);

Description: Reinitializes the contents of the TextAssembler.

getCharacter
wchar_t TextAssembler::get_character(int n) const;

Description: Returns the character at the indicated position in the pre-wordwrapped string. If the object at this position is a graphic object instead of a character, returns 0.
Description: Returns the character at the indicated position in the indicated row. If the object at this position is a graphic object instead of a character, returns 0.

getGraphic
TextGraphic const *TextAssembler::get_graphic(int n) const;

Description: Returns the graphic object at the indicated position in the pre-wordwrapped string. If the object at this position is a character instead of a graphic object, returns NULL.
Description: Returns the graphic object at the indicated position in the indicated row. If the object at this position is a character instead of a graphic object, returns NULL.

getLr
LVector2f const &TextAssembler::get_lr(void) const;

Description: Returns the lower-right corner of the assembled text, in 2-d text coordinates.

getMaxRows
int TextAssembler::get_max_rows(void) const;

Description: If max_rows is greater than zero, no more than max_rows will be accepted. Text beyond that will be truncated.

getNumCharacters
int TextAssembler::get_num_characters(void) const;

Description: Returns the number of characters of text, before wordwrapping.

getNumCols
int TextAssembler::get_num_cols(int r) const;

Description: Returns the number of characters and/or graphic objects in the nth row.

getNumRows
int TextAssembler::get_num_rows(void) const;

Description: Returns the number of rows of text after it has all been wordwrapped and assembled.

getPlainWtext
basic_string< wchar_t > TextAssembler::get_plain_wtext(void) const;

Description: Returns a wstring that represents the contents of the text, without any embedded properties characters. If there is an embedded graphic object, a zero value is inserted in that position.
This string has the same length as get_num_characters(), and the characters in this string correspond one-to-one with the characters returned by get_character(n).

getProperties
TextProperties const &TextAssembler::get_properties(void) const;

Description: Returns the default TextProperties that are applied to the text in the absence of any nested property change sequences.
Description: Returns the TextProperties in effect for the object at the indicated position in the pre-wordwrapped string.
Description: Returns the TextProperties in effect for the object at the indicated position in the indicated row.

getUl
LVector2f const &TextAssembler::get_ul(void) const;

Description: Returns the upper-left corner of the assembled text, in 2-d text coordinates.

getUsageHint
GeomEnums::UsageHint TextAssembler::get_usage_hint(void) const;

Description: Returns the UsageHint that will be applied to generated geometry. See set_usage_hint().

getWidth
float TextAssembler::get_width(int n) const;

Description: Returns the width of the character or object at the indicated position in the pre-wordwrapped string.
Description: Returns the width of the character or object at the indicated position in the indicated row.

getWordwrappedPlainWtext
basic_string< wchar_t > TextAssembler::get_wordwrapped_plain_wtext(void) const;

Description: Returns a wstring that represents the contents of the text, with newlines inserted according to the wordwrapping. The string will contain no embedded properties characters. If there is an embedded graphic object, a zero value is inserted in that position.
This string has the same number of newline characters as get_num_rows(), and the characters in this string correspond one-to-one with the characters returned by get_character(r, c).

getWordwrappedWtext
basic_string< wchar_t > TextAssembler::get_wordwrapped_wtext(void) const;

Description: Returns a wstring that represents the contents of the text, with newlines inserted according to the wordwrapping.
The string will contain embedded properties characters, which may not exactly match the embedded properties characters of the original string, but it will encode the same way.

getWtext
basic_string< wchar_t > TextAssembler::get_wtext(void) const;

Description: Returns a wstring that represents the contents of the text.
The string will contain embedded properties characters, which may not exactly match the embedded properties characters of the original string, but it will encode the same way.

getXpos
float TextAssembler::get_xpos(int r, int c) const;

Description: Returns the x position of the origin of the character or graphic object at the indicated position in the indicated row.
It is legal for c to exceed the index number of the last column by 1, and it is legal for r to exceed the index number of the last row by 1, if c is 0.

getYpos
float TextAssembler::get_ypos(int r, int c) const;

Description: Returns the y position of the origin of all of the characters or graphic objects in the indicated row.
It is legal for r to exceed the index number of the last row by 1. The value of c is presently ignored.

operator =
void TextAssembler::operator =(TextAssembler const &copy);

Description:

setMaxRows
void TextAssembler::set_max_rows(int max_rows);

Description: If max_rows is greater than zero, no more than max_rows will be accepted. Text beyond that will be truncated.
Setting this will not truncate text immediately. You must follow this up with a call to set_wtext() to truncate the existing text.

setProperties
void TextAssembler::set_properties(TextProperties const &properties);

Description: Specifies the default TextProperties that are applied to the text in the absence of any nested property change sequences.

setUsageHint
void TextAssembler::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Specifies the UsageHint that will be applied to generated geometry. The default is UH_static, which is probably the right setting, but if you know the TextNode's geometry will have a short lifespan, it may be better to set it to UH_stream. See geomEnums.h.

setWsubstr
bool TextAssembler::set_wsubstr(basic_string< wchar_t > const &wtext, int start, int count);

Description: Replaces the 'count' characters from 'start' of the current text with the indicated replacement text. If the replacement text does not have count characters, the length of the string will be changed accordingly.
The substring may include nested formatting characters, but they must be self-contained and self-closed. The formatting characters are not literally saved in the internal string; they are parsed at the time of the set_wsubstr() call.
The return value is true if all the text is accepted, or false if some was truncated (see set_max_rows()).

setWtext
bool TextAssembler::set_wtext(basic_string< wchar_t > const &wtext);

Description: Accepts a new text string and associated properties structure, and precomputes the wordwrapping layout appropriately. After this call, get_wordwrapped_wtext() and get_num_rows() can be called.
The return value is true if all the text is accepted, or false if some was truncated (see set_max_rows()).


TextEncoder

    from pandac.PandaModules import TextEncoder
    Class : TextEncoder
    Description : This class can be used to convert text between multiple representations, e.g. utf-8 to Unicode. You may use it as a static class object, passing the encoding each time, or you may create an instance and use that object, which will record the current encoding and retain the current string.
    This class is also a base class of TextNode, which inherits this functionality.

Inheritance:

    TextEncoder:

Methods of TextEncoder:

    TextEncoder (Constructor)
    appendText
    appendUnicodeChar
    appendWtext
    clearText
    decodeText
    encodeWchar
    encodeWtext
    getClassType
    getDefaultEncoding
    getEncodedChar
    getEncoding
    getNumChars
    getText
    getTextAsAscii
    getUnicodeChar
    getWtext
    getWtextAsAscii
    hasText
    isWtext
    lower
    makeLower
    makeUpper
    reencodeText
    setDefaultEncoding
    setEncoding
    setText
    setUnicodeChar
    setWtext
    unicodeIsalpha
    unicodeIsdigit
    unicodeIslower
    unicodeIspunct
    unicodeIsspace
    unicodeIsupper
    unicodeTolower
    unicodeToupper
    upper

Constants in TextEncoder:

    EIso8859 | (Encoding)
EUtf8 | (Encoding)
EUnicode | (Encoding)
TextEncoder
TextEncoder::TextEncoder(void);

Description:

appendText
void TextEncoder::append_text(string const &text);

Description: Appends the indicates string to the end of the stored text.

appendUnicodeChar
void TextEncoder::append_unicode_char(int character);

Description: Appends a single character to the end of the stored text. This may be a wide character, up to 16 bits in Unicode.

appendWtext
void TextEncoder::append_wtext(basic_string< wchar_t > const &text);

Description: Appends the indicates string to the end of the stored wide-character text.

clearText
void TextEncoder::clear_text(void);

Description: Removes the text from the TextEncoder.

decodeText
basic_string< wchar_t > TextEncoder::decode_text(string const &text) const;

Description: Returns the given wstring decoded to a single-byte string, via the current encoding system.
Description: Returns the given wstring decoded to a single-byte string, via the given encoding system.

encodeWchar
static string TextEncoder::encode_wchar(wchar_t ch, TextEncoder::Encoding encoding);

Description: Encodes a single wide char into a one-, two-, or three-byte string, according to the given encoding system.

encodeWtext
string TextEncoder::encode_wtext(basic_string< wchar_t > const &wtext) const;

Description: Encodes a wide-text string into a single-char string, according to the current encoding.
Description: Encodes a wide-text string into a single-char string, according to the given encoding.

getClassType
static TypeHandle TextEncoder::get_class_type(void);

Undocumented function.

getDefaultEncoding
static TextEncoder::Encoding TextEncoder::get_default_encoding(void);

Description: Specifies the default encoding to be used for all subsequently created TextEncoder objects. See set_encoding().

getEncodedChar
string TextEncoder::get_encoded_char(int index) const;

Description: Returns the nth char of the stored text, as a one-, two-, or three-byte encoded string.

getEncoding
TextEncoder::Encoding TextEncoder::get_encoding(void) const;

Description: Returns the encoding by which the string set via set_text() is to be interpreted. See set_encoding().

getNumChars
int TextEncoder::get_num_chars(void) const;

Description: Returns the number of characters in the stored text. This is a count of wide characters, after the string has been decoded according to set_encoding().

getText
string TextEncoder::get_text(void) const;

Description: Returns the current text, as encoded via the current encoding system.
Description: Returns the current text, as encoded via the indicated encoding system.

getTextAsAscii
string TextEncoder::get_text_as_ascii(void) const;

Description: Returns the text associated with the node, converted as nearly as possible to a fully-ASCII representation. This means replacing accented letters with their unaccented ASCII equivalents.
It is possible that some characters in the string cannot be converted to ASCII. (The string may involve symbols like the copyright symbol, for instance, or it might involve letters in some other alphabet such as Greek or Cyrillic, or even Latin letters like thorn or eth that are not part of the ASCII character set.) In this case, as much of the string as possible will be converted to ASCII, and the nonconvertible characters will remain encoded in the encoding specified by set_encoding().

getUnicodeChar
int TextEncoder::get_unicode_char(int index) const;

Description: Returns the Unicode value of the nth character in the stored text. This may be a wide character (greater than 255), after the string has been decoded according to set_encoding().

getWtext
basic_string< wchar_t > const &TextEncoder::get_wtext(void) const;

Direct support for wide-character strings. Now publishable with the new wstring support in interrogate.
Description: Returns the text associated with the TextEncoder, as a wide-character string.

getWtextAsAscii
basic_string< wchar_t > TextEncoder::get_wtext_as_ascii(void) const;

Description: Returns the text associated with the node, converted as nearly as possible to a fully-ASCII representation. This means replacing accented letters with their unaccented ASCII equivalents.
It is possible that some characters in the string cannot be converted to ASCII. (The string may involve symbols like the copyright symbol, for instance, or it might involve letters in some other alphabet such as Greek or Cyrillic, or even Latin letters like thorn or eth that are not part of the ASCII character set.) In this case, as much of the string as possible will be converted to ASCII, and the nonconvertible characters will remain in their original form.

hasText
bool TextEncoder::has_text(void) const;

Description:

isWtext
bool TextEncoder::is_wtext(void) const;

Description: Returns true if any of the characters in the string returned by get_wtext() are out of the range of an ASCII character (and, therefore, get_wtext() should be called in preference to get_text()).

lower
static string TextEncoder::lower(string const &source);

Description: Converts the string to lowercase, assuming the string is encoded in the default encoding.
Description: Converts the string to lowercase, assuming the string is encoded in the indicated encoding.

makeLower
void TextEncoder::make_lower(void);

Description: Adjusts the text stored within the encoder to all lowercase letters (preserving accent marks correctly).

makeUpper
void TextEncoder::make_upper(void);

Description: Adjusts the text stored within the encoder to all uppercase letters (preserving accent marks correctly).

reencodeText
static string TextEncoder::reencode_text(string const &text, TextEncoder::Encoding from, TextEncoder::Encoding to);

Description: Given the indicated text string, which is assumed to be encoded via the encoding "from", decodes it and then reencodes it into the encoding "to", and returns the newly encoded string. This does not change or affect any properties on the TextEncoder itself.

setDefaultEncoding
static void TextEncoder::set_default_encoding(TextEncoder::Encoding encoding);

Description: Specifies the default encoding to be used for all subsequently created TextEncoder objects. See set_encoding().

setEncoding
void TextEncoder::set_encoding(TextEncoder::Encoding encoding);

Description: Specifies how the string set via set_text() is to be interpreted. The default, E_iso8859, means a standard string with one-byte characters (i.e. ASCII). Other encodings are possible to take advantage of character sets with more than 256 characters.
This affects only future calls to set_text(); it does not change text that was set previously.

setText
void TextEncoder::set_text(string const &text);

Description: Changes the text that is stored in the encoder. The text should be encoded according to the method indicated by set_encoding(). Subsequent calls to get_text() will return this same string, while get_wtext() will return the decoded version of the string.
Description: The two-parameter version of set_text() accepts an explicit encoding; the text is immediately decoded and stored as a wide-character string. Subsequent calls to get_text() will return the same text re-encoded using whichever encoding is specified by set_encoding().

setUnicodeChar
void TextEncoder::set_unicode_char(int index, int character);

Description: Sets the Unicode value of the nth character in the stored text. This may be a wide character (greater than 255), after the string has been decoded according to set_encoding().

setWtext
void TextEncoder::set_wtext(basic_string< wchar_t > const &wtext);

Direct support for wide-character strings. Now publishable with the new wstring support in interrogate.
Description: Changes the text that is stored in the encoder. Subsequent calls to get_wtext() will return this same string, while get_text() will return the encoded version of the string.

unicodeIsalpha
static bool TextEncoder::unicode_isalpha(int character);

Description: Returns true if the indicated character is an alphabetic letter, false otherwise. This is akin to ctype's isalpha(), extended to Unicode.

unicodeIsdigit
static bool TextEncoder::unicode_isdigit(int character);

Description: Returns true if the indicated character is a numeric digit, false otherwise. This is akin to ctype's isdigit(), extended to Unicode.

unicodeIslower
static bool TextEncoder::unicode_islower(int character);

Description: Returns true if the indicated character is a lowercase letter, false otherwise. This is akin to ctype's islower(), extended to Unicode.

unicodeIspunct
static bool TextEncoder::unicode_ispunct(int character);

Description: Returns true if the indicated character is a punctuation mark, false otherwise. This is akin to ctype's ispunct(), extended to Unicode.

unicodeIsspace
static bool TextEncoder::unicode_isspace(int character);

Description: Returns true if the indicated character is a whitespace letter, false otherwise. This is akin to ctype's isspace(), extended to Unicode.

unicodeIsupper
static bool TextEncoder::unicode_isupper(int character);

Description: Returns true if the indicated character is an uppercase letter, false otherwise. This is akin to ctype's isupper(), extended to Unicode.

unicodeTolower
static int TextEncoder::unicode_tolower(int character);

Description: Returns the uppercase equivalent of the given Unicode character. This is akin to ctype's tolower(), extended to Unicode.

unicodeToupper
static int TextEncoder::unicode_toupper(int character);

Description: Returns the uppercase equivalent of the given Unicode character. This is akin to ctype's toupper(), extended to Unicode.

upper
static string TextEncoder::upper(string const &source);

Description: Converts the string to uppercase, assuming the string is encoded in the default encoding.
Description: Converts the string to uppercase, assuming the string is encoded in the indicated encoding.


TextFont

    from pandac.PandaModules import TextFont
    Class : TextFont
    Description : An encapsulation of a font; i.e. a set of glyphs that may be assembled together by a TextNode to represent a string of text.
    This is just an abstract interface; see StaticTextFont or DynamicTextFont for an actual implementation.

Inheritance:

    TextFont: TypedReferenceCount Namable
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of TextFont:

    getClassType
    getLineHeight
    getSpaceAdvance
    isValid
    setLineHeight
    setSpaceAdvance
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in TextFont:

    RMTexture | (RenderMode)
RMWireframe | (RenderMode)
RMPolygon | (RenderMode)
RMExtruded | (RenderMode)
RMSolid | (RenderMode)
RMInvalid | (RenderMode)
WODefault | (WindingOrder)
WOLeft | (WindingOrder)
WORight | (WindingOrder)
WOInvalid | (WindingOrder)
getClassType
static TypeHandle TextFont::get_class_type(void);

Undocumented function.

getLineHeight
float TextFont::get_line_height(void) const;

Description: Returns the number of units high each line of text is.

getSpaceAdvance
float TextFont::get_space_advance(void) const;

Description: Returns the number of units wide a space is.

isValid
bool TextFont::is_valid(void) const;

Description: Returns true if the font is valid and ready to use, false otherwise.

setLineHeight
void TextFont::set_line_height(float line_height);

Description: Changes the number of units high each line of text is.

setSpaceAdvance
void TextFont::set_space_advance(float space_advance);

Description: Changes the number of units wide a space is.

write
virtual void TextFont::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


TextGraphic

    from pandac.PandaModules import TextGraphic
    Class : TextGraphic
    Description : This defines a special model that has been constructed for the purposes of embedding an arbitrary graphic image within a text paragraph.
    It can be any arbitrary model, though it should be built along the same scale as the text, and it should probably be at least mostly two-dimensional. Typically, this means it should be constructed in the X-Z plane, and it should have a maximum vertical (Z) height of 1.0.
    The frame specifies an arbitrary bounding volume in the form (left, right, bottom, top). This indicates the amount of space that will be reserved within the paragraph. The actual model is not actually required to fit within this rectangle, but if it does not, it may visually overlap with nearby text.

Inheritance:

    TextGraphic:

Methods of TextGraphic:

    TextGraphic (Constructor)
    getFrame
    getModel
    setFrame
    setModel
TextGraphic
TextGraphic::TextGraphic(void);

Description:

getFrame
LVecBase4f TextGraphic::get_frame(void) const;

Description: Returns the frame specified for the graphic. This is the amount of space that will be reserved for the graphic when it is embedded in a text paragraph, in the form (left, right, bottom, top).
The actual graphic, as rendered by the NodePath specified via set_model(), should more or less fit within this rectangle. It is not required to fit completely within it, but if it does not, it may visually overlap with nearby text.

getModel
NodePath TextGraphic::get_model(void) const;

Description: Returns the NodePath associated with the graphic, that renders the desired image.

setFrame
void TextGraphic::set_frame(LVecBase4f const &frame);

Description: Specifies the (left, right, bottom, top) bounding frame for the graphic. See get_frame().

setModel
void TextGraphic::set_model(NodePath const &model);

Description: Changes the NodePath associated with the graphic. This NodePath should contain geometry that will render the desired graphic image.


TextNode

    from pandac.PandaModules import TextNode
    Class : TextNode
    Description : The primary interface to this module. This class does basic text assembly; given a string of text and a TextFont object, it creates a piece of geometry that may be placed in the 3-d or 2-d world to represent the indicated text.
    The TextNode may be used in one of two ways. Naively, it may simply be parented directly into the scene graph and rendered as if it were a GeomNode; in this mode, the actual polygon geometry that renders the text is not directly visible or accessible, but remains hidden within the TextNode.
    The second way TextNode may be used is as a text generator. To use it in this way, do not parent the TextNode to the scene graph; instead, set the properties of the text and call generate() to return an ordinary node, containing ordinary geometry, which you may use however you like. Each time you call generate() a new node is returned.

Inheritance:

    TextNode: PandaNode TextEncoder TextProperties
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase
    TextEncoder:
    TextProperties:

Methods of TextNode:

    TextNode (Constructor)
    appendText
    appendUnicodeChar
    appendWtext
    calcWidth
    clearAlign
    clearBin
    clearCard
    clearCardBorder
    clearCardTexture
    clearDrawOrder
    clearFont
    clearFrame
    clearGlyphScale
    clearGlyphShift
    clearIndent
    clearMaxRows
    clearShadow
    clearShadowColor
    clearSlant
    clearSmallCaps
    clearSmallCapsScale
    clearTabWidth
    clearText
    clearTextColor
    clearWordwrap
    forceUpdate
    generate
    getBottom
    getCardActual
    getCardAsSet
    getCardBorderSize
    getCardBorderUvPortion
    getCardColor
    getCardDecal
    getCardTexture
    getCardTransformed
    getClassType
    getCoordinateSystem
    getFrameActual
    getFrameAsSet
    getFrameColor
    getFrameCorners
    getFrameLineWidth
    getHeight
    getInternalGeom
    getLeft
    getLineHeight
    getLowerRight3d
    getMaxRows
    getNumRows
    getRight
    getTop
    getTransform
    getUpperLeft3d
    getUsageHint
    getWidth
    getWordwrappedText
    getWordwrappedWtext
    hasCard
    hasCardBorder
    hasCardTexture
    hasFrame
    hasMaxRows
    hasOverflow
    isCardAsMargin
    isFrameAsMargin
    output
    setAlign
    setBin
    setCardActual
    setCardAsMargin
    setCardBorder
    setCardColor
    setCardDecal
    setCardTexture
    setCoordinateSystem
    setDrawOrder
    setFont
    setFrameActual
    setFrameAsMargin
    setFrameColor
    setFrameCorners
    setFrameLineWidth
    setGlyphScale
    setGlyphShift
    setIndent
    setMaxRows
    setShadow
    setShadowColor
    setSlant
    setSmallCaps
    setSmallCapsScale
    setTabWidth
    setText
    setTextColor
    setTransform
    setUsageHint
    setWordwrap
    setWtext
    update
    write

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of TextEncoder:

    TextEncoder (Constructor)
    appendText
    appendUnicodeChar
    appendWtext
    clearText
    decodeText
    encodeWchar
    encodeWtext
    getClassType
    getDefaultEncoding
    getEncodedChar
    getEncoding
    getNumChars
    getText
    getTextAsAscii
    getUnicodeChar
    getWtext
    getWtextAsAscii
    hasText
    isWtext
    lower
    makeLower
    makeUpper
    reencodeText
    setDefaultEncoding
    setEncoding
    setText
    setUnicodeChar
    setWtext
    unicodeIsalpha
    unicodeIsdigit
    unicodeIslower
    unicodeIspunct
    unicodeIsspace
    unicodeIsupper
    unicodeTolower
    unicodeToupper
    upper

Methods of TextProperties:

    TextProperties (Constructor)
    addProperties
    clear
    clearAlign
    clearBin
    clearDrawOrder
    clearFont
    clearGlyphScale
    clearGlyphShift
    clearIndent
    clearPreserveTrailingWhitespace
    clearShadow
    clearShadowColor
    clearSlant
    clearSmallCaps
    clearSmallCapsScale
    clearTabWidth
    clearTextColor
    clearUnderscore
    clearUnderscoreHeight
    clearWordwrap
    getAlign
    getBin
    getClassType
    getDefaultFont
    getDrawOrder
    getFont
    getGlyphScale
    getGlyphShift
    getIndent
    getPreserveTrailingWhitespace
    getShadow
    getShadowColor
    getSlant
    getSmallCaps
    getSmallCapsScale
    getTabWidth
    getTextColor
    getUnderscore
    getUnderscoreHeight
    getWordwrap
    hasAlign
    hasBin
    hasDrawOrder
    hasFont
    hasGlyphScale
    hasGlyphShift
    hasIndent
    hasPreserveTrailingWhitespace
    hasShadow
    hasShadowColor
    hasSlant
    hasSmallCaps
    hasSmallCapsScale
    hasTabWidth
    hasTextColor
    hasUnderscore
    hasUnderscoreHeight
    hasWordwrap
    isAnySpecified
    operator !=
    operator =
    operator ==
    setAlign
    setBin
    setDefaultFont
    setDrawOrder
    setFont
    setGlyphScale
    setGlyphShift
    setIndent
    setPreserveTrailingWhitespace
    setShadow
    setShadowColor
    setSlant
    setSmallCaps
    setSmallCapsScale
    setTabWidth
    setTextColor
    setUnderscore
    setUnderscoreHeight
    setWordwrap
    write

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)

Constants in TextEncoder:

    EIso8859 | (Encoding)
EUtf8 | (Encoding)
EUnicode | (Encoding)

Constants in TextProperties:

    ALeft | (Alignment)
ARight | (Alignment)
ACenter | (Alignment)
TextNode
TextNode::TextNode(string const &name);

Description:
Description: It's sort of a copy constructor: it copies the indicated TextProperties, without copying a complete TextNode.
Description: OK, this is a true copy constructor.

appendText
void TextNode::append_text(string const &text);

Description: Appends the indicates string to the end of the stored text.

appendUnicodeChar
void TextNode::append_unicode_char(int character);

Description: Appends a single character to the end of the stored text. This may be a wide character, up to 16 bits in Unicode.

appendWtext
void TextNode::append_wtext(basic_string< wchar_t > const &text);

Direct support for wide-character strings.
Description: Appends the indicates string to the end of the stored wide-character text.

calcWidth
float TextNode::calc_width(int character) const;

These methods calculate the width of a single character or a line of text in the current font.
Description: Returns the width of a line of text of arbitrary characters. The line should not include the newline character.
Description: Returns the width of a single character of the font, or 0.0 if the character is not known. This may be a wide character (greater than 255).
Description: Returns the width of a line of text of arbitrary characters. The line should not include the newline character or any embedded control characters like \1 or \3.

clearAlign
void TextNode::clear_align(void);

Description:

clearBin
void TextNode::clear_bin(void);

Description: Removes the effect of a previous call to set_bin(). Text will be drawn in whatever bin it would like to be drawn in, with no explicit ordering.

clearCard
void TextNode::clear_card(void);

Description: Specifies that a card will not be drawn behind the text.

clearCardBorder
void TextNode::clear_card_border(void);

Description:

clearCardTexture
void TextNode::clear_card_texture(void);

Description:

clearDrawOrder
void TextNode::clear_draw_order(void);

Description:

clearFont
void TextNode::clear_font(void);

Description: Resets the font to the default font.

clearFrame
void TextNode::clear_frame(void);

Description: Specifies that a border will not be drawn around the text.

clearGlyphScale
void TextNode::clear_glyph_scale(void);

Description:

clearGlyphShift
void TextNode::clear_glyph_shift(void);

Description:

clearIndent
void TextNode::clear_indent(void);

Description:

clearMaxRows
void TextNode::clear_max_rows(void);

Description: Resets the TextNode's default behavior of not limiting the number of rows of text.

clearShadow
void TextNode::clear_shadow(void);

Description: Specifies that a shadow will not be drawn behind the text.

clearShadowColor
void TextNode::clear_shadow_color(void);

Description:

clearSlant
void TextNode::clear_slant(void);

Description:

clearSmallCaps
void TextNode::clear_small_caps(void);

Description:

clearSmallCapsScale
void TextNode::clear_small_caps_scale(void);

Description:

clearTabWidth
void TextNode::clear_tab_width(void);

Description:

clearText
void TextNode::clear_text(void);

Description: Removes the text from the TextNode.

clearTextColor
void TextNode::clear_text_color(void);

Description: Removes the text color specification; the text will be colored whatever it was in the source font file.

clearWordwrap
void TextNode::clear_wordwrap(void);

Description: Removes the wordwrap setting from the TextNode. Text will be as wide as it is.

forceUpdate
void TextNode::force_update(void);

Description: Forces the TextNode to recompute itself now, even if it believes nothing has changed. Normally, this should not need to be called, but it may be useful if some properties change outside of the TextNode's knowledge (for instance, within the font).

generate
PointerTo< PandaNode > TextNode::generate(void);

Description: Generates the text, according to the parameters indicated within the TextNode, and returns a Node that may be parented within the tree to represent it.

getBottom
float TextNode::get_bottom(void) const;

Description: Returns the bottommost extent of the text in local 2-d coordinates, unmodified by the set_transform() matrix.

getCardActual
LVecBase4f TextNode::get_card_actual(void) const;

Description: Returns the actual dimensions of the card around the text. If the card was set via set_card_as_margin(), the result returned by this function reflects the size of the current text; if the card was set via set_card_actual(), this returns the values actually set.
If the text has no card at all, this returns the dimensions of the text itself, as if the card were set with a margin of 0, 0, 0, 0.

getCardAsSet
LVecBase4f TextNode::get_card_as_set(void) const;

Description: Returns the dimensions of the card as set by set_card_as_margin() or set_card_actual(). Use is_card_actual() to determine how to interpret the values returned by this function. It is an error to call this if has_card() is false.

getCardBorderSize
float TextNode::get_card_border_size(void) const;

Description:

getCardBorderUvPortion
float TextNode::get_card_border_uv_portion(void) const;

Description:

getCardColor
LVecBase4f TextNode::get_card_color(void) const;

Description:

getCardDecal
bool TextNode::get_card_decal(void) const;

Description: Returns the card_decal flag. See set_card_decal().

getCardTexture
Texture *TextNode::get_card_texture(void) const;

Description:

getCardTransformed
LVecBase4f TextNode::get_card_transformed(void) const;

Description: Returns the actual card dimensions, transformed by the matrix set by set_transform(). This returns the card dimensions in actual coordinates as seen by the rest of the world. Also see get_upper_left_3d() and get_lower_right_3d().

getClassType
static TypeHandle TextNode::get_class_type(void);

Undocumented function.

getCoordinateSystem
CoordinateSystem TextNode::get_coordinate_system(void) const;

Description:

getFrameActual
LVecBase4f TextNode::get_frame_actual(void) const;

Description: Returns the actual dimensions of the frame around the text. If the frame was set via set_frame_as_margin(), the result returned by this function reflects the size of the current text; if the frame was set via set_frame_actual(), this returns the values actually set.
If the text has no frame at all, this returns the dimensions of the text itself, as if the frame were set with a margin of 0, 0, 0, 0.

getFrameAsSet
LVecBase4f TextNode::get_frame_as_set(void) const;

Description: Returns the dimensions of the frame as set by set_frame_as_margin() or set_frame_actual(). Use is_frame_actual() to determine how to interpret the values returned by this function. It is an error to call this if has_frame() is false.

getFrameColor
LVecBase4f TextNode::get_frame_color(void) const;

Description:

getFrameCorners
bool TextNode::get_frame_corners(void) const;

Description:

getFrameLineWidth
float TextNode::get_frame_line_width(void) const;

Description: Returns the thickness of the lines that will be used to draw the frame.

getHeight
float TextNode::get_height(void) const;

Description: Returns the net height of the text in local 2-d coordinates.

getInternalGeom
PandaNode *TextNode::get_internal_geom(void) const;

Description: Returns the actual node that is used internally to render the text, if the TextNode is parented within the scene graph.
In general, you should not call this method. Call generate() instead if you want to get a handle to geometry that represents the text. This method is provided as a debugging aid only.

getLeft
float TextNode::get_left(void) const;

The following functions return information about the text that was last built (and is currently visible).
Description: Returns the leftmost extent of the text in local 2-d coordinates, unmodified by the set_transform() matrix.

getLineHeight
float TextNode::get_line_height(void) const;

Description: Returns the number of units high each line of text is. This is based on the font. Note that it is possible for the text to include nested font change commands, in which case the value of this method is questionable.

getLowerRight3d
LPoint3f TextNode::get_lower_right_3d(void) const;

Description: Returns the lower-right extent of the text object, after it has been transformed into 3-d space by applying the set_transform() matrix.

getMaxRows
int TextNode::get_max_rows(void) const;

Description: Returns the limit on the height of the TextNode specified by set_max_rows().

getNumRows
int TextNode::get_num_rows(void) const;

Description: Returns the number of rows of text that were generated. This counts word-wrapped rows as well as rows generated due to embedded newlines.

getRight
float TextNode::get_right(void) const;

The following functions return information about the text that was last built (and is currently visible).
Description: Returns the rightmost extent of the text in local 2-d coordinates, unmodified by the set_transform() matrix.

getTop
float TextNode::get_top(void) const;

Description: Returns the topmost extent of the text in local 2-d coordinates, unmodified by the set_transform() matrix.

getTransform
LMatrix4f TextNode::get_transform(void) const;

Description:

getUpperLeft3d
LPoint3f TextNode::get_upper_left_3d(void) const;

Description: Returns the upper-left extent of the text object, after it has been transformed into 3-d space by applying the set_transform() matrix.

getUsageHint
GeomEnums::UsageHint TextNode::get_usage_hint(void) const;

Description: Returns the UsageHint that will be applied to generated geometry. See set_usage_hint().

getWidth
float TextNode::get_width(void) const;

Description: Returns the net width of the text in local 2-d coordinates.

getWordwrappedText
string TextNode::get_wordwrapped_text(void) const;

After the text has been set, you can query this to determine how it will be wordwrapped.
Description: Returns a string that represents the contents of the text, as it has been formatted by wordwrap rules.
In earlier versions, this did not contain any embedded special characters like \1 or \3; now it does.

getWordwrappedWtext
basic_string< wchar_t > TextNode::get_wordwrapped_wtext(void) const;

Description: Returns a wstring that represents the contents of the text, as it has been formatted by wordwrap rules.
In earlier versions, this did not contain any embedded special characters like \1 or \3; now it does.

hasCard
bool TextNode::has_card(void) const;

Description:

hasCardBorder
bool TextNode::has_card_border(void) const;

Description:

hasCardTexture
bool TextNode::has_card_texture(void) const;

Description:

hasFrame
bool TextNode::has_frame(void) const;

Description:

hasMaxRows
bool TextNode::has_max_rows(void) const;

Description: Returns true if a limit on the height of the TextNode has been set via set_max_rows(), false otherwise.

hasOverflow
bool TextNode::has_overflow(void) const;

Description: Returns true if the last text set on the text node exceeded the max_rows constraint, or false if it all fit.

isCardAsMargin
bool TextNode::is_card_as_margin(void) const;

Description: If this is true, the card was set via a call to set_card_as_margin(), and the dimension of the card as returned by get_card_as_set() represent a margin all around the text. If false, then the card was set via a call to set_card_actual(), and the dimensions of the card as returned by get_card_as_set() are relative to the text's origin.

isFrameAsMargin
bool TextNode::is_frame_as_margin(void) const;

Description: If this is true, the frame was set via a call to set_frame_as_margin(), and the dimension of the frame as returned by get_frame_as_set() represent a margin all around the text. If false, then the frame was set via a call to set_frame_actual(), and the dimensions of the frame as returned by get_frame_as_set() are relative to the text's origin.

output
virtual void TextNode::output(ostream &out) const;

Description:

setAlign
void TextNode::set_align(TextProperties::Alignment align_type);

Description:

setBin
void TextNode::set_bin(string const &bin);

Description: Names the GeomBin that the TextNode geometry should be assigned to. If this is set, then a GeomBinTransition will be created to explicitly place each component in the named bin.
The draw_order value will also be passed to each GeomBinTransition as appropriate; this is particularly useful if this names a GeomBinFixed, e.g. "fixed".

setCardActual
void TextNode::set_card_actual(float left, float right, float bottom, float top);

Description: Similar to set_card_as_margin, except the card is specified in actual coordinate units (relative to the text's origin), irrespective of the size of the text. The left and bottom coordinates should generally be negative, while the right and top coordinates should generally be positive.

setCardAsMargin
void TextNode::set_card_as_margin(float left, float right, float bottom, float top);

Description: Specifies that a (possibly opaque or semitransparent) card will be held behind the text when it is next created. Like set_frame_as_margin, the parameters are the amount of additional padding to insert around the text in each dimension, and all should generally be positive.

setCardBorder
void TextNode::set_card_border(float size, float uv_portion);

Description:

setCardColor
void TextNode::set_card_color(float r, float g, float b, float a);

Description:

setCardDecal
void TextNode::set_card_decal(bool card_decal);

Description: Sets the card_decal flag. When this is true, the text is decalled onto the card, which is necessary if the TextNode is to be rendered in the 3-d world without putting it in a bin.

setCardTexture
void TextNode::set_card_texture(Texture *card_texture);

Description:

setCoordinateSystem
void TextNode::set_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system in which the text will be generated.

setDrawOrder
int TextNode::set_draw_order(int draw_order);

Description: Sets the drawing order of text created by the TextMaker. This is actually the draw order of the card and frame. The shadow is drawn at _draw_order+1, and the text at _draw_order+2.
This affects the sorting order assigned to the arcs as they are created, and also is passed to whatever bin may be assigned via set_bin().
The return value is the first unused draw_order number, e.g. _draw_order + 3.

setFont
void TextNode::set_font(TextFont *font);

These methods are inherited from TextProperties, but we override here so we can flag the TextNode as dirty when they have been changed.
Description: Sets the font that will be used when making text. If this is set to NULL, the default font will be used, which can be set via set_default_font().

setFrameActual
void TextNode::set_frame_actual(float left, float right, float bottom, float top);

Description: Similar to set_frame_as_margin, except the frame is specified in actual coordinate units (relative to the text's origin), irrespective of the size of the text. The left and bottom coordinates should generally be negative, while the right and top coordinates should generally be positive.

setFrameAsMargin
void TextNode::set_frame_as_margin(float left, float right, float bottom, float top);

Description: Specifies that a border will be drawn around the text when it is next created. The parameters are the amount of additional padding to insert between the frame and the text in each dimension, and all should generally be positive.

setFrameColor
void TextNode::set_frame_color(float r, float g, float b, float a);

Description:

setFrameCorners
void TextNode::set_frame_corners(bool corners);

Description: Enables or disables the drawing of corners for the frame. These are extra points drawn at each of the four corners, to soften the ugly edges generated when the line width is greater than one.

setFrameLineWidth
void TextNode::set_frame_line_width(float line_width);

Description: Specifies the thickness of the lines that will be used to draw the frame.

setGlyphScale
void TextNode::set_glyph_scale(float glyph_scale);

Description: Specifies the factor by which to scale each letter of the text as it is placed. This can be used (possibly in conjunction with set_glyph_shift()) to implement superscripting or subscripting.

setGlyphShift
void TextNode::set_glyph_shift(float glyph_shift);

Description: Specifies a vertical amount to shift each letter of the text as it is placed. This can be used (possibly in conjunction with set_glyph_scale()) to implement superscripting or subscripting.

setIndent
void TextNode::set_indent(float indent);

Description: Specifies the amount of extra space that is inserted before the first character of each line. This can be thought of as a left margin.

setMaxRows
void TextNode::set_max_rows(int max_rows);

Description: Sets the maximum number of rows that may be formatted by the TextNode. If more text than this is attempted, it will be truncated and has_overflow() will return true.

setShadow
void TextNode::set_shadow(float xoffset, float yoffset);

Description: Specifies that the text should be drawn with a shadow, by creating a second copy of the text and offsetting it slightly behind the first.

setShadowColor
void TextNode::set_shadow_color(float r, float g, float b, float a);

Description:

setSlant
void TextNode::set_slant(float slant);

Description:

setSmallCaps
void TextNode::set_small_caps(bool small_caps);

Description: Sets the small_caps flag. When this is set, lowercase letters are generated as scaled-down versions of their uppercase equivalents. This is particularly useful to set for fonts that do not have lowercase letters.
It is also a good idea to set this for a (dynamic) font that has already implemented lowercase letters as scaled-down versions of their uppercase equivalents, since without this flag the texture memory may needlessly duplicate equivalent glyphs for upper and lowercase letters. Setting this flag causes the texture memory to share the mixed-case letters.
The amount by which the lowercase letters are scaled is specified by set_small_caps_scale().

setSmallCapsScale
void TextNode::set_small_caps_scale(float small_caps_scale);

Description: Sets the scale factor applied to lowercase letters from their uppercase equivalents, when the small_caps flag is in effect. See set_small_caps(). Normally, this will be a number less than one.

setTabWidth
void TextNode::set_tab_width(float tab_width);

Description: Sets the width of each tab stop, in screen units. A tab character embedded in the text will advance the horizontal position to the next tab stop.

setText
void TextNode::set_text(string const &text);

These methods are inherited from TextEncoder, but we override here so we can flag the TextNode as dirty when they have been changed.
Description: Changes the text that is displayed under the TextNode.
Description: The two-parameter version of set_text() accepts an explicit encoding; the text is immediately decoded and stored as a wide-character string. Subsequent calls to get_text() will return the same text re-encoded using whichever encoding is specified by set_encoding().

setTextColor
void TextNode::set_text_color(float r, float g, float b, float a);

Description:

setTransform
void TextNode::set_transform(LMatrix4f const &transform);

Description: Sets an additional transform that is applied to the entire text paragraph.

setUsageHint
void TextNode::set_usage_hint(GeomEnums::UsageHint usage_hint);

Description: Specifies the UsageHint that will be applied to generated geometry. The default is UH_static, which is probably the right setting, but if you know the TextNode's geometry will have a short lifespan, it may be better to set it to UH_stream. See geomEnums.h.

setWordwrap
void TextNode::set_wordwrap(float wordwrap);

Description: Sets the text up to automatically wordwrap when it exceeds the indicated width. This can be thought of as a right margin or margin width.

setWtext
void TextNode::set_wtext(basic_string< wchar_t > const &wtext);

Direct support for wide-character strings.
Description: Changes the text that is displayed under the TextNode, with a wide text. This automatically sets the string reported by get_text() to the 8-bit encoded version of the same string.

update
void TextNode::update(void);

Description: Can be called after the TextNode has been fully configured, to force the node to recompute its text immediately, rather than waiting for it to be drawn. This call is optional.

write
virtual void TextNode::write(ostream &out, int indent_level = (0)) const;

Description:

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

TextEncoder
TextEncoder::TextEncoder(void);

Description:

appendText
void TextEncoder::append_text(string const &text);

Description: Appends the indicates string to the end of the stored text.

appendUnicodeChar
void TextEncoder::append_unicode_char(int character);

Description: Appends a single character to the end of the stored text. This may be a wide character, up to 16 bits in Unicode.

appendWtext
void TextEncoder::append_wtext(basic_string< wchar_t > const &text);

Description: Appends the indicates string to the end of the stored wide-character text.

clearText
void TextEncoder::clear_text(void);

Description: Removes the text from the TextEncoder.

decodeText
basic_string< wchar_t > TextEncoder::decode_text(string const &text) const;

Description: Returns the given wstring decoded to a single-byte string, via the current encoding system.
Description: Returns the given wstring decoded to a single-byte string, via the given encoding system.

encodeWchar
static string TextEncoder::encode_wchar(wchar_t ch, TextEncoder::Encoding encoding);

Description: Encodes a single wide char into a one-, two-, or three-byte string, according to the given encoding system.

encodeWtext
string TextEncoder::encode_wtext(basic_string< wchar_t > const &wtext) const;

Description: Encodes a wide-text string into a single-char string, according to the current encoding.
Description: Encodes a wide-text string into a single-char string, according to the given encoding.

getClassType
static TypeHandle TextEncoder::get_class_type(void);

Undocumented function.

getDefaultEncoding
static TextEncoder::Encoding TextEncoder::get_default_encoding(void);

Description: Specifies the default encoding to be used for all subsequently created TextEncoder objects. See set_encoding().

getEncodedChar
string TextEncoder::get_encoded_char(int index) const;

Description: Returns the nth char of the stored text, as a one-, two-, or three-byte encoded string.

getEncoding
TextEncoder::Encoding TextEncoder::get_encoding(void) const;

Description: Returns the encoding by which the string set via set_text() is to be interpreted. See set_encoding().

getNumChars
int TextEncoder::get_num_chars(void) const;

Description: Returns the number of characters in the stored text. This is a count of wide characters, after the string has been decoded according to set_encoding().

getText
string TextEncoder::get_text(void) const;

Description: Returns the current text, as encoded via the current encoding system.
Description: Returns the current text, as encoded via the indicated encoding system.

getTextAsAscii
string TextEncoder::get_text_as_ascii(void) const;

Description: Returns the text associated with the node, converted as nearly as possible to a fully-ASCII representation. This means replacing accented letters with their unaccented ASCII equivalents.
It is possible that some characters in the string cannot be converted to ASCII. (The string may involve symbols like the copyright symbol, for instance, or it might involve letters in some other alphabet such as Greek or Cyrillic, or even Latin letters like thorn or eth that are not part of the ASCII character set.) In this case, as much of the string as possible will be converted to ASCII, and the nonconvertible characters will remain encoded in the encoding specified by set_encoding().

getUnicodeChar
int TextEncoder::get_unicode_char(int index) const;

Description: Returns the Unicode value of the nth character in the stored text. This may be a wide character (greater than 255), after the string has been decoded according to set_encoding().

getWtext
basic_string< wchar_t > const &TextEncoder::get_wtext(void) const;

Direct support for wide-character strings. Now publishable with the new wstring support in interrogate.
Description: Returns the text associated with the TextEncoder, as a wide-character string.

getWtextAsAscii
basic_string< wchar_t > TextEncoder::get_wtext_as_ascii(void) const;

Description: Returns the text associated with the node, converted as nearly as possible to a fully-ASCII representation. This means replacing accented letters with their unaccented ASCII equivalents.
It is possible that some characters in the string cannot be converted to ASCII. (The string may involve symbols like the copyright symbol, for instance, or it might involve letters in some other alphabet such as Greek or Cyrillic, or even Latin letters like thorn or eth that are not part of the ASCII character set.) In this case, as much of the string as possible will be converted to ASCII, and the nonconvertible characters will remain in their original form.

hasText
bool TextEncoder::has_text(void) const;

Description:

isWtext
bool TextEncoder::is_wtext(void) const;

Description: Returns true if any of the characters in the string returned by get_wtext() are out of the range of an ASCII character (and, therefore, get_wtext() should be called in preference to get_text()).

lower
static string TextEncoder::lower(string const &source);

Description: Converts the string to lowercase, assuming the string is encoded in the default encoding.
Description: Converts the string to lowercase, assuming the string is encoded in the indicated encoding.

makeLower
void TextEncoder::make_lower(void);

Description: Adjusts the text stored within the encoder to all lowercase letters (preserving accent marks correctly).

makeUpper
void TextEncoder::make_upper(void);

Description: Adjusts the text stored within the encoder to all uppercase letters (preserving accent marks correctly).

reencodeText
static string TextEncoder::reencode_text(string const &text, TextEncoder::Encoding from, TextEncoder::Encoding to);

Description: Given the indicated text string, which is assumed to be encoded via the encoding "from", decodes it and then reencodes it into the encoding "to", and returns the newly encoded string. This does not change or affect any properties on the TextEncoder itself.

setDefaultEncoding
static void TextEncoder::set_default_encoding(TextEncoder::Encoding encoding);

Description: Specifies the default encoding to be used for all subsequently created TextEncoder objects. See set_encoding().

setEncoding
void TextEncoder::set_encoding(TextEncoder::Encoding encoding);

Description: Specifies how the string set via set_text() is to be interpreted. The default, E_iso8859, means a standard string with one-byte characters (i.e. ASCII). Other encodings are possible to take advantage of character sets with more than 256 characters.
This affects only future calls to set_text(); it does not change text that was set previously.

setText
void TextEncoder::set_text(string const &text);

Description: Changes the text that is stored in the encoder. The text should be encoded according to the method indicated by set_encoding(). Subsequent calls to get_text() will return this same string, while get_wtext() will return the decoded version of the string.
Description: The two-parameter version of set_text() accepts an explicit encoding; the text is immediately decoded and stored as a wide-character string. Subsequent calls to get_text() will return the same text re-encoded using whichever encoding is specified by set_encoding().

setUnicodeChar
void TextEncoder::set_unicode_char(int index, int character);

Description: Sets the Unicode value of the nth character in the stored text. This may be a wide character (greater than 255), after the string has been decoded according to set_encoding().

setWtext
void TextEncoder::set_wtext(basic_string< wchar_t > const &wtext);

Direct support for wide-character strings. Now publishable with the new wstring support in interrogate.
Description: Changes the text that is stored in the encoder. Subsequent calls to get_wtext() will return this same string, while get_text() will return the encoded version of the string.

unicodeIsalpha
static bool TextEncoder::unicode_isalpha(int character);

Description: Returns true if the indicated character is an alphabetic letter, false otherwise. This is akin to ctype's isalpha(), extended to Unicode.

unicodeIsdigit
static bool TextEncoder::unicode_isdigit(int character);

Description: Returns true if the indicated character is a numeric digit, false otherwise. This is akin to ctype's isdigit(), extended to Unicode.

unicodeIslower
static bool TextEncoder::unicode_islower(int character);

Description: Returns true if the indicated character is a lowercase letter, false otherwise. This is akin to ctype's islower(), extended to Unicode.

unicodeIspunct
static bool TextEncoder::unicode_ispunct(int character);

Description: Returns true if the indicated character is a punctuation mark, false otherwise. This is akin to ctype's ispunct(), extended to Unicode.

unicodeIsspace
static bool TextEncoder::unicode_isspace(int character);

Description: Returns true if the indicated character is a whitespace letter, false otherwise. This is akin to ctype's isspace(), extended to Unicode.

unicodeIsupper
static bool TextEncoder::unicode_isupper(int character);

Description: Returns true if the indicated character is an uppercase letter, false otherwise. This is akin to ctype's isupper(), extended to Unicode.

unicodeTolower
static int TextEncoder::unicode_tolower(int character);

Description: Returns the uppercase equivalent of the given Unicode character. This is akin to ctype's tolower(), extended to Unicode.

unicodeToupper
static int TextEncoder::unicode_toupper(int character);

Description: Returns the uppercase equivalent of the given Unicode character. This is akin to ctype's toupper(), extended to Unicode.

upper
static string TextEncoder::upper(string const &source);

Description: Converts the string to uppercase, assuming the string is encoded in the default encoding.
Description: Converts the string to uppercase, assuming the string is encoded in the indicated encoding.

TextProperties
TextProperties::TextProperties(void);

Description:

addProperties
void TextProperties::add_properties(TextProperties const &other);

Description: Sets any properties that are explicitly specified in other on this object. Leaves other properties unchanged.

clear
void TextProperties::clear(void);

Description: Unsets all properties that have been specified so far, and resets the TextProperties structure to its initial empty state.

clearAlign
void TextProperties::clear_align(void);

Description: Restores the default alignment of the text.

clearBin
void TextProperties::clear_bin(void);

Description: Removes the effect of a previous call to set_bin(). Text will be drawn in whatever bin it would like to be drawn in, with no explicit ordering.

clearDrawOrder
void TextProperties::clear_draw_order(void);

Description:

clearFont
void TextProperties::clear_font(void);

Description: Restores the default font to the text.

clearGlyphScale
void TextProperties::clear_glyph_scale(void);

Description:

clearGlyphShift
void TextProperties::clear_glyph_shift(void);

Description:

clearIndent
void TextProperties::clear_indent(void);

Description: Removes the indent setting from the text. Text will be as wide as it is.

clearPreserveTrailingWhitespace
void TextProperties::clear_preserve_trailing_whitespace(void);

Description:

clearShadow
void TextProperties::clear_shadow(void);

Description: Specifies that a shadow will not be drawn behind the text.

clearShadowColor
void TextProperties::clear_shadow_color(void);

Description: Removes the shadow color specification.

clearSlant
void TextProperties::clear_slant(void);

Description:

clearSmallCaps
void TextProperties::clear_small_caps(void);

Description:

clearSmallCapsScale
void TextProperties::clear_small_caps_scale(void);

Description:

clearTabWidth
void TextProperties::clear_tab_width(void);

Description:

clearTextColor
void TextProperties::clear_text_color(void);

Description: Removes the text color specification; the text will be colored whatever it was in the source font file.

clearUnderscore
void TextProperties::clear_underscore(void);

Description:

clearUnderscoreHeight
void TextProperties::clear_underscore_height(void);

Description:

clearWordwrap
void TextProperties::clear_wordwrap(void);

Description: Removes the wordwrap setting from the text. Text will be as wide as it is.

getAlign
TextProperties::Alignment TextProperties::get_align(void) const;

Description:

getBin
string const &TextProperties::get_bin(void) const;

Description: Returns the drawing bin set with set_bin(), or empty string if no bin has been set.

getClassType
static TypeHandle TextProperties::get_class_type(void);

Undocumented function.

getDefaultFont
static TextFont *TextProperties::get_default_font(void);

Description: Specifies the default font to be used for any TextNode whose font is uninitialized or NULL. See set_font().

getDrawOrder
int TextProperties::get_draw_order(void) const;

Description: Returns the drawing order set with set_draw_order().

getFont
TextFont *TextProperties::get_font(void) const;

Description: Returns the font currently in use, if any. If no font is in use, this returns the default font.

getGlyphScale
float TextProperties::get_glyph_scale(void) const;

Description: Returns the scale factor of each letter as specified by set_glyph_scale().

getGlyphShift
float TextProperties::get_glyph_shift(void) const;

Description: Returns the vertical shift of each letter as specified by set_glyph_shift().

getIndent
float TextProperties::get_indent(void) const;

Description:

getPreserveTrailingWhitespace
bool TextProperties::get_preserve_trailing_whitespace(void) const;

Description: Returns the preserve_trailing_whitespace flag. See set_preserve_trailing_whitespace().

getShadow
LVector2f TextProperties::get_shadow(void) const;

Description: Returns the offset of the shadow as set by set_shadow(). It is an error to call this if has_shadow() is false.

getShadowColor
LVecBase4f TextProperties::get_shadow_color(void) const;

Description:

getSlant
float TextProperties::get_slant(void) const;

Description: Returns the factor by which the text is specified to slant to the right.

getSmallCaps
bool TextProperties::get_small_caps(void) const;

Description: Returns the small_caps flag. See set_small_caps().

getSmallCapsScale
float TextProperties::get_small_caps_scale(void) const;

Description: Returns the scale factor applied to lowercase letters from their uppercase equivalents, when the small_caps flag is in effect. See set_small_caps() and set_small_caps_scale().

getTabWidth
float TextProperties::get_tab_width(void) const;

Description: Returns the width set via set_tab_width().

getTextColor
LVecBase4f TextProperties::get_text_color(void) const;

Description:

getUnderscore
bool TextProperties::get_underscore(void) const;

Description: Returns the underscore flag. See set_underscore().

getUnderscoreHeight
float TextProperties::get_underscore_height(void) const;

Description: Returns the vertical height of the underscore; see set_underscore_height().

getWordwrap
float TextProperties::get_wordwrap(void) const;

Description:

hasAlign
bool TextProperties::has_align(void) const;

Description:

hasBin
bool TextProperties::has_bin(void) const;

Description: Returns true if an explicit drawing bin has been set via set_bin(), false otherwise.

hasDrawOrder
bool TextProperties::has_draw_order(void) const;

Description:

hasFont
bool TextProperties::has_font(void) const;

Description:

hasGlyphScale
bool TextProperties::has_glyph_scale(void) const;

Description:

hasGlyphShift
bool TextProperties::has_glyph_shift(void) const;

Description:

hasIndent
bool TextProperties::has_indent(void) const;

Description:

hasPreserveTrailingWhitespace
bool TextProperties::has_preserve_trailing_whitespace(void) const;

Description:

hasShadow
bool TextProperties::has_shadow(void) const;

Description:

hasShadowColor
bool TextProperties::has_shadow_color(void) const;

Description:

hasSlant
bool TextProperties::has_slant(void) const;

Description:

hasSmallCaps
bool TextProperties::has_small_caps(void) const;

Description:

hasSmallCapsScale
bool TextProperties::has_small_caps_scale(void) const;

Description:

hasTabWidth
bool TextProperties::has_tab_width(void) const;

Description:

hasTextColor
bool TextProperties::has_text_color(void) const;

Description:

hasUnderscore
bool TextProperties::has_underscore(void) const;

Description:

hasUnderscoreHeight
bool TextProperties::has_underscore_height(void) const;

Description:

hasWordwrap
bool TextProperties::has_wordwrap(void) const;

Description:

isAnySpecified
bool TextProperties::is_any_specified(void) const;

Description: Returns true if any properties have been specified, false otherwise.

operator !=
bool TextProperties::operator !=(TextProperties const &other) const;

Description:

operator =
void TextProperties::operator =(TextProperties const &copy);

Description:

operator ==
bool TextProperties::operator ==(TextProperties const &other) const;

Description:

setAlign
void TextProperties::set_align(TextProperties::Alignment align_type);

Description: Specifies the alignment of the text within its margins.

setBin
void TextProperties::set_bin(string const &bin);

Description: Names the CullBin that the text geometry should be assigned to. If this is set, then a CullBinAttrib will be created to explicitly place each component in the named bin.
The draw_order value will also be passed to each CullBinAttrib as appropriate; this is particularly useful if this names a CullBinFixed, e.g. "fixed".

setDefaultFont
static void TextProperties::set_default_font(TextFont *);

Description: Specifies the default font to be used for any TextNode whose font is uninitialized or NULL. See set_font().

setDrawOrder
int TextProperties::set_draw_order(int draw_order);

Description: Sets the drawing order of text created by the TextNode. This is actually the draw order of the card and frame. The shadow is drawn at _draw_order+1, and the text at _draw_order+2.
This affects the sorting order assigned to the nodes as they are created, and also is passed to whatever bin may be assigned via set_bin().
The return value is the first unused draw_order number, e.g. _draw_order + 3.

setFont
void TextProperties::set_font(TextFont *font);

Description: Sets the font that will be used when making text. If this is set to NULL, the default font will be used, which can be set via set_default_font().

setGlyphScale
void TextProperties::set_glyph_scale(float glyph_scale);

Description: Specifies the factor by which to scale each letter of the text as it is placed. This can be used (possibly in conjunction with set_glyph_shift()) to implement superscripting or subscripting.

setGlyphShift
void TextProperties::set_glyph_shift(float glyph_shift);

Description: Specifies a vertical amount to shift each letter of the text as it is placed. This can be used (possibly in conjunction with set_glyph_scale()) to implement superscripting or subscripting.

setIndent
void TextProperties::set_indent(float indent);

Description: Specifies the amount of extra space that is inserted before the first character of each line. This can be thought of as a left margin.

setPreserveTrailingWhitespace
void TextProperties::set_preserve_trailing_whitespace(bool preserve_trailing_whitespace);

Description: Sets the preserve_trailing_whitespace flag. When this is set, trailing whitespace at the end of the line is not stripped when the text is wordwrapped (it is stripped by default). Since the trailing whitespace is invisible, this is important primarily for determining the proper width of a frame or card behind the text.

setShadow
void TextProperties::set_shadow(float xoffset, float yoffset);

Description: Specifies that the text should be drawn with a shadow, by creating a second copy of the text and offsetting it slightly behind the first.

setShadowColor
void TextProperties::set_shadow_color(float r, float g, float b, float a);

Description:

setSlant
void TextProperties::set_slant(float slant);

Description: Specifies the factor by which the text slants to the right.

setSmallCaps
void TextProperties::set_small_caps(bool small_caps);

Description: Sets the small_caps flag. When this is set, lowercase letters are generated as scaled-down versions of their uppercase equivalents. This is particularly useful to set for fonts that do not have lowercase letters.
It is also a good idea to set this for a (dynamic) font that has already implemented lowercase letters as scaled-down versions of their uppercase equivalents, since without this flag the texture memory may needlessly duplicate equivalent glyphs for upper and lowercase letters. Setting this flag causes the texture memory to share the mixed-case letters.
The amount by which the lowercase letters are scaled is specified by set_small_caps_scale().

setSmallCapsScale
void TextProperties::set_small_caps_scale(float small_caps_scale);

Description: Sets the scale factor applied to lowercase letters from their uppercase equivalents, when the small_caps flag is in effect. See set_small_caps(). Normally, this will be a number less than one.

setTabWidth
void TextProperties::set_tab_width(float tab_width);

Description: Sets the width of each tab stop, in screen units. A tab character embedded in the text will advance the horizontal position to the next tab stop.

setTextColor
void TextProperties::set_text_color(float r, float g, float b, float a);

Description:

setUnderscore
void TextProperties::set_underscore(bool underscore);

Description: Sets the underscore flag. When this is set, the text is underscored with a one-pixel line the same color as the text foreground, drawn at the baseline.

setUnderscoreHeight
void TextProperties::set_underscore_height(float underscore_height);

Description: Specifies the vertical height of the underscore, relative to the text baseline. This only has meaning if the underscore mode is enabled with set_underscore().

setWordwrap
void TextProperties::set_wordwrap(float wordwrap);

Description: Sets the text up to automatically wordwrap when it exceeds the indicated width. This can be thought of as a right margin or margin width.

write
void TextProperties::write(ostream &out, int indent_level = (0)) const;

Description:


TextPieMenu

    from direct.leveleditor.PieMenu import TextPieMenu

Inheritance:

    TextPieMenu:

Methods of TextPieMenu:

    __init__
    destroy
__init__
def __init__(self, textList, radius=0.5, sf=1, action=None, fUpdateOnlyOnChange=1)

Undocumented function.

destroy
def destroy(self)

Undocumented function.


TextProperties

    from pandac.PandaModules import TextProperties
    Class : TextProperties
    Description : This defines the set of visual properties that may be assigned to the individual characters of the text. (Properties which affect the overall block of text can only be specified on the TextNode directly).
    Typically, there is just one set of properties on a given block of text, which is set directly on the TextNode (TextNode inherits from TextProperties). That makes all of the text within a particular block have the same appearance.
    This separate class exists in order to implement multiple different kinds of text appearing within one block. The text string itself may reference a TextProperties structure by name using the \1 and \2 tokens embedded within the string; each nested TextProperties structure modifies the appearance of subsequent text within the block.

Inheritance:

    TextProperties:

Methods of TextProperties:

    TextProperties (Constructor)
    addProperties
    clear
    clearAlign
    clearBin
    clearDrawOrder
    clearFont
    clearGlyphScale
    clearGlyphShift
    clearIndent
    clearPreserveTrailingWhitespace
    clearShadow
    clearShadowColor
    clearSlant
    clearSmallCaps
    clearSmallCapsScale
    clearTabWidth
    clearTextColor
    clearUnderscore
    clearUnderscoreHeight
    clearWordwrap
    getAlign
    getBin
    getClassType
    getDefaultFont
    getDrawOrder
    getFont
    getGlyphScale
    getGlyphShift
    getIndent
    getPreserveTrailingWhitespace
    getShadow
    getShadowColor
    getSlant
    getSmallCaps
    getSmallCapsScale
    getTabWidth
    getTextColor
    getUnderscore
    getUnderscoreHeight
    getWordwrap
    hasAlign
    hasBin
    hasDrawOrder
    hasFont
    hasGlyphScale
    hasGlyphShift
    hasIndent
    hasPreserveTrailingWhitespace
    hasShadow
    hasShadowColor
    hasSlant
    hasSmallCaps
    hasSmallCapsScale
    hasTabWidth
    hasTextColor
    hasUnderscore
    hasUnderscoreHeight
    hasWordwrap
    isAnySpecified
    operator !=
    operator =
    operator ==
    setAlign
    setBin
    setDefaultFont
    setDrawOrder
    setFont
    setGlyphScale
    setGlyphShift
    setIndent
    setPreserveTrailingWhitespace
    setShadow
    setShadowColor
    setSlant
    setSmallCaps
    setSmallCapsScale
    setTabWidth
    setTextColor
    setUnderscore
    setUnderscoreHeight
    setWordwrap
    write

Constants in TextProperties:

    ALeft | (Alignment)
ARight | (Alignment)
ACenter | (Alignment)
TextProperties
TextProperties::TextProperties(void);

Description:

addProperties
void TextProperties::add_properties(TextProperties const &other);

Description: Sets any properties that are explicitly specified in other on this object. Leaves other properties unchanged.

clear
void TextProperties::clear(void);

Description: Unsets all properties that have been specified so far, and resets the TextProperties structure to its initial empty state.

clearAlign
void TextProperties::clear_align(void);

Description: Restores the default alignment of the text.

clearBin
void TextProperties::clear_bin(void);

Description: Removes the effect of a previous call to set_bin(). Text will be drawn in whatever bin it would like to be drawn in, with no explicit ordering.

clearDrawOrder
void TextProperties::clear_draw_order(void);

Description:

clearFont
void TextProperties::clear_font(void);

Description: Restores the default font to the text.

clearGlyphScale
void TextProperties::clear_glyph_scale(void);

Description:

clearGlyphShift
void TextProperties::clear_glyph_shift(void);

Description:

clearIndent
void TextProperties::clear_indent(void);

Description: Removes the indent setting from the text. Text will be as wide as it is.

clearPreserveTrailingWhitespace
void TextProperties::clear_preserve_trailing_whitespace(void);

Description:

clearShadow
void TextProperties::clear_shadow(void);

Description: Specifies that a shadow will not be drawn behind the text.

clearShadowColor
void TextProperties::clear_shadow_color(void);

Description: Removes the shadow color specification.

clearSlant
void TextProperties::clear_slant(void);

Description:

clearSmallCaps
void TextProperties::clear_small_caps(void);

Description:

clearSmallCapsScale
void TextProperties::clear_small_caps_scale(void);

Description:

clearTabWidth
void TextProperties::clear_tab_width(void);

Description:

clearTextColor
void TextProperties::clear_text_color(void);

Description: Removes the text color specification; the text will be colored whatever it was in the source font file.

clearUnderscore
void TextProperties::clear_underscore(void);

Description:

clearUnderscoreHeight
void TextProperties::clear_underscore_height(void);

Description:

clearWordwrap
void TextProperties::clear_wordwrap(void);

Description: Removes the wordwrap setting from the text. Text will be as wide as it is.

getAlign
TextProperties::Alignment TextProperties::get_align(void) const;

Description:

getBin
string const &TextProperties::get_bin(void) const;

Description: Returns the drawing bin set with set_bin(), or empty string if no bin has been set.

getClassType
static TypeHandle TextProperties::get_class_type(void);

Undocumented function.

getDefaultFont
static TextFont *TextProperties::get_default_font(void);

Description: Specifies the default font to be used for any TextNode whose font is uninitialized or NULL. See set_font().

getDrawOrder
int TextProperties::get_draw_order(void) const;

Description: Returns the drawing order set with set_draw_order().

getFont
TextFont *TextProperties::get_font(void) const;

Description: Returns the font currently in use, if any. If no font is in use, this returns the default font.

getGlyphScale
float TextProperties::get_glyph_scale(void) const;

Description: Returns the scale factor of each letter as specified by set_glyph_scale().

getGlyphShift
float TextProperties::get_glyph_shift(void) const;

Description: Returns the vertical shift of each letter as specified by set_glyph_shift().

getIndent
float TextProperties::get_indent(void) const;

Description:

getPreserveTrailingWhitespace
bool TextProperties::get_preserve_trailing_whitespace(void) const;

Description: Returns the preserve_trailing_whitespace flag. See set_preserve_trailing_whitespace().

getShadow
LVector2f TextProperties::get_shadow(void) const;

Description: Returns the offset of the shadow as set by set_shadow(). It is an error to call this if has_shadow() is false.

getShadowColor
LVecBase4f TextProperties::get_shadow_color(void) const;

Description:

getSlant
float TextProperties::get_slant(void) const;

Description: Returns the factor by which the text is specified to slant to the right.

getSmallCaps
bool TextProperties::get_small_caps(void) const;

Description: Returns the small_caps flag. See set_small_caps().

getSmallCapsScale
float TextProperties::get_small_caps_scale(void) const;

Description: Returns the scale factor applied to lowercase letters from their uppercase equivalents, when the small_caps flag is in effect. See set_small_caps() and set_small_caps_scale().

getTabWidth
float TextProperties::get_tab_width(void) const;

Description: Returns the width set via set_tab_width().

getTextColor
LVecBase4f TextProperties::get_text_color(void) const;

Description:

getUnderscore
bool TextProperties::get_underscore(void) const;

Description: Returns the underscore flag. See set_underscore().

getUnderscoreHeight
float TextProperties::get_underscore_height(void) const;

Description: Returns the vertical height of the underscore; see set_underscore_height().

getWordwrap
float TextProperties::get_wordwrap(void) const;

Description:

hasAlign
bool TextProperties::has_align(void) const;

Description:

hasBin
bool TextProperties::has_bin(void) const;

Description: Returns true if an explicit drawing bin has been set via set_bin(), false otherwise.

hasDrawOrder
bool TextProperties::has_draw_order(void) const;

Description:

hasFont
bool TextProperties::has_font(void) const;

Description:

hasGlyphScale
bool TextProperties::has_glyph_scale(void) const;

Description:

hasGlyphShift
bool TextProperties::has_glyph_shift(void) const;

Description:

hasIndent
bool TextProperties::has_indent(void) const;

Description:

hasPreserveTrailingWhitespace
bool TextProperties::has_preserve_trailing_whitespace(void) const;

Description:

hasShadow
bool TextProperties::has_shadow(void) const;

Description:

hasShadowColor
bool TextProperties::has_shadow_color(void) const;

Description:

hasSlant
bool TextProperties::has_slant(void) const;

Description:

hasSmallCaps
bool TextProperties::has_small_caps(void) const;

Description:

hasSmallCapsScale
bool TextProperties::has_small_caps_scale(void) const;

Description:

hasTabWidth
bool TextProperties::has_tab_width(void) const;

Description:

hasTextColor
bool TextProperties::has_text_color(void) const;

Description:

hasUnderscore
bool TextProperties::has_underscore(void) const;

Description:

hasUnderscoreHeight
bool TextProperties::has_underscore_height(void) const;

Description:

hasWordwrap
bool TextProperties::has_wordwrap(void) const;

Description:

isAnySpecified
bool TextProperties::is_any_specified(void) const;

Description: Returns true if any properties have been specified, false otherwise.

operator !=
bool TextProperties::operator !=(TextProperties const &other) const;

Description:

operator =
void TextProperties::operator =(TextProperties const &copy);

Description:

operator ==
bool TextProperties::operator ==(TextProperties const &other) const;

Description:

setAlign
void TextProperties::set_align(TextProperties::Alignment align_type);

Description: Specifies the alignment of the text within its margins.

setBin
void TextProperties::set_bin(string const &bin);

Description: Names the CullBin that the text geometry should be assigned to. If this is set, then a CullBinAttrib will be created to explicitly place each component in the named bin.
The draw_order value will also be passed to each CullBinAttrib as appropriate; this is particularly useful if this names a CullBinFixed, e.g. "fixed".

setDefaultFont
static void TextProperties::set_default_font(TextFont *);

Description: Specifies the default font to be used for any TextNode whose font is uninitialized or NULL. See set_font().

setDrawOrder
int TextProperties::set_draw_order(int draw_order);

Description: Sets the drawing order of text created by the TextNode. This is actually the draw order of the card and frame. The shadow is drawn at _draw_order+1, and the text at _draw_order+2.
This affects the sorting order assigned to the nodes as they are created, and also is passed to whatever bin may be assigned via set_bin().
The return value is the first unused draw_order number, e.g. _draw_order + 3.

setFont
void TextProperties::set_font(TextFont *font);

Description: Sets the font that will be used when making text. If this is set to NULL, the default font will be used, which can be set via set_default_font().

setGlyphScale
void TextProperties::set_glyph_scale(float glyph_scale);

Description: Specifies the factor by which to scale each letter of the text as it is placed. This can be used (possibly in conjunction with set_glyph_shift()) to implement superscripting or subscripting.

setGlyphShift
void TextProperties::set_glyph_shift(float glyph_shift);

Description: Specifies a vertical amount to shift each letter of the text as it is placed. This can be used (possibly in conjunction with set_glyph_scale()) to implement superscripting or subscripting.

setIndent
void TextProperties::set_indent(float indent);

Description: Specifies the amount of extra space that is inserted before the first character of each line. This can be thought of as a left margin.

setPreserveTrailingWhitespace
void TextProperties::set_preserve_trailing_whitespace(bool preserve_trailing_whitespace);

Description: Sets the preserve_trailing_whitespace flag. When this is set, trailing whitespace at the end of the line is not stripped when the text is wordwrapped (it is stripped by default). Since the trailing whitespace is invisible, this is important primarily for determining the proper width of a frame or card behind the text.

setShadow
void TextProperties::set_shadow(float xoffset, float yoffset);

Description: Specifies that the text should be drawn with a shadow, by creating a second copy of the text and offsetting it slightly behind the first.

setShadowColor
void TextProperties::set_shadow_color(float r, float g, float b, float a);

Description:

setSlant
void TextProperties::set_slant(float slant);

Description: Specifies the factor by which the text slants to the right.

setSmallCaps
void TextProperties::set_small_caps(bool small_caps);

Description: Sets the small_caps flag. When this is set, lowercase letters are generated as scaled-down versions of their uppercase equivalents. This is particularly useful to set for fonts that do not have lowercase letters.
It is also a good idea to set this for a (dynamic) font that has already implemented lowercase letters as scaled-down versions of their uppercase equivalents, since without this flag the texture memory may needlessly duplicate equivalent glyphs for upper and lowercase letters. Setting this flag causes the texture memory to share the mixed-case letters.
The amount by which the lowercase letters are scaled is specified by set_small_caps_scale().

setSmallCapsScale
void TextProperties::set_small_caps_scale(float small_caps_scale);

Description: Sets the scale factor applied to lowercase letters from their uppercase equivalents, when the small_caps flag is in effect. See set_small_caps(). Normally, this will be a number less than one.

setTabWidth
void TextProperties::set_tab_width(float tab_width);

Description: Sets the width of each tab stop, in screen units. A tab character embedded in the text will advance the horizontal position to the next tab stop.

setTextColor
void TextProperties::set_text_color(float r, float g, float b, float a);

Description:

setUnderscore
void TextProperties::set_underscore(bool underscore);

Description: Sets the underscore flag. When this is set, the text is underscored with a one-pixel line the same color as the text foreground, drawn at the baseline.

setUnderscoreHeight
void TextProperties::set_underscore_height(float underscore_height);

Description: Specifies the vertical height of the underscore, relative to the text baseline. This only has meaning if the underscore mode is enabled with set_underscore().

setWordwrap
void TextProperties::set_wordwrap(float wordwrap);

Description: Sets the text up to automatically wordwrap when it exceeds the indicated width. This can be thought of as a right margin or margin width.

write
void TextProperties::write(ostream &out, int indent_level = (0)) const;

Description:


TextPropertiesManager

    from pandac.PandaModules import TextPropertiesManager
    Class : TextPropertiesManager
    Description : This defines all of the TextProperties structures that might be referenced by name from an embedded text string.
    A text string, as rendered by a TextNode, can contain embedded references to one of the TextProperties defined here, by enclosing the name between \1 (ASCII 0x01) characters; this causes a "push" to the named state. All text following the closing \1 character will then be rendered in the new state. The next \2 (ASCII 0x02) character will then restore the previous state for subsequent text.
    For instance, "x\1up\1n\2 + y" indicates that the character "x" will be rendered in the normal state, the character "n" will be rendered in the "up" state, and then " + y" will be rendered in the normal state again.
    This can also be used to define arbitrary models that can serve as embedded graphic images in a text paragraph. This works similarly; the convention is to create a TextGraphic that describes the graphic image, and then associate it here via the set_graphic() call. Then "\5name\5" will embed the named graphic.

Inheritance:

    TextPropertiesManager:

Methods of TextPropertiesManager:

    clearGraphic
    clearProperties
    getGlobalPtr
    getGraphic
    getProperties
    hasGraphic
    hasProperties
    setGraphic
    setProperties
    write
clearGraphic
void TextPropertiesManager::clear_graphic(string const &name);

Description: Removes the named TextGraphic structure from the manager.

clearProperties
void TextPropertiesManager::clear_properties(string const &name);

Description: Removes the named TextProperties structure from the manager.

getGlobalPtr
static TextPropertiesManager *TextPropertiesManager::get_global_ptr(void);

Description: Returns the pointer to the global TextPropertiesManager object.

getGraphic
TextGraphic TextPropertiesManager::get_graphic(string const &name);

Description: Returns the TextGraphic associated with the indicated name. If there was not previously a TextGraphic associated with this name, a warning is printed and then a default TextGraphic structure is associated with the name, and returned.
Call has_graphic() instead to check whether a particular name has been defined.

getProperties
TextProperties TextPropertiesManager::get_properties(string const &name);

Description: Returns the TextProperties associated with the indicated name. If there was not previously a TextProperties associated with this name, a warning is printed and then a default TextProperties structure is associated with the name, and returned.
Call has_properties() instead to check whether a particular name has been defined.

hasGraphic
bool TextPropertiesManager::has_graphic(string const &name) const;

Description: Returns true if a TextGraphic structure has been associated with the indicated name, false otherwise. Normally this means set_graphic() has been called with this name, but because get_graphic() will implicitly create a default TextGraphic structure, it may also mean simply that get_graphic() has been called with the indicated name.

hasProperties
bool TextPropertiesManager::has_properties(string const &name) const;

Description: Returns true if a TextProperties structure has been associated with the indicated name, false otherwise. Normally this means set_properties() has been called with this name, but because get_properties() will implicitly create a default TextProperties structure, it may also mean simply that get_properties() has been called with the indicated name.

setGraphic
void TextPropertiesManager::set_graphic(string const &name, TextGraphic const &graphic);

Description: Defines the TextGraphic associated with the indicated name. When the name is subsequently encountered in text embedded between \5 characters in a TextNode string, the specified graphic will be embedded in the text at that point.
If there was already a TextGraphic structure associated with this name, it is quietly replaced with the new definition.
Description: This flavor of set_graphic implicitly creates a frame for the model using the model's actual computed bounding volume, as derived from NodePath::calc_tight_bounds(). Create a TextGraphic object first if you want to have explicit control of the frame.

setProperties
void TextPropertiesManager::set_properties(string const &name, TextProperties const &properties);

Description: Defines the TextProperties associated with the indicated name. When the name is subsequently encountered in text embedded between \1 characters in a TextNode string, the following text will be rendered with these properties.
If there was already a TextProperties structure associated with this name, it is quietly replaced with the new definition.

write
void TextPropertiesManager::write(ostream &out, int indent_level = (0)) const;

Description:


Texture

    from pandac.PandaModules import Texture
    Class : Texture
    Description : Represents a texture object, which is typically a single 2-d image but may also represent a 1-d or 3-d texture image, or the six 2-d faces of a cube map texture.
    A texture's image data might be stored in system RAM (see get_ram_image()) or its image may be represented in texture memory on one or more GraphicsStateGuardians (see prepare()), or both. The typical usage pattern is that a texture is loaded from an image file on disk, which copies its image data into system RAM; then the first time the texture is rendered its image data is copied to texture memory (actually, to the graphics API), and the system RAM image is automatically freed.

Inheritance:

    Texture: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of Texture:

    Texture (Constructor)
    clear
    clearAlphaFilename
    clearAlphaFullpath
    clearAuxData
    clearFilename
    clearFullpath
    clearRamImage
    clearRamMipmapImage
    clearRamMipmapImages
    estimateTextureMemory
    generateAlphaScaleMap
    generateNormalizationCubeMap
    generateRamMipmapImages
    getAlphaFilename
    getAlphaFullpath
    getAnisotropicDegree
    getAuxData
    getBorderColor
    getClassType
    getComponentType
    getComponentWidth
    getCompression
    getExpectedMipmapXSize
    getExpectedMipmapYSize
    getExpectedMipmapZSize
    getExpectedNumMipmapLevels
    getExpectedRamImageSize
    getExpectedRamMipmapImageSize
    getExpectedRamMipmapPageSize
    getExpectedRamPageSize
    getFilename
    getFormat
    getFullpath
    getImageModified
    getKeepRamImage
    getLoadedFromImage
    getLoadedFromTxo
    getMagfilter
    getMatchFramebufferFormat
    getMinfilter
    getNumComponents
    getNumRamMipmapImages
    getPadXSize
    getPadYSize
    getPadZSize
    getPropertiesModified
    getQualityLevel
    getRamImage
    getRamImageCompression
    getRamImageSize
    getRamMipmapImage
    getRamMipmapImageSize
    getRamMipmapPageSize
    getRamPageSize
    getRenderToTexture
    getTexturesPower2
    getTextureType
    getWrapU
    getWrapV
    getWrapW
    getXSize
    getYSize
    getZSize
    hasAllRamMipmapImages
    hasAlphaFilename
    hasAlphaFullpath
    hasFilename
    hasFullpath
    hasRamImage
    hasRamMipmapImage
    haveTexturesPower2
    isMipmap
    isPrepared
    load
    loadRelated
    makeCopy
    makeRamImage
    makeRamMipmapImage
    mightHaveRamImage
    modifyRamImage
    modifyRamMipmapImage
    prepare
    prepareNow
    read
    readTxo
    release
    releaseAll
    reload
    setAlphaFilename
    setAlphaFullpath
    setAnisotropicDegree
    setAuxData
    setBorderColor
    setComponentType
    setCompression
    setFilename
    setFormat
    setFullpath
    setKeepRamImage
    setLoadedFromImage
    setLoadedFromTxo
    setMagfilter
    setMatchFramebufferFormat
    setMinfilter
    setPadSize
    setQualityLevel
    setRamImage
    setRamMipmapImage
    setRenderToTexture
    setSizePadded
    setTexturesPower2
    setup1dTexture
    setup2dTexture
    setup3dTexture
    setupCubeMap
    setupTexture
    setWrapU
    setWrapV
    setWrapW
    setXSize
    setYSize
    setZSize
    store
    usesMipmaps
    write
    writeTxo

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Constants in Texture:

    TT1dTexture | (TextureType)
TT2dTexture | (TextureType)
TT3dTexture | (TextureType)
TTCubeMap | (TextureType)
TUnsignedByte | (ComponentType)
TUnsignedShort | (ComponentType)
TFloat | (ComponentType)
FDepthStencil | (Format)
FDepthComponent | (Format)
FColorIndex | (Format)
FRed | (Format)
FGreen | (Format)
FBlue | (Format)
FAlpha | (Format)
FRgb | (Format)
FRgb5 | (Format)
FRgb8 | (Format)
FRgb12 | (Format)
FRgb332 | (Format)
FRgba | (Format)
FRgbm | (Format)
FRgba4 | (Format)
FRgba5 | (Format)
FRgba8 | (Format)
FRgba12 | (Format)
FLuminance | (Format)
FLuminanceAlpha | (Format)
FLuminanceAlphamask | (Format)
FRgba16 | (Format)
FRgba32 | (Format)
FTNearest | (FilterType)
FTLinear | (FilterType)
FTNearestMipmapNearest | (FilterType)
FTLinearMipmapNearest | (FilterType)
FTNearestMipmapLinear | (FilterType)
FTLinearMipmapLinear | (FilterType)
FTShadow | (FilterType)
FTDefault | (FilterType)
FTInvalid | (FilterType)
WMClamp | (WrapMode)
WMRepeat | (WrapMode)
WMMirror | (WrapMode)
WMMirrorOnce | (WrapMode)
WMBorderColor | (WrapMode)
WMInvalid | (WrapMode)
CMDefault | (CompressionMode)
CMOff | (CompressionMode)
CMOn | (CompressionMode)
CMFxt1 | (CompressionMode)
CMDxt1 | (CompressionMode)
CMDxt2 | (CompressionMode)
CMDxt3 | (CompressionMode)
CMDxt4 | (CompressionMode)
CMDxt5 | (CompressionMode)
QLDefault | (QualityLevel)
QLFastest | (QualityLevel)
QLNormal | (QualityLevel)
QLBest | (QualityLevel)
Texture
Texture::Texture(string const &name = ((string())));

Description: Constructs an empty texture. The default is to set up the texture as an empty 2-d texture; follow up with one of the variants of setup_texture() if this is not what you want.
Description: Use Texture::make_copy() to make a duplicate copy of an existing Texture.

clear
virtual void Texture::clear(void);

Description: Reinitializes the texture to its default, empty state.

clearAlphaFilename
void Texture::clear_alpha_filename(void);

Description: Removes the alpha filename, if it was previously set. See set_alpha_filename().

clearAlphaFullpath
void Texture::clear_alpha_fullpath(void);

Description: Removes the alpha fullpath, if it was previously set. See set_alpha_fullpath().

clearAuxData
void Texture::clear_aux_data(string const &key);

Description: Removes a record previously recorded via set_aux_data().

clearFilename
void Texture::clear_filename(void);

These are published, but in general, you shouldn't be mucking with these values; they are set automatically when a texture is loaded.
Description: Removes the alpha filename, if it was previously set. See set_filename().

clearFullpath
void Texture::clear_fullpath(void);

Description: Removes the alpha fullpath, if it was previously set. See set_fullpath().

clearRamImage
void Texture::clear_ram_image(void);

Description: Discards the current system-RAM image.

clearRamMipmapImage
void Texture::clear_ram_mipmap_image(int n);

Description: Discards the current system-RAM image for the nth mipmap level.

clearRamMipmapImages
void Texture::clear_ram_mipmap_images(void);

Description: Discards the current system-RAM image for all mipmap levels, except level 0 (the base image).

estimateTextureMemory
unsigned int Texture::estimate_texture_memory(void) const;

Description: Estimates the amount of texture memory that will be consumed by loading this texture. This returns a value that is not specific to any particular graphics card or driver; it tries to make a reasonable assumption about how a driver will load the texture. It does not account for texture compression or anything fancy. This is mainly useful for debugging and reporting purposes.
Returns a value in bytes.

generateAlphaScaleMap
void Texture::generate_alpha_scale_map(void);

Description: Generates a special 256x1 1-d texture that can be used to apply an arbitrary alpha scale to objects by judicious use of texture matrix. The texture is a gradient, with an alpha of 0 on the left (U = 0), and 255 on the right (U = 1).

generateNormalizationCubeMap
void Texture::generate_normalization_cube_map(int size);

Description: Generates a special cube map image in the texture that can be used to apply bump mapping effects: for each texel in the cube map that is indexed by the 3-d texture coordinates (x, y, z), the resulting value is the normalized vector (x, y, z) (compressed from
-1..1 into 0..1).

generateRamMipmapImages
void Texture::generate_ram_mipmap_images(void);

Description: Automatically fills in the n mipmap levels of the Texture, based on the texture's source image. This requires the texture's ram image to be available in system memory.
This call is not normally necessary, since the mipmap levels will be generated automatically if needed. But there may be certain cases in which you would like to call this explicitly.

getAlphaFilename
Filename const &Texture::get_alpha_filename(void) const;

Description: Returns the alpha_filename that has been set. If this is set, it represents the name of the alpha component, which is stored in a separate file. See also get_filename(), and get_alpha_fullpath().

getAlphaFullpath
Filename const &Texture::get_alpha_fullpath(void) const;

Description: Returns the alpha_fullpath that has been set. This is the full path to the alpha part of the image file as it was found along the texture search path.

getAnisotropicDegree
int Texture::get_anisotropic_degree(void) const;

Description: Returns the degree of anisotropic filtering that should be applied to the texture. Normally, this is 1, to indicate that anisotropic filtering should be disabled. If this is a number higher than 1, anisotropic filtering should be enabled (if the rendering backend supports it).

getAuxData
TypedReferenceCount *Texture::get_aux_data(string const &key) const;

Description: Returns a record previously recorded via set_aux_data(). Returns NULL if there was no record associated with the indicated key.

getBorderColor
LVecBase4f Texture::get_border_color(void) const;

Description: Returns the solid color of the texture's border. Some OpenGL implementations use a border for tiling textures; in Panda, it is only used for specifying the clamp color.

getClassType
static TypeHandle Texture::get_class_type(void);

Undocumented function.

getComponentType
Texture::ComponentType Texture::get_component_type(void) const;

Description: Returns the numeric interpretation of each component of the texture.

getComponentWidth
int Texture::get_component_width(void) const;

Description: Returns the number of bytes stored for each color component of a texel. Typically this is 1, but it may be 2 for 16-bit texels.

getCompression
Texture::CompressionMode Texture::get_compression(void) const;

Description: Returns the compression mode requested for this particular texture, or CM_off if the texture is not to be compressed.
If a value other than CM_off is returned, this is not a guarantee that the texture is actually successfully compressed on the GSG. It may be that the GSG does not support the requested compression mode, in which case the texture may actually be stored uncompressed in texture memory.

getExpectedMipmapXSize
int Texture::get_expected_mipmap_x_size(int n) const;

Description: Returns the x_size that the nth mipmap level should have, based on the texture's size.

getExpectedMipmapYSize
int Texture::get_expected_mipmap_y_size(int n) const;

Description: Returns the y_size that the nth mipmap level should have, based on the texture's size.

getExpectedMipmapZSize
int Texture::get_expected_mipmap_z_size(int n) const;

Description: Returns the z_size that the nth mipmap level should have, based on the texture's size.

getExpectedNumMipmapLevels
int Texture::get_expected_num_mipmap_levels(void) const;

Description: Returns the number of mipmap levels that should be defined for this texture, given the texture's size.
Note that this returns a number appropriate for mipmapping, even if the texture does not currently have mipmapping enabled.

getExpectedRamImageSize
unsigned int Texture::get_expected_ram_image_size(void) const;

Description: Returns the number of bytes that *ought* to be used by the in-memory image, based on the texture parameters.

getExpectedRamMipmapImageSize
unsigned int Texture::get_expected_ram_mipmap_image_size(int n) const;

Description: Returns the number of bytes that *ought* to be used by the in-memory image for mipmap level n, based on the texture parameters.

getExpectedRamMipmapPageSize
unsigned int Texture::get_expected_ram_mipmap_page_size(int n) const;

Description: Returns the number of bytes that should be used per each Z page of the 3-d texture, for mipmap level n. For a 2-d or 1-d texture, this is the same as get_expected_ram_mipmap_image_size(n).

getExpectedRamPageSize
unsigned int Texture::get_expected_ram_page_size(void) const;

Description: Returns the number of bytes that should be used per each Z page of the 3-d texture. For a 2-d or 1-d texture, this is the same as get_expected_ram_image_size().

getFilename
Filename const &Texture::get_filename(void) const;

Description: Returns the filename that has been set. This is the name of the file as it was requested. Also see get_fullpath().

getFormat
Texture::Format Texture::get_format(void) const;

Description: Returns the format of the texture, which represents both the semantic meaning of the texels and, to some extent, their storage information.

getFullpath
Filename const &Texture::get_fullpath(void) const;

Description: Returns the fullpath that has been set. This is the full path to the file as it was found along the texture search path.

getImageModified
UpdateSeq Texture::get_image_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the texture image data (including mipmap levels) are modified.

getKeepRamImage
virtual bool Texture::get_keep_ram_image(void) const;

Description: Returns the flag that indicates whether this Texture is eligible to have its main RAM copy of the texture memory dumped when the texture is prepared for rendering. See set_keep_ram_image().

getLoadedFromImage
bool Texture::get_loaded_from_image(void) const;

Description: Returns the flag that indicates the texture has been loaded from a disk file or PNMImage. See set_loaded_from_image().

getLoadedFromTxo
bool Texture::get_loaded_from_txo(void) const;

Description: Returns the flag that indicates the texture has been loaded from a txo file.

getMagfilter
Texture::FilterType Texture::get_magfilter(void) const;

Description: Returns the filter mode of the texture for magnification. The mipmap constants are invalid here.

getMatchFramebufferFormat
bool Texture::get_match_framebuffer_format(void) const;

Description: Returns true if the special flag was set that indicates to the GSG that the Texture's format should be chosen to exactly match the framebuffer's format, presumably because the application intends to copy image data from the framebuffer into the Texture (or vice-versa).

getMinfilter
Texture::FilterType Texture::get_minfilter(void) const;

Description: Returns the filter mode of the texture for minification. If this is one of the mipmap constants, then the texture requires mipmaps.

getNumComponents
int Texture::get_num_components(void) const;

Description: Returns the number of color components for each texel of the texture image. This is 3 for an rgb texture or 4 for an rgba texture; it may also be 1 or 2 for a grayscale texture.

getNumRamMipmapImages
int Texture::get_num_ram_mipmap_images(void) const;

Description: Returns the maximum number of mipmap level images available in system memory. The actual number may be less than this; use has_ram_mipmap_image() to verify each level.

getPadXSize
int Texture::get_pad_x_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPadYSize
int Texture::get_pad_y_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPadZSize
int Texture::get_pad_z_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPropertiesModified
UpdateSeq Texture::get_properties_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the texture properties (unrelated to the image) are modified.

getQualityLevel
Texture::QualityLevel Texture::get_quality_level(void) const;

Description: Returns the current quality_level hint. See set_quality_level().

getRamImage
ConstPointerToArray< unsigned char > Texture::get_ram_image(void);

Description: Returns the system-RAM image data associated with the texture. If the texture does not currently have an associated RAM image, and the texture was generated by loading an image from a disk file (the most common case), this forces the reload of the same texture. This can happen if keep_texture_ram is configured to false, and we have previously prepared this texture with a GSG.
Note that it is not correct to call has_ram_image() first to test whether this function will fail. A false return value from has_ram_image() indicates only that get_ram_image() may need to reload the texture from disk, which it will do automatically. However, you can call might_have_ram_image(), which will return true if the ram image exists, or there is a reasonable reason to believe it can be loaded.
On the other hand, it is possible that the texture cannot be found on disk or is otherwise unavailable. If that happens, this function will return NULL. There is no way to predict with 100% accuracy whether get_ram_image() will return NULL without calling it first; might_have_ram_image() is the closest.

getRamImageCompression
Texture::CompressionMode Texture::get_ram_image_compression(void) const;

Description: Returns the compression mode in which the ram image is already stored pre-compressed. If this is other than CM_off, you cannot rely on the contents of the ram image to be anything predicatable (it will not be an array of x by y pixels, and it probably won't have the same length as get_expected_ram_image_size()).

getRamImageSize
unsigned int Texture::get_ram_image_size(void) const;

Description: Returns the number of bytes used by the in-memory image, or 0 if there is no in-memory image.

getRamMipmapImage
ConstPointerToArray< unsigned char > Texture::get_ram_mipmap_image(int n);

Description: Returns the system-RAM image data associated with the nth mipmap level, if present. Returns NULL if the nth mipmap level is not present.

getRamMipmapImageSize
unsigned int Texture::get_ram_mipmap_image_size(int n) const;

Description: Returns the number of bytes used by the in-memory image for mipmap level n, or 0 if there is no in-memory image for this mipmap level.

getRamMipmapPageSize
unsigned int Texture::get_ram_mipmap_page_size(int n) const;

Description: Returns the number of bytes used by the in-memory image per page for mipmap level n, or 0 if there is no in-memory image for this mipmap level.
For a non-compressed texture, this is the same as get_expected_ram_mipmap_page_size(). For a compressed texture, this may be a smaller value. (We do assume that all pages will be the same size on a compressed texture).

getRamPageSize
unsigned int Texture::get_ram_page_size(void) const;

Description: Returns the number of bytes used by the in-memory image per page, or 0 if there is no in-memory image.
For a non-compressed texture, this is the same as get_expected_ram_page_size(). For a compressed texture, this may be a smaller value. (We do assume that all pages will be the same size on a compressed texture).

getRenderToTexture
bool Texture::get_render_to_texture(void) const;

Description:

getTexturesPower2
static AutoTextureScale Texture::get_textures_power_2(void);

Description: This flag returns ATS_none, ATS_up, or ATS_down and controls the scaling of textures. It is initialized from the config variable of the same name, but it can be subsequently adjusted.

getTextureType
Texture::TextureType Texture::get_texture_type(void) const;

Description: Returns the overall interpretation of the texture.

getWrapU
Texture::WrapMode Texture::get_wrap_u(void) const;

Description: Returns the wrap mode of the texture in the U direction.

getWrapV
Texture::WrapMode Texture::get_wrap_v(void) const;

Description: Returns the wrap mode of the texture in the V direction.

getWrapW
Texture::WrapMode Texture::get_wrap_w(void) const;

Description: Returns the wrap mode of the texture in the W direction. This is the depth direction of 3-d textures.

getXSize
int Texture::get_x_size(void) const;

Description: Returns the width of the texture image in texels.

getYSize
int Texture::get_y_size(void) const;

Description: Returns the height of the texture image in texels. For a 1-d texture, this will be 1.

getZSize
int Texture::get_z_size(void) const;

Description: Returns the depth of the texture image in texels. For a 1-d texture or 2-d texture, this will be 1. For a cube map texture, this will be 6.

hasAllRamMipmapImages
bool Texture::has_all_ram_mipmap_images(void) const;

Description: Returns true if all expected mipmap levels have been defined and exist in the system RAM, or false if even one mipmap level is missing.

hasAlphaFilename
bool Texture::has_alpha_filename(void) const;

Description: Returns true if the alpha_filename has been set and is available. See set_alpha_filename().

hasAlphaFullpath
bool Texture::has_alpha_fullpath(void) const;

Description: Returns true if the alpha_fullpath has been set and is available. See set_alpha_fullpath().

hasFilename
bool Texture::has_filename(void) const;

Description: Returns true if the filename has been set and is available. See set_filename().

hasFullpath
bool Texture::has_fullpath(void) const;

Description: Returns true if the fullpath has been set and is available. See set_fullpath().

hasRamImage
virtual bool Texture::has_ram_image(void) const;

Description: Returns true if the Texture has its image contents available in main RAM, false if it exists only in texture memory or in the prepared GSG context.
Note that this has nothing to do with whether get_ram_image() will fail or not. Even if has_ram_image() returns false, get_ram_image() may still return a valid RAM image, because get_ram_image() will automatically load the texture from disk if necessary. The only thing has_ram_image() tells you is whether the texture is available right now without hitting the disk first.
Note also that if an application uses only one GSG, it may appear that has_ram_image() returns true if the texture has not yet been loaded by the GSG, but this correlation is not true in general and should not be depended on. Specifically, if an application ever uses multiple GSG's in its lifetime (for instance, by opening more than one window, or by closing its window and opening another one later), then has_ram_image() may well return false on textures that have never been loaded on the current GSG.

hasRamMipmapImage
bool Texture::has_ram_mipmap_image(int n) const;

Description: Returns true if the Texture has the nth mipmap level available in system memory, false otherwise. If the texture's minfilter mode requires mipmapping (see uses_mipmaps()), and all the texture's mipmap levels are not available when the texture is rendered, they will be generated automatically.

haveTexturesPower2
static bool Texture::have_textures_power_2(void);

Description: If true, then get_textures_power_2 has been set using set_textures_power_2. If false, then get_textures_power_2 simply returns the config variable of the same name.

isMipmap
static bool Texture::is_mipmap(Texture::FilterType type);

Description: Returns true if the indicated filter type requires the use of mipmaps, or false if it does not.

isPrepared
bool Texture::is_prepared(PreparedGraphicsObjects *prepared_objects) const;

Description: Returns true if the texture has already been prepared or enqueued for preparation on the indicated GSG, false otherwise.

load
bool Texture::load(PNMImage const &pnmimage);

Description: Replaces the texture with the indicated image.
Description: Stores the indicated image in the given page and mipmap level. See read().

loadRelated
Texture *Texture::load_related(InternalName const *suffix) const;

Description: Loads a texture whose filename is derived by concatenating a suffix to the filename of this texture. May return NULL, for example, if this texture doesn't have a filename.

makeCopy
virtual PointerTo< Texture > Texture::make_copy(void);

Description: Returns a new copy of the same Texture. This copy, if applied to geometry, will be copied into texture as a separate texture from the original, so it will be duplicated in texture memory (and may be independently modified if desired).
If the Texture is a VideoTexture, the resulting duplicate may be animated independently of the original.

makeRamImage
PointerToArray< unsigned char > Texture::make_ram_image(void);

Description: Discards the current system-RAM image for the texture, if any, and allocates a new buffer of the appropriate size. Returns the new buffer.
This does *not* affect keep_ram_image.

makeRamMipmapImage
PointerToArray< unsigned char > Texture::make_ram_mipmap_image(int n);

Description: Discards the current system-RAM image for the nth mipmap level, if any, and allocates a new buffer of the appropriate size. Returns the new buffer.
This does *not* affect keep_ram_image.

mightHaveRamImage
bool Texture::might_have_ram_image(void) const;

Description: Returns true if the texture's image contents are currently available in main RAM, or there is reason to believe it can be loaded on demand. That is, this function returns a "best guess" as to whether get_ram_image() will succeed without actually calling it first.

modifyRamImage
PointerToArray< unsigned char > Texture::modify_ram_image(void);

Description: Returns a modifiable pointer to the system-RAM image. This assumes the RAM image should be uncompressed. If the RAM image has been dumped, or is stored compressed, creates a new one.
This does *not* affect keep_ram_image.

modifyRamMipmapImage
PointerToArray< unsigned char > Texture::modify_ram_mipmap_image(int n);

Description: Returns a modifiable pointer to the system-RAM image for the nth mipmap level. This assumes the RAM image is uncompressed; if this is not the case, raises an assertion.
This does *not* affect keep_ram_image.

prepare
void Texture::prepare(PreparedGraphicsObjects *prepared_objects);

Description: Indicates that the texture should be enqueued to be prepared in the indicated prepared_objects at the beginning of the next frame. This will ensure the texture is already loaded into texture memory if it is expected to be rendered soon.
Use this function instead of prepare_now() to preload textures from a user interface standpoint.

prepareNow
TextureContext *Texture::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg);

Description: Creates a context for the texture on the particular GSG, if it does not already exist. Returns the new (or old) TextureContext. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new textures. If this is not necessarily the case, you should use prepare() instead.
Normally, this is not called directly except by the GraphicsStateGuardian; a texture does not need to be explicitly prepared by the user before it may be rendered.

read
bool Texture::read(Filename const &fullpath);

Description: Reads the named filename into the texture.
Description: Combine a 3-component image with a grayscale image to get a 4-component image.
See the description of the full-parameter read() method for the meaning of the primary_file_num_channels and alpha_file_channel parameters.
Description: Reads a single file into a single page or mipmap level, or automatically reads a series of files into a series of pages and/or mipmap levels.
See the description of the full-parameter read() method for the meaning of the various parameters.
Description: Reads the texture from the indicated filename. If primary_file_num_channels is not 0, it specifies the number of components to downgrade the image to if it is greater than this number.
If the filename has the extension .txo, this implicitly reads a texture object instead of a filename (which replaces all of the texture properties). In this case, all the rest of the parameters are ignored, and the filename should not contain any hash marks; just the one named file will be read, since a single .txo file can contain all pages and mipmaps necessary to define a texture.
If alpha_fullpath is not empty, it specifies the name of a file from which to retrieve the alpha. In this case, alpha_file_channel represents the numeric channel of this image file to use as the resulting texture's alpha channel; usually, this is 0 to indicate the grayscale combination of r, g, b; or it may be a one-based channel number, e.g. 1 for the red channel, 2 for the green channel, and so on.
If read pages is false, then z indicates the page number into which this image will be assigned. Normally this is 0 for the first (or only) page of the texture. 3-D textures have one page for each level of depth, and cube map textures always have six pages.
If read_pages is true, multiple images will be read at once, one for each page of a cube map or a 3-D texture. In this case, the filename should contain a sequence of one or more hash marks ("#") which will be filled in with the z value of each page, zero-based. In this case, the z parameter indicates the maximum z value that will be loaded, or 0 to load all filenames that exist.
If read_mipmaps is false, then n indicates the mipmap level to which this image will be assigned. Normally this is 0 for the base texture image, but it is possible to load custom mipmap levels into the later images. After the base texture image is loaded (thus defining the size of the texture), you can call get_expected_num_mipmap_levels() to determine the maximum sensible value for n.
If read_mipmaps is true, multiple images will be read as above, but this time the images represent the different mipmap levels of the texture image. In this case, the n parameter indicates the maximum n value that will be loaded, or 0 to load all filenames that exist (up to the expected number of mipmap levels).
If both read_pages and read_mipmaps is true, then both sequences will be read; the filename should contain two sequences of hash marks, separated by some character such as a hyphen, underscore, or dot. The first hash mark sequence will be filled in with the mipmap level, while the second hash mark sequence will be the page index.
This method implicitly sets keep_ram_image to false.

readTxo
bool Texture::read_txo(istream &in, string const &filename = ("stream"));

Description: Reads the texture from a Panda texture object. This defines the complete Texture specification, including the image data as well as all texture properties.
The filename is just for reference.

release
bool Texture::release(PreparedGraphicsObjects *prepared_objects);

Description: Frees the texture context only on the indicated object, if it exists there. Returns true if it was released, false if it had not been prepared.

releaseAll
int Texture::release_all(void);

Description: Frees the context allocated on all objects for which the texture has been declared. Returns the number of contexts which have been freed.

reload
bool Texture::reload(void);

Description: Re-reads the Texture from its disk file. Useful when you know the image on disk has recently changed, and you want to update the Texture image.
Returns true on success, false on failure (in which case, the Texture may or may not still be valid).

setAlphaFilename
void Texture::set_alpha_filename(Filename const &alpha_filename);

Description: Sets the name of the file that contains the image's alpha channel contents. Normally, this is set automatically when the image is loaded, for instance via Texture::read().
The Texture's get_filename() function returns the name of the image file that was loaded into the buffer. In the case where a texture specified two separate files to load, a 1- or 3-channel color image and a 1-channel alpha image, this Filename is update to contain the name of the image file that was loaded into the buffer's alpha channel.

setAlphaFullpath
void Texture::set_alpha_fullpath(Filename const &alpha_fullpath);

Description: Sets the full pathname to the file that contains the image's alpha channel contents, as found along the search path. Normally, this is set automatically when the image is loaded, for instance via
Texture::read().

setAnisotropicDegree
void Texture::set_anisotropic_degree(int anisotropic_degree);

Description: Specifies the level of anisotropic filtering to apply to the texture. Normally, this is 1, to indicate anisotropic filtering is disabled. This may be set to a number higher than one to enable anisotropic filtering, if the rendering backend supports this.

setAuxData
void Texture::set_aux_data(string const &key, TypedReferenceCount *aux_data);

Description: Records an arbitrary object in the Texture, associated with a specified key. The object may later be retrieved by calling get_aux_data() with the same key.
These data objects are not recorded to a bam or txo file.

setBorderColor
void Texture::set_border_color(LVecBase4f const &color);

Description: Specifies the solid color of the texture's border. Some OpenGL implementations use a border for tiling textures; in Panda, it is only used for specifying the clamp color.

setComponentType
void Texture::set_component_type(Texture::ComponentType component_type);

Description: Changes the data value for the texture components. This implicitly sets component_width as well.

setCompression
void Texture::set_compression(Texture::CompressionMode compression);

Description: Requests that this particular Texture be compressed when it is loaded into texture memory.
This refers to the internal compression of the texture image within texture memory; it is not related to jpeg or png compression, which are disk file compression formats. The actual disk file that generated this texture may be stored in a compressed or uncompressed format supported by Panda; it will be decompressed on load, and then recompressed by the graphics API if this parameter is not CM_off.
If the GSG does not support this texture compression mode, the texture will silently be loaded uncompressed.

setFilename
void Texture::set_filename(Filename const &filename);

These are published, but in general, you shouldn't be mucking with these values; they are set automatically when a texture is loaded.
Description: Sets the name of the file that contains the image's contents. Normally, this is set automatically when the image is loaded, for instance via
Texture::read().
The Texture's get_name() function used to return the filename, but now returns just the basename (without the extension), which is a more useful name for identifying an image in show code.

setFormat
void Texture::set_format(Texture::Format format);

Description: Changes the format value for the texture components. This implicitly sets num_components as well.

setFullpath
void Texture::set_fullpath(Filename const &fullpath);

Description: Sets the full pathname to the file that contains the image's contents, as found along the search path. Normally, this is set automatically when the image is loaded, for instance via Texture::read().

setKeepRamImage
void Texture::set_keep_ram_image(bool keep_ram_image);

Description: Sets the flag that indicates whether this Texture is eligible to have its main RAM copy of the texture memory dumped when the texture is prepared for rendering.
This will be true for most textures, which can reload their images if needed by rereading the input file. However, textures that were generated dynamically and cannot be easily reloaded will want to set this flag to true, so that the texture will always keep its image copy around.

setLoadedFromImage
void Texture::set_loaded_from_image(void);

Description: Sets the flag that indicates the texture has been loaded from a disk file or PNMImage. You should also ensure the filename has been set correctly. When this flag is true, the texture may be automatically reloaded when its ram image needs to be replaced.

setLoadedFromTxo
void Texture::set_loaded_from_txo(void);

Description: Sets the flag that indicates the texture has been loaded from a txo file. You probably shouldn't be setting this directly; it is set automatically when a Texture is loaded.

setMagfilter
void Texture::set_magfilter(Texture::FilterType filter);

Description:

setMatchFramebufferFormat
void Texture::set_match_framebuffer_format(bool flag);

Description: Sets the special flag that, if true, indicates to the GSG that the Texture's format should be chosen to exactly match the framebuffer's format, presumably because the application intends to copy image data from the framebuffer into the Texture (or vice-versa).
This sets only the graphics card's idea of the texture format; it is not related to the system-memory format.

setMinfilter
void Texture::set_minfilter(Texture::FilterType filter);

Description:

setPadSize
void Texture::set_pad_size(int x = (0), int y = (0), int z = (0));

Description: Sets the size of the pad region.
Sometimes, when a video card demands power-of-two textures, it is necessary to create a big texture and then only use a portion of it. The pad region indicates which portion of the texture is not really in use. All operations use the texture as a whole, including the pad region, unless they explicitly state that they use only the non-pad region.
Changing the texture's size clears the pad region.

setQualityLevel
void Texture::set_quality_level(Texture::QualityLevel quality_level);

Description: Sets a hint to the renderer about the desired performance / quality tradeoff for this particular texture. This is most useful for the tinydisplay software renderer; for normal, hardware-accelerated renderers, this may have little or no effect.

setRamImage
void Texture::set_ram_image(PointerToArray< unsigned char > image, Texture::CompressionMode compression = (CM_off), unsigned int page_size = (0));

Description: Replaces the current system-RAM image with the new data. If compression is not CM_off, it indicates that the new data is already pre-compressed in the indicated format.
This does *not* affect keep_ram_image.

setRamMipmapImage
void Texture::set_ram_mipmap_image(int n, PointerToArray< unsigned char > image, unsigned int page_size = (0));

Description: Replaces the current system-RAM image for the indicated mipmap level with the new data. If compression is not CM_off, it indicates that the new data is already pre-compressed in the indicated format.
This does *not* affect keep_ram_image.

setRenderToTexture
void Texture::set_render_to_texture(bool render_to_texture);

Description:

setSizePadded
void Texture::set_size_padded(int x = (1), int y = (1), int z = (1));

Description: Changes the size of the texture, padding if necessary, and setting the pad region as well.

setTexturesPower2
static void Texture::set_textures_power_2(AutoTextureScale scale);

Description: Set this flag to ATS_none, ATS_up, or ATS_down to control the scaling of textures.

setup1dTexture
void Texture::setup_1d_texture(void);

Description: Sets the texture as an empty 1-d texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 1-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setup2dTexture
void Texture::setup_2d_texture(void);

Description: Sets the texture as an empty 2-d texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 2-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setup3dTexture
void Texture::setup_3d_texture(int z_size = (1));

Description: Sets the texture as an empty 3-d texture with no dimensions (though if you know the depth ahead of time, it saves a bit of reallocation later). Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 3-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setupCubeMap
void Texture::setup_cube_map(void);

Description: Sets the texture as an empty cube map texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty cube map texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.
Note that a cube map should always consist of six square images, so x_size and y_size will be the same, and z_size is always 6.

setupTexture
void Texture::setup_texture(Texture::TextureType texture_type, int x_size, int y_size, int z_size, Texture::ComponentType component_type, Texture::Format format);

Description: Sets the texture to the indicated type and dimensions, presumably in preparation for calling read() or load(), or set_ram_image() or modify_ram_image().

setWrapU
void Texture::set_wrap_u(Texture::WrapMode wrap);

Description:

setWrapV
void Texture::set_wrap_v(Texture::WrapMode wrap);

Description:

setWrapW
void Texture::set_wrap_w(Texture::WrapMode wrap);

Description: The W wrap direction is only used for 3-d textures.

setXSize
void Texture::set_x_size(int x_size);

Description: Changes the x size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

setYSize
void Texture::set_y_size(int y_size);

Description: Changes the y size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

setZSize
void Texture::set_z_size(int z_size);

Description: Changes the z size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

store
bool Texture::store(PNMImage &pnmimage) const;

Description: Saves the texture to the indicated PNMImage, but does not write it to disk.
Description: Saves the indicated page and mipmap level of the texture to the PNMImage.

usesMipmaps
bool Texture::uses_mipmaps(void) const;

Description: Returns true if the minfilter settings on this texture indicate the use of mipmapping, false otherwise.

write
bool Texture::write(Filename const &fullpath);

Description: Writes the texture to the named filename.
Description: Writes a single page or mipmap level to a single file, or automatically writes a series of pages and/or mipmap levels to a numbered series of files.
If the filename ends in the extension .txo, this implicitly writes a Panda texture object (.txo) instead of an image file. In this case, the remaining parameters are ignored, and only one file is written, which will contain all of the pages and resident mipmap levels in the texture.
If write_pages is false, then z indicates the page number to write. 3-D textures have one page number for each level of depth; cube maps have six pages number 0 through 5. Other kinds of textures have only one page, numbered 0.
If write_pages is true, then all pages of the texture will be written. In this case z is ignored, and the filename should contain a sequence of hash marks ("#") which will be filled in with the page index number.
If write_mipmaps is false, then n indicates the mipmap level number to write. Normally, this is 0, for the base texture image. Normally, the mipmap levels of a texture are not available in RAM (they are generated automatically by the graphics card). However, if you have the mipmap levels available, for instance because you called generate_ram_mipmap_images() to generate them internally, or you called GraphicsEngine::extract_texture_data() to retrieve them from the graphics card, then you may write out each mipmap level with this parameter.
If write_mipmaps is true, then all mipmap levels of the texture will be written. In this case n is ignored, and the filename should contain a sequence of hash marks ("#") which will be filled in with the mipmap level number.
If both write_pages and write_mipmaps is true, then all pages and all mipmap levels will be written. In this case, the filename should contain two different sequences of hash marks, separated by a character such as a hyphen, underscore, or dot. The first hash mark sequence will be filled in with the mipmap level, while the second hash mark sequence will be the page index.
Description: Not to be confused with write(Filename), this method simply describes the texture properties.

writeTxo
bool Texture::write_txo(ostream &out, string const &filename = ("stream")) const;

Description: Writes the texture to a Panda texture object. This defines the complete Texture specification, including the image data as well as all texture properties.
The filename is just for reference.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


TextureAttrib

    from pandac.PandaModules import TextureAttrib
    Class : TextureAttrib
    Description : Indicates the set of TextureStages and their associated Textures that should be applied to (or removed from) a node.

Inheritance:

    TextureAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of TextureAttrib:

    addOffStage
    addOnStage
    findOnStage
    getClassType
    getFfTcIndex
    getNumOffStages
    getNumOnFfStages
    getNumOnStages
    getOffStage
    getOnFfStage
    getOnStage
    getOnTexture
    getTexture
    hasAllOff
    hasOffStage
    hasOnStage
    isIdentity
    isOff
    make
    makeAllOff
    makeOff
    removeOffStage
    removeOnStage
    unifyTextureStages

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
addOffStage
ConstPointerTo< RenderAttrib > TextureAttrib::add_off_stage(TextureStage *stage) const;

Description: Returns a new TextureAttrib, just like this one, but with the indicated stage added to the list of stages turned off by this attrib.

addOnStage
ConstPointerTo< RenderAttrib > TextureAttrib::add_on_stage(TextureStage *stage, Texture *tex) const;

Description: Returns a new TextureAttrib, just like this one, but with the indicated stage added to the list of stages turned on by this attrib.

findOnStage
int TextureAttrib::find_on_stage(TextureStage const *stage) const;

Description: Returns the index number of the indicated TextureStage within the list of on_stages, or -1 if the indicated stage is not listed.

getClassType
static TypeHandle TextureAttrib::get_class_type(void);

Undocumented function.

getFfTcIndex
int TextureAttrib::get_ff_tc_index(int n) const;

Description: For each TextureStage listed in get_on_ff_stage(), this returns a unique index number for the texture coordinate name used by that TextureStage. It is guaranteed to remain the same index number for each texcoord name, even if the texture render order changes.

getNumOffStages
int TextureAttrib::get_num_off_stages(void) const;

Description: Returns the number of stages that are turned off by the attribute.

getNumOnFfStages
int TextureAttrib::get_num_on_ff_stages(void) const;

Description: Returns the number of on-stages that are relevant to the classic fixed function pipeline. This excludes texture stages such as normal maps.

getNumOnStages
int TextureAttrib::get_num_on_stages(void) const;

Description: Returns the number of stages that are turned on by the attribute.

getOffStage
TextureStage *TextureAttrib::get_off_stage(int n) const;

Description: Returns the nth stage turned off by the attribute, sorted in arbitrary (pointer) order.

getOnFfStage
TextureStage *TextureAttrib::get_on_ff_stage(int n) const;

Description: Returns the nth stage turned on by the attribute, sorted in render order, including only those relevant to the classic fixed function pipeline. This excludes texture stages such as normal maps.

getOnStage
TextureStage *TextureAttrib::get_on_stage(int n) const;

Description: Returns the nth stage turned on by the attribute, sorted in render order.

getOnTexture
Texture *TextureAttrib::get_on_texture(TextureStage *stage) const;

Description: Returns the texture associated with the indicated stage, or NULL if no texture is associated.

getTexture
Texture *TextureAttrib::get_texture(void) const;

Description: If the TextureAttrib is not an 'off' TextureAttrib, returns the base-level texture that is associated. Otherwise, return NULL.

hasAllOff
bool TextureAttrib::has_all_off(void) const;

Description: Returns true if this attrib turns off all stages (although it may also turn some on).

hasOffStage
bool TextureAttrib::has_off_stage(TextureStage *stage) const;

Description: Returns true if the indicated stage is turned off by the attrib, false otherwise.

hasOnStage
bool TextureAttrib::has_on_stage(TextureStage *stage) const;

Description: Returns true if the indicated stage is turned on by the attrib, false otherwise.

isIdentity
bool TextureAttrib::is_identity(void) const;

Description: Returns true if this is an identity attrib: it does not change the set of stages in use.

isOff
bool TextureAttrib::is_off(void) const;

Description: Returns true if the TextureAttrib is an 'off' TextureAttrib, indicating that it should disable texturing.
If multitexture is in effect, a TextureAttrib may not be strictly "on" or "off"; therefore, to get a more precise answer to this question, you should consider using has_all_off() or get_num_off_stages() or has_off_stage() instead.

make
static ConstPointerTo< RenderAttrib > TextureAttrib::make(Texture *tex);

These methods are used to create a simple, single-textured layer. For multitexture, use the multitexture interfaces, further below.
The following methods define the new multitexture mode for TextureAttrib. Each TextureAttrib can add or remove individual texture stages from the complete set of textures that are to be applied; this is similar to the mechanism of LightAttrib.
Description: Constructs a new TextureAttrib object suitable for rendering the indicated texture onto geometry, using the default TextureStage.
Description: Constructs a new TextureAttrib object that does nothing.

makeAllOff
static ConstPointerTo< RenderAttrib > TextureAttrib::make_all_off(void);

The following methods define the new multitexture mode for TextureAttrib. Each TextureAttrib can add or remove individual texture stages from the complete set of textures that are to be applied; this is similar to the mechanism of LightAttrib.
Description: Constructs a new TextureAttrib object that turns off all stages (and hence disables texturing).

makeOff
static ConstPointerTo< RenderAttrib > TextureAttrib::make_off(void);

These methods are used to create a simple, single-textured layer. For multitexture, use the multitexture interfaces, further below.
Description: Constructs a new TextureAttrib object suitable for rendering untextured geometry.

removeOffStage
ConstPointerTo< RenderAttrib > TextureAttrib::remove_off_stage(TextureStage *stage) const;

Description: Returns a new TextureAttrib, just like this one, but with the indicated stage removed from the list of stages turned off by this attrib.

removeOnStage
ConstPointerTo< RenderAttrib > TextureAttrib::remove_on_stage(TextureStage *stage) const;

Description: Returns a new TextureAttrib, just like this one, but with the indicated stage removed from the list of stages turned on by this attrib.

unifyTextureStages
ConstPointerTo< RenderAttrib > TextureAttrib::unify_texture_stages(TextureStage *stage) const;

Description: Returns a new TextureAttrib, just like this one, but with any included TextureAttribs that happen to have the same name as the given object replaced with the object.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


TextureCollection

    from pandac.PandaModules import TextureCollection
    Class : TextureCollection
    Description :

Inheritance:

    TextureCollection:

Methods of TextureCollection:

    TextureCollection (Constructor)
    addTexture
    addTexturesFrom
    clear
    findTexture
    getNumTextures
    getTexture
    hasTexture
    operator =
    operator []
    output
    removeDuplicateTextures
    removeTexture
    removeTexturesFrom
    write
TextureCollection
TextureCollection::TextureCollection(void);

Description:

addTexture
void TextureCollection::add_texture(Texture *node_texture);

Description: Adds a new Texture to the collection.

addTexturesFrom
void TextureCollection::add_textures_from(TextureCollection const &other);

Description: Adds all the Textures indicated in the other collection to this texture. The other textures are simply appended to the end of the textures in this list; duplicates are not automatically removed.

clear
void TextureCollection::clear(void);

Description: Removes all Textures from the collection.

findTexture
Texture *TextureCollection::find_texture(string const &name) const;

Description: Returns the texture in the collection with the indicated name, if any, or NULL if no texture has that name.

getNumTextures
int TextureCollection::get_num_textures(void) const;

Description: Returns the number of Textures in the collection.

getTexture
Texture *TextureCollection::get_texture(int index) const;

Description: Returns the nth Texture in the collection.

hasTexture
bool TextureCollection::has_texture(Texture *texture) const;

Description: Returns true if the indicated Texture appears in this collection, false otherwise.

operator =
void TextureCollection::operator =(TextureCollection const &copy);

Description:

operator []
Texture *TextureCollection::operator [](int index) const;

Description: Returns the nth Texture in the collection. This is the same as get_texture(), but it may be a more convenient way to access it.

output
void TextureCollection::output(ostream &out) const;

Description: Writes a brief one-line description of the TextureCollection to the indicated output stream.

removeDuplicateTextures
void TextureCollection::remove_duplicate_textures(void);

Description: Removes any duplicate entries of the same Textures on this collection. If a Texture appears multiple times, the first appearance is retained; subsequent appearances are removed.

removeTexture
bool TextureCollection::remove_texture(Texture *node_texture);

Description: Removes the indicated Texture from the collection. Returns true if the texture was removed, false if it was not a member of the collection.

removeTexturesFrom
void TextureCollection::remove_textures_from(TextureCollection const &other);

Description: Removes from this collection all of the Textures listed in the other collection.

write
void TextureCollection::write(ostream &out, int indent_level = (0)) const;

Description: Writes a complete multi-line description of the TextureCollection to the indicated output stream.


TextureContext

    from pandac.PandaModules import TextureContext
    Class : TextureContext
    Description : This is a special class object that holds all the information returned by a particular GSG to indicate the texture's internal context identifier.
    Textures typically have an immediate-mode and a retained-mode operation. When using textures in retained-mode (in response to Texture::prepare()), the GSG will create some internal handle for the texture and store it here. The texture stores all of these handles internally.

Inheritance:

    TextureContext: BufferContext
    BufferContext: SavedContext
    SavedContext: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of TextureContext:

    getClassType
    getTexture
    wasImageModified
    wasModified
    wasPropertiesModified

Methods of BufferContext:

    getClassType
    getDataSizeBytes
    getModified

Methods of SavedContext:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
getClassType
static TypeHandle TextureContext::get_class_type(void);

Undocumented function.

getTexture
Texture *TextureContext::get_texture(void) const;

Description: Returns the pointer to the associated Texture object.

wasImageModified
bool TextureContext::was_image_modified(void) const;

Description: Returns true if the texture image has been modified since the last time mark_loaded() was called.

wasModified
bool TextureContext::was_modified(void) const;

Description: Returns true if the texture properties or image have been modified since the last time mark_loaded() was called.

wasPropertiesModified
bool TextureContext::was_properties_modified(void) const;

Description: Returns true if the texture properties (unrelated to the image) have been modified since the last time mark_loaded() was called.

getClassType
static TypeHandle BufferContext::get_class_type(void);

Undocumented function.

getDataSizeBytes
unsigned int BufferContext::get_data_size_bytes(void) const;

Description: Returns the number of bytes previously reported for the data object. This is used to track changes in the data object's allocated size; if it changes from this, we need to create a new buffer. This is also used to track memory utilization in PStats.

getModified
UpdateSeq BufferContext::get_modified(void) const;

Description: Returns the UpdateSeq that was recorded the last time mark_loaded() was called.

getClassType
static TypeHandle SavedContext::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


TexturePool

    from pandac.PandaModules import TexturePool
    Class : TexturePool
    Description : This is the preferred interface for loading textures from image files. It unifies all references to the same filename, so that multiple models that reference the same textures don't waste texture memory unnecessarily.

Inheritance:

    TexturePool:

Methods of TexturePool:

    addTexture
    clearFakeTextureImage
    garbageCollect
    getAlphaScaleMap
    getFakeTextureImage
    getNormalizationCubeMap
    hasFakeTextureImage
    hasTexture
    listContents
    load3dTexture
    loadCubeMap
    loadTexture
    releaseAllTextures
    releaseTexture
    setFakeTextureImage
    verifyTexture
    write
addTexture
static void TexturePool::add_texture(Texture *texture);

Description: Adds the indicated already-loaded texture to the pool. The texture must have a filename set for its name. The texture will always replace any previously-loaded texture in the pool that had the same filename.

clearFakeTextureImage
static void TexturePool::clear_fake_texture_image(void);

Description: Restores normal behavior of loading the textures actually requested.

garbageCollect
static int TexturePool::garbage_collect(void);

Description: Releases only those textures in the pool that have a reference count of exactly 1; i.e. only those textures that are not being used outside of the pool. Returns the number of textures released.

getAlphaScaleMap
static Texture *TexturePool::get_alpha_scale_map(void);

Description: Returns a standard Texture object that has been created with Texture::generate_alpha_scale_map().
This Texture object is used internally by Panda to apply an alpha scale to an object (instead of munging its vertices) when gsg->get_alpha_scale_via_texture() returns true.

getFakeTextureImage
static string const &TexturePool::get_fake_texture_image(void);

Description: Returns the filename that was specified with a previous call to set_fake_texture_image().

getNormalizationCubeMap
static Texture *TexturePool::get_normalization_cube_map(int size);

Description: Returns a standard Texture object that has been created with
Texture::generate_normalization_cube_map(). This Texture may be shared by any application code requiring a normalization cube map. It will be at least as large as the specified size, though it may be larger.

hasFakeTextureImage
static bool TexturePool::has_fake_texture_image(void);

Description: Returns true if fake_texture_image mode has been enabled, false if we are in the normal mode.

hasTexture
static bool TexturePool::has_texture(string const &filename);

These functions take string parameters instead of Filenames because that's somewhat more convenient to the scripting language.
Filename: texturePool.I Created by: drose (26Apr00)
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."
Description: Returns true if the texture has ever been loaded, false otherwise.

listContents
static void TexturePool::list_contents(ostream &out);

Description: Lists the contents of the texture pool to the indicated output stream.
Description: Lists the contents of the texture pool to cout

load3dTexture
static Texture *TexturePool::load_3d_texture(string const &filename_pattern, bool read_mipmaps = (0));

Description: Loads a 3-D texture that is specified with a series of n pages, all numbered in sequence, and beginning with index 0. The filename should include a sequence of one or more hash characters ("#") which will be filled in with the index number of each level.
If read_mipmaps is true, the filename should contain an additional hash mark. The first hash mark will be filled in with the mipmap level number, and the second with the index number of each 3-d level.

loadCubeMap
static Texture *TexturePool::load_cube_map(string const &filename_pattern, bool read_mipmaps = (0));

Description: Loads a cube map texture that is specified with a series of 6 pages, numbered 0 through 5. The filename should include a sequence of one or more hash characters ("#") which will be filled in with the index number of each pagee.
If read_mipmaps is true, the filename should contain an additional hash mark. The first hash mark will be filled in with the mipmap level number, and the second with the face number, 0 through 5.

loadTexture
static Texture *TexturePool::load_texture(string const &filename, int primary_file_num_channels = (0), bool read_mipmaps = (0));

Description: Loads the given filename up into a texture, if it has not already been loaded, and returns the new texture. If a texture with the same filename was previously loaded, returns that one instead. If the texture file cannot be found, returns NULL.
If read_mipmaps is true, the filename should contain a hash mark ('#'), which will be filled in with the mipmap level number; and the texture will be defined with a series of images, one for each mipmap level.
If read_mipmaps is true, both filenames should contain a hash mark ('#'), which will be filled in with the mipmap level number; and the texture will be defined with a series of images, two for each mipmap level.

releaseAllTextures
static void TexturePool::release_all_textures(void);

Description: Releases all textures in the pool and restores the pool to the empty state.

releaseTexture
static void TexturePool::release_texture(Texture *texture);

Description: Removes the indicated texture from the pool, indicating it will never be loaded again; the texture may then be freed. If this function is never called, a reference count will be maintained on every texture every loaded, and textures will never be freed.
The texture's name should not have been changed during its lifetime, or this function may fail to locate it in the pool.

setFakeTextureImage
static void TexturePool::set_fake_texture_image(string const &filename);

Description: Sets a bogus filename that will be loaded in lieu of any textures requested from this point on.

verifyTexture
static bool TexturePool::verify_texture(string const &filename);

These functions take string parameters instead of Filenames because that's somewhat more convenient to the scripting language.
Description: Loads the given filename up into a texture, if it has not already been loaded, and returns true to indicate success, or false to indicate failure. If this returns true, it is guaranteed that a subsequent call to load_texture() with the same texture name will return a valid Texture pointer.

write
static void TexturePool::write(ostream &out);

Description: Lists the contents of the texture pool to the indicated output stream. For debugging.


TextureStage

    from pandac.PandaModules import TextureStage
    Class : TextureStage
    Description : Defines the properties of a named stage of the multitexture pipeline. The TextureAttrib will associated a number of these stages with Texture objects, and the GSG will render geometry by sorting all of the currently active TextureStages in order and then issuing the appropriate rendering calls to activate them.

Inheritance:

    TextureStage: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of TextureStage:

    TextureStage (Constructor)
    getAlphaScale
    getClassType
    getColor
    getCombineAlphaMode
    getCombineAlphaOperand0
    getCombineAlphaOperand1
    getCombineAlphaOperand2
    getCombineAlphaSource0
    getCombineAlphaSource1
    getCombineAlphaSource2
    getCombineRgbMode
    getCombineRgbOperand0
    getCombineRgbOperand1
    getCombineRgbOperand2
    getCombineRgbSource0
    getCombineRgbSource1
    getCombineRgbSource2
    getDefault
    getMode
    getName
    getNumCombineAlphaOperands
    getNumCombineRgbOperands
    getPriority
    getRgbScale
    getSavedResult
    getSort
    getTexcoordName
    involvesColorScale
    isFixedFunction
    operator <
    operator =
    output
    setAlphaScale
    setColor
    setCombineAlpha
    setCombineRgb
    setMode
    setName
    setPriority
    setRgbScale
    setSavedResult
    setSort
    setTexcoordName
    usesColor
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in TextureStage:

    MModulate | (Mode)
MDecal | (Mode)
MBlend | (Mode)
MReplace | (Mode)
MAdd | (Mode)
MCombine | (Mode)
MBlendColorScale | (Mode)
MModulateGlow | (Mode)
MModulateGloss | (Mode)
MNormal | (Mode)
MNormalHeight | (Mode)
MGlow | (Mode)
MGloss | (Mode)
MHeight | (Mode)
MSelector | (Mode)
CMUndefined | (CombineMode)
CMReplace | (CombineMode)
CMModulate | (CombineMode)
CMAdd | (CombineMode)
CMAddSigned | (CombineMode)
CMInterpolate | (CombineMode)
CMSubtract | (CombineMode)
CMDot3Rgb | (CombineMode)
CMDot3Rgba | (CombineMode)
CSUndefined | (CombineSource)
CSTexture | (CombineSource)
CSConstant | (CombineSource)
CSPrimaryColor | (CombineSource)
CSPrevious | (CombineSource)
CSConstantColorScale | (CombineSource)
CSLastSavedResult | (CombineSource)
COUndefined | (CombineOperand)
COSrcColor | (CombineOperand)
COOneMinusSrcColor | (CombineOperand)
COSrcAlpha | (CombineOperand)
COOneMinusSrcAlpha | (CombineOperand)
TextureStage
TextureStage::TextureStage(string const &name);

Description: Initialize the texture stage from other
Description: Initialize the texture stage at construction

getAlphaScale
int TextureStage::get_alpha_scale(void) const;

Description: See set_alpha_scale().

getClassType
static TypeHandle TextureStage::get_class_type(void);

Undocumented function.

getColor
LVecBase4f TextureStage::get_color(void) const;

Description: return the color for this stage

getCombineAlphaMode
TextureStage::CombineMode TextureStage::get_combine_alpha_mode(void) const;

Description: Get combine_alpha_mode

getCombineAlphaOperand0
TextureStage::CombineOperand TextureStage::get_combine_alpha_operand0(void) const;

Description: Get operand0 of combine_alpha_mode

getCombineAlphaOperand1
TextureStage::CombineOperand TextureStage::get_combine_alpha_operand1(void) const;

Description: Get operand1 of combine_alpha_mode

getCombineAlphaOperand2
TextureStage::CombineOperand TextureStage::get_combine_alpha_operand2(void) const;

Description: Get operand2 of combine_alpha_mode

getCombineAlphaSource0
TextureStage::CombineSource TextureStage::get_combine_alpha_source0(void) const;

Description: Get source0 of combine_alpha_mode

getCombineAlphaSource1
TextureStage::CombineSource TextureStage::get_combine_alpha_source1(void) const;

Description: Get source1 of combine_alpha_mode

getCombineAlphaSource2
TextureStage::CombineSource TextureStage::get_combine_alpha_source2(void) const;

Description: Get source2 of combine_alpha_mode

getCombineRgbMode
TextureStage::CombineMode TextureStage::get_combine_rgb_mode(void) const;

Description: Get the combine_rgb_mode

getCombineRgbOperand0
TextureStage::CombineOperand TextureStage::get_combine_rgb_operand0(void) const;

Description: Get operand0 of combine_rgb_mode

getCombineRgbOperand1
TextureStage::CombineOperand TextureStage::get_combine_rgb_operand1(void) const;

Description: Get operand1 of combine_rgb_mode

getCombineRgbOperand2
TextureStage::CombineOperand TextureStage::get_combine_rgb_operand2(void) const;

Description: Get operand2 of combine_rgb_mode

getCombineRgbSource0
TextureStage::CombineSource TextureStage::get_combine_rgb_source0(void) const;

Description: Get source0 of combine_rgb_mode

getCombineRgbSource1
TextureStage::CombineSource TextureStage::get_combine_rgb_source1(void) const;

Description: Get source1 of combine_rgb_mode

getCombineRgbSource2
TextureStage::CombineSource TextureStage::get_combine_rgb_source2(void) const;

Description: Get source2 of combine_rgb_mode

getDefault
static TextureStage *TextureStage::get_default(void);

Description: Returns the default TextureStage that will be used for all texturing that does not name a particular stage. This generally handles the normal single-texture case.

getMode
TextureStage::Mode TextureStage::get_mode(void) const;

Description: Return the mode of this stage

getName
string const &TextureStage::get_name(void) const;

Description: Returns the name of this texture stage

getNumCombineAlphaOperands
int TextureStage::get_num_combine_alpha_operands(void) const;

Description: Returns the number of meaningful operands that may be retrieved via get_combine_alpha_sourceN() and get_combine_alpha_operandN().

getNumCombineRgbOperands
int TextureStage::get_num_combine_rgb_operands(void) const;

Description: Returns the number of meaningful operands that may be retrieved via get_combine_rgb_sourceN() and get_combine_rgb_operandN().

getPriority
int TextureStage::get_priority(void) const;

Description: Returns the priority associated with this stage.
This is specially helpful for cards that do not support more than n stages of multi-texturing.

getRgbScale
int TextureStage::get_rgb_scale(void) const;

Description: See set_rgb_scale().

getSavedResult
bool TextureStage::get_saved_result(void) const;

Description: Returns the current setting of the saved_result flag. See set_saved_result().

getSort
int TextureStage::get_sort(void) const;

Description: Returns the sort order of this texture stage.

getTexcoordName
InternalName *TextureStage::get_texcoord_name(void) const;

Description: Returns the InternalName

involvesColorScale
bool TextureStage::involves_color_scale(void) const;

Description: Returns true if the TextureStage is affected by the setting of the current ColorScaleAttrib, false otherwise.

isFixedFunction
bool TextureStage::is_fixed_function(void) const;

Description: Returns true if the TextureStage is relevant to the classic fixed function pipeline. This excludes texture stages such as normal mapping and the like.

operator <
bool TextureStage::operator <(TextureStage const &other) const;

Description: Compare if the sort order is lower

operator =
void TextureStage::operator =(TextureStage const &copy);

Description: just copy the members of other to this

output
void TextureStage::output(ostream &out) const;

Description: Just a single line output

setAlphaScale
void TextureStage::set_alpha_scale(int alpha_scale);

Description: Sets an additional factor that will scale the alpha component after the texture has been applied. This is used only when the mode is CM_combine.
The only legal values are 1, 2, or 4.

setColor
void TextureStage::set_color(LVecBase4f const &color);

Description: Set the color for this stage

setCombineAlpha
void TextureStage::set_combine_alpha(TextureStage::CombineMode mode, TextureStage::CombineSource source0, TextureStage::CombineOperand operand0);

Description: Specifies any of the CombineMode values that represent a one-parameter operation. Specifically, this is CM_replace only.
Description: Specifies any of the CombineMode values that represent a two-parameter operation. Specifically, this is everything except for CM_replace and CM_interpolate.
Description: Specifies any of the CombineMode values that represent a one-parameter operation. Specifically, this is CM_interpolate only.

setCombineRgb
void TextureStage::set_combine_rgb(TextureStage::CombineMode mode, TextureStage::CombineSource source0, TextureStage::CombineOperand operand0);

Description: Specifies any of the CombineMode values that represent a one-parameter operation. Specifically, this is CM_replace only.
Description: Specifies any of the CombineMode values that represent a two-parameter operation. Specifically, this is everything except for CM_replace and CM_interpolate.
Description: Specifies any of the CombineMode values that represent a one-parameter operation. Specifically, this is CM_interpolate only.

setMode
void TextureStage::set_mode(TextureStage::Mode mode);

Description: Set the mode of this texture stage

setName
void TextureStage::set_name(string const &name);

Description: Changes the name of this texture stage

setPriority
void TextureStage::set_priority(int priority);

Description: Changes the relative importance of the texture associated with this stage relative to the other texture stages that are applied simultaneously.
This is unrelated to set_sort(), which controls the order in which multiple textures are applied. The priority number is used to decide which of the requested textures are to be selected for rendering when more textures are requested than the hardware will support. The highest-priority n textures are selected for rendering, and then rendered in order by their sort factor.

setRgbScale
void TextureStage::set_rgb_scale(int rgb_scale);

Description: Sets an additional factor that will scale all three r, g, b components after the texture has been applied. This is used only when the mode is CM_combine.
The only legal values are 1, 2, or 4.

setSavedResult
void TextureStage::set_saved_result(bool saved_result);

Description: Sets the saved_result flag. When this is true, the output of this stage will be supplied as the "last_saved_result" source for any future stages, until the next TextureStage with a saved_result set true is encountered.
This can be used to reuse the results of this texture stage as input to more than one stage later in the pipeline.
The last texture in the pipeline (the one with the highest sort value) should not have this flag set.

setSort
void TextureStage::set_sort(int sort);

Description: Changes the order in which the texture associated with this stage is rendered relative to the other texture stages. When geometry is rendered with multiple textures, the textures are rendered in order from the lowest sort number to the highest sort number.
Also see set_priority(), which is used to select the most important textures for rendering when some must be omitted because of hardware limitations.

setTexcoordName
void TextureStage::set_texcoord_name(InternalName *name);

Description: Indicate which set of UV's this texture stage will use. Geometry may have any number of associated UV sets, each of which must have a unique name.

usesColor
bool TextureStage::uses_color(void) const;

Description: Returns true if the TextureStage makes use of whatever color is specified in set_color(), false otherwise.

write
void TextureStage::write(ostream &out) const;

Description: Writes the details of this stage

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


TextureStageCollection

    from pandac.PandaModules import TextureStageCollection
    Class : TextureStageCollection
    Description :

Inheritance:

    TextureStageCollection:

Methods of TextureStageCollection:

    TextureStageCollection (Constructor)
    addTextureStage
    addTextureStagesFrom
    clear
    findTextureStage
    getNumTextureStages
    getTextureStage
    hasTextureStage
    operator =
    operator []
    output
    removeDuplicateTextureStages
    removeTextureStage
    removeTextureStagesFrom
    sort
    write
TextureStageCollection
TextureStageCollection::TextureStageCollection(void);

Description:

addTextureStage
void TextureStageCollection::add_texture_stage(TextureStage *node_texture_stage);

Description: Adds a new TextureStage to the collection.

addTextureStagesFrom
void TextureStageCollection::add_texture_stages_from(TextureStageCollection const &other);

Description: Adds all the TextureStages indicated in the other collection to this texture_stage. The other texture_stages are simply appended to the end of the texture_stages in this list; duplicates are not automatically removed.

clear
void TextureStageCollection::clear(void);

Description: Removes all TextureStages from the collection.

findTextureStage
TextureStage *TextureStageCollection::find_texture_stage(string const &name) const;

Description: Returns the texture_stage in the collection with the indicated name, if any, or NULL if no texture_stage has that name.

getNumTextureStages
int TextureStageCollection::get_num_texture_stages(void) const;

Description: Returns the number of TextureStages in the collection.

getTextureStage
TextureStage *TextureStageCollection::get_texture_stage(int index) const;

Description: Returns the nth TextureStage in the collection.

hasTextureStage
bool TextureStageCollection::has_texture_stage(TextureStage *texture_stage) const;

Description: Returns true if the indicated TextureStage appears in this collection, false otherwise.

operator =
void TextureStageCollection::operator =(TextureStageCollection const &copy);

Description:

operator []
TextureStage *TextureStageCollection::operator [](int index) const;

Description: Returns the nth TextureStage in the collection. This is the same as get_texture_stage(), but it may be a more convenient way to access it.

output
void TextureStageCollection::output(ostream &out) const;

Description: Writes a brief one-line description of the TextureStageCollection to the indicated output stream.

removeDuplicateTextureStages
void TextureStageCollection::remove_duplicate_texture_stages(void);

Description: Removes any duplicate entries of the same TextureStages on this collection. If a TextureStage appears multiple times, the first appearance is retained; subsequent appearances are removed.

removeTextureStage
bool TextureStageCollection::remove_texture_stage(TextureStage *node_texture_stage);

Description: Removes the indicated TextureStage from the collection. Returns true if the texture_stage was removed, false if it was not a member of the collection.

removeTextureStagesFrom
void TextureStageCollection::remove_texture_stages_from(TextureStageCollection const &other);

Description: Removes from this collection all of the TextureStages listed in the other collection.

sort
void TextureStageCollection::sort(void);

Description: Sorts the TextureStages in this collection into order by TextureStage::sort(), from lowest to highest.

write
void TextureStageCollection::write(ostream &out, int indent_level = (0)) const;

Description: Writes a complete multi-line description of the TextureStageCollection to the indicated output stream.


Thread

    from pandac.PandaModules import Thread
    Class : Thread
    Description : A thread; that is, a lightweight process. This is an abstract base class; to use it, you must subclass from it and redefine thread_main().
    The thread itself will keep a reference count on the Thread object while it is running; when the thread returns from its root function, the Thread object will automatically be destructed if no other pointers are referencing it.

Inheritance:

    Thread: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of Thread:

    bindThread
    considerYield
    forceYield
    getClassType
    getCurrentPipelineStage
    getCurrentThread
    getExternalThread
    getMainThread
    getName
    getPipelineStage
    getPstatsIndex
    getSyncName
    isStarted
    isThreadingSupported
    isTrueThreads
    join
    output
    preempt
    prepareForExit
    setMinPipelineStage
    setPipelineStage
    sleep
    start
    writeStatus

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
bindThread
static PointerTo< Thread > Thread::bind_thread(string const &name, string const &sync_name);

Description: Returns a new Panda Thread object associated with the current thread (which has been created externally). This can be used to bind a unique Panda Thread object with an external thread, such as a new Python thread.
It is particularly useful to bind a Panda Thread object to an external thread for the purposes of PStats monitoring. Without this call, each external thread will be assigned the same global ExternalThread object, which means they will all appear in the same PStats graph.
It is the caller's responsibility to save the returned Thread pointer for the lifetime of the external thread. It is an error for the Thread pointer to destruct while the external thread is still in the system.
It is also an error to call this method from the main thread, or twice within a given thread, unless it is given the same name each time (in which case the same pointer will be returned each time).

considerYield
static void Thread::consider_yield(void);

Description: Possibly suspends the current thread for the rest of the current epoch, if it has run for enough this epoch. This is especially important for the simple thread implementation, which relies on cooperative yields like this.

forceYield
static void Thread::force_yield(void);

Description: Suspends the current thread for the rest of the current epoch.

getClassType
static TypeHandle Thread::get_class_type(void);

Undocumented function.

getCurrentPipelineStage
static int Thread::get_current_pipeline_stage(void);

Description: Returns the integer pipeline stage associated with the current thread. This is the same thing as get_current_thread()->get_pipeline_stage(), but it may be faster to retrieve in some contexts.

getCurrentThread
static Thread *Thread::get_current_thread(void);

Description: Returns a pointer to the currently-executing Thread object. If this is called from the main thread, this will return the same value as get_main_thread().
This will always return some valid Thread pointer. It will never return NULL, even if the current thread was spawned outside of Panda's threading system, although all non-Panda threads will return the exact same Thread pointer.

getExternalThread
static Thread *Thread::get_external_thread(void);

Description: Returns a pointer to the "external" Thread object--this is a special Thread object that corresponds to any thread spawned outside of Panda's threading interface. Note that multiple different threads may share this same pointer.

getMainThread
static Thread *Thread::get_main_thread(void);

Description: Returns a pointer to the "main" Thread object--this is the Thread that started the whole process.

getName
string const &Thread::get_name(void) const;

Description: Returns the name of the thread. Each thread should probably have a unique name, but this is not enforced (and not strictly required).

getPipelineStage
int Thread::get_pipeline_stage(void) const;

Description: Returns the Pipeline stage number associated with this thread. The default stage is 0 if no stage is specified otherwise. See set_pipeline_stage().

getPstatsIndex
int Thread::get_pstats_index(void) const;

Description: Returns the PStats index associated with this thread, or -1 if no index has yet been associated with this thread. This is used internally by the PStatClient; you should not need to call this directly.

getSyncName
string const &Thread::get_sync_name(void) const;

Description: Returns the sync name of the thread. This name collects threads into "sync groups", which are expected to run synchronously. This is mainly used for the benefit of PStats; threads with the same sync name can be ticked all at once via the thread_tick() call.

isStarted
bool Thread::is_started(void) const;

Description: Returns true if the thread has been started, false if it has not, or if join() has already been called.

isThreadingSupported
static bool Thread::is_threading_supported(void);

Description: Returns true if threading support has been compiled in and enabled, or false if no threading is available (and Thread::start() will always fail).

isTrueThreads
static bool Thread::is_true_threads(void);

Description: Returns true if a real threading library is available that supports actual OS-implemented threads, or false if the only threading we can provide is simulated user-space threading.

join
void Thread::join(void);

Description: Blocks the calling process until the thread terminates. If the thread has already terminated, this returns immediately.

output
virtual void Thread::output(ostream &out) const;

Description:

preempt
void Thread::preempt(void);

Description: Indicates that this thread should run as soon as possible, preemptying any other threads that may be scheduled to run. This may not be implemented on every platform.

prepareForExit
static void Thread::prepare_for_exit(void);

Description: Should be called by the main thread just before exiting the program, this blocks until any remaining thread cleanup has finished.

setMinPipelineStage
void Thread::set_min_pipeline_stage(int min_pipeline_stage);

Description: Sets this thread's pipeline stage number to at least the indicated value, unless it is already larger. See set_pipeline_stage().

setPipelineStage
void Thread::set_pipeline_stage(int pipeline_stage);

Description: Specifies the Pipeline stage number associated with this thread. The default stage is 0 if no stage is specified otherwise.
This must be a value in the range [0 .. pipeline->get_num_stages() - 1]. It specifies the values that this thread observes for all pipelined data. Typically, an application thread will leave this at 0, but a render thread may set it to 1 or 2 (to operate on the previous frame's data, or the second previous frame's data).

sleep
static void Thread::sleep(double seconds);

Description: Suspends the current thread for at least the indicated amount of time. It might be suspended for longer.

start
bool Thread::start(ThreadPriority priority, bool joinable);

Description: Starts the thread executing. It is only valid to call this once.
The thread will begin executing its thread_main() function, and will terminate when thread_main() returns.
priority is intended as a hint to the relative importance of this thread. This may be ignored by the thread implementation.
joinable should be set true if you intend to call join() to wait for the thread to terminate, or false if you don't care and you will never call join().
The return value is true if the thread is successfully started, false otherwise.

writeStatus
static void Thread::write_status(ostream &out);

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


ThreadPriority

    from pandac.PandaModules import ThreadPriority
    An enumerated type used by Thread to specify a suggested relative priority for a particular thread.

Inheritance:

    ThreadPriority:


ThreeUpShow

    from direct.showbase.ThreeUpShow import ThreeUpShow

Inheritance:

    ThreeUpShow:

Methods of ThreeUpShow:

    __init__
    makeCamera
__init__
def __init__(self)

Undocumented function.

makeCamera
def makeCamera(self, win, chan=None, layer=None, layerSort=0, scene=None, displayRegion=(0, 1, 0, 1), aspectRatio=None)

Undocumented function.


Timer

    from direct.task.Timer import Timer

Inheritance:

    Timer:

Methods of Timer:

    __init__
    __timerTask
    addT
    getT
    isStarted
    restart
    resume
    setT
    start
    startCallback
    stop
__init__
def __init__(self, name=None)

Undocumented function.

__timerTask
def __timerTask(self, task)

Undocumented function.

addT
def addT(self, t)

Undocumented function.

getT
def getT(self)

Undocumented function.

isStarted
def isStarted(self)

Undocumented function.

restart
def restart(self)

Undocumented function.

resume
def resume(self)

Undocumented function.

setT
def setT(self, t)

Undocumented function.

start
def start(self, t, name)

Undocumented function.

startCallback
def startCallback(self, t, callback)

Undocumented function.

stop
def stop(self)

Undocumented function.


TimeVal

    from pandac.PandaModules import TimeVal

Inheritance:

    TimeVal:

Methods of TimeVal:

    TimeVal (Constructor)
    getSec
    getUsec
TimeVal
TimeVal::TimeVal(void);

Description:

getSec
unsigned long int TimeVal::get_sec(void) const;

Description:

getUsec
unsigned long int TimeVal::get_usec(void) const;

Description:


ToonEyes

    from direct.fsm.SampleFSM import ToonEyes

Inheritance:

    ToonEyes:

Methods of ToonEyes:

    __init__
    __unblink
    defaultFilter
    enterClosed
    enterOff
    enterOpen
    enterSurprised
    filterClosed
    filterOpen
__init__
def __init__(self)

Undocumented function.

__unblink
def __unblink(self, task)

Undocumented function.

defaultFilter
def defaultFilter(self, request, args)

Undocumented function.

enterClosed
def enterClosed(self)

Undocumented function.

enterOff
def enterOff(self)

Undocumented function.

enterOpen
def enterOpen(self)

Undocumented function.

enterSurprised
def enterSurprised(self)

Undocumented function.

filterClosed
def filterClosed(self, request, args)

Undocumented function.

filterOpen
def filterOpen(self, request, args)

Undocumented function.


Track

    from direct.interval.MetaInterval import Track

Inheritance:

    Track:

Methods of Track:

    applyIvals
    validateComponent
applyIvals
def applyIvals(self, meta, relTime, relTo)

Undocumented function.

validateComponent
def validateComponent(self, tuple)

Undocumented function.


Trackball

    from pandac.PandaModules import Trackball
    Class : Trackball
    Description : Trackball acts like Performer in trackball mode. It can either spin around a piece of geometry directly, or it can spin around a camera with the inverse transform to make it appear that the whole world is spinning.
    The Trackball object actually just places a transform in the data graph; parent a Transform2SG node under it to actually transform objects (or cameras) in the world.

Inheritance:

    Trackball: MouseInterfaceNode
    MouseInterfaceNode: DataNode
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of Trackball:

    Trackball (Constructor)
    getClassType
    getCoordinateSystem
    getForwardScale
    getH
    getHpr
    getInvert
    getMat
    getOrigin
    getP
    getPos
    getR
    getRelTo
    getTransMat
    getX
    getY
    getZ
    moveOrigin
    reset
    resetOriginHere
    setCoordinateSystem
    setForwardScale
    setH
    setHpr
    setInvert
    setMat
    setOrigin
    setP
    setPos
    setR
    setRelTo
    setX
    setY
    setZ

Methods of MouseInterfaceNode:

    clearAllButtons
    clearButton
    getClassType
    requireButton

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
Trackball
Trackball::Trackball(string const &name);

Description:

getClassType
static TypeHandle Trackball::get_class_type(void);

Undocumented function.

getCoordinateSystem
CoordinateSystem Trackball::get_coordinate_system(void) const;

Description: Returns the coordinate system of the Trackball. See set_coordinate_system().

getForwardScale
float Trackball::get_forward_scale(void) const;

Description: Returns the scale factor applied to forward and backward motion. See set_forward_scale().

getH
float Trackball::get_h(void) const;

Undocumented function.

getHpr
LVecBase3f Trackball::get_hpr(void) const;

**** Rotation ****
Description: Return the trackball's orientation.

getInvert
bool Trackball::get_invert(void) const;

Description: Returns the invert flag. When this is set, the inverse matrix is generated, suitable for joining to a camera, instead of parenting the scene under it.

getMat
LMatrix4f const &Trackball::get_mat(void) const;

Description: Returns the matrix represented by the trackball rotation.

getOrigin
LPoint3f Trackball::get_origin(void) const;

Description: Returns the current center of rotation.

getP
float Trackball::get_p(void) const;

Undocumented function.

getPos
LPoint3f const &Trackball::get_pos(void) const;

**** Translation ****
Description: Return the offset from the center of rotation.

getR
float Trackball::get_r(void) const;

Undocumented function.

getRelTo
NodePath const &Trackball::get_rel_to(void) const;

Description: Returns the NodePath that all trackball manipulations are relative to, or the empty path.

getTransMat
LMatrix4f const &Trackball::get_trans_mat(void) const;

Description: Returns the actual transform that will be applied to the scene graph. This is the same as get_mat(), unless invert is in effect.

getX
float Trackball::get_x(void) const;

Undocumented function.

getY
float Trackball::get_y(void) const;

Undocumented function.

getZ
float Trackball::get_z(void) const;

Undocumented function.

moveOrigin
void Trackball::move_origin(float x, float y, float z);

Description: Moves the center of rotation by the given amount.

reset
void Trackball::reset(void);

Description: Reinitializes all transforms to identity.

resetOriginHere
void Trackball::reset_origin_here(void);

**** Origin of Rotation ****
Description: Reposition the center of rotation to coincide with the current translation offset. Future rotations will be about the current origin.

setCoordinateSystem
void Trackball::set_coordinate_system(CoordinateSystem cs);

Description: Sets the coordinate system of the Trackball. Normally, this is the default coordinate system. This changes the axes the Trackball manipulates so that the user interface remains consistent across different coordinate systems.

setForwardScale
void Trackball::set_forward_scale(float fwdscale);

Description: Changes the scale factor applied to forward and backward motion. The larger this number, the faster the model will move in response to dollying in and out.

setH
void Trackball::set_h(float h);

Undocumented function.

setHpr
void Trackball::set_hpr(LVecBase3f const &hpr);

Description: Directly set the mover's orientation.

setInvert
void Trackball::set_invert(bool flag);

**** Misc ****
Description: Sets the invert flag. When this is set, the inverse matrix is generated, suitable for joining to a camera, instead of parenting the scene under it.

setMat
void Trackball::set_mat(LMatrix4f const &mat);

Description: Stores the indicated transform in the trackball. This is a transform in global space, regardless of the rel_to node.

setOrigin
void Trackball::set_origin(LVecBase3f const &origin);

Description: Directly sets the center of rotation.

setP
void Trackball::set_p(float p);

Undocumented function.

setPos
void Trackball::set_pos(LVecBase3f const &vec);

Description: Directly set the offset from the rotational origin.

setR
void Trackball::set_r(float r);

Undocumented function.

setRelTo
void Trackball::set_rel_to(NodePath const &rel_to);

Description: Sets the NodePath that all trackball manipulations are to be assumed to be relative to. For instance, set your camera node here to make the trackball motion camera relative. The default is the empty path, which means trackball motion is in global space.

setX
void Trackball::set_x(float x);

Undocumented function.

setY
void Trackball::set_y(float y);

Undocumented function.

setZ
void Trackball::set_z(float z);

Undocumented function.

clearAllButtons
void MouseInterfaceNode::clear_all_buttons(void);

Description: Removes all requirements on buttons set by an earlier call to require_button().

clearButton
void MouseInterfaceNode::clear_button(ButtonHandle const &button);

Description: Removes any requirement on the indicated button set by an earlier call to require_button().

getClassType
static TypeHandle MouseInterfaceNode::get_class_type(void);

Undocumented function.

requireButton
void MouseInterfaceNode::require_button(ButtonHandle const &button, bool is_down);

Description: Indicates that the indicated button must be in the required state (either up or down) in order for this particular MouseInterfaceNode to do anything. For instance, this may be called to make a Trackball object respect mouse input only when the control key is held down.

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


TrackerNode

    from pandac.PandaModules import TrackerNode
    Class : TrackerNode
    Description : This is the primary interface to a Tracker object associated with a ClientBase. It reads the position and orientation information from the tracker and makes it available as a transformation on the data graph.

Inheritance:

    TrackerNode: DataNode
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of TrackerNode:

    TrackerNode (Constructor)
    getClassType
    getGraphCoordinateSystem
    getOrient
    getPos
    getTime
    getTrackerCoordinateSystem
    getTransform
    hasTime
    isValid
    setGraphCoordinateSystem
    setTrackerCoordinateSystem

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
TrackerNode
TrackerNode::TrackerNode(ClientBase *client, string const &device_name);

Description:

getClassType
static TypeHandle TrackerNode::get_class_type(void);

Undocumented function.

getGraphCoordinateSystem
CoordinateSystem TrackerNode::get_graph_coordinate_system(void) const;

Description: Returns the coordinate system that the TrackerNode will convert its transform into for passing down the data graph. Normally, this is CS_default.

getOrient
LOrientationf const &TrackerNode::get_orient(void) const;

Description: Returns the current orientation of the tracker, if it is available.

getPos
LPoint3f const &TrackerNode::get_pos(void) const;

Description: Returns the current position of the tracker, if it is available.

getTime
double TrackerNode::get_time(void) const;

Description: Returns the time of the tracker's last update.

getTrackerCoordinateSystem
CoordinateSystem TrackerNode::get_tracker_coordinate_system(void) const;

Description: Returns the coordinate system that the tracker associated with this node will operate in.

getTransform
LMatrix4f const &TrackerNode::get_transform(void) const;

Description: Returns the current position and orientation of the tracker, as a combined matrix.

hasTime
bool TrackerNode::has_time(void) const;

Description: True if this data comes with timestamps.

isValid
bool TrackerNode::is_valid(void) const;

Description: Returns true if the TrackerNode is valid and connected to a server, false otherwise.

setGraphCoordinateSystem
void TrackerNode::set_graph_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system that the TrackerNode will convert its transform into for passing down the data graph. Normally, this is CS_default.

setTrackerCoordinateSystem
void TrackerNode::set_tracker_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system that the tracker associated with this node will operate in. Normally, this is set from the ClientBase that's used to create the TrackerNode, so it should not need to be set on an individual tracker basis.

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Transform2SG

    from pandac.PandaModules import Transform2SG
    Class : Transform2SG
    Description : input: Transform (matrix)
    output: none, but applies the matrix as the transform transition for a given arc of the scene graph.

Inheritance:

    Transform2SG: DataNode
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of Transform2SG:

    Transform2SG (Constructor)
    getClassType
    getNode
    setNode

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
Transform2SG
Transform2SG::Transform2SG(string const &name);

Description:

getClassType
static TypeHandle Transform2SG::get_class_type(void);

Undocumented function.

getNode
PandaNode *Transform2SG::get_node(void) const;

Description: Returns the node that this object will adjust, or NULL if the node has not yet been set.

setNode
void Transform2SG::set_node(PandaNode *node);

Description: Sets the node that this object will adjust.

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


TransformBlend

    from pandac.PandaModules import TransformBlend
    Class : TransformBlend
    Description : This defines a single entry in a TransformBlendTable. It represents a unique combination of VertexTransform pointers and blend amounts.

Inheritance:

    TransformBlend:

Methods of TransformBlend:

    TransformBlend (Constructor)
    addTransform
    compareTo
    getBlend
    getClassType
    getModified
    getNumTransforms
    getTransform
    getWeight
    hasTransform
    normalizeWeights
    operator !=
    operator <
    operator =
    operator ==
    output
    removeTransform
    setTransform
    setWeight
    transformPoint
    transformVector
    updateBlend
    write
TransformBlend
TransformBlend::TransformBlend(void);

Description:

addTransform
void TransformBlend::add_transform(VertexTransform const *transform, float weight);

Description: Adds a new transform to the blend. If the transform already existed, increases its weight factor.

compareTo
int TransformBlend::compare_to(TransformBlend const &other) const;

Description: Defines an arbitrary ordering for TransformBlend objects.

getBlend
void TransformBlend::get_blend(LMatrix4f &result, Thread *current_thread) const;

Description: Returns the current value of the blend, based on the current value of all of the nested transform objects and their associated weights.
You should call update_blend() to ensure that the cache is up-to-date before calling this.

getClassType
static TypeHandle TransformBlend::get_class_type(void);

Undocumented function.

getModified
UpdateSeq TransformBlend::get_modified(Thread *current_thread) const;

Description: Returns a counter which is guaranteed to increment at least as often as the result of get_blend() changes.

getNumTransforms
int TransformBlend::get_num_transforms(void) const;

Description: Returns the number of transforms stored in the blend object.

getTransform
VertexTransform const *TransformBlend::get_transform(int n) const;

Description: Returns the nth transform stored in the blend object.

getWeight
float TransformBlend::get_weight(VertexTransform const *transform) const;

Description: Returns the weight associated with the nth transform stored in the blend object.
Description: Returns the weight associated with the indicated transform, or 0 if there is no entry for the transform.

hasTransform
bool TransformBlend::has_transform(VertexTransform const *transform) const;

Description: Returns true if the blend has the indicated transform, false otherwise.

normalizeWeights
void TransformBlend::normalize_weights(void);

Description: Rescales all of the weights on the various transforms so that they sum to 1.0. It is generally a good idea to call this after adding or removing transforms from the blend.

operator !=
bool TransformBlend::operator !=(TransformBlend const &other) const;

Description:

operator <
bool TransformBlend::operator <(TransformBlend const &other) const;

Description:

operator =
void TransformBlend::operator =(TransformBlend const &copy);

Description:

operator ==
bool TransformBlend::operator ==(TransformBlend const &other) const;

Description:

output
void TransformBlend::output(ostream &out) const;

Description:

removeTransform
void TransformBlend::remove_transform(VertexTransform const *transform);

Description: Removes the indicated transform to the blend.

setTransform
void TransformBlend::set_transform(int n, VertexTransform const *transform);

Description: Replaces the nth transform stored in the blend object.

setWeight
void TransformBlend::set_weight(int n, float weight);

Description: Replaces the weight associated with the nth transform stored in the blend object.

transformPoint
void TransformBlend::transform_point(LPoint4f &point, Thread *current_thread) const;

Description: Transforms the indicated point by the blend matrix.
You should call update_blend() to ensure that the cache is up-to-date before calling this.

transformVector
void TransformBlend::transform_vector(LVector3f &point, Thread *current_thread) const;

Description: Transforms the indicated vector by the blend matrix.
You should call update_blend() to ensure that the cache is up-to-date before calling this.

updateBlend
void TransformBlend::update_blend(Thread *current_thread) const;

Description: Recomputes the internal representation of the blend value, if necessary. You should call this before calling get_blend() or transform_point().

write
void TransformBlend::write(ostream &out, int indent_level) const;

Description:


TransformBlendTable

    from pandac.PandaModules import TransformBlendTable
    Class : TransformBlendTable
    Description : This structure collects together the different combinations of transforms and blend amounts used by a GeomVertexData, to facilitate computing dynamic vertices on the CPU at runtime. Each vertex has a pointer to exactly one of the entries in this table, and each entry defines a number of transform/blend combinations.
    This structure is used for a GeomVertexData set up to compute its dynamic vertices on the CPU. See TransformTable for one set up to compute its dynamic vertices on the graphics card.

Inheritance:

    TransformBlendTable: CopyOnWriteObject
    CopyOnWriteObject: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of TransformBlendTable:

    TransformBlendTable (Constructor)
    addBlend
    getBlend
    getClassType
    getMaxSimultaneousTransforms
    getModified
    getNumBlends
    getNumTransforms
    getRows
    modifyRows
    operator =
    removeBlend
    setBlend
    setRows
    write

Methods of CopyOnWriteObject:

    getClassType

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
TransformBlendTable
TransformBlendTable::TransformBlendTable(void);

Description:

addBlend
int TransformBlendTable::add_blend(TransformBlend const &blend);

Description: Adds a new blend to the table, and returns its index number. If there is already an identical blend in the table, simply returns that number instead.

getBlend
TransformBlend const &TransformBlendTable::get_blend(int n) const;

Description: Returns the nth blend in the table.

getClassType
static TypeHandle TransformBlendTable::get_class_type(void);

Undocumented function.

getMaxSimultaneousTransforms
int TransformBlendTable::get_max_simultaneous_transforms(void) const;

Description: Returns the maximum number of unique VertexTransform objects that are applied to any one vertex simultaneously. This is the same limit reflected by GraphicsStateGuardian::get_max_vertex_transforms().

getModified
UpdateSeq TransformBlendTable::get_modified(Thread *current_thread) const;

Description: Returns a counter which is guaranteed to increment at least when any TransformBlends within the table have changed.

getNumBlends
int TransformBlendTable::get_num_blends(void) const;

Description: Returns the total number of different blend combinations in the table.

getNumTransforms
int TransformBlendTable::get_num_transforms(void) const;

Description: Returns the number of unique VertexTransform objects represented in the table. This will correspond to the size of the TransformTable object that would represent the same table. This is also the same limit reflected by GraphicsStateGuardian::get_max_vertex_transform_indices().

getRows
SparseArray const &TransformBlendTable::get_rows(void) const;

Description: Returns the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects.

modifyRows
SparseArray &TransformBlendTable::modify_rows(void);

Description: Returns a modifiable reference to the SparseArray that specifies the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects.

operator =
void TransformBlendTable::operator =(TransformBlendTable const &copy);

Description:

removeBlend
void TransformBlendTable::remove_blend(int n);

Description: Removes the blend at the nth position.

setBlend
void TransformBlendTable::set_blend(int n, TransformBlend const &blend);

Description: Replaces the blend at the nth position with the indicated value.

setRows
void TransformBlendTable::set_rows(SparseArray const &rows);

Description: Specifies the subset of rows (vertices) in the associated GeomVertexData that this TransformBlendTable actually affects.

write
void TransformBlendTable::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle CopyOnWriteObject::get_class_type(void);

Undocumented function.

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


TransformState

    from pandac.PandaModules import TransformState
    Class : TransformState
    Description : Indicates a coordinate-system transform on vertices. TransformStates are the primary means for storing transformations on the scene graph.
    Transforms may be specified in one of two ways: componentwise, with a pos-hpr-scale, or with an arbitrary transform matrix. If you specify a transform componentwise, it will remember its original components.
    TransformState objects are managed very much like RenderState objects. They are immutable and reference-counted automatically.
    You should not attempt to create or modify a TransformState object directly. Instead, call one of the make() functions to create one for you. And instead of modifying a TransformState object, create a new one.

Inheritance:

    TransformState: NodeCachedReferenceCount
    NodeCachedReferenceCount: CachedTypedWritableReferenceCount
    CachedTypedWritableReferenceCount: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of TransformState:

    cacheRef
    cacheUnref
    clearCache
    componentsGiven
    compose
    getClassType
    getCompositionCacheNumEntries
    getCompositionCacheResult
    getCompositionCacheSize
    getCompositionCacheSource
    getGeomRendering
    getHash
    getHpr
    getInverse
    getInvertCompositionCacheNumEntries
    getInvertCompositionCacheResult
    getInvertCompositionCacheSize
    getInvertCompositionCacheSource
    getMat
    getMat3
    getNormQuat
    getNumStates
    getNumUnusedStates
    getPos
    getPos2d
    getQuat
    getRotate2d
    getScale
    getScale2d
    getShear
    getShear2d
    getUniformScale
    hasComponents
    hasHpr
    hasIdentityScale
    hasMat
    hasNonzeroShear
    hasPos
    hasQuat
    hasScale
    hasShear
    hasUniformScale
    hprGiven
    invertCompose
    is2d
    isIdentity
    isInvalid
    isSingular
    listCycles
    listStates
    makeHpr
    makeIdentity
    makeInvalid
    makeMat
    makeMat3
    makePos
    makePos2d
    makePosHpr
    makePosHprScale
    makePosHprScaleShear
    makePosQuatScale
    makePosQuatScaleShear
    makePosRotate2d
    makePosRotateScale2d
    makePosRotateScaleShear2d
    makeQuat
    makeRotate2d
    makeScale
    makeScale2d
    makeShear
    makeShear2d
    nodeRef
    nodeUnref
    operator <
    output
    quatGiven
    setHpr
    setPos
    setPos2d
    setQuat
    setRotate2d
    setScale
    setScale2d
    setShear
    setShear2d
    sortsLess
    unref
    validateStates
    write

Methods of NodeCachedReferenceCount:

    getClassType
    getNodeRefCount
    getReferencedBits
    nodeRef
    nodeUnref
    testRefCountIntegrity

Methods of CachedTypedWritableReferenceCount:

    cacheRef
    cacheUnref
    getCacheRefCount
    getClassType
    testRefCountIntegrity

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in NodeCachedReferenceCount:

    RNode | (Referenced)
RCache | (Referenced)
cacheRef
void TransformState::cache_ref(void) const;

Description: Overrides this method to update PStats appropriately.

cacheUnref
bool TransformState::cache_unref(void) const;

Description: Overrides this method to update PStats appropriately.

clearCache
static int TransformState::clear_cache(void);

Description: Empties the cache of composed TransformStates. This makes every TransformState forget what results when it is composed with other TransformStates.
This will eliminate any TransformState objects that have been allocated but have no references outside of the internal TransformState map. It will not eliminate TransformState objects that are still in use.
Nowadays, this method should not be necessary, as reference-count cycles in the composition cache should be automatically detected and broken.
The return value is the number of TransformStates freed by this operation.

componentsGiven
bool TransformState::components_given(void) const;

Description: Returns true if the transform was specified componentwise, or false if it was specified with a general 4x4 matrix. If this is true, the components returned by get_pos() and get_scale() will be exactly those that were set; otherwise, these functions will return computed values. If this is true, the rotation may have been set either with a hpr trio or with a quaternion; hpr_given() or quat_given() can resolve the difference.

compose
ConstPointerTo< TransformState > TransformState::compose(TransformState const *other) const;

Description: Returns a new TransformState object that represents the composition of this state with the other state.
The result of this operation is cached, and will be retained as long as both this TransformState object and the other TransformState object continue to exist. Should one of them destruct, the cached entry will be removed, and its pointer will be allowed to destruct as well.

getClassType
static TypeHandle TransformState::get_class_type(void);

Undocumented function.

getCompositionCacheNumEntries
int TransformState::get_composition_cache_num_entries(void) const;

Description: Returns the number of entries in the composition cache for this TransformState. This is the number of other TransformStates whose composition with this one has been cached. This number is not useful for any practical reason other than performance analysis.

getCompositionCacheResult
TransformState const *TransformState::get_composition_cache_result(int n) const;

Description: Returns the result TransformState of the nth element in the composition cache. Returns NULL if there doesn't happen to be an entry in the nth element.
In general, a->compose(a->get_composition_cache_source(n)) == a->get_composition_cache_result(n).
This has no practical value other than for examining the cache for performacne analysis.

getCompositionCacheSize
int TransformState::get_composition_cache_size(void) const;

Description: Returns the number of slots in the composition cache for this TransformState. You may use this as an upper bound when walking through all of the composition cache results via get_composition_cache_source() or result().
This has no practical value other than for examining the cache for performacne analysis.

getCompositionCacheSource
TransformState const *TransformState::get_composition_cache_source(int n) const;

Description: Returns the source TransformState of the nth element in the composition cache. Returns NULL if there doesn't happen to be an entry in the nth element. See get_composition_cache_result().
This has no practical value other than for examining the cache for performacne analysis.

getGeomRendering
int TransformState::get_geom_rendering(int geom_rendering) const;

Description: Returns the union of the Geom::GeomRendering bits that will be required once this TransformState is applied to a geom which includes the indicated geom_rendering bits. The RenderState's get_geom_rendering() should already have been applied.

getHash
unsigned int TransformState::get_hash(void) const;

Description: Returns a suitable hash value for phash_map.

getHpr
LVecBase3f const &TransformState::get_hpr(void) const;

Description: Returns the rotation component of the transform as a trio of Euler angles. It is an error to call this if has_components() returned false.

getInverse
ConstPointerTo< TransformState > TransformState::get_inverse(void) const;

Description: Returns the inverse of this transform. If you are going to immediately compose this result with another TransformState, it is faster to do it in one operation with invert_compose().

getInvertCompositionCacheNumEntries
int TransformState::get_invert_composition_cache_num_entries(void) const;

Description: Returns the number of entries in the invert_composition cache for this TransformState. This is similar to the composition cache, but it records cache entries for the invert_compose() operation. See get_composition_cache_num_entries().

getInvertCompositionCacheResult
TransformState const *TransformState::get_invert_composition_cache_result(int n) const;

Description: Returns the result TransformState of the nth element in the composition cache. Returns NULL if there doesn't happen to be an entry in the nth element.
In general, a->compose(a->get_invert_composition_cache_source(n)) == a->get_invert_composition_cache_result(n).
This has no practical value other than for examining the cache for performacne analysis.

getInvertCompositionCacheSize
int TransformState::get_invert_composition_cache_size(void) const;

Description: Returns the number of slots in the composition cache for this TransformState. You may use this as an upper bound when walking through all of the composition cache results via get_invert_composition_cache_source() or result().
This has no practical value other than for examining the cache for performacne analysis.

getInvertCompositionCacheSource
TransformState const *TransformState::get_invert_composition_cache_source(int n) const;

Description: Returns the source TransformState of the nth element in the composition cache. Returns NULL if there doesn't happen to be an entry in the nth element. See get_invert_composition_cache_result().
This has no practical value other than for examining the cache for performacne analysis.

getMat
LMatrix4f const &TransformState::get_mat(void) const;

Description: Returns the matrix that describes the transform.

getMat3
LMatrix3f TransformState::get_mat3(void) const;

Description: Returns the 3x3 matrix that describes the 2-d transform. It is an error to call this if is_2d() returned false.

getNormQuat
LQuaternionf const &TransformState::get_norm_quat(void) const;

Description: Returns the rotation component of the transform as a quaternion. Unlike the result of get_quat(), the return value of this method is guaranteed to be normalized. It is an error to call this if has_components() returned false.

getNumStates
static int TransformState::get_num_states(void);

Description: Returns the total number of unique TransformState objects allocated in the world. This will go up and down during normal operations.

getNumUnusedStates
static int TransformState::get_num_unused_states(void);

Description: Returns the total number of TransformState objects that have been allocated but have no references outside of the internal TransformState cache.
A nonzero return value is not necessarily indicative of leaked references; it is normal for two TransformState objects, both of which have references held outside the cache, to have the result of their composition stored within the cache. This result will be retained within the cache until one of the base TransformStates is released.
Use list_cycles() to get an idea of the number of actual "leaked" TransformState objects.

getPos
LPoint3f const &TransformState::get_pos(void) const;

Description: Returns the pos component of the transform. It is an error to call this if has_pos() returned false.

getPos2d
LVecBase2f TransformState::get_pos2d(void) const;

Description: Returns the pos component of the 2-d transform. It is an error to call this if has_pos() or is_2d() returned false.

getQuat
LQuaternionf const &TransformState::get_quat(void) const;

Description: Returns the rotation component of the transform as a quaternion. The return value will be normalized if a normalized quaternion was given to the constructor (or if the quaternion was computed implicitly); it will be non-normalized if a non-normalized quaternion was given to the constructor. See also get_norm_quat().
It is an error to call this if has_components() returned false.

getRotate2d
float TransformState::get_rotate2d(void) const;

Description: Returns the rotation component of the 2-d transform as an angle in degrees clockwise about the origin. It is an error to call this if has_components() or is_2d() returned false.

getScale
LVecBase3f const &TransformState::get_scale(void) const;

Description: Returns the scale component of the transform. It is an error to call this if has_components() returned false.

getScale2d
LVecBase2f TransformState::get_scale2d(void) const;

Description: Returns the scale component of the 2-d transform. It is an error to call this if has_components() or is_2d() returned false.

getShear
LVecBase3f const &TransformState::get_shear(void) const;

Description: Returns the shear component of the transform. It is an error to call this if has_components() returned false.

getShear2d
float TransformState::get_shear2d(void) const;

Description: Returns the shear component of the 2-d transform. It is an error to call this if has_components() or is_2d() returned false.

getUniformScale
float TransformState::get_uniform_scale(void) const;

Description: Returns the scale component of the transform, as a single number. It is an error to call this if has_uniform_scale() returned false.

hasComponents
bool TransformState::has_components(void) const;

Description: Returns true if the transform can be described by separate pos, hpr, and scale components. Most transforms we use in everyday life can be so described, but some kinds of transforms (for instance, those involving a skew) cannot.
This is not related to whether the transform was originally described componentwise. Even a transform that was constructed with a 4x4 may return true here if the matrix is a simple affine matrix with no skew.
If this returns true, you may safely call get_hpr() and get_scale() to retrieve the components. (You may always safely call get_pos() whether this returns true or false.)

hasHpr
bool TransformState::has_hpr(void) const;

Description: Returns true if the transform's rotation component can be extracted out separately and described as a set of Euler angles. This is generally true only when has_components() is true.

hasIdentityScale
bool TransformState::has_identity_scale(void) const;

Description: Returns true if the scale is uniform 1.0, or false if the scale has some real value.

hasMat
bool TransformState::has_mat(void) const;

Description: Returns true if the transform can be described as a matrix. This is generally always true, unless is_invalid() is true.

hasNonzeroShear
bool TransformState::has_nonzero_shear(void) const;

Description: Returns true if the shear component is non-zero, false if it is zero or if the matrix cannot be decomposed.

hasPos
bool TransformState::has_pos(void) const;

Description: Returns true if the transform's pos component can be extracted out separately. This is generally always true, unless the transform is invalid (i.e. is_invalid() returns true).

hasQuat
bool TransformState::has_quat(void) const;

Description: Returns true if the transform's rotation component can be extracted out separately and described as a quaternion. This is generally true only when has_components() is true.

hasScale
bool TransformState::has_scale(void) const;

Description: Returns true if the transform's scale component can be extracted out separately. This is generally true only when has_components() is true.

hasShear
bool TransformState::has_shear(void) const;

Description: Returns true if the transform's shear component can be extracted out separately. This is generally true only when has_components() is true.

hasUniformScale
bool TransformState::has_uniform_scale(void) const;

Description: Returns true if the scale is uniform across all three axes (and therefore can be expressed as a single number), or false if the transform has a different scale in different dimensions.

hprGiven
bool TransformState::hpr_given(void) const;

Description: Returns true if the rotation was specified via a trio of Euler angles, false otherwise. If this is true, get_hpr() will be exactly as set; otherwise, it will return a computed value.

invertCompose
ConstPointerTo< TransformState > TransformState::invert_compose(TransformState const *other) const;

Description: Returns a new TransformState object that represents the composition of this state's inverse with the other state.
This is similar to compose(), but is particularly useful for computing the relative state of a node as viewed from some other node.

is2d
bool TransformState::is_2d(void) const;

Description: Returns true if the transform has been constructed entirely using the 2-d transform operations, e.g. make_pos2d(), and therefore operates strictly in two-dimensional space on X and Y only.

isIdentity
bool TransformState::is_identity(void) const;

Description: Returns true if the transform represents the identity matrix, false otherwise.

isInvalid
bool TransformState::is_invalid(void) const;

Description: Returns true if the transform represents an invalid matrix, for instance the result of inverting a singular matrix, or false if the transform is valid.

isSingular
bool TransformState::is_singular(void) const;

Description: Returns true if the transform represents a singular transform (that is, it has a zero scale, and it cannot be inverted), or false otherwise.

listCycles
static void TransformState::list_cycles(ostream &out);

Description: Detects all of the reference-count cycles in the cache and reports them to standard output.
These cycles may be inadvertently created when state compositions cycle back to a starting point. Nowadays, these cycles should be automatically detected and broken, so this method should never list any cycles unless there is a bug in that detection logic.
The cycles listed here are not leaks in the strictest sense of the word, since they can be reclaimed by a call to clear_cache(); but they will not be reclaimed automatically.

listStates
static void TransformState::list_states(ostream &out);

Description: Lists all of the TransformStates in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

makeHpr
static ConstPointerTo< TransformState > TransformState::make_hpr(LVecBase3f const &hpr);

Description: Makes a new TransformState with the specified components.

makeIdentity
static ConstPointerTo< TransformState > TransformState::make_identity(void);

Description: Constructs an identity transform.

makeInvalid
static ConstPointerTo< TransformState > TransformState::make_invalid(void);

Description: Constructs an invalid transform; for instance, the result of inverting a singular matrix.

makeMat
static ConstPointerTo< TransformState > TransformState::make_mat(LMatrix4f const &mat);

Description: Makes a new TransformState with the specified transformation matrix.

makeMat3
static ConstPointerTo< TransformState > TransformState::make_mat3(LMatrix3f const &mat);

Description: Makes a new two-dimensional TransformState with the specified 3x3 transformation matrix.

makePos
static ConstPointerTo< TransformState > TransformState::make_pos(LVecBase3f const &pos);

Description: Makes a new TransformState with the specified components.

makePos2d
static ConstPointerTo< TransformState > TransformState::make_pos2d(LVecBase2f const &pos);

Description: Makes a new 2-d TransformState with the specified components.

makePosHpr
static ConstPointerTo< TransformState > TransformState::make_pos_hpr(LVecBase3f const &pos, LVecBase3f const &hpr);

Description: Makes a new TransformState with the specified components.

makePosHprScale
static ConstPointerTo< TransformState > TransformState::make_pos_hpr_scale(LVecBase3f const &pos, LVecBase3f const &hpr, LVecBase3f const &scale);

Description: Makes a new TransformState with the specified components.

makePosHprScaleShear
static ConstPointerTo< TransformState > TransformState::make_pos_hpr_scale_shear(LVecBase3f const &pos, LVecBase3f const &hpr, LVecBase3f const &scale, LVecBase3f const &shear);

Description: Makes a new TransformState with the specified components.

makePosQuatScale
static ConstPointerTo< TransformState > TransformState::make_pos_quat_scale(LVecBase3f const &pos, LQuaternionf const &quat, LVecBase3f const &scale);

Description: Makes a new TransformState with the specified components.

makePosQuatScaleShear
static ConstPointerTo< TransformState > TransformState::make_pos_quat_scale_shear(LVecBase3f const &pos, LQuaternionf const &quat, LVecBase3f const &scale, LVecBase3f const &shear);

Description: Makes a new TransformState with the specified components.

makePosRotate2d
static ConstPointerTo< TransformState > TransformState::make_pos_rotate2d(LVecBase2f const &pos, float rotate);

Description: Makes a new 2-d TransformState with the specified components.

makePosRotateScale2d
static ConstPointerTo< TransformState > TransformState::make_pos_rotate_scale2d(LVecBase2f const &pos, float rotate, LVecBase2f const &scale);

Description: Makes a new 2-d TransformState with the specified components.

makePosRotateScaleShear2d
static ConstPointerTo< TransformState > TransformState::make_pos_rotate_scale_shear2d(LVecBase2f const &pos, float rotate, LVecBase2f const &scale, float shear);

Description: Makes a new two-dimensional TransformState with the specified components.

makeQuat
static ConstPointerTo< TransformState > TransformState::make_quat(LQuaternionf const &quat);

Description: Makes a new TransformState with the specified components.

makeRotate2d
static ConstPointerTo< TransformState > TransformState::make_rotate2d(float rotate);

Description: Makes a new 2-d TransformState with the specified components.

makeScale
static ConstPointerTo< TransformState > TransformState::make_scale(float scale);

Description: Makes a new TransformState with the specified components.

makeScale2d
static ConstPointerTo< TransformState > TransformState::make_scale2d(float scale);

Description: Makes a new 2-d TransformState with the specified components.

makeShear
static ConstPointerTo< TransformState > TransformState::make_shear(LVecBase3f const &shear);

Description: Makes a new TransformState with the specified components.

makeShear2d
static ConstPointerTo< TransformState > TransformState::make_shear2d(float shear);

Description: Makes a new 2-d TransformState with the specified components.

nodeRef
void TransformState::node_ref(void) const;

Description: Overrides this method to update PStats appropriately.

nodeUnref
bool TransformState::node_unref(void) const;

Description: Overrides this method to update PStats appropriately.

operator <
bool TransformState::operator <(TransformState const &other) const;

Description: Provides an arbitrary ordering among all unique TransformStates, so we can store the essentially different ones in a big set and throw away the rest.
This is the same as sorts_less(), except the uniquify_matrix value is implicit from the Config.prc file.

output
void TransformState::output(ostream &out) const;

Description:

quatGiven
bool TransformState::quat_given(void) const;

Description: Returns true if the rotation was specified via a quaternion, false otherwise. If this is true, get_quat() will be exactly as set; otherwise, it will return a computed value.

setHpr
ConstPointerTo< TransformState > TransformState::set_hpr(LVecBase3f const &hpr) const;

Description: Returns a new TransformState object that represents the original TransformState with its rotation component replaced with the indicated value, if possible.

setPos
ConstPointerTo< TransformState > TransformState::set_pos(LVecBase3f const &pos) const;

Description: Returns a new TransformState object that represents the original TransformState with its pos component replaced with the indicated value.

setPos2d
ConstPointerTo< TransformState > TransformState::set_pos2d(LVecBase2f const &pos) const;

Description: Returns a new TransformState object that represents the original 2-d TransformState with its pos component replaced with the indicated value.

setQuat
ConstPointerTo< TransformState > TransformState::set_quat(LQuaternionf const &quat) const;

Description: Returns a new TransformState object that represents the original TransformState with its rotation component replaced with the indicated value, if possible.

setRotate2d
ConstPointerTo< TransformState > TransformState::set_rotate2d(float rotate) const;

Description: Returns a new TransformState object that represents the original 2-d TransformState with its rotation component replaced with the indicated value, if possible.

setScale
ConstPointerTo< TransformState > TransformState::set_scale(LVecBase3f const &scale) const;

Description: Returns a new TransformState object that represents the original TransformState with its scale component replaced with the indicated value, if possible.

setScale2d
ConstPointerTo< TransformState > TransformState::set_scale2d(LVecBase2f const &scale) const;

Description: Returns a new TransformState object that represents the original 2-d TransformState with its scale component replaced with the indicated value, if possible.

setShear
ConstPointerTo< TransformState > TransformState::set_shear(LVecBase3f const &shear) const;

Description: Returns a new TransformState object that represents the original TransformState with its shear component replaced with the indicated value, if possible.

setShear2d
ConstPointerTo< TransformState > TransformState::set_shear2d(float shear) const;

Description: Returns a new TransformState object that represents the original 2-d TransformState with its shear component replaced with the indicated value, if possible.

sortsLess
bool TransformState::sorts_less(TransformState const &other, bool uniquify_matrix) const;

Description: Provides an arbitrary ordering among all unique TransformStates, so we can store the essentially different ones in a big set and throw away the rest.
If uniquify_matrix is true, then matrix-defined TransformStates are also uniqified. If uniquify_matrix is false, then only component-defined TransformStates are uniquified, which is less expensive.

unref
bool TransformState::unref(void) const;

Description: 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.

validateStates
static bool TransformState::validate_states(void);

Description: Ensures that the cache is still stored in sorted order, and that none of the cache elements have been inadvertently deleted. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const TransformState objects).

write
void TransformState::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle NodeCachedReferenceCount::get_class_type(void);

Undocumented function.

getNodeRefCount
int NodeCachedReferenceCount::get_node_ref_count(void) const;

Description: Returns the current reference count.

getReferencedBits
int NodeCachedReferenceCount::get_referenced_bits(void) const;

Description: Returns the union of the values defined in the Referenced enum that represents the various things that appear to be holding a pointer to this object.
If R_node is included, at least one node is holding a pointer; if R_cache is included, at least one cache element is.

nodeRef
void NodeCachedReferenceCount::node_ref(void) const;

Description: Explicitly increments the reference count.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

nodeUnref
bool NodeCachedReferenceCount::node_unref(void) const;

Description: 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.

testRefCountIntegrity
bool NodeCachedReferenceCount::test_ref_count_integrity(void) const;

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

cacheRef
void CachedTypedWritableReferenceCount::cache_ref(void) const;

Description: Explicitly increments the cache reference count and the normal reference count simultaneously.

cacheUnref
bool CachedTypedWritableReferenceCount::cache_unref(void) const;

Description: Explicitly decrements the cache 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.

getCacheRefCount
int CachedTypedWritableReferenceCount::get_cache_ref_count(void) const;

Description: Returns the current reference count.

getClassType
static TypeHandle CachedTypedWritableReferenceCount::get_class_type(void);

Undocumented function.

testRefCountIntegrity
bool CachedTypedWritableReferenceCount::test_ref_count_integrity(void) const;

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

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


TransformTable

    from pandac.PandaModules import TransformTable
    Class : TransformTable
    Description : Stores the total set of VertexTransforms that the vertices in a particular GeomVertexData object might depend on.
    This structure is used for a GeomVertexData set up to compute its dynamic vertices on the graphics card. See TransformBlendTable for one set up to compute its dynamic vertices on the CPU.

Inheritance:

    TransformTable: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of TransformTable:

    TransformTable (Constructor)
    addTransform
    getClassType
    getModified
    getNumTransforms
    getTransform
    isRegistered
    operator =
    registerTable
    removeTransform
    setTransform
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
TransformTable
TransformTable::TransformTable(void);

Description:

addTransform
int TransformTable::add_transform(VertexTransform const *transform);

Description: Adds a new transform to the table and returns the index number of the new transform. Only valid for unregistered tables.
This does not automatically uniquify the pointer; if the transform is already present in the table, it will be added twice.

getClassType
static TypeHandle TransformTable::get_class_type(void);

Undocumented function.

getModified
UpdateSeq TransformTable::get_modified(Thread *current_thread) const;

Description: Returns a sequence number that's guaranteed to change at least when any VertexTransforms in the table change. (However, this is only true for a registered table. An unregistered table may or may not reflect an update here when a VertexTransform changes.)

getNumTransforms
int TransformTable::get_num_transforms(void) const;

Description: Returns the number of transforms in the table.

getTransform
VertexTransform const *TransformTable::get_transform(int n) const;

Description: Returns the nth transform in the table.

isRegistered
bool TransformTable::is_registered(void) const;

Description: Returns true if this table has been registered. Once it has been registered, the set of transforms in a TransformTable may not be further modified; but it must be registered before it can be assigned to a Geom.

operator =
void TransformTable::operator =(TransformTable const &copy);

Description:

registerTable
static ConstPointerTo< TransformTable > TransformTable::register_table(TransformTable const *table);

Description: Registers a TransformTable for use. This is similar to GeomVertexFormat::register_format(). Once registered, a TransformTable may no longer be modified (although the individual VertexTransform objects may modify their reported transforms).
This must be called before a table may be used in a Geom. After this call, you should discard the original pointer you passed in (which may or may not now be invalid) and let its reference count decrement normally; you should use only the returned value from this point on.

removeTransform
void TransformTable::remove_transform(int n);

Description: Removes the nth transform. Only valid for unregistered tables.

setTransform
void TransformTable::set_transform(int n, VertexTransform const *transform);

Description: Replaces the nth transform. Only valid for unregistered tables.

write
void TransformTable::write(ostream &out) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Transitions

    from direct.showbase.Transitions import Transitions

Inheritance:

    Transitions:

Methods of Transitions:

    __del__
    __init__
    fadeIn
    fadeOut
    fadeOutActive
    fadeScreen
    fadeScreenColor
    getFadeInIval
    getFadeOutIval
    irisIn
    irisOut
    letterboxOff
    letterboxOn
    loadFade
    loadIris
    loadLetterbox
    noFade
    noIris
    noLetterbox
    noTransitions
    setFadeColor
    setFadeModel
__del__
def __del__(self)

Undocumented function.

__init__
def __init__(self, loader, model=None, scale=3.0, pos=Vec3(0, 0, 0))

Undocumented function.

fadeIn
def fadeIn(self, t=0.5, finishIval=None)

Play a fade in transition over t seconds. Places a polygon on the aspect2d plane then lerps the color from black to transparent. When the color lerp is finished, it parents the fade polygon to hidden.

fadeOut
def fadeOut(self, t=0.5, finishIval=None)

Play a fade out transition over t seconds. Places a polygon on the aspect2d plane then lerps the color from transparent to full black. When the color lerp is finished, it leaves the fade polygon covering the aspect2d plane until you fadeIn or call noFade. lerp

fadeOutActive
def fadeOutActive(self)

Undocumented function.

fadeScreen
def fadeScreen(self, alpha=0.5)

Put a semitransparent screen over the camera plane to darken out the world. Useful for drawing attention to a dialog box for instance

fadeScreenColor
def fadeScreenColor(self, color)

Put a semitransparent screen over the camera plane to darken out the world. Useful for drawing attention to a dialog box for instance

getFadeInIval
def getFadeInIval(self, t=0.5, finishIval=None)

Returns an interval without starting it. This is particularly useful in cutscenes, so when the cutsceneIval is escaped out of we can finish the fade immediately

getFadeOutIval
def getFadeOutIval(self, t=0.5, finishIval=None)

Create a sequence that lerps the color out, then parents the fade to hidden

irisIn
def irisIn(self, t=0.5, finishIval=None)

Play an iris in transition over t seconds. Places a polygon on the aspect2d plane then lerps the scale of the iris polygon up so it looks like we iris in. When the scale lerp is finished, it parents the iris polygon to hidden.

irisOut
def irisOut(self, t=0.5, finishIval=None)

Play an iris out transition over t seconds. Places a polygon on the aspect2d plane then lerps the scale of the iris down so it looks like we iris out. When the scale lerp is finished, it leaves the iris polygon covering the aspect2d plane until you irisIn or call noIris.

letterboxOff
def letterboxOff(self, t=0.25, finishIval=None)

Move black bars away over t seconds.

letterboxOn
def letterboxOn(self, t=0.25, finishIval=None)

Move black bars in over t seconds.

loadFade
def loadFade(self)

Undocumented function.

loadIris
def loadIris(self)

Undocumented function.

loadLetterbox
def loadLetterbox(self)

Undocumented function.

noFade
def noFade(self)

Removes any current fade tasks and parents the fade polygon away

noIris
def noIris(self)

Removes any current iris tasks and parents the iris polygon away

noLetterbox
def noLetterbox(self)

Removes any current letterbox tasks and parents the letterbox polygon away

noTransitions
def noTransitions(self)

This call should immediately remove any and all transitions running

setFadeColor
def setFadeColor(self, r, g, b)

Undocumented function.

setFadeModel
def setFadeModel(self, model, scale=1.0)

Undocumented function.


TransparencyAttrib

    from pandac.PandaModules import TransparencyAttrib
    Class : TransparencyAttrib
    Description : This controls the enabling of transparency. Simply setting an alpha component to non-1 does not in itself make an object transparent; you must also enable transparency mode with a suitable TransparencyAttrib. Similarly, it is wasteful to render an object with a TransparencyAttrib in effect unless you actually want it to be at least partially transparent (and it has alpha components less than 1).

Inheritance:

    TransparencyAttrib: RenderAttrib
    RenderAttrib: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of TransparencyAttrib:

    getClassType
    getMode
    make

Methods of RenderAttrib:

    compareTo
    getClassType
    getNumAttribs
    listAttribs
    output
    unref
    validateAttribs
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in TransparencyAttrib:

    MNone | (Mode)
MAlpha | (Mode)
MNotused | (Mode)
MMultisample | (Mode)
MMultisampleMask | (Mode)
MBinary | (Mode)
MDual | (Mode)

Constants in RenderAttrib:

    MNone | (PandaCompareFunc)
MNever | (PandaCompareFunc)
MLess | (PandaCompareFunc)
MEqual | (PandaCompareFunc)
MLessEqual | (PandaCompareFunc)
MGreater | (PandaCompareFunc)
MNotEqual | (PandaCompareFunc)
MGreaterEqual | (PandaCompareFunc)
MAlways | (PandaCompareFunc)
MOff | (TexGenMode)
MEyeSphereMap | (TexGenMode)
MWorldCubeMap | (TexGenMode)
MEyeCubeMap | (TexGenMode)
MWorldNormal | (TexGenMode)
MEyeNormal | (TexGenMode)
MWorldPosition | (TexGenMode)
MUnused | (TexGenMode)
MEyePosition | (TexGenMode)
MPointSprite | (TexGenMode)
MLightVector | (TexGenMode)
MConstant | (TexGenMode)
getClassType
static TypeHandle TransparencyAttrib::get_class_type(void);

Undocumented function.

getMode
TransparencyAttrib::Mode TransparencyAttrib::get_mode(void) const;

Description: Returns the transparency mode.

make
static ConstPointerTo< RenderAttrib > TransparencyAttrib::make(TransparencyAttrib::Mode mode);

Description: Constructs a new TransparencyAttrib object.

compareTo
int RenderAttrib::compare_to(RenderAttrib const &other) const;

Description: Provides an arbitrary ordering among all unique RenderAttribs, so we can store the essentially different ones in a big set and throw away the rest.
This method is not needed outside of the RenderAttrib class because all equivalent RenderAttrib objects are guaranteed to share the same pointer; thus, a pointer comparison is always sufficient.

getClassType
static TypeHandle RenderAttrib::get_class_type(void);

Undocumented function.

getNumAttribs
static int RenderAttrib::get_num_attribs(void);

Description: Returns the total number of unique RenderAttrib objects allocated in the world. This will go up and down during normal operations.

listAttribs
static void RenderAttrib::list_attribs(ostream &out);

Description: Lists all of the RenderAttribs in the cache to the output stream, one per line. This can be quite a lot of output if the cache is large, so be prepared.

output
virtual void RenderAttrib::output(ostream &out) const;

Description:

unref
bool RenderAttrib::unref(void) const;

Description: This method overrides ReferenceCount::unref() to clear the pointer from the global object pool when its reference count goes to zero.

validateAttribs
static bool RenderAttrib::validate_attribs(void);

Description: Ensures that the cache is still stored in sorted order. Returns true if so, false if there is a problem (which implies someone has modified one of the supposedly-const RenderAttrib objects).

write
virtual void RenderAttrib::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


TreeItem

    from direct.tkwidgets.Tree import TreeItem
    Abstract class representing tree items.
    Methods should typically be overridden, otherwise a default action is used.

Inheritance:

    TreeItem:

Methods of TreeItem:

    __init__
    _GetSubList
    GetIconName
    GetLabelText
    GetSelectedIconName
    GetSubList
    GetText
    GetTextFg
    IsEditable
    IsExpandable
    OnDoubleClick
    OnSelect
    SetText
__init__
def __init__(self)

Constructor. Do whatever you need to do.

_GetSubList
def _GetSubList(self)

Do not override! Called by TreeNode.

GetIconName
def GetIconName(self)

Return name of icon to be displayed normally.

GetLabelText
def GetLabelText(self)

Return label text string to display in front of text (if any).

GetSelectedIconName
def GetSelectedIconName(self)

Return name of icon to be displayed when selected.

GetSubList
def GetSubList(self)

Return list of items forming sublist.

GetText
def GetText(self)

Return text string to display.

GetTextFg
def GetTextFg(self)

Undocumented function.

IsEditable
def IsEditable(self)

Return whether the item's text may be edited.

IsExpandable
def IsExpandable(self)

Return whether there are subitems.

OnDoubleClick
def OnDoubleClick(self)

Called on a double-click on the item.

OnSelect
def OnSelect(self)

Called when item selected.

SetText
def SetText(self, text)

Change the item's text (if it is editable).


TreeNode

    from direct.tkwidgets.Tree import TreeNode

Inheritance:

    TreeNode:

Methods of TreeNode:

    __init__
    collapse
    createPopupMenu
    deselect
    deselectall
    deselecttree
    destroy
    draw
    drawicon
    drawtext
    edit
    edit_cancel
    edit_finish
    expand
    find
    flip
    geticonimage
    lastvisiblechild
    popupMenu
    popupMenuCommand
    reveal
    select
    select_or_edit
    setChildrenTag
    setFSortChildren
    update
    updateAll
    view
__init__
def __init__(self, canvas, parent, item, menuList=[])

Undocumented function.

collapse
def collapse(self, event=None)

Undocumented function.

createPopupMenu
def createPopupMenu(self)

Undocumented function.

deselect
def deselect(self, event=None)

Undocumented function.

deselectall
def deselectall(self)

Undocumented function.

deselecttree
def deselecttree(self)

Undocumented function.

destroy
def destroy(self)

Undocumented function.

draw
def draw(self, x, y, fUseCachedChildren=1)

Undocumented function.

drawicon
def drawicon(self)

Undocumented function.

drawtext
def drawtext(self)

Undocumented function.

edit
def edit(self, event=None)

Undocumented function.

edit_cancel
def edit_cancel(self, event=None)

Undocumented function.

edit_finish
def edit_finish(self, event=None)

Undocumented function.

expand
def expand(self, event=None)

Undocumented function.

find
def find(self, searchKey)

Undocumented function.

flip
def flip(self, event=None)

Undocumented function.

geticonimage
def geticonimage(self, name)

Undocumented function.

lastvisiblechild
def lastvisiblechild(self)

Undocumented function.

popupMenu
def popupMenu(self, event=None)

Undocumented function.

popupMenuCommand
def popupMenuCommand(self)

Undocumented function.

reveal
def reveal(self)

Undocumented function.

select
def select(self, event=None)

Undocumented function.

select_or_edit
def select_or_edit(self, event=None)

Undocumented function.

setChildrenTag
def setChildrenTag(self, tag, fModeChildrenTag)

Undocumented function.

setFSortChildren
def setFSortChildren(self, fSortChildren)

Undocumented function.

update
def update(self, fUseCachedChildren=1, fExpandMode=0)

Undocumented function.

updateAll
def updateAll(self, fMode, depth=0, fUseCachedChildren=1)

Undocumented function.

view
def view(self)

Undocumented function.


treeresource

    from direct.pyinst.resource import treeresource
    A subclass for a directory and subdirectories.

Inheritance:

    treeresource:

Methods of treeresource:

    __init__
__init__
def __init__(self, name, fullname=None)

Undocumented function.


Triangulator

    from pandac.PandaModules import Triangulator
    Class : Triangulator
    Description : This class can triangulate a convex or concave polygon, even one with holes. It is adapted from an algorithm published as:
    Narkhede A. and Manocha D., Fast polygon triangulation algorithm based on Seidel's Algorithm, UNC-CH, 1994.
    http://www.cs.unc.edu/~dm/CODE/GEM/chapter.html
    It works strictly on 2-d points. You'll have to convert your polygon into a plane if you have 3-d points.

Inheritance:

    Triangulator:

Methods of Triangulator:

    Triangulator (Constructor)
    addHoleVertex
    addPolygonVertex
    addVertex
    beginHole
    clear
    clearPolygon
    getNumTriangles
    getNumVertices
    getTriangleV0
    getTriangleV1
    getTriangleV2
    getVertex
    isLeftWinding
    triangulate
Triangulator
Triangulator::Triangulator(void);

Description:

addHoleVertex
void Triangulator::add_hole_vertex(int index);

Description: Adds the next consecutive vertex of the current hole. This vertex should index into the vertex pool established by repeated calls to add_vertex().
The vertices may be listed in either clockwise or counterclockwise order. Vertices should not be repeated.

addPolygonVertex
void Triangulator::add_polygon_vertex(int index);

Description: Adds the next consecutive vertex of the polygon. This vertex should index into the vertex pool established by repeated calls to add_vertex().
The vertices may be listed in either clockwise or counterclockwise order. Vertices should not be repeated. In particular, do not repeat the first vertex at the end.

addVertex
int Triangulator::add_vertex(LPoint2d const &point);

Description: Adds a new vertex to the vertex pool. Returns the vertex index number.

beginHole
void Triangulator::begin_hole(void);

Description: Finishes the previous hole, if any, and prepares to add a new hole.

clear
void Triangulator::clear(void);

Description: Removes all vertices and polygon specifications from the Triangulator, and prepares it to start over.

clearPolygon
void Triangulator::clear_polygon(void);

Description: Removes the current polygon definition (and its set of holes), but does not clear the vertex pool.

getNumTriangles
int Triangulator::get_num_triangles(void) const;

Description: Returns the number of triangles generated by the previous call to triangulate().

getNumVertices
int Triangulator::get_num_vertices(void) const;

Description: Returns the number of vertices in the pool. Note that the Triangulator might append new vertices, in addition to those added by the user, if any of the polygon is self-intersecting, or if any of the holes intersect some part of the polygon edges.

getTriangleV0
int Triangulator::get_triangle_v0(int n) const;

Description: Returns vertex 0 of the nth triangle generated by the previous call to triangulate().
This is a zero-based index into the vertices added by repeated calls to add_vertex().

getTriangleV1
int Triangulator::get_triangle_v1(int n) const;

Description: Returns vertex 1 of the nth triangle generated by the previous call to triangulate().
This is a zero-based index into the vertices added by repeated calls to add_vertex().

getTriangleV2
int Triangulator::get_triangle_v2(int n) const;

Description: Returns vertex 2 of the nth triangle generated by the previous call to triangulate().
This is a zero-based index into the vertices added by repeated calls to add_vertex().

getVertex
LPoint2d const &Triangulator::get_vertex(int n) const;

Description: Returns the nth vertex.

isLeftWinding
bool Triangulator::is_left_winding(void) const;

Description: Returns true if the polygon vertices are listed in counterclockwise order, or false if they appear to be listed in clockwise order.

triangulate
void Triangulator::triangulate(void);

Description: Does the work of triangulating the specified polygon. After this call, you may retrieve the new triangles one at a time by iterating through get_triangle_v0/1/2().


TrueClock

    from pandac.PandaModules import TrueClock
    Class : TrueClock
    Description : An interface to whatever real-time clock we might have available in the current environment. There is only one TrueClock in existence, and it constructs itself.
    The TrueClock returns elapsed real time in seconds since some undefined epoch. Since it is not defined at what time precisely the clock indicates zero, this value can only be meaningfully used to measure elapsed time, by sampling it at two different times and subtracting.

Inheritance:

    TrueClock:

Methods of TrueClock:

    getErrorCount
    getGlobalPtr
    getLongTime
    getShortRawTime
    getShortTime
    setCpuAffinity
getErrorCount
int TrueClock::get_error_count(void) const;

Description: Returns the number of clock errors that have been detected. Each time a clock error is detected, in which the value returned by either of the above methods is suspect, the value returned by this method will be incremented. Applications can monitor this value and react, for instance, by resynchronizing their clocks each time this value changes.

getGlobalPtr
static TrueClock *TrueClock::get_global_ptr(void);

Description: Returns a pointer to the one TrueClock object in the world.

getLongTime
double TrueClock::get_long_time(void);

get_long_time() returns the most accurate timer we have over a long interval. It may not be very precise for measuring short intervals, but it should not drift substantially over the long haul.
Description:

getShortRawTime
double TrueClock::get_short_raw_time(void);

get_short_raw_time() is like get_short_time(), but does not apply any corrections (e.g. paranoid-clock) to the result returned by the OS.
Description:

getShortTime
double TrueClock::get_short_time(void);

get_short_time() returns the most precise timer we have over a short interval. It may tend to drift over the long haul, but it should have lots of digits to measure short intervals very precisely.
Description:

setCpuAffinity
bool TrueClock::set_cpu_affinity(unsigned int mask) const;

Undocumented function.


TwoDWalker

    from direct.controls.TwoDWalker import TwoDWalker
    The TwoDWalker is primarily for a 2D Scroller game environment. Eg - Toon Blitz minigame. TODO: This class is still work in progress. Currently Toon Blitz is using this only for jumping. Moving the Toon left to right is handled by toontown/src/minigame/TwoDDrive.py. I eventually want this class to control all the 2 D movements, possibly with a customizable input list.

Inheritance:

    TwoDWalker:

Methods of TwoDWalker:

    __init__
    handleAvatarControls
    jumpPressed
__init__
def __init__(self, gravity=-32.1740, standableGround=0.707, hardLandingForce=16.0)

Undocumented function.

handleAvatarControls
def handleAvatarControls(self, task)

Check on the arrow keys and update the avatar.

jumpPressed
def jumpPressed(self)

This function should be called from TwoDDrive when the jump key is pressed.


TypedObject

    from pandac.PandaModules import TypedObject
    Class : TypedObject
    Description : This is an abstract class that all classes which use TypeHandle, and also provide virtual functions to support polymorphism, should inherit from. Each derived class should define get_type(), which should return the specific type of the derived class. Inheriting from this automatically provides support for is_of_type() and is_exact_type().
    All classes that inherit directly or indirectly from TypedObject should redefine get_type() and force_init_type(), as shown below. Some classes that do not inherit from TypedObject may still declare TypeHandles for themselves by defining methods called get_class_type() and init_type(). Classes such as these may serve as base classes, but the dynamic type identification system will be limited. Classes that do not inherit from TypedObject need not define the virtual functions get_type() and force_init_type() (or any other virtual functions).
    There is a specific layout for defining the overrides from this class. Keeping the definitions formatted just like these examples will allow someone in the future to use a sed (or similar) script to make global changes, if necessary. Avoid rearranging the braces or the order of the functions unless you're ready to change them in every file all at once.
    What follows are some examples that can be used in new classes that you create.
    ---------------------------------------------------
    In the class definition (.h file)
    public: static TypeHandle get_class_type() { return _type_handle; } static void init_type() { <<<BaseClassOne>>>::init_type(); <<<BaseClassTwo>>>::init_type(); <<<BaseClassN>>>::init_type(); register_type(_type_handle, "<<<ThisClassStringName>>>", <<<BaseClassOne>>>::get_class_type(), <<<BaseClassTwo>>>::get_class_type(), <<<BaseClassN>>>::get_class_type()); } virtual TypeHandle get_type() const { return get_class_type(); } virtual TypeHandle force_init_type() {init_type(); return get_class_type();}
    private: static TypeHandle _type_handle;
    ----------------------
    In the class .cxx file
    TypeHandle <<<ThisClassStringName>>>::_type_handle;
    ----------------------------------------------
    In the class config_<<<PackageName>>>.cxx file
    ConfigureFn(config_<<<PackageName>>>) { <<<ClassOne>>>::init_type(); <<<ClassTwo>>>::init_type(); <<<ClassN>>>::init_type(); }

Inheritance:

    TypedObject: MemoryBase
    MemoryBase:

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


TypedReferenceCount

    from pandac.PandaModules import TypedReferenceCount
    Class : TypedReferenceCount
    Description : A base class for things which need to inherit from both TypedObject and from ReferenceCount. It's convenient to define this intermediate base class instead of multiply inheriting from the two classes each time they are needed, so that we can sensibly pass around pointers to things which are both TypedObjects and ReferenceCounters.
    See also TypedObject for detailed instructions.

Inheritance:

    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


TypedSkel

    from pandac.PandaModules import TypedSkel
    Class : TypedSkel
    Description : Skeleton object that inherits from TypedObject. Stores an integer, and will return it on request.
    The skeleton classes are intended to help you learn how to add C++ classes to panda. See also the manual, "Adding C++ Classes to Panda."

Inheritance:

    TypedSkel: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of TypedSkel:

    TypedSkel (Constructor)
    getClassType
    getValue
    getValueAlt
    setValue
    setValueAlt

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
TypedSkel
TypedSkel::TypedSkel(void);

Filename: typedSkel.I Created by: jyelon (31Jan07)
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."
Description:

getClassType
static TypeHandle TypedSkel::get_class_type(void);

Undocumented function.

getValue
int TypedSkel::get_value(void);

These inline functions allow you to get and set _value.
Description: Retreives a value that was previously stored.

getValueAlt
int TypedSkel::get_value_alt(void);

These do the same thing as the functions above.
Description: Retreives a value that was previously stored. Exact same functionality as get_value, except that this isn't an inline function.

setValue
void TypedSkel::set_value(int n);

These inline functions allow you to get and set _value.
Description: Stores an integer value.

setValueAlt
void TypedSkel::set_value_alt(int n);

These do the same thing as the functions above.
Description: Stores an integer value. Exact same functionality as set_value, except that this isn't an inline function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


TypedWritable

    from pandac.PandaModules import TypedWritable
    Class : TypedWritable
    Description : Base class for objects that can be written to and read from Bam files.
    See also TypedObject for detailed instructions.

Inheritance:

    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


TypedWritableReferenceCount

    from pandac.PandaModules import TypedWritableReferenceCount
    Class : TypedWritableReferenceCount
    Description : A base class for things which need to inherit from both TypedWritable and from ReferenceCount. It's convenient to define this intermediate base class instead of multiply inheriting from the two classes each time they are needed, so that we can sensibly pass around pointers to things which are both TypedWritables and ReferenceCounters.
    See also TypedObject for detailed instructions.

Inheritance:

    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


TypeFilter

    from direct.pyinst.tocfilter import TypeFilter
    A filter for resource types. TypeFilter(typlist, include=0) where typlist is a subset of ['a','b','d','m','p','s','x','z']

Inheritance:

    TypeFilter:

Methods of TypeFilter:

    __init__
__init__
def __init__(self, typlist, include=0)

Undocumented function.


TypeHandle

    from pandac.PandaModules import TypeHandle
    Class : TypeHandle
    Description : TypeHandle is the identifier used to differentiate C++ class types. Any C++ classes that inherit from some base class, and must be differentiated at run time, should store a static TypeHandle object that can be queried through a static member function named get_class_type(). Most of the time, it is also desirable to inherit from TypedObject, which provides some virtual functions to return the TypeHandle for a particular instance.
    At its essence, a TypeHandle is simply a unique identifier that is assigned by the TypeRegistry. The TypeRegistry stores a tree of TypeHandles, so that ancestry of a particular type may be queried, and the type name may be retrieved for run-time display.

Inheritance:

    TypeHandle:

Methods of TypeHandle:

    TypeHandle (Constructor)
    compareTo
    decMemoryUsage
    getBestParentFromSet
    getChildClass
    getHash
    getIndex
    getMemoryUsage
    getName
    getNumChildClasses
    getNumParentClasses
    getParentClass
    getParentTowards
    incMemoryUsage
    isDerivedFrom
    none
    operator !=
    operator <
    operator <=
    operator ==
    operator >
    operator >=
    output

Constants in TypeHandle:

    MCSingleton | (MemoryClass)
MCArray | (MemoryClass)
MCDeletedChainActive | (MemoryClass)
MCDeletedChainInactive | (MemoryClass)
MCLimit | (MemoryClass)
TypeHandle
TypeHandle::TypeHandle(void);

Description: The default constructor must do nothing, because we can't guarantee ordering of static initializers. If the constructor tried to initialize its value, it might happen after the value had already been set previously by another static initializer!
Description:

compareTo
int TypeHandle::compare_to(TypeHandle const &other) const;

Description: Sorts TypeHandles arbitrarily (according to <, >, etc.). Returns a number less than 0 if this type sorts before the other one, greater than zero if it sorts after, 0 if they are equivalent.

decMemoryUsage
void TypeHandle::dec_memory_usage(TypeHandle::MemoryClass memory_class, int size);

Undocumented function.

getBestParentFromSet
int TypeHandle::get_best_parent_from_Set(set< int > const &legal_vals) const;

Description: Return the Index of the BEst fit Classs from a set

getChildClass
TypeHandle TypeHandle::get_child_class(int index) const;

Description: Returns the nth child class of this type. The index should be in the range 0 <= index < get_num_child_classes().

getHash
unsigned int TypeHandle::get_hash(void) const;

Description: Returns a hash code suitable for phash_map.

getIndex
int TypeHandle::get_index(void) const;

Description: Returns the integer index associated with this TypeHandle. Each different TypeHandle will have a different index. However, you probably shouldn't be using this method; you should just treat the TypeHandles as opaque classes. This is provided for the convenience of non-C++ scripting languages to build a hashtable of TypeHandles.

getMemoryUsage
int TypeHandle::get_memory_usage(TypeHandle::MemoryClass memory_class) const;

Undocumented function.

getName
string TypeHandle::get_name(TypedObject *object = ((TypedObject *)((void *)(0)))) const;

Description: Returns the name of the type.
The "object" pointer is an optional pointer to the TypedObject class that owns this TypeHandle. It is only used in case the TypeHandle is inadvertantly undefined.

getNumChildClasses
int TypeHandle::get_num_child_classes(TypedObject *object = ((TypedObject *)((void *)(0)))) const;

Description: Returns the number of child classes that this type is known to have. This may then be used to index into get_child_class().
The "object" pointer is an optional pointer to the TypedObject class that owns this TypeHandle. It is only used in case the TypeHandle is inadvertantly undefined.

getNumParentClasses
int TypeHandle::get_num_parent_classes(TypedObject *object = ((TypedObject *)((void *)(0)))) const;

Description: Returns the number of parent classes that this type is known to have. This may then be used to index into get_parent_class(). The result will be 0 if this class does not inherit from any other classes, 1 if normal, single inheritance is in effect, or greater than one if multiple inheritance is in effect.
The "object" pointer is an optional pointer to the TypedObject class that owns this TypeHandle. It is only used in case the TypeHandle is inadvertantly undefined.

getParentClass
TypeHandle TypeHandle::get_parent_class(int index) const;

Description: Returns the nth parent class of this type. The index should be in the range 0 <= index < get_num_parent_classes().

getParentTowards
TypeHandle TypeHandle::get_parent_towards(TypeHandle ancestor, TypedObject *object = ((TypedObject *)((void *)(0)))) const;

Description: Returns the parent class that is in a direct line of inheritance to the indicated ancestor class. This is useful in the presence of multiple inheritance to try to determine what properties an unknown type may have.
The return value is TypeHandle::none() if the type does not inherit from the ancestor. If ancestor is the same as this type, the return value is this type.
The "object" pointer is an optional pointer to the TypedObject class that owns this TypeHandle. It is only used in case the TypeHandle is inadvertantly undefined.

incMemoryUsage
void TypeHandle::inc_memory_usage(TypeHandle::MemoryClass memory_class, int size);

Undocumented function.

isDerivedFrom
bool TypeHandle::is_derived_from(TypeHandle parent, TypedObject *object = ((TypedObject *)((void *)(0)))) const;

Description: Returns true if this type is derived from the indicated type, false otherwise.
The "object" pointer is an optional pointer to the TypedObject class that owns this TypeHandle. It is only used in case the TypeHandle is inadvertantly undefined.

none
static TypeHandle TypeHandle::none(void);

Description: Returns a special zero-valued TypeHandle that is used to indicate no type.

operator !=
bool TypeHandle::operator !=(TypeHandle const &other) const;

Description:

operator <
bool TypeHandle::operator <(TypeHandle const &other) const;

Description:

operator <=
bool TypeHandle::operator <=(TypeHandle const &other) const;

Description:

operator ==
bool TypeHandle::operator ==(TypeHandle const &other) const;

Description:

operator >
bool TypeHandle::operator >(TypeHandle const &other) const;

Description:

operator >=
bool TypeHandle::operator >=(TypeHandle const &other) const;

Description:

output
void TypeHandle::output(ostream &out) const;

Description:


TypeRegistry

    from pandac.PandaModules import TypeRegistry
    Class : TypeRegistry
    Description : The TypeRegistry class maintains all the assigned TypeHandles in a given system. There should be only one TypeRegistry class during the lifetime of the application. It will be created on the local heap initially, and it should be migrated to shared memory as soon as shared memory becomes available.

Inheritance:

    TypeRegistry: MemoryBase
    MemoryBase:

Methods of TypeRegistry:

    findType
    getChildClass
    getName
    getNumChildClasses
    getNumParentClasses
    getNumRootClasses
    getNumTypehandles
    getParentClass
    getParentTowards
    getRootClass
    getTypehandle
    isDerivedFrom
    ptr
    reregisterTypes
    write
findType
TypeHandle TypeRegistry::find_type(string const &name) const;

Undocumented function.

getChildClass
TypeHandle TypeRegistry::get_child_class(TypeHandle child, int index) const;

Undocumented function.

getName
string TypeRegistry::get_name(TypeHandle type, TypedObject *object) const;

Undocumented function.

getNumChildClasses
int TypeRegistry::get_num_child_classes(TypeHandle child, TypedObject *child_object) const;

Undocumented function.

getNumParentClasses
int TypeRegistry::get_num_parent_classes(TypeHandle child, TypedObject *child_object) const;

Undocumented function.

getNumRootClasses
int TypeRegistry::get_num_root_classes(void);

Undocumented function.

getNumTypehandles
int TypeRegistry::get_num_typehandles(void);

Undocumented function.

getParentClass
TypeHandle TypeRegistry::get_parent_class(TypeHandle child, int index) const;

Undocumented function.

getParentTowards
TypeHandle TypeRegistry::get_parent_towards(TypeHandle child, TypeHandle base, TypedObject *child_object);

Undocumented function.

getRootClass
TypeHandle TypeRegistry::get_root_class(int n);

Undocumented function.

getTypehandle
TypeHandle TypeRegistry::get_typehandle(int n);

Undocumented function.

isDerivedFrom
bool TypeRegistry::is_derived_from(TypeHandle child, TypeHandle base, TypedObject *child_object);

Undocumented function.

ptr
static TypeRegistry *TypeRegistry::ptr(void);

ptr() returns the pointer to the global TypeRegistry object.

reregisterTypes
static void TypeRegistry::reregister_types(void);

Undocumented function.

write
void TypeRegistry::write(ostream &out) const;

Undocumented function.


UniqueIdAllocator

    from pandac.PandaModules import UniqueIdAllocator
    Class : UniqueIdAllocator
    Description : Manage a set of ID values from min to max inclusive. The ID numbers that are freed will be allocated (reused) in the same order. I.e. the oldest ID numbers will be allocated.
    This implementation will use 4 bytes per id number, plus a few bytes of management data. e.g. 10,000 ID numbers will use 40KB.
    Also be advised that ID -1 and -2 are used internally by the allocator. If allocate returns IndexEnd (-1) then the allocator is out of free ID numbers.
    There are other implementations that can better leverage runs of used or unused IDs or use bit arrays for the IDs. But, it takes extra work to track the age of freed IDs, which is required for what we wanted. If you would like to kick around other implementation ideas, please contact Schuyler.

Inheritance:

    UniqueIdAllocator:

Methods of UniqueIdAllocator:

    UniqueIdAllocator (Constructor)
    allocate
    fractionUsed
    free
    initialReserveId
    output
    write
UniqueIdAllocator
UniqueIdAllocator::UniqueIdAllocator(unsigned int min = (0), unsigned int max = (20));

Description: Create a free id pool in the range [min:max].

allocate
unsigned int UniqueIdAllocator::allocate(void);

Description: Returns an id between _min and _max (that were passed to the constructor). IndexEnd is returned if no ids are available.

fractionUsed
float UniqueIdAllocator::fraction_used(void) const;

Description: return the decimal fraction of the pool that is used. The range is 0 to 1.0 (e.g. 75% would be 0.75).

free
void UniqueIdAllocator::free(unsigned int index);

Description: Free an allocated index (index must be between _min and _max that were passed to the constructor).

initialReserveId
void UniqueIdAllocator::initial_reserve_id(unsigned int id);

Description: This may be called to mark a particular id as having already been allocated (for instance, by a prior pass). The specified id is removed from the available pool.
Because of the limitations of this algorithm, this is most efficient when it is called before the first call to allocate(), and when all the calls to initial_reserve_id() are made in descending order by id. However, this is a performance warning only; if performance is not an issue, any id may be reserved at any time.

output
void UniqueIdAllocator::output(ostream &out) const;

Description: ...intended for debugging only.

write
void UniqueIdAllocator::write(ostream &out) const;

Description: ...intended for debugging only.


UpdateSeq

    from pandac.PandaModules import UpdateSeq
    Class : UpdateSeq
    Description : This is a sequence number that increments monotonically. It can be used to track cache updates, or serve as a kind of timestamp for any changing properties.
    A special class is used instead of simply an int, so we can elegantly handle such things as wraparound and special cases. There are two special cases. Firstly, a sequence number is 'initial' when it is first created. This sequence is older than any other sequence number. Secondly, a sequence number may be explicitly set to 'old'. This is older than any other sequence number except 'initial'. Finally, we have the explicit number 'fresh', which is newer than any other sequence number. All other sequences are numeric and are monotonically increasing.

Inheritance:

    UpdateSeq:

Methods of UpdateSeq:

    UpdateSeq (Constructor)
    clear
    fresh
    initial
    isFresh
    isInitial
    isOld
    isSpecial
    old
    operator !=
    operator ++
    operator ++
    operator <
    operator <=
    operator =
    operator ==
    operator >
    operator >=
    output
UpdateSeq
UpdateSeq::UpdateSeq(void);

Description: Creates an UpdateSeq in the 'initial' state.
Description:

clear
void UpdateSeq::clear(void);

Description: Resets the UpdateSeq to the 'initial' state.

fresh
static UpdateSeq UpdateSeq::fresh(void);

Description: Returns an UpdateSeq in the 'fresh' state.

initial
static UpdateSeq UpdateSeq::initial(void);

Description: Returns an UpdateSeq in the 'initial' state.

isFresh
bool UpdateSeq::is_fresh(void) const;

Description: Returns true if the UpdateSeq is in the 'fresh' state.

isInitial
bool UpdateSeq::is_initial(void) const;

Description: Returns true if the UpdateSeq is in the 'initial' state.

isOld
bool UpdateSeq::is_old(void) const;

Description: Returns true if the UpdateSeq is in the 'old' state.

isSpecial
bool UpdateSeq::is_special(void) const;

Description: Returns true if the UpdateSeq is in any special states, i.e. 'initial', 'old', or 'fresh'.

old
static UpdateSeq UpdateSeq::old(void);

Description: Returns an UpdateSeq in the 'old' state.

operator !=
bool UpdateSeq::operator !=(UpdateSeq const &other) const;

Description:

operator ++
UpdateSeq UpdateSeq::operator ++(int );

Description:

operator ++
UpdateSeq UpdateSeq::operator ++(int );

Description:

operator <
bool UpdateSeq::operator <(UpdateSeq const &other) const;

Description:

operator <=
bool UpdateSeq::operator <=(UpdateSeq const &other) const;

Description:

operator =
UpdateSeq &UpdateSeq::operator =(UpdateSeq const &copy);

Description:

operator ==
bool UpdateSeq::operator ==(UpdateSeq const &other) const;

Description:

operator >
bool UpdateSeq::operator >(UpdateSeq const &other) const;

Description:

operator >=
bool UpdateSeq::operator >=(UpdateSeq const &other) const;

Description:

output
void UpdateSeq::output(ostream &out) const;

Description:


URLSpec

    from pandac.PandaModules import URLSpec
    Class : URLSpec
    Description : A container for a URL, e.g. "http://server:port/path".
    The URLSpec object is similar to a Filename in that it contains logic to identify the various parts of a URL and return (or modify) them separately.

Inheritance:

    URLSpec:

Methods of URLSpec:

    URLSpec (Constructor)
    compareTo
    cStr
    empty
    getAuthority
    getPath
    getPathAndQuery
    getPort
    getPortStr
    getQuery
    getScheme
    getServer
    getServerAndPort
    getUrl
    getUsername
    hasAuthority
    hasPath
    hasPort
    hasQuery
    hasScheme
    hasServer
    hasUsername
    input
    isSsl
    length
    operator !=
    operator <
    operator =
    operator ==
    operator []
    output
    quote
    quotePlus
    setAuthority
    setPath
    setPort
    setQuery
    setScheme
    setServer
    setServerAndPort
    setUrl
    setUsername
    unquote
    unquotePlus
URLSpec
URLSpec::URLSpec(void);

Description:

compareTo
int URLSpec::compare_to(URLSpec const &other) const;

Description: Returns a number less than zero if this URLSpec sorts before the other one, greater than zero if it sorts after, or zero if they are equivalent.

cStr
char const *URLSpec::c_str(void) const;

Description:

empty
bool URLSpec::empty(void) const;

Description:

getAuthority
string URLSpec::get_authority(void) const;

Description: Returns the authority specified by the URL (this includes username, server, and/or port), or empty string if no authority is specified.

getPath
string URLSpec::get_path(void) const;

Description: Returns the path specified by the URL, or "/" if no path is specified.

getPathAndQuery
string URLSpec::get_path_and_query(void) const;

Description: Returns the path (or "/" if no path is specified), followed by the query if it is specified.

getPort
int URLSpec::get_port(void) const;

Description: Returns the port number specified by the URL, or the default port if not specified.

getPortStr
string URLSpec::get_port_str(void) const;

Description: Returns the port specified by the URL as a string, or the empty string if no port is specified. Compare this with get_port(), which returns a default port number if no port is specified.

getQuery
string URLSpec::get_query(void) const;

Description: Returns the query specified by the URL, or empty string if no query is specified.

getScheme
string URLSpec::get_scheme(void) const;

Description: Returns the scheme specified by the URL, or empty string if no scheme is specified.

getServer
string URLSpec::get_server(void) const;

Description: Returns the server name specified by the URL, if any.

getServerAndPort
string URLSpec::get_server_and_port(void) const;

Description: Returns a string consisting of the server name, followed by a colon, followed by the port number. If the port number is not explicitly given in the URL, this string will include the implicit port number.

getUrl
string const &URLSpec::get_url(void) const;

Description: Returns the complete URL specification.

getUsername
string URLSpec::get_username(void) const;

Description: Returns the username specified by the URL, if any. This might also include a password, e.g. "username:password", although putting a password on the URL is probably a bad idea.

hasAuthority
bool URLSpec::has_authority(void) const;

Description: Returns true if the URL specifies an authority (this includes username, server, and/or port), false otherwise.

hasPath
bool URLSpec::has_path(void) const;

Description: Returns true if the URL includes a path specification (that is, the particular filename on the server to retrieve), false otherwise.

hasPort
bool URLSpec::has_port(void) const;

Description: Returns true if the URL specifies a port number, false otherwise.

hasQuery
bool URLSpec::has_query(void) const;

Description: Returns true if the URL includes a query specification, false otherwise.

hasScheme
bool URLSpec::has_scheme(void) const;

Description: Returns true if the URL specifies a scheme (e.g. "http:"), false otherwise.

hasServer
bool URLSpec::has_server(void) const;

Description: Returns true if the URL specifies a server name, false otherwise.

hasUsername
bool URLSpec::has_username(void) const;

Description: Returns true if the URL specifies a username (and/or password), false otherwise.

input
bool URLSpec::input(istream &in);

Description:

isSsl
bool URLSpec::is_ssl(void) const;

Description: Returns true if the URL's scheme specifies an SSL-secured protocol such as https, or false otherwise.

length
unsigned int URLSpec::length(void) const;

Description:

operator !=
bool URLSpec::operator !=(URLSpec const &other) const;

Description:

operator <
bool URLSpec::operator <(URLSpec const &other) const;

Description:

operator =
void URLSpec::operator =(string const &url);

Description:

operator ==
bool URLSpec::operator ==(URLSpec const &other) const;

Description:

operator []
char URLSpec::operator [](int n) const;

Description:

output
void URLSpec::output(ostream &out) const;

Description:

quote
static string URLSpec::quote(string const &source, string const &safe = ("/"));

Description: Returns the source string with all "unsafe" characters quoted, making a string suitable for placing in a URL. Letters, digits, and the underscore, comma, period, and hyphen characters, as well as any included in the safe string, are left alone; all others are converted to hex representation.

quotePlus
static string URLSpec::quote_plus(string const &source, string const &safe = ("/"));

Description: Behaves like quote() with the additional behavior of replacing spaces with plus signs.

setAuthority
void URLSpec::set_authority(string const &authority);

Description: Replaces the authority part of the URL specification. This includes the username, server, and port.

setPath
void URLSpec::set_path(string const &path);

Description: Replaces the path part of the URL specification.

setPort
void URLSpec::set_port(string const &port);

Description: Replaces the port part of the URL specification.
Description: Replaces the port part of the URL specification, given a numeric port number.

setQuery
void URLSpec::set_query(string const &query);

Description: Replaces the query part of the URL specification.

setScheme
void URLSpec::set_scheme(string const &scheme);

Description: Replaces the scheme part of the URL specification.

setServer
void URLSpec::set_server(string const &server);

Description: Replaces the server part of the URL specification.

setServerAndPort
void URLSpec::set_server_and_port(string const &server_and_port);

Description: Replaces the server and port parts of the URL specification simultaneously. The input string should be of the form "server:port", or just "server" to make the port number implicit.

setUrl
void URLSpec::set_url(string const &url, bool server_name_expected = (0));

Description: Completely replaces the URL with the indicated string. If server_name_expected is true, it is a hint that an undecorated URL is probably a server name, not a local filename.

setUsername
void URLSpec::set_username(string const &username);

Description: Replaces the username part of the URL specification.

unquote
static string URLSpec::unquote(string const &source);

Description: Reverses the operation of quote(): converts escaped characters of the form "%xx" to their ascii equivalent.

unquotePlus
static string URLSpec::unquote_plus(string const &source);

Description: Reverses the operation of quote_plus(): converts escaped characters of the form "%xx" to their ascii equivalent, and also converts plus signs to spaces.


UserDataAudio

    from pandac.PandaModules import UserDataAudio
    Class : UserDataAudio
    Description : A UserDataAudio is a way for the user to manually supply raw audio samples.

Inheritance:

    UserDataAudio: MovieAudio
    MovieAudio: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of UserDataAudio:

    UserDataAudio (Constructor)
    append
    done
    getClassType
    open

Methods of MovieAudio:

    MovieAudio (Constructor)
    get
    getClassType
    getFilename
    open

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
UserDataAudio
UserDataAudio::UserDataAudio(int rate, int channels);

Description: This constructor returns a UserDataAudio --- a means to supply raw audio samples manually.

append
void UserDataAudio::append(short int *data, int n);

Description: Appends audio samples to the buffer.
Description: Appends audio samples to the buffer from a datagram. This is intended to make it easy to send streaming raw audio over a network.
Description: Appends audio samples to the buffer from a string. The samples must be stored little-endian in the string. This is not particularly efficient, but it may be convenient to deal with samples in python.

done
void UserDataAudio::done(void);

Description: Promises not to append any more samples, ie, this marks the end of the audio stream.

getClassType
static TypeHandle UserDataAudio::get_class_type(void);

Undocumented function.

open
virtual PointerTo< MovieAudioCursor > UserDataAudio::open(void);

Description: Open this audio, returning a UserDataAudioCursor. A UserDataAudio can only be opened by one consumer at a time.

MovieAudio
MovieAudio::MovieAudio(string const &name = ("Blank Audio"));

Description: This constructor returns a null audio stream --- a stream of total silence, at 8000 samples per second. To get more interesting audio, you need to construct a subclass of this class.

get
static PointerTo< MovieAudio > MovieAudio::get(Filename const &name);

Description: Obtains a MovieAudio that references a file.

getClassType
static TypeHandle MovieAudio::get_class_type(void);

Undocumented function.

getFilename
Filename const &MovieAudio::get_filename(void) const;

Filename: movieAudio.I Created by: jyelon (02Jul07)
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."
Description: Returns the movie's filename. A movie is not guaranteed to have a filename, if not, then this function returns a null filename.

open
virtual PointerTo< MovieAudioCursor > MovieAudio::open(void);

Description: Open this audio, returning a MovieAudioCursor

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


UserDataAudioCursor

    from pandac.PandaModules import UserDataAudioCursor
    Class : UserDataAudioCursor
    Description : A UserDataAudioCursor is a means to manually supply a sequence of raw audio samples.

Inheritance:

    UserDataAudioCursor: MovieAudioCursor
    MovieAudioCursor: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of UserDataAudioCursor:

    UserDataAudioCursor (Constructor)
    getClassType

Methods of MovieAudioCursor:

    MovieAudioCursor (Constructor)
    aborted
    audioChannels
    audioRate
    canSeek
    canSeekFast
    getClassType
    getSource
    length
    readSamples
    ready
    seek
    skipSamples
    tell

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
UserDataAudioCursor
UserDataAudioCursor::UserDataAudioCursor(UserDataAudio *src);

Description:

getClassType
static TypeHandle UserDataAudioCursor::get_class_type(void);

Undocumented function.

MovieAudioCursor
MovieAudioCursor::MovieAudioCursor(MovieAudio *src);

Description: This constructor returns a null audio stream --- a stream of total silence, at 8000 samples per second. To get more interesting audio, you need to construct a subclass of this class.

aborted
bool MovieAudioCursor::aborted(void) const;

Description: If aborted is true, it means that the "ready" samples are not being replenished. See the method "ready" for an explanation.

audioChannels
int MovieAudioCursor::audio_channels(void) const;

Description: Returns the number of audio channels (ie, two for stereo, one for mono).

audioRate
int MovieAudioCursor::audio_rate(void) const;

Description: Returns the audio sample rate.

canSeek
bool MovieAudioCursor::can_seek(void) const;

Description: Returns true if the movie can seek. If this is true, seeking is still not guaranteed to be fast: for some movies, seeking is implemented by rewinding to the beginning and then fast-forwarding to the desired location. Even if the movie cannot seek, the seek method can still advance to an arbitrary location by reading samples and discarding them. However, to move backward, can_seek must return true.

canSeekFast
bool MovieAudioCursor::can_seek_fast(void) const;

Description: Returns true if seek operations are constant time.

getClassType
static TypeHandle MovieAudioCursor::get_class_type(void);

Undocumented function.

getSource
PointerTo< MovieAudio > MovieAudioCursor::get_source(void) const;

Filename: movieAudioCursor.I Created by: jyelon (02Jul07)
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."
Description: Returns the MovieAudio which this cursor references.

length
double MovieAudioCursor::length(void) const;

Description: Returns the length of the movie. Attempting to read audio samples beyond the specified length will produce silent samples.
Some kinds of Movie, such as internet TV station, might not have a predictable length. In that case, the length will be set to a very large number: 1.0E10.
Some AVI files have incorrect length values encoded into them - they may be a second or two long or short. When playing such an AVI using the Movie class, you may see a slightly truncated video, or a slightly elongated video (padded with black frames). There are utilities out there to fix the length values in AVI files.
An audio consumer needs to check the length, the ready status, and the aborted flag.

readSamples
void MovieAudioCursor::read_samples(int n, Datagram *dg);

Description: Read audio samples from the stream. N is the number of samples you wish to read. Your buffer must be equal in size to N * channels. Multiple-channel audio will be interleaved.
Description: Read audio samples from the stream into a Datagram. N is the number of samples you wish to read. Multiple-channel audio will be interleaved.
This is not particularly efficient, but it may be a convenient way to manipulate samples in python.
Description: Read audio samples from the stream and returns them as a string. The samples are stored little-endian in the string. N is the number of samples you wish to read. Multiple-channel audio will be interleaved.

ready
virtual int MovieAudioCursor::ready(void) const;

Description: Returns the number of audio samples that are ready to read. This is primarily relevant for sources like microphones which produce samples at a fixed rate. If you try to read more samples than are ready, the result will be silent samples.
Some audio streams do not have a limit on how fast they can produce samples. Such streams will always return 0x40000000 as the ready-count. This may well exceed the length of the audio stream. You therefore need to check length separately.
If the aborted flag is set, that means the ready count is no longer being replenished. For example, a MovieAudioCursor might be reading from an internet radio station, and it might buffer data to avoid underruns. If it loses connection to the radio station, it will set the aborted flag to indicate that the buffer is no longer being replenished. But it is still ok to read the samples that are in the buffer, at least until they run out. Once those are gone, there will be no more.
An audio consumer needs to check the length, the ready status, and the aborted flag.

seek
virtual void MovieAudioCursor::seek(double offset);

Description: Skips to the specified offset within the file.
If the movie reports that it cannot seek, then this method can still advance by reading samples and discarding them. However, to move backward, can_seek must be true.
If the movie reports that it can_seek, it doesn't mean that it can do so quickly. It may have to rewind the movie and then fast forward to the desired location. Only if can_seek_fast returns true can seek operations be done in constant time.
Seeking may not be precise, because AVI files often have inaccurate indices. After seeking, tell will indicate that the cursor is at the target location. However, in truth, the data you read may come from a slightly offset location.

skipSamples
void MovieAudioCursor::skip_samples(int n);

Description: Skip audio samples from the stream. This is mostly for debugging purposes.

tell
double MovieAudioCursor::tell(void) const;

Description: Returns the current offset within the file.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


UserVertexSlider

    from pandac.PandaModules import UserVertexSlider
    Class : UserVertexSlider
    Description : This is a specialization on VertexSlider that allows the user to specify any arbitrary slider valie he likes. This is rarely used except for testing.

Inheritance:

    UserVertexSlider: VertexSlider
    VertexSlider: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of UserVertexSlider:

    UserVertexSlider (Constructor)
    getClassType
    setSlider

Methods of VertexSlider:

    getClassType
    getModified
    getName
    getSlider
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
UserVertexSlider
UserVertexSlider::UserVertexSlider(string const &name);

Description:

getClassType
static TypeHandle UserVertexSlider::get_class_type(void);

Undocumented function.

setSlider
void UserVertexSlider::set_slider(float slider);

Description: Stores the indicated slider value.

getClassType
static TypeHandle VertexSlider::get_class_type(void);

Undocumented function.

getModified
UpdateSeq VertexSlider::get_modified(Thread *current_thread) const;

Description: Returns a sequence number that's guaranteed to change at least every time the value reported by get_slider() changes.

getName
InternalName const *VertexSlider::get_name(void) const;

Description: Returns the name of this particular slider. Every unique blend shape within a particular Geom must be identified with a different name, which is shared by the slider that controls it.

getSlider
virtual float VertexSlider::get_slider(void) const = 0;

Undocumented function.

output
virtual void VertexSlider::output(ostream &out) const;

Description:

write
virtual void VertexSlider::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


UserVertexTransform

    from pandac.PandaModules import UserVertexTransform
    Class : UserVertexTransform
    Description : This is a specialization on VertexTransform that allows the user to specify any arbitrary transform matrix he likes. This is rarely used except for testing.

Inheritance:

    UserVertexTransform: VertexTransform
    VertexTransform: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of UserVertexTransform:

    UserVertexTransform (Constructor)
    getClassType
    getName
    setMatrix

Methods of VertexTransform:

    accumulateMatrix
    getClassType
    getGlobalModified
    getMatrix
    getModified
    getNextModified
    multMatrix
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
UserVertexTransform
UserVertexTransform::UserVertexTransform(string const &name);

Description:

getClassType
static TypeHandle UserVertexTransform::get_class_type(void);

Undocumented function.

getName
string const &UserVertexTransform::get_name(void) const;

Description: Returns the name passed to the constructor. Completely arbitrary.

setMatrix
void UserVertexTransform::set_matrix(LMatrix4f const &matrix);

Description: Stores the indicated matrix.

accumulateMatrix
virtual void VertexTransform::accumulate_matrix(LMatrix4f &accum, float weight) const;

Description: Adds the value of this transform's matrix, modified by the indicated weight, into the indicated accumulation matrix. This is used to compute the result of several blended transforms.

getClassType
static TypeHandle VertexTransform::get_class_type(void);

Undocumented function.

getGlobalModified
static UpdateSeq VertexTransform::get_global_modified(Thread *current_thread);

Description: Returns the currently highest VertexTransform::get_modified() value in the world. This can be used as a quick way to determine if any VertexTransforms have changed value recently.

getMatrix
virtual void VertexTransform::get_matrix(LMatrix4f &matrix) const = 0;

Undocumented function.

getModified
UpdateSeq VertexTransform::get_modified(Thread *current_thread) const;

Description: Returns a sequence number that's guaranteed to change at least every time the value reported by get_matrix() changes.

getNextModified
static UpdateSeq VertexTransform::get_next_modified(Thread *current_thread);

Description: Returns a monotonically increasing sequence. Each time this is called, a new sequence number is returned, higher than the previous value.
This is used to ensure that all VertexTransform::get_modified() calls return an increasing number in the same space, so that TransformBlend::get_modified() is easy to determine. It is similar to Geom::get_modified(), but it is in a different space.

multMatrix
virtual void VertexTransform::mult_matrix(LMatrix4f &result, LMatrix4f const &previous) const;

Description: Premultiplies this transform's matrix with the indicated previous matrix, so that the result is the net composition of the given transform with this transform. The result is stored in the parameter "result", which should not be the same matrix as previous.

output
virtual void VertexTransform::output(ostream &out) const;

Description:

write
virtual void VertexTransform::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Valuator

    from direct.tkwidgets.Valuator import Valuator

Inheritance:

    Valuator:

Methods of Valuator:

    __init__
    _mouseDown
    _mouseUp
    _popupPropertiesDialog
    _popupValuatorMenu
    _postCallback
    _preCallback
    addPropertyToDialog
    addValuatorMenuEntries
    addValuatorPropertiesToDialog
    createValuator
    get
    mouseReset
    packValuator
    reset
    set
    setEntry
    setEntryFormat
    setLabel
    setState
    validateEntryInput
    zero
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

_mouseDown
def _mouseDown(self)

Function to execute at start of mouse interaction

_mouseUp
def _mouseUp(self)

Function to execute at end of mouse interaction

_popupPropertiesDialog
def _popupPropertiesDialog(self)

Undocumented function.

_popupValuatorMenu
def _popupValuatorMenu(self, event)

Undocumented function.

_postCallback
def _postCallback(self)

Undocumented function.

_preCallback
def _preCallback(self)

Undocumented function.

addPropertyToDialog
def addPropertyToDialog(self, property, pDict)

Undocumented function.

addValuatorMenuEntries
def addValuatorMenuEntries(self)

Function used by subclass to add menu entries to popup menu

addValuatorPropertiesToDialog
def addValuatorPropertiesToDialog(self)

Function used by subclass to add properties to property dialog

createValuator
def createValuator(self)

Function used by subclass to create valuator geometry

get
def get(self)

Return current widget value

mouseReset
def mouseReset(self, event)

Reset valuator to resetValue

packValuator
def packValuator(self)

Function used by subclass to pack widget

reset
def reset(self)

self.reset() Reset valuator to reset value

set
def set(self, value, fCommand=1)

Update widget's value by setting valuator, which will in turn update the entry. fCommand flag (which is passed to the valuator as commandData, which is then passed in turn to self.setEntry) controls command execution.

setEntry
def setEntry(self, value, fCommand=1)

Update value displayed in entry, fCommand flag controls command execution

setEntryFormat
def setEntryFormat(self)

Change the number of significant digits in entry

setLabel
def setLabel(self)

Update label's text

setState
def setState(self)

Enable/disable widget

validateEntryInput
def validateEntryInput(self, event)

Check validity of entry and if valid pass along to valuator

zero
def zero(self)

self.zero() Set valuator to zero


ValuatorGroup

    from direct.tkwidgets.Valuator import ValuatorGroup

Inheritance:

    ValuatorGroup:

Methods of ValuatorGroup:

    __init__
    __len__
    __repr__
    _postCallback
    _preCallback
    _setNumDigits
    _updateLabels
    _valuatorSetAt
    get
    getAt
    set
    setAt
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

__repr__
def __repr__(self)

Undocumented function.

_postCallback
def _postCallback(self, valGroup)

Undocumented function.

_preCallback
def _preCallback(self, valGroup)

Undocumented function.

_setNumDigits
def _setNumDigits(self)

Undocumented function.

_updateLabels
def _updateLabels(self)

Undocumented function.

_valuatorSetAt
def _valuatorSetAt(self, index, value)

Undocumented function.

get
def get(self)

Undocumented function.

getAt
def getAt(self, index)

Undocumented function.

set
def set(self, value, fCommand=1)

Undocumented function.

setAt
def setAt(self, index, value)

Undocumented function.


ValuatorGroupPanel

    from direct.tkwidgets.Valuator import ValuatorGroupPanel

Inheritance:

    ValuatorGroupPanel:

Methods of ValuatorGroupPanel:

    __init__
    _setCallbackData
    _setCommand
    _setNumDigits
    _setPostCallback
    _setPreCallback
    _updateLabels
    reset
    toggleBalloon
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

_setCallbackData
def _setCallbackData(self)

Undocumented function.

_setCommand
def _setCommand(self)

Undocumented function.

_setNumDigits
def _setNumDigits(self)

Undocumented function.

_setPostCallback
def _setPostCallback(self)

Undocumented function.

_setPreCallback
def _setPreCallback(self)

Undocumented function.

_updateLabels
def _updateLabels(self)

Undocumented function.

reset
def reset(self)

Undocumented function.

toggleBalloon
def toggleBalloon(self)

Undocumented function.


Vector2Entry

    from direct.tkwidgets.VectorWidgets import Vector2Entry

Inheritance:

    Vector2Entry:

Methods of Vector2Entry:

    __init__
__init__
def __init__(self, parent=None, **kw)

Undocumented function.


Vector3Entry

    from direct.tkwidgets.VectorWidgets import Vector3Entry

Inheritance:

    Vector3Entry:

Methods of Vector3Entry:

    __init__
__init__
def __init__(self, parent=None, **kw)

Undocumented function.


Vector4Entry

    from direct.tkwidgets.VectorWidgets import Vector4Entry

Inheritance:

    Vector4Entry:

Methods of Vector4Entry:

    __init__
__init__
def __init__(self, parent=None, **kw)

Undocumented function.


VectorEntry

    from direct.tkwidgets.VectorWidgets import VectorEntry

Inheritance:

    VectorEntry:

Methods of VectorEntry:

    __init__
    _clearFloaters
    _entryUpdateAt
    _refreshEntry
    _refreshFloaters
    _setSigDigits
    _setState
    _updateBorderWidth
    _updateEntryWidth
    _updateRelief
    _updateText
    _updateValidate
    action
    addMenuItem
    entry
    entryList
    floaters
    get
    getAt
    label
    menu
    popupSliders
    reset
    set
    setAt
__init__
def __init__(self, parent=None, **kw)

Undocumented function.

_clearFloaters
def _clearFloaters(self)

Undocumented function.

_entryUpdateAt
def _entryUpdateAt(self, index)

Undocumented function.

_refreshEntry
def _refreshEntry(self, index)

Undocumented function.

_refreshFloaters
def _refreshFloaters(self)

Undocumented function.

_setSigDigits
def _setSigDigits(self)

Undocumented function.

_setState
def _setState(self)

Undocumented function.

_updateBorderWidth
def _updateBorderWidth(self)

Undocumented function.

_updateEntryWidth
def _updateEntryWidth(self)

Undocumented function.

_updateRelief
def _updateRelief(self)

Undocumented function.

_updateText
def _updateText(self)

Undocumented function.

_updateValidate
def _updateValidate(self)

Undocumented function.

action
def action(self, fCommand=1)

Undocumented function.

addMenuItem
def addMenuItem(self, label='', command=None)

Undocumented function.

entry
def entry(self, index)

Undocumented function.

entryList
def entryList(self)

Undocumented function.

floaters
def floaters(self)

Undocumented function.

get
def get(self)

Undocumented function.

getAt
def getAt(self, index)

Undocumented function.

label
def label(self)

Undocumented function.

menu
def menu(self)

Undocumented function.

popupSliders
def popupSliders(self)

Undocumented function.

reset
def reset(self)

Undocumented function.

set
def set(self, value, fCommand=1)

Undocumented function.

setAt
def setAt(self, index, value, fCommand=1)

Undocumented function.


VertexBufferContext

    from pandac.PandaModules import VertexBufferContext
    Class : VertexBufferContext
    Description : This is a special class object that holds all the information returned by a particular GSG to indicate the vertex data array's internal context identifier.
    This allows the GSG to cache the vertex data array in whatever way makes sense. For instance, DirectX can allocate a vertex buffer for the array. OpenGL can create a buffer object.

Inheritance:

    VertexBufferContext: BufferContext
    BufferContext: SavedContext
    SavedContext: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of VertexBufferContext:

    changedSize
    changedUsageHint
    getClassType
    getData
    wasModified

Methods of BufferContext:

    getClassType
    getDataSizeBytes
    getModified

Methods of SavedContext:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
changedSize
bool VertexBufferContext::changed_size(GeomVertexArrayDataHandle const *reader) const;

Description: Returns true if the data has changed size since the last time mark_loaded() was called.

changedUsageHint
bool VertexBufferContext::changed_usage_hint(GeomVertexArrayDataHandle const *reader) const;

Description: Returns true if the data has changed its usage hint since the last time mark_loaded() was called.

getClassType
static TypeHandle VertexBufferContext::get_class_type(void);

Undocumented function.

getData
GeomVertexArrayData *VertexBufferContext::get_data(void) const;

Description: Returns the pointer to the client-side array data object.

wasModified
bool VertexBufferContext::was_modified(GeomVertexArrayDataHandle const *reader) const;

Description: Returns true if the data has been modified since the last time mark_loaded() was called.

getClassType
static TypeHandle BufferContext::get_class_type(void);

Undocumented function.

getDataSizeBytes
unsigned int BufferContext::get_data_size_bytes(void) const;

Description: Returns the number of bytes previously reported for the data object. This is used to track changes in the data object's allocated size; if it changes from this, we need to create a new buffer. This is also used to track memory utilization in PStats.

getModified
UpdateSeq BufferContext::get_modified(void) const;

Description: Returns the UpdateSeq that was recorded the last time mark_loaded() was called.

getClassType
static TypeHandle SavedContext::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


VertexDataBlock

    from pandac.PandaModules import VertexDataBlock
    Class : VertexDataBlock
    Description : A block of bytes that stores the actual raw vertex data referenced by a GeomVertexArrayData object.

Inheritance:

    VertexDataBlock: SimpleAllocatorBlock ReferenceCount
    SimpleAllocatorBlock: LinkedListNode
    LinkedListNode:
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of VertexDataBlock:

    getNextBlock
    getPage

Methods of SimpleAllocatorBlock:

    free
    getAllocator
    getMaxSize
    getNextBlock
    getSize
    getStart
    isFree
    output
    realloc

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getNextBlock
VertexDataBlock *VertexDataBlock::get_next_block(void) const;

Description: Returns a pointer to the next allocated block in the chain, or NULL if there are no more allocated blocks.

getPage
VertexDataPage *VertexDataBlock::get_page(void) const;

Description: Returns the page from which this buffer was allocated.

free
void SimpleAllocatorBlock::free(void);

Description: Releases the allocated space.

getAllocator
SimpleAllocator *SimpleAllocatorBlock::get_allocator(void) const;

Description: Returns the SimpleAllocator object that owns this block. Returns NULL if the block has been freed.

getMaxSize
unsigned int SimpleAllocatorBlock::get_max_size(void) const;

Description: Returns the maximum size this block can be reallocated to, as limited by the following block.

getNextBlock
SimpleAllocatorBlock *SimpleAllocatorBlock::get_next_block(void) const;

Description: Returns a pointer to the next allocated block in the chain, or NULL if there are no more allocated blocks.

getSize
unsigned int SimpleAllocatorBlock::get_size(void) const;

Description: Returns the size of this block. It is an error to call this if the block has been freed.

getStart
unsigned int SimpleAllocatorBlock::get_start(void) const;

Description: Returns the starting point of this block. It is an error to call this if the block has been freed.

isFree
bool SimpleAllocatorBlock::is_free(void) const;

Description: Returns true if the block has been freed, false if it is still valid.

output
void SimpleAllocatorBlock::output(ostream &out) const;

Description:

realloc
bool SimpleAllocatorBlock::realloc(unsigned int size);

Description: Changes the size of this block to the specified size. Returns true if the change is accepted, false if there was not enough room.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


VertexDataBook

    from pandac.PandaModules import VertexDataBook
    Class : VertexDataBook
    Description : A collection of VertexDataPages, which can be used to allocate new VertexDataBlock objects.

Inheritance:

    VertexDataBook:

Methods of VertexDataBook:

    VertexDataBook (Constructor)
    alloc
    countAllocatedSize
    countTotalPageSize
    getNumPages
    saveToDisk
VertexDataBook
VertexDataBook::VertexDataBook(unsigned int block_size);

Description:

alloc
VertexDataBlock *VertexDataBook::alloc(unsigned int size);

Description: Allocates and returns a new VertexDataBuffer of the requested size.

countAllocatedSize
unsigned int VertexDataBook::count_allocated_size(void) const;

Description: Returns the total size of all bytes allocated within pages owned by this book.
Description: Returns the total size of all bytes allocated within pages owned by this book that have the indicated ram class.

countTotalPageSize
unsigned int VertexDataBook::count_total_page_size(void) const;

Description: Returns the total size of all bytes owned by all pages owned by this book.
Description: Returns the total size of all bytes owned by all pages owned by this book that have the indicated ram class.

getNumPages
int VertexDataBook::get_num_pages(void) const;

Description: Returns the number of pages created for the book.

saveToDisk
void VertexDataBook::save_to_disk(void);

Description: Writes all pages to disk immediately, just in case they get evicted later. It makes sense to make this call just before taking down a loading screen, to minimize chugs from saving pages inadvertently later.


VertexDataPage

    from pandac.PandaModules import VertexDataPage
    Class : VertexDataPage
    Description : A block of bytes that holds one or more VertexDataBlocks. The entire page may be paged out, in the form of in-memory compression or to an on-disk cache file, if necessary.

Inheritance:

    VertexDataPage: SimpleAllocator SimpleLruPage
    SimpleAllocator: LinkedListNode
    LinkedListNode:
    SimpleLruPage: LinkedListNode

Methods of VertexDataPage:

    alloc
    flushThreads
    getBook
    getClassType
    getFirstBlock
    getGlobalLru
    getNumPendingReads
    getNumPendingWrites
    getNumThreads
    getPendingLru
    getPendingRamClass
    getRamClass
    getSaveFile
    requestResident
    saveToDisk
    stopThreads

Methods of SimpleAllocator:

    SimpleAllocator (Constructor)
    alloc
    getContiguous
    getFirstBlock
    getMaxSize
    getTotalSize
    isEmpty
    output
    setMaxSize
    write

Methods of SimpleLruPage:

    SimpleLruPage (Constructor)
    dequeueLru
    enqueueLru
    evictLru
    getLru
    getLruSize
    markUsedLru
    operator =
    setLruSize

Constants in VertexDataPage:

    RCResident | (RamClass)
RCCompressed | (RamClass)
RCDisk | (RamClass)
RCEndOfList | (RamClass)
alloc
VertexDataBlock *VertexDataPage::alloc(unsigned int size);

Description: Allocates a new block. Returns NULL if a block of the requested size cannot be allocated.
To free the allocated block, call block->free(), or simply delete the block pointer.

flushThreads
static void VertexDataPage::flush_threads(void);

Description: Waits for all of the pending thread tasks to finish before returning.

getBook
VertexDataBook *VertexDataPage::get_book(void) const;

Description: Returns a pointer to the book that owns this page.

getClassType
static TypeHandle VertexDataPage::get_class_type(void);

Undocumented function.

getFirstBlock
VertexDataBlock *VertexDataPage::get_first_block(void) const;

Description: Returns a pointer to the first allocated block, or NULL if there are no allocated blocks.

getGlobalLru
static SimpleLru *VertexDataPage::get_global_lru(VertexDataPage::RamClass rclass);

Description: Returns a pointer to the global LRU object that manages the VertexDataPage's with the indicated RamClass.

getNumPendingReads
static int VertexDataPage::get_num_pending_reads(void);

Description: Returns the number of read requests that are waiting to be serviced by a thread.

getNumPendingWrites
static int VertexDataPage::get_num_pending_writes(void);

Description: Returns the number of write requests that are waiting to be serviced by a thread.

getNumThreads
static int VertexDataPage::get_num_threads(void);

Description: Returns the number of threads that have been spawned to service vertex paging requests, or 0 if no threads have been spawned (which may mean either that all paging requests will be handled by the main thread, or simply that no paging requests have yet been issued).

getPendingLru
static SimpleLru *VertexDataPage::get_pending_lru(void);

Description: Returns a pointer to the global LRU object that manages the VertexDataPage's that are pending processing by the thread.

getPendingRamClass
VertexDataPage::RamClass VertexDataPage::get_pending_ram_class(void) const;

Description: Returns the pending ram class of the array. If this is different from get_ram_class(), this page has been queued to be processed by the thread. Eventually the page will be set to this ram class.

getRamClass
VertexDataPage::RamClass VertexDataPage::get_ram_class(void) const;

Description: Returns the current ram class of the array. If this is other than RC_resident, the array data is not resident in memory.

getSaveFile
static VertexDataSaveFile *VertexDataPage::get_save_file(void);

Description: Returns the global VertexDataSaveFile that will be used to save vertex data buffers to disk when necessary.

requestResident
void VertexDataPage::request_resident(void);

Description: Ensures that the page will become resident soon. Future calls to get_page_data() will eventually return non-NULL.

saveToDisk
bool VertexDataPage::save_to_disk(void);

Description: Writes the page to disk, but does not evict it from memory or affect its LRU status. If it gets evicted later without having been modified, it will not need to write itself to disk again.

stopThreads
static void VertexDataPage::stop_threads(void);

Description: Call this to stop the paging threads, if they were started. This may block until all of the pending tasks have been completed.

SimpleAllocator
SimpleAllocator::SimpleAllocator(unsigned int max_size, Mutex &lock);

Description:

alloc
SimpleAllocatorBlock *SimpleAllocator::alloc(unsigned int size);

Description: Allocates a new block. Returns NULL if a block of the requested size cannot be allocated.
To free the allocated block, call block->free(), or simply delete the block pointer.

getContiguous
unsigned int SimpleAllocator::get_contiguous(void) const;

Description: Returns an upper-bound estimate of the size of the largest contiguous block that may be allocated. It is guaranteed that an attempt to allocate a block larger than this will fail, though it is not guaranteed that an attempt to allocate a block this size or smaller will succeed.

getFirstBlock
SimpleAllocatorBlock *SimpleAllocator::get_first_block(void) const;

Description: Returns a pointer to the first allocated block, or NULL if there are no allocated blocks.

getMaxSize
unsigned int SimpleAllocator::get_max_size(void) const;

Description: Returns the available space for allocated objects.

getTotalSize
unsigned int SimpleAllocator::get_total_size(void) const;

Description: Returns the total size of allocated objects.

isEmpty
bool SimpleAllocator::is_empty(void) const;

Description: Returns true if there are no blocks allocated on this page, or false if there is at least one.

output
void SimpleAllocator::output(ostream &out) const;

Description:

setMaxSize
void SimpleAllocator::set_max_size(unsigned int max_size);

Description: Changes the available space for allocated objects. This will not affect any already-allocated objects, but will have an effect on future calls to alloc().

write
void SimpleAllocator::write(ostream &out) const;

Description:

SimpleLruPage
SimpleLruPage::SimpleLruPage(unsigned int lru_size);

Description:

dequeueLru
void SimpleLruPage::dequeue_lru(void);

Description: Removes the page from its SimpleLru.

enqueueLru
void SimpleLruPage::enqueue_lru(SimpleLru *lru);

Description: Adds the page to the tail of the SimpleLru. When it reaches the head, it will be the next to be evicted.

evictLru
virtual void SimpleLruPage::evict_lru(void);

Description: Evicts the page from the LRU. Called internally when the LRU determines that it is full. May also be called externally when necessary to explicitly evict the page.
It is legal for this method to either evict the page as requested, do nothing (in which case the eviction will be requested again at the next epoch), or requeue itself on the tail of the queue (in which case the eviction will be requested again much later).

getLru
SimpleLru *SimpleLruPage::get_lru(void) const;

Description: Returns the LRU that manages this page, or NULL if it is not currently managed by any LRU.

getLruSize
unsigned int SimpleLruPage::get_lru_size(void) const;

Description: Returns the size of this page as reported to the LRU, presumably in bytes.

markUsedLru
void SimpleLruPage::mark_used_lru(void) const;

Description: To be called when the page is used; this will move it to the tail of the SimpleLru queue it is already on.
This method is const because it's not technically modifying the contents of the page itself.
Description: To be called when the page is used; this will move it to the tail of the specified SimpleLru queue.

operator =
void SimpleLruPage::operator =(SimpleLruPage const &copy);

Description:

setLruSize
void SimpleLruPage::set_lru_size(unsigned int lru_size);

Description: Specifies the size of this page, presumably in bytes, although any unit is possible.


VertexDataSaveFile

    from pandac.PandaModules import VertexDataSaveFile
    Class : VertexDataSaveFile
    Description : A temporary file to hold the vertex data that has been evicted from memory and written to disk. All vertex data arrays are written into one large flat file.

Inheritance:

    VertexDataSaveFile: SimpleAllocator
    SimpleAllocator: LinkedListNode
    LinkedListNode:

Methods of VertexDataSaveFile:

    getTotalFileSize
    getUsedFileSize
    isValid

Methods of SimpleAllocator:

    SimpleAllocator (Constructor)
    alloc
    getContiguous
    getFirstBlock
    getMaxSize
    getTotalSize
    isEmpty
    output
    setMaxSize
    write
getTotalFileSize
unsigned int VertexDataSaveFile::get_total_file_size(void) const;

Description: Returns the amount of space consumed by the save file, including unused portions.

getUsedFileSize
unsigned int VertexDataSaveFile::get_used_file_size(void) const;

Description: Returns the amount of space within the save file that is currently in use.

isValid
bool VertexDataSaveFile::is_valid(void) const;

Description: Returns true if the save file was successfully created and is ready for use, false if there was an error.

SimpleAllocator
SimpleAllocator::SimpleAllocator(unsigned int max_size, Mutex &lock);

Description:

alloc
SimpleAllocatorBlock *SimpleAllocator::alloc(unsigned int size);

Description: Allocates a new block. Returns NULL if a block of the requested size cannot be allocated.
To free the allocated block, call block->free(), or simply delete the block pointer.

getContiguous
unsigned int SimpleAllocator::get_contiguous(void) const;

Description: Returns an upper-bound estimate of the size of the largest contiguous block that may be allocated. It is guaranteed that an attempt to allocate a block larger than this will fail, though it is not guaranteed that an attempt to allocate a block this size or smaller will succeed.

getFirstBlock
SimpleAllocatorBlock *SimpleAllocator::get_first_block(void) const;

Description: Returns a pointer to the first allocated block, or NULL if there are no allocated blocks.

getMaxSize
unsigned int SimpleAllocator::get_max_size(void) const;

Description: Returns the available space for allocated objects.

getTotalSize
unsigned int SimpleAllocator::get_total_size(void) const;

Description: Returns the total size of allocated objects.

isEmpty
bool SimpleAllocator::is_empty(void) const;

Description: Returns true if there are no blocks allocated on this page, or false if there is at least one.

output
void SimpleAllocator::output(ostream &out) const;

Description:

setMaxSize
void SimpleAllocator::set_max_size(unsigned int max_size);

Description: Changes the available space for allocated objects. This will not affect any already-allocated objects, but will have an effect on future calls to alloc().

write
void SimpleAllocator::write(ostream &out) const;

Description:


VertexSlider

    from pandac.PandaModules import VertexSlider
    Class : VertexSlider
    Description : This is an abstract base class that retains some slider value, which is a linear value that typically ranges from 0.0 to 1.0, and is used to control the animation of morphs (blend shapes).
    It is similar to VertexTransform, which keeps a full 4x4 transform matrix, but the VertexSlider only keeps a single float value.

Inheritance:

    VertexSlider: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of VertexSlider:

    getClassType
    getModified
    getName
    getSlider
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle VertexSlider::get_class_type(void);

Undocumented function.

getModified
UpdateSeq VertexSlider::get_modified(Thread *current_thread) const;

Description: Returns a sequence number that's guaranteed to change at least every time the value reported by get_slider() changes.

getName
InternalName const *VertexSlider::get_name(void) const;

Description: Returns the name of this particular slider. Every unique blend shape within a particular Geom must be identified with a different name, which is shared by the slider that controls it.

getSlider
virtual float VertexSlider::get_slider(void) const = 0;

Undocumented function.

output
virtual void VertexSlider::output(ostream &out) const;

Description:

write
virtual void VertexSlider::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


VertexTransform

    from pandac.PandaModules import VertexTransform
    Class : VertexTransform
    Description : This is an abstract base class that holds a pointer to some transform, computed in some arbitrary way, that is to be applied to vertices during rendering. This is used to implement soft-skinned and animated vertices. Derived classes will define how the transform is actually computed.

Inheritance:

    VertexTransform: TypedWritableReferenceCount
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of VertexTransform:

    accumulateMatrix
    getClassType
    getGlobalModified
    getMatrix
    getModified
    getNextModified
    multMatrix
    output
    write

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
accumulateMatrix
virtual void VertexTransform::accumulate_matrix(LMatrix4f &accum, float weight) const;

Description: Adds the value of this transform's matrix, modified by the indicated weight, into the indicated accumulation matrix. This is used to compute the result of several blended transforms.

getClassType
static TypeHandle VertexTransform::get_class_type(void);

Undocumented function.

getGlobalModified
static UpdateSeq VertexTransform::get_global_modified(Thread *current_thread);

Description: Returns the currently highest VertexTransform::get_modified() value in the world. This can be used as a quick way to determine if any VertexTransforms have changed value recently.

getMatrix
virtual void VertexTransform::get_matrix(LMatrix4f &matrix) const = 0;

Undocumented function.

getModified
UpdateSeq VertexTransform::get_modified(Thread *current_thread) const;

Description: Returns a sequence number that's guaranteed to change at least every time the value reported by get_matrix() changes.

getNextModified
static UpdateSeq VertexTransform::get_next_modified(Thread *current_thread);

Description: Returns a monotonically increasing sequence. Each time this is called, a new sequence number is returned, higher than the previous value.
This is used to ensure that all VertexTransform::get_modified() calls return an increasing number in the same space, so that TransformBlend::get_modified() is easy to determine. It is similar to Geom::get_modified(), but it is in a different space.

multMatrix
virtual void VertexTransform::mult_matrix(LMatrix4f &result, LMatrix4f const &previous) const;

Description: Premultiplies this transform's matrix with the indicated previous matrix, so that the result is the net composition of the given transform with this transform. The result is stored in the parameter "result", which should not be the same matrix as previous.

output
virtual void VertexTransform::output(ostream &out) const;

Description:

write
virtual void VertexTransform::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


VideoTexture

    from pandac.PandaModules import VideoTexture
    Class : VideoTexture
    Description : The base class for a family of animated Textures that take their input from a video source, such as a movie file. These Textures may be stopped, started, etc. using the AnimInterface controls, similar to an animated character.

Inheritance:

    VideoTexture: Texture AnimInterface
    Texture: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:
    AnimInterface:

Methods of VideoTexture:

    getClassType
    getKeepRamImage
    getTexScale
    getVideoHeight
    getVideoWidth
    hasRamImage

Methods of Texture:

    Texture (Constructor)
    clear
    clearAlphaFilename
    clearAlphaFullpath
    clearAuxData
    clearFilename
    clearFullpath
    clearRamImage
    clearRamMipmapImage
    clearRamMipmapImages
    estimateTextureMemory
    generateAlphaScaleMap
    generateNormalizationCubeMap
    generateRamMipmapImages
    getAlphaFilename
    getAlphaFullpath
    getAnisotropicDegree
    getAuxData
    getBorderColor
    getClassType
    getComponentType
    getComponentWidth
    getCompression
    getExpectedMipmapXSize
    getExpectedMipmapYSize
    getExpectedMipmapZSize
    getExpectedNumMipmapLevels
    getExpectedRamImageSize
    getExpectedRamMipmapImageSize
    getExpectedRamMipmapPageSize
    getExpectedRamPageSize
    getFilename
    getFormat
    getFullpath
    getImageModified
    getKeepRamImage
    getLoadedFromImage
    getLoadedFromTxo
    getMagfilter
    getMatchFramebufferFormat
    getMinfilter
    getNumComponents
    getNumRamMipmapImages
    getPadXSize
    getPadYSize
    getPadZSize
    getPropertiesModified
    getQualityLevel
    getRamImage
    getRamImageCompression
    getRamImageSize
    getRamMipmapImage
    getRamMipmapImageSize
    getRamMipmapPageSize
    getRamPageSize
    getRenderToTexture
    getTexturesPower2
    getTextureType
    getWrapU
    getWrapV
    getWrapW
    getXSize
    getYSize
    getZSize
    hasAllRamMipmapImages
    hasAlphaFilename
    hasAlphaFullpath
    hasFilename
    hasFullpath
    hasRamImage
    hasRamMipmapImage
    haveTexturesPower2
    isMipmap
    isPrepared
    load
    loadRelated
    makeCopy
    makeRamImage
    makeRamMipmapImage
    mightHaveRamImage
    modifyRamImage
    modifyRamMipmapImage
    prepare
    prepareNow
    read
    readTxo
    release
    releaseAll
    reload
    setAlphaFilename
    setAlphaFullpath
    setAnisotropicDegree
    setAuxData
    setBorderColor
    setComponentType
    setCompression
    setFilename
    setFormat
    setFullpath
    setKeepRamImage
    setLoadedFromImage
    setLoadedFromTxo
    setMagfilter
    setMatchFramebufferFormat
    setMinfilter
    setPadSize
    setQualityLevel
    setRamImage
    setRamMipmapImage
    setRenderToTexture
    setSizePadded
    setTexturesPower2
    setup1dTexture
    setup2dTexture
    setup3dTexture
    setupCubeMap
    setupTexture
    setWrapU
    setWrapV
    setWrapW
    setXSize
    setYSize
    setZSize
    store
    usesMipmaps
    write
    writeTxo

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of AnimInterface:

    getClassType
    getFrac
    getFrame
    getFrameRate
    getFullFframe
    getFullFrame
    getNextFrame
    getNumFrames
    getPlayRate
    isPlaying
    loop
    output
    pingpong
    play
    pose
    setPlayRate
    stop

Constants in Texture:

    TT1dTexture | (TextureType)
TT2dTexture | (TextureType)
TT3dTexture | (TextureType)
TTCubeMap | (TextureType)
TUnsignedByte | (ComponentType)
TUnsignedShort | (ComponentType)
TFloat | (ComponentType)
FDepthStencil | (Format)
FDepthComponent | (Format)
FColorIndex | (Format)
FRed | (Format)
FGreen | (Format)
FBlue | (Format)
FAlpha | (Format)
FRgb | (Format)
FRgb5 | (Format)
FRgb8 | (Format)
FRgb12 | (Format)
FRgb332 | (Format)
FRgba | (Format)
FRgbm | (Format)
FRgba4 | (Format)
FRgba5 | (Format)
FRgba8 | (Format)
FRgba12 | (Format)
FLuminance | (Format)
FLuminanceAlpha | (Format)
FLuminanceAlphamask | (Format)
FRgba16 | (Format)
FRgba32 | (Format)
FTNearest | (FilterType)
FTLinear | (FilterType)
FTNearestMipmapNearest | (FilterType)
FTLinearMipmapNearest | (FilterType)
FTNearestMipmapLinear | (FilterType)
FTLinearMipmapLinear | (FilterType)
FTShadow | (FilterType)
FTDefault | (FilterType)
FTInvalid | (FilterType)
WMClamp | (WrapMode)
WMRepeat | (WrapMode)
WMMirror | (WrapMode)
WMMirrorOnce | (WrapMode)
WMBorderColor | (WrapMode)
WMInvalid | (WrapMode)
CMDefault | (CompressionMode)
CMOff | (CompressionMode)
CMOn | (CompressionMode)
CMFxt1 | (CompressionMode)
CMDxt1 | (CompressionMode)
CMDxt2 | (CompressionMode)
CMDxt3 | (CompressionMode)
CMDxt4 | (CompressionMode)
CMDxt5 | (CompressionMode)
QLDefault | (QualityLevel)
QLFastest | (QualityLevel)
QLNormal | (QualityLevel)
QLBest | (QualityLevel)
getClassType
static TypeHandle VideoTexture::get_class_type(void);

Undocumented function.

getKeepRamImage
virtual bool VideoTexture::get_keep_ram_image(void) const;

Description: Returns the flag that indicates whether this Texture is eligible to have its main RAM copy of the texture memory dumped when the texture is prepared for rendering. See set_keep_ram_image().

getTexScale
LVecBase2f VideoTexture::get_tex_scale(void) const;

Description: Returns a scale pair that is suitable for applying to geometry via NodePath::set_tex_scale(), which will convert texture coordinates on the geometry from the range 0..1 into the appropriate range to render the video part of the texture.
This is necessary in the event the video source is not a power of two and set_power_2() is true. In this case, the video image will be mapped to the lower-left corner of the texture, and the rest of the texture space will be unused; so we will need to remap any texture coordinates to fill the space correctly.

getVideoHeight
int VideoTexture::get_video_height(void) const;

Description: Returns the height in texels of the source video stream. This is not necessarily the height of the actual texture, since the texture may have been expanded to raise it to a power of 2.

getVideoWidth
int VideoTexture::get_video_width(void) const;

Description: Returns the width in texels of the source video stream. This is not necessarily the width of the actual texture, since the texture may have been expanded to raise it to a power of 2.

hasRamImage
virtual bool VideoTexture::has_ram_image(void) const;

Description: Returns true if the Texture has its image contents available in main RAM, false if it exists only in texture memory or in the prepared GSG context.

Texture
Texture::Texture(string const &name = ((string())));

Description: Constructs an empty texture. The default is to set up the texture as an empty 2-d texture; follow up with one of the variants of setup_texture() if this is not what you want.
Description: Use Texture::make_copy() to make a duplicate copy of an existing Texture.

clear
virtual void Texture::clear(void);

Description: Reinitializes the texture to its default, empty state.

clearAlphaFilename
void Texture::clear_alpha_filename(void);

Description: Removes the alpha filename, if it was previously set. See set_alpha_filename().

clearAlphaFullpath
void Texture::clear_alpha_fullpath(void);

Description: Removes the alpha fullpath, if it was previously set. See set_alpha_fullpath().

clearAuxData
void Texture::clear_aux_data(string const &key);

Description: Removes a record previously recorded via set_aux_data().

clearFilename
void Texture::clear_filename(void);

These are published, but in general, you shouldn't be mucking with these values; they are set automatically when a texture is loaded.
Description: Removes the alpha filename, if it was previously set. See set_filename().

clearFullpath
void Texture::clear_fullpath(void);

Description: Removes the alpha fullpath, if it was previously set. See set_fullpath().

clearRamImage
void Texture::clear_ram_image(void);

Description: Discards the current system-RAM image.

clearRamMipmapImage
void Texture::clear_ram_mipmap_image(int n);

Description: Discards the current system-RAM image for the nth mipmap level.

clearRamMipmapImages
void Texture::clear_ram_mipmap_images(void);

Description: Discards the current system-RAM image for all mipmap levels, except level 0 (the base image).

estimateTextureMemory
unsigned int Texture::estimate_texture_memory(void) const;

Description: Estimates the amount of texture memory that will be consumed by loading this texture. This returns a value that is not specific to any particular graphics card or driver; it tries to make a reasonable assumption about how a driver will load the texture. It does not account for texture compression or anything fancy. This is mainly useful for debugging and reporting purposes.
Returns a value in bytes.

generateAlphaScaleMap
void Texture::generate_alpha_scale_map(void);

Description: Generates a special 256x1 1-d texture that can be used to apply an arbitrary alpha scale to objects by judicious use of texture matrix. The texture is a gradient, with an alpha of 0 on the left (U = 0), and 255 on the right (U = 1).

generateNormalizationCubeMap
void Texture::generate_normalization_cube_map(int size);

Description: Generates a special cube map image in the texture that can be used to apply bump mapping effects: for each texel in the cube map that is indexed by the 3-d texture coordinates (x, y, z), the resulting value is the normalized vector (x, y, z) (compressed from
-1..1 into 0..1).

generateRamMipmapImages
void Texture::generate_ram_mipmap_images(void);

Description: Automatically fills in the n mipmap levels of the Texture, based on the texture's source image. This requires the texture's ram image to be available in system memory.
This call is not normally necessary, since the mipmap levels will be generated automatically if needed. But there may be certain cases in which you would like to call this explicitly.

getAlphaFilename
Filename const &Texture::get_alpha_filename(void) const;

Description: Returns the alpha_filename that has been set. If this is set, it represents the name of the alpha component, which is stored in a separate file. See also get_filename(), and get_alpha_fullpath().

getAlphaFullpath
Filename const &Texture::get_alpha_fullpath(void) const;

Description: Returns the alpha_fullpath that has been set. This is the full path to the alpha part of the image file as it was found along the texture search path.

getAnisotropicDegree
int Texture::get_anisotropic_degree(void) const;

Description: Returns the degree of anisotropic filtering that should be applied to the texture. Normally, this is 1, to indicate that anisotropic filtering should be disabled. If this is a number higher than 1, anisotropic filtering should be enabled (if the rendering backend supports it).

getAuxData
TypedReferenceCount *Texture::get_aux_data(string const &key) const;

Description: Returns a record previously recorded via set_aux_data(). Returns NULL if there was no record associated with the indicated key.

getBorderColor
LVecBase4f Texture::get_border_color(void) const;

Description: Returns the solid color of the texture's border. Some OpenGL implementations use a border for tiling textures; in Panda, it is only used for specifying the clamp color.

getClassType
static TypeHandle Texture::get_class_type(void);

Undocumented function.

getComponentType
Texture::ComponentType Texture::get_component_type(void) const;

Description: Returns the numeric interpretation of each component of the texture.

getComponentWidth
int Texture::get_component_width(void) const;

Description: Returns the number of bytes stored for each color component of a texel. Typically this is 1, but it may be 2 for 16-bit texels.

getCompression
Texture::CompressionMode Texture::get_compression(void) const;

Description: Returns the compression mode requested for this particular texture, or CM_off if the texture is not to be compressed.
If a value other than CM_off is returned, this is not a guarantee that the texture is actually successfully compressed on the GSG. It may be that the GSG does not support the requested compression mode, in which case the texture may actually be stored uncompressed in texture memory.

getExpectedMipmapXSize
int Texture::get_expected_mipmap_x_size(int n) const;

Description: Returns the x_size that the nth mipmap level should have, based on the texture's size.

getExpectedMipmapYSize
int Texture::get_expected_mipmap_y_size(int n) const;

Description: Returns the y_size that the nth mipmap level should have, based on the texture's size.

getExpectedMipmapZSize
int Texture::get_expected_mipmap_z_size(int n) const;

Description: Returns the z_size that the nth mipmap level should have, based on the texture's size.

getExpectedNumMipmapLevels
int Texture::get_expected_num_mipmap_levels(void) const;

Description: Returns the number of mipmap levels that should be defined for this texture, given the texture's size.
Note that this returns a number appropriate for mipmapping, even if the texture does not currently have mipmapping enabled.

getExpectedRamImageSize
unsigned int Texture::get_expected_ram_image_size(void) const;

Description: Returns the number of bytes that *ought* to be used by the in-memory image, based on the texture parameters.

getExpectedRamMipmapImageSize
unsigned int Texture::get_expected_ram_mipmap_image_size(int n) const;

Description: Returns the number of bytes that *ought* to be used by the in-memory image for mipmap level n, based on the texture parameters.

getExpectedRamMipmapPageSize
unsigned int Texture::get_expected_ram_mipmap_page_size(int n) const;

Description: Returns the number of bytes that should be used per each Z page of the 3-d texture, for mipmap level n. For a 2-d or 1-d texture, this is the same as get_expected_ram_mipmap_image_size(n).

getExpectedRamPageSize
unsigned int Texture::get_expected_ram_page_size(void) const;

Description: Returns the number of bytes that should be used per each Z page of the 3-d texture. For a 2-d or 1-d texture, this is the same as get_expected_ram_image_size().

getFilename
Filename const &Texture::get_filename(void) const;

Description: Returns the filename that has been set. This is the name of the file as it was requested. Also see get_fullpath().

getFormat
Texture::Format Texture::get_format(void) const;

Description: Returns the format of the texture, which represents both the semantic meaning of the texels and, to some extent, their storage information.

getFullpath
Filename const &Texture::get_fullpath(void) const;

Description: Returns the fullpath that has been set. This is the full path to the file as it was found along the texture search path.

getImageModified
UpdateSeq Texture::get_image_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the texture image data (including mipmap levels) are modified.

getKeepRamImage
virtual bool Texture::get_keep_ram_image(void) const;

Description: Returns the flag that indicates whether this Texture is eligible to have its main RAM copy of the texture memory dumped when the texture is prepared for rendering. See set_keep_ram_image().

getLoadedFromImage
bool Texture::get_loaded_from_image(void) const;

Description: Returns the flag that indicates the texture has been loaded from a disk file or PNMImage. See set_loaded_from_image().

getLoadedFromTxo
bool Texture::get_loaded_from_txo(void) const;

Description: Returns the flag that indicates the texture has been loaded from a txo file.

getMagfilter
Texture::FilterType Texture::get_magfilter(void) const;

Description: Returns the filter mode of the texture for magnification. The mipmap constants are invalid here.

getMatchFramebufferFormat
bool Texture::get_match_framebuffer_format(void) const;

Description: Returns true if the special flag was set that indicates to the GSG that the Texture's format should be chosen to exactly match the framebuffer's format, presumably because the application intends to copy image data from the framebuffer into the Texture (or vice-versa).

getMinfilter
Texture::FilterType Texture::get_minfilter(void) const;

Description: Returns the filter mode of the texture for minification. If this is one of the mipmap constants, then the texture requires mipmaps.

getNumComponents
int Texture::get_num_components(void) const;

Description: Returns the number of color components for each texel of the texture image. This is 3 for an rgb texture or 4 for an rgba texture; it may also be 1 or 2 for a grayscale texture.

getNumRamMipmapImages
int Texture::get_num_ram_mipmap_images(void) const;

Description: Returns the maximum number of mipmap level images available in system memory. The actual number may be less than this; use has_ram_mipmap_image() to verify each level.

getPadXSize
int Texture::get_pad_x_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPadYSize
int Texture::get_pad_y_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPadZSize
int Texture::get_pad_z_size(void) const;

Description: Returns size of the pad region. See set_pad_size.

getPropertiesModified
UpdateSeq Texture::get_properties_modified(void) const;

Description: Returns a sequence number which is guaranteed to change at least every time the texture properties (unrelated to the image) are modified.

getQualityLevel
Texture::QualityLevel Texture::get_quality_level(void) const;

Description: Returns the current quality_level hint. See set_quality_level().

getRamImage
ConstPointerToArray< unsigned char > Texture::get_ram_image(void);

Description: Returns the system-RAM image data associated with the texture. If the texture does not currently have an associated RAM image, and the texture was generated by loading an image from a disk file (the most common case), this forces the reload of the same texture. This can happen if keep_texture_ram is configured to false, and we have previously prepared this texture with a GSG.
Note that it is not correct to call has_ram_image() first to test whether this function will fail. A false return value from has_ram_image() indicates only that get_ram_image() may need to reload the texture from disk, which it will do automatically. However, you can call might_have_ram_image(), which will return true if the ram image exists, or there is a reasonable reason to believe it can be loaded.
On the other hand, it is possible that the texture cannot be found on disk or is otherwise unavailable. If that happens, this function will return NULL. There is no way to predict with 100% accuracy whether get_ram_image() will return NULL without calling it first; might_have_ram_image() is the closest.

getRamImageCompression
Texture::CompressionMode Texture::get_ram_image_compression(void) const;

Description: Returns the compression mode in which the ram image is already stored pre-compressed. If this is other than CM_off, you cannot rely on the contents of the ram image to be anything predicatable (it will not be an array of x by y pixels, and it probably won't have the same length as get_expected_ram_image_size()).

getRamImageSize
unsigned int Texture::get_ram_image_size(void) const;

Description: Returns the number of bytes used by the in-memory image, or 0 if there is no in-memory image.

getRamMipmapImage
ConstPointerToArray< unsigned char > Texture::get_ram_mipmap_image(int n);

Description: Returns the system-RAM image data associated with the nth mipmap level, if present. Returns NULL if the nth mipmap level is not present.

getRamMipmapImageSize
unsigned int Texture::get_ram_mipmap_image_size(int n) const;

Description: Returns the number of bytes used by the in-memory image for mipmap level n, or 0 if there is no in-memory image for this mipmap level.

getRamMipmapPageSize
unsigned int Texture::get_ram_mipmap_page_size(int n) const;

Description: Returns the number of bytes used by the in-memory image per page for mipmap level n, or 0 if there is no in-memory image for this mipmap level.
For a non-compressed texture, this is the same as get_expected_ram_mipmap_page_size(). For a compressed texture, this may be a smaller value. (We do assume that all pages will be the same size on a compressed texture).

getRamPageSize
unsigned int Texture::get_ram_page_size(void) const;

Description: Returns the number of bytes used by the in-memory image per page, or 0 if there is no in-memory image.
For a non-compressed texture, this is the same as get_expected_ram_page_size(). For a compressed texture, this may be a smaller value. (We do assume that all pages will be the same size on a compressed texture).

getRenderToTexture
bool Texture::get_render_to_texture(void) const;

Description:

getTexturesPower2
static AutoTextureScale Texture::get_textures_power_2(void);

Description: This flag returns ATS_none, ATS_up, or ATS_down and controls the scaling of textures. It is initialized from the config variable of the same name, but it can be subsequently adjusted.

getTextureType
Texture::TextureType Texture::get_texture_type(void) const;

Description: Returns the overall interpretation of the texture.

getWrapU
Texture::WrapMode Texture::get_wrap_u(void) const;

Description: Returns the wrap mode of the texture in the U direction.

getWrapV
Texture::WrapMode Texture::get_wrap_v(void) const;

Description: Returns the wrap mode of the texture in the V direction.

getWrapW
Texture::WrapMode Texture::get_wrap_w(void) const;

Description: Returns the wrap mode of the texture in the W direction. This is the depth direction of 3-d textures.

getXSize
int Texture::get_x_size(void) const;

Description: Returns the width of the texture image in texels.

getYSize
int Texture::get_y_size(void) const;

Description: Returns the height of the texture image in texels. For a 1-d texture, this will be 1.

getZSize
int Texture::get_z_size(void) const;

Description: Returns the depth of the texture image in texels. For a 1-d texture or 2-d texture, this will be 1. For a cube map texture, this will be 6.

hasAllRamMipmapImages
bool Texture::has_all_ram_mipmap_images(void) const;

Description: Returns true if all expected mipmap levels have been defined and exist in the system RAM, or false if even one mipmap level is missing.

hasAlphaFilename
bool Texture::has_alpha_filename(void) const;

Description: Returns true if the alpha_filename has been set and is available. See set_alpha_filename().

hasAlphaFullpath
bool Texture::has_alpha_fullpath(void) const;

Description: Returns true if the alpha_fullpath has been set and is available. See set_alpha_fullpath().

hasFilename
bool Texture::has_filename(void) const;

Description: Returns true if the filename has been set and is available. See set_filename().

hasFullpath
bool Texture::has_fullpath(void) const;

Description: Returns true if the fullpath has been set and is available. See set_fullpath().

hasRamImage
virtual bool Texture::has_ram_image(void) const;

Description: Returns true if the Texture has its image contents available in main RAM, false if it exists only in texture memory or in the prepared GSG context.
Note that this has nothing to do with whether get_ram_image() will fail or not. Even if has_ram_image() returns false, get_ram_image() may still return a valid RAM image, because get_ram_image() will automatically load the texture from disk if necessary. The only thing has_ram_image() tells you is whether the texture is available right now without hitting the disk first.
Note also that if an application uses only one GSG, it may appear that has_ram_image() returns true if the texture has not yet been loaded by the GSG, but this correlation is not true in general and should not be depended on. Specifically, if an application ever uses multiple GSG's in its lifetime (for instance, by opening more than one window, or by closing its window and opening another one later), then has_ram_image() may well return false on textures that have never been loaded on the current GSG.

hasRamMipmapImage
bool Texture::has_ram_mipmap_image(int n) const;

Description: Returns true if the Texture has the nth mipmap level available in system memory, false otherwise. If the texture's minfilter mode requires mipmapping (see uses_mipmaps()), and all the texture's mipmap levels are not available when the texture is rendered, they will be generated automatically.

haveTexturesPower2
static bool Texture::have_textures_power_2(void);

Description: If true, then get_textures_power_2 has been set using set_textures_power_2. If false, then get_textures_power_2 simply returns the config variable of the same name.

isMipmap
static bool Texture::is_mipmap(Texture::FilterType type);

Description: Returns true if the indicated filter type requires the use of mipmaps, or false if it does not.

isPrepared
bool Texture::is_prepared(PreparedGraphicsObjects *prepared_objects) const;

Description: Returns true if the texture has already been prepared or enqueued for preparation on the indicated GSG, false otherwise.

load
bool Texture::load(PNMImage const &pnmimage);

Description: Replaces the texture with the indicated image.
Description: Stores the indicated image in the given page and mipmap level. See read().

loadRelated
Texture *Texture::load_related(InternalName const *suffix) const;

Description: Loads a texture whose filename is derived by concatenating a suffix to the filename of this texture. May return NULL, for example, if this texture doesn't have a filename.

makeCopy
virtual PointerTo< Texture > Texture::make_copy(void);

Description: Returns a new copy of the same Texture. This copy, if applied to geometry, will be copied into texture as a separate texture from the original, so it will be duplicated in texture memory (and may be independently modified if desired).
If the Texture is a VideoTexture, the resulting duplicate may be animated independently of the original.

makeRamImage
PointerToArray< unsigned char > Texture::make_ram_image(void);

Description: Discards the current system-RAM image for the texture, if any, and allocates a new buffer of the appropriate size. Returns the new buffer.
This does *not* affect keep_ram_image.

makeRamMipmapImage
PointerToArray< unsigned char > Texture::make_ram_mipmap_image(int n);

Description: Discards the current system-RAM image for the nth mipmap level, if any, and allocates a new buffer of the appropriate size. Returns the new buffer.
This does *not* affect keep_ram_image.

mightHaveRamImage
bool Texture::might_have_ram_image(void) const;

Description: Returns true if the texture's image contents are currently available in main RAM, or there is reason to believe it can be loaded on demand. That is, this function returns a "best guess" as to whether get_ram_image() will succeed without actually calling it first.

modifyRamImage
PointerToArray< unsigned char > Texture::modify_ram_image(void);

Description: Returns a modifiable pointer to the system-RAM image. This assumes the RAM image should be uncompressed. If the RAM image has been dumped, or is stored compressed, creates a new one.
This does *not* affect keep_ram_image.

modifyRamMipmapImage
PointerToArray< unsigned char > Texture::modify_ram_mipmap_image(int n);

Description: Returns a modifiable pointer to the system-RAM image for the nth mipmap level. This assumes the RAM image is uncompressed; if this is not the case, raises an assertion.
This does *not* affect keep_ram_image.

prepare
void Texture::prepare(PreparedGraphicsObjects *prepared_objects);

Description: Indicates that the texture should be enqueued to be prepared in the indicated prepared_objects at the beginning of the next frame. This will ensure the texture is already loaded into texture memory if it is expected to be rendered soon.
Use this function instead of prepare_now() to preload textures from a user interface standpoint.

prepareNow
TextureContext *Texture::prepare_now(PreparedGraphicsObjects *prepared_objects, GraphicsStateGuardianBase *gsg);

Description: Creates a context for the texture on the particular GSG, if it does not already exist. Returns the new (or old) TextureContext. This assumes that the GraphicsStateGuardian is the currently active rendering context and that it is ready to accept new textures. If this is not necessarily the case, you should use prepare() instead.
Normally, this is not called directly except by the GraphicsStateGuardian; a texture does not need to be explicitly prepared by the user before it may be rendered.

read
bool Texture::read(Filename const &fullpath);

Description: Reads the named filename into the texture.
Description: Combine a 3-component image with a grayscale image to get a 4-component image.
See the description of the full-parameter read() method for the meaning of the primary_file_num_channels and alpha_file_channel parameters.
Description: Reads a single file into a single page or mipmap level, or automatically reads a series of files into a series of pages and/or mipmap levels.
See the description of the full-parameter read() method for the meaning of the various parameters.
Description: Reads the texture from the indicated filename. If primary_file_num_channels is not 0, it specifies the number of components to downgrade the image to if it is greater than this number.
If the filename has the extension .txo, this implicitly reads a texture object instead of a filename (which replaces all of the texture properties). In this case, all the rest of the parameters are ignored, and the filename should not contain any hash marks; just the one named file will be read, since a single .txo file can contain all pages and mipmaps necessary to define a texture.
If alpha_fullpath is not empty, it specifies the name of a file from which to retrieve the alpha. In this case, alpha_file_channel represents the numeric channel of this image file to use as the resulting texture's alpha channel; usually, this is 0 to indicate the grayscale combination of r, g, b; or it may be a one-based channel number, e.g. 1 for the red channel, 2 for the green channel, and so on.
If read pages is false, then z indicates the page number into which this image will be assigned. Normally this is 0 for the first (or only) page of the texture. 3-D textures have one page for each level of depth, and cube map textures always have six pages.
If read_pages is true, multiple images will be read at once, one for each page of a cube map or a 3-D texture. In this case, the filename should contain a sequence of one or more hash marks ("#") which will be filled in with the z value of each page, zero-based. In this case, the z parameter indicates the maximum z value that will be loaded, or 0 to load all filenames that exist.
If read_mipmaps is false, then n indicates the mipmap level to which this image will be assigned. Normally this is 0 for the base texture image, but it is possible to load custom mipmap levels into the later images. After the base texture image is loaded (thus defining the size of the texture), you can call get_expected_num_mipmap_levels() to determine the maximum sensible value for n.
If read_mipmaps is true, multiple images will be read as above, but this time the images represent the different mipmap levels of the texture image. In this case, the n parameter indicates the maximum n value that will be loaded, or 0 to load all filenames that exist (up to the expected number of mipmap levels).
If both read_pages and read_mipmaps is true, then both sequences will be read; the filename should contain two sequences of hash marks, separated by some character such as a hyphen, underscore, or dot. The first hash mark sequence will be filled in with the mipmap level, while the second hash mark sequence will be the page index.
This method implicitly sets keep_ram_image to false.

readTxo
bool Texture::read_txo(istream &in, string const &filename = ("stream"));

Description: Reads the texture from a Panda texture object. This defines the complete Texture specification, including the image data as well as all texture properties.
The filename is just for reference.

release
bool Texture::release(PreparedGraphicsObjects *prepared_objects);

Description: Frees the texture context only on the indicated object, if it exists there. Returns true if it was released, false if it had not been prepared.

releaseAll
int Texture::release_all(void);

Description: Frees the context allocated on all objects for which the texture has been declared. Returns the number of contexts which have been freed.

reload
bool Texture::reload(void);

Description: Re-reads the Texture from its disk file. Useful when you know the image on disk has recently changed, and you want to update the Texture image.
Returns true on success, false on failure (in which case, the Texture may or may not still be valid).

setAlphaFilename
void Texture::set_alpha_filename(Filename const &alpha_filename);

Description: Sets the name of the file that contains the image's alpha channel contents. Normally, this is set automatically when the image is loaded, for instance via Texture::read().
The Texture's get_filename() function returns the name of the image file that was loaded into the buffer. In the case where a texture specified two separate files to load, a 1- or 3-channel color image and a 1-channel alpha image, this Filename is update to contain the name of the image file that was loaded into the buffer's alpha channel.

setAlphaFullpath
void Texture::set_alpha_fullpath(Filename const &alpha_fullpath);

Description: Sets the full pathname to the file that contains the image's alpha channel contents, as found along the search path. Normally, this is set automatically when the image is loaded, for instance via
Texture::read().

setAnisotropicDegree
void Texture::set_anisotropic_degree(int anisotropic_degree);

Description: Specifies the level of anisotropic filtering to apply to the texture. Normally, this is 1, to indicate anisotropic filtering is disabled. This may be set to a number higher than one to enable anisotropic filtering, if the rendering backend supports this.

setAuxData
void Texture::set_aux_data(string const &key, TypedReferenceCount *aux_data);

Description: Records an arbitrary object in the Texture, associated with a specified key. The object may later be retrieved by calling get_aux_data() with the same key.
These data objects are not recorded to a bam or txo file.

setBorderColor
void Texture::set_border_color(LVecBase4f const &color);

Description: Specifies the solid color of the texture's border. Some OpenGL implementations use a border for tiling textures; in Panda, it is only used for specifying the clamp color.

setComponentType
void Texture::set_component_type(Texture::ComponentType component_type);

Description: Changes the data value for the texture components. This implicitly sets component_width as well.

setCompression
void Texture::set_compression(Texture::CompressionMode compression);

Description: Requests that this particular Texture be compressed when it is loaded into texture memory.
This refers to the internal compression of the texture image within texture memory; it is not related to jpeg or png compression, which are disk file compression formats. The actual disk file that generated this texture may be stored in a compressed or uncompressed format supported by Panda; it will be decompressed on load, and then recompressed by the graphics API if this parameter is not CM_off.
If the GSG does not support this texture compression mode, the texture will silently be loaded uncompressed.

setFilename
void Texture::set_filename(Filename const &filename);

These are published, but in general, you shouldn't be mucking with these values; they are set automatically when a texture is loaded.
Description: Sets the name of the file that contains the image's contents. Normally, this is set automatically when the image is loaded, for instance via
Texture::read().
The Texture's get_name() function used to return the filename, but now returns just the basename (without the extension), which is a more useful name for identifying an image in show code.

setFormat
void Texture::set_format(Texture::Format format);

Description: Changes the format value for the texture components. This implicitly sets num_components as well.

setFullpath
void Texture::set_fullpath(Filename const &fullpath);

Description: Sets the full pathname to the file that contains the image's contents, as found along the search path. Normally, this is set automatically when the image is loaded, for instance via Texture::read().

setKeepRamImage
void Texture::set_keep_ram_image(bool keep_ram_image);

Description: Sets the flag that indicates whether this Texture is eligible to have its main RAM copy of the texture memory dumped when the texture is prepared for rendering.
This will be true for most textures, which can reload their images if needed by rereading the input file. However, textures that were generated dynamically and cannot be easily reloaded will want to set this flag to true, so that the texture will always keep its image copy around.

setLoadedFromImage
void Texture::set_loaded_from_image(void);

Description: Sets the flag that indicates the texture has been loaded from a disk file or PNMImage. You should also ensure the filename has been set correctly. When this flag is true, the texture may be automatically reloaded when its ram image needs to be replaced.

setLoadedFromTxo
void Texture::set_loaded_from_txo(void);

Description: Sets the flag that indicates the texture has been loaded from a txo file. You probably shouldn't be setting this directly; it is set automatically when a Texture is loaded.

setMagfilter
void Texture::set_magfilter(Texture::FilterType filter);

Description:

setMatchFramebufferFormat
void Texture::set_match_framebuffer_format(bool flag);

Description: Sets the special flag that, if true, indicates to the GSG that the Texture's format should be chosen to exactly match the framebuffer's format, presumably because the application intends to copy image data from the framebuffer into the Texture (or vice-versa).
This sets only the graphics card's idea of the texture format; it is not related to the system-memory format.

setMinfilter
void Texture::set_minfilter(Texture::FilterType filter);

Description:

setPadSize
void Texture::set_pad_size(int x = (0), int y = (0), int z = (0));

Description: Sets the size of the pad region.
Sometimes, when a video card demands power-of-two textures, it is necessary to create a big texture and then only use a portion of it. The pad region indicates which portion of the texture is not really in use. All operations use the texture as a whole, including the pad region, unless they explicitly state that they use only the non-pad region.
Changing the texture's size clears the pad region.

setQualityLevel
void Texture::set_quality_level(Texture::QualityLevel quality_level);

Description: Sets a hint to the renderer about the desired performance / quality tradeoff for this particular texture. This is most useful for the tinydisplay software renderer; for normal, hardware-accelerated renderers, this may have little or no effect.

setRamImage
void Texture::set_ram_image(PointerToArray< unsigned char > image, Texture::CompressionMode compression = (CM_off), unsigned int page_size = (0));

Description: Replaces the current system-RAM image with the new data. If compression is not CM_off, it indicates that the new data is already pre-compressed in the indicated format.
This does *not* affect keep_ram_image.

setRamMipmapImage
void Texture::set_ram_mipmap_image(int n, PointerToArray< unsigned char > image, unsigned int page_size = (0));

Description: Replaces the current system-RAM image for the indicated mipmap level with the new data. If compression is not CM_off, it indicates that the new data is already pre-compressed in the indicated format.
This does *not* affect keep_ram_image.

setRenderToTexture
void Texture::set_render_to_texture(bool render_to_texture);

Description:

setSizePadded
void Texture::set_size_padded(int x = (1), int y = (1), int z = (1));

Description: Changes the size of the texture, padding if necessary, and setting the pad region as well.

setTexturesPower2
static void Texture::set_textures_power_2(AutoTextureScale scale);

Description: Set this flag to ATS_none, ATS_up, or ATS_down to control the scaling of textures.

setup1dTexture
void Texture::setup_1d_texture(void);

Description: Sets the texture as an empty 1-d texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 1-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setup2dTexture
void Texture::setup_2d_texture(void);

Description: Sets the texture as an empty 2-d texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 2-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setup3dTexture
void Texture::setup_3d_texture(int z_size = (1));

Description: Sets the texture as an empty 3-d texture with no dimensions (though if you know the depth ahead of time, it saves a bit of reallocation later). Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty 3-d texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.

setupCubeMap
void Texture::setup_cube_map(void);

Description: Sets the texture as an empty cube map texture with no dimensions. Follow up with read() or load() to fill the texture properties and image data.
Description: Sets the texture as an empty cube map texture with the specified dimensions and properties. Follow up with set_ram_image() or modify_ram_image() to fill the image data.
Note that a cube map should always consist of six square images, so x_size and y_size will be the same, and z_size is always 6.

setupTexture
void Texture::setup_texture(Texture::TextureType texture_type, int x_size, int y_size, int z_size, Texture::ComponentType component_type, Texture::Format format);

Description: Sets the texture to the indicated type and dimensions, presumably in preparation for calling read() or load(), or set_ram_image() or modify_ram_image().

setWrapU
void Texture::set_wrap_u(Texture::WrapMode wrap);

Description:

setWrapV
void Texture::set_wrap_v(Texture::WrapMode wrap);

Description:

setWrapW
void Texture::set_wrap_w(Texture::WrapMode wrap);

Description: The W wrap direction is only used for 3-d textures.

setXSize
void Texture::set_x_size(int x_size);

Description: Changes the x size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

setYSize
void Texture::set_y_size(int y_size);

Description: Changes the y size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

setZSize
void Texture::set_z_size(int z_size);

Description: Changes the z size indicated for the texture. This also implicitly unloads the texture if it has already been loaded.

store
bool Texture::store(PNMImage &pnmimage) const;

Description: Saves the texture to the indicated PNMImage, but does not write it to disk.
Description: Saves the indicated page and mipmap level of the texture to the PNMImage.

usesMipmaps
bool Texture::uses_mipmaps(void) const;

Description: Returns true if the minfilter settings on this texture indicate the use of mipmapping, false otherwise.

write
bool Texture::write(Filename const &fullpath);

Description: Writes the texture to the named filename.
Description: Writes a single page or mipmap level to a single file, or automatically writes a series of pages and/or mipmap levels to a numbered series of files.
If the filename ends in the extension .txo, this implicitly writes a Panda texture object (.txo) instead of an image file. In this case, the remaining parameters are ignored, and only one file is written, which will contain all of the pages and resident mipmap levels in the texture.
If write_pages is false, then z indicates the page number to write. 3-D textures have one page number for each level of depth; cube maps have six pages number 0 through 5. Other kinds of textures have only one page, numbered 0.
If write_pages is true, then all pages of the texture will be written. In this case z is ignored, and the filename should contain a sequence of hash marks ("#") which will be filled in with the page index number.
If write_mipmaps is false, then n indicates the mipmap level number to write. Normally, this is 0, for the base texture image. Normally, the mipmap levels of a texture are not available in RAM (they are generated automatically by the graphics card). However, if you have the mipmap levels available, for instance because you called generate_ram_mipmap_images() to generate them internally, or you called GraphicsEngine::extract_texture_data() to retrieve them from the graphics card, then you may write out each mipmap level with this parameter.
If write_mipmaps is true, then all mipmap levels of the texture will be written. In this case n is ignored, and the filename should contain a sequence of hash marks ("#") which will be filled in with the mipmap level number.
If both write_pages and write_mipmaps is true, then all pages and all mipmap levels will be written. In this case, the filename should contain two different sequences of hash marks, separated by a character such as a hyphen, underscore, or dot. The first hash mark sequence will be filled in with the mipmap level, while the second hash mark sequence will be the page index.
Description: Not to be confused with write(Filename), this method simply describes the texture properties.

writeTxo
bool Texture::write_txo(ostream &out, string const &filename = ("stream")) const;

Description: Writes the texture to a Panda texture object. This defines the complete Texture specification, including the image data as well as all texture properties.
The filename is just for reference.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle AnimInterface::get_class_type(void);

Undocumented function.

getFrac
double AnimInterface::get_frac(void) const;

Description: Returns the fractional part of the current frame. Normally, this is in the range 0.0 <= f < 1.0, but in the one special case of an animation playing to its end frame and stopping, it might exactly equal 1.0.
It will always be true that get_full_frame() + get_frac() == get_full_fframe().

getFrame
int AnimInterface::get_frame(void) const;

Description: Returns the current integer frame number. This number will be in the range 0 <= f < get_num_frames().

getFrameRate
double AnimInterface::get_frame_rate(void) const;

Description: Returns the native frame rate of the animation. This is the number of frames per second that will elapse when the play_rate is set to 1.0. It is a fixed property of the animation and may not be adjusted by the user.

getFullFframe
double AnimInterface::get_full_fframe(void) const;

Description: Returns the current floating-point frame number.
Unlike the value returned by get_frame(), this frame number may extend beyond the range of get_num_frames() if the frame range passed to play(), loop(), etc. did.
Unlike the value returned by get_full_frame(), this return value may equal (to_frame + 1.0), when the animation has played to its natural end. However, in this case the return value of get_full_frame() will be to_frame, not (to_frame + 1).

getFullFrame
int AnimInterface::get_full_frame(void) const;

Description: Returns the current integer frame number.
Unlike the value returned by get_frame(), this frame number may extend beyond the range of get_num_frames() if the frame range passed to play(), loop(), etc. did.
Unlike the value returned by get_full_fframe(), this return value will never exceed the value passed to to_frame in the play() method.

getNextFrame
int AnimInterface::get_next_frame(void) const;

Description: Returns the current integer frame number + 1, constrained to the range 0 <= f < get_num_frames().
If the play mode is PM_play, this will clamp to the same value as get_frame() at the end of the animation. If the play mode is any other value, this will wrap around to frame 0 at the end of the animation.

getNumFrames
virtual int AnimInterface::get_num_frames(void) const;

Description: Returns the number of frames in the animation. This is a property of the animation and may not be directly adjusted by the user (although it may change without warning with certain kinds of animations, since this is a virtual method that may be overridden).

getPlayRate
double AnimInterface::get_play_rate(void) const;

Description: Returns the rate at which the animation plays. See set_play_rate().

isPlaying
bool AnimInterface::is_playing(void) const;

Description: Returns true if the animation is currently playing, false if it is stopped (e.g. because stop() or pose() was called, or because it reached the end of the animation after play() was called).

loop
void AnimInterface::loop(bool restart);

Description: Starts the entire animation looping. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.
Description: Loops the animation from the frame "from" to and including the frame "to", indefinitely. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.

output
virtual void AnimInterface::output(ostream &out) const;

Description:

pingpong
void AnimInterface::pingpong(bool restart);

Description: Starts the entire animation bouncing back and forth between its first frame and last frame. If restart is true, the animation is restarted from the beginning; otherwise, it continues from the current frame.
Description: Loops the animation from the frame "from" to and including the frame "to", and then back in the opposite direction, indefinitely.

play
void AnimInterface::play(void);

Description: Runs the entire animation from beginning to end and stops.
Description: Runs the animation from the frame "from" to and including the frame "to", at which point the animation is stopped. Both "from" and "to" frame numbers may be outside the range (0, get_num_frames()) and the animation will follow the range correctly, reporting numbers modulo get_num_frames(). For instance, play(0, get_num_frames() * 2) will play the animation twice and then stop.

pose
void AnimInterface::pose(double frame);

Description: Sets the animation to the indicated frame and holds it there.

setPlayRate
void AnimInterface::set_play_rate(double play_rate);

Description: Changes the rate at which the animation plays. 1.0 is the normal speed, 2.0 is twice normal speed, and 0.5 is half normal speed. 0.0 is legal to pause the animation, and a negative value will play the animation backwards.

stop
void AnimInterface::stop(void);

Description: Stops a currently playing or looping animation right where it is. The animation remains posed at the current frame.


VirtualFile

    from pandac.PandaModules import VirtualFile
    Class : VirtualFile
    Description : The abstract base class for a file or directory within the VirtualFileSystem.

Inheritance:

    VirtualFile: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of VirtualFile:

    closeReadFile
    getClassType
    getFilename
    getFileSize
    getFileSystem
    getOriginalFilename
    getTimestamp
    isDirectory
    isRegularFile
    ls
    lsAll
    openReadFile
    output
    readFile
    scanDirectory

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
closeReadFile
void VirtualFile::close_read_file(istream *stream) const;

Description: Closes a file opened by a previous call to open_read_file(). This really just deletes the istream pointer, but it is recommended to use this interface instead of deleting it explicitly, to help work around compiler issues.

getClassType
static TypeHandle VirtualFile::get_class_type(void);

Undocumented function.

getFilename
virtual Filename VirtualFile::get_filename(void) const = 0;

Undocumented function.

getFileSize
virtual int VirtualFile::get_file_size(istream *stream) const;

Description: Returns the current size on disk (or wherever it is) of the already-open file. Pass in the stream that was returned by open_read_file(); some implementations may require this stream to determine the size.
Description: Returns the current size on disk (or wherever it is) of the file before it has been opened.

getFileSystem
virtual VirtualFileSystem *VirtualFile::get_file_system(void) const = 0;

Undocumented function.

getOriginalFilename
Filename const &VirtualFile::get_original_filename(void) const;

Description: Returns the original filename as it was used to locate this VirtualFile. This is usually, but not always, the same string returned by get_filename().

getTimestamp
virtual unsigned int VirtualFile::get_timestamp(void) const;

Description: Returns a time_t value that represents the time the file was last modified, to within whatever precision the operating system records this information (on a Windows95 system, for instance, this may only be accurate to within 2 seconds).
If the timestamp cannot be determined, either because it is not supported by the operating system or because there is some error (such as file not found), returns 0.

isDirectory
virtual bool VirtualFile::is_directory(void) const;

Description: Returns true if this file represents a directory (and scan_directory() may be called), false otherwise.

isRegularFile
virtual bool VirtualFile::is_regular_file(void) const;

Description: Returns true if this file represents a regular file (and read_file() may be called), false otherwise.

ls
void VirtualFile::ls(ostream &out = (cout)) const;

Description: If the file represents a directory, lists its contents.

lsAll
void VirtualFile::ls_all(ostream &out = (cout)) const;

Description: If the file represents a directory, recursively lists its contents and those of all subdirectories.

openReadFile
virtual istream *VirtualFile::open_read_file(bool auto_unwrap) const;

Description: Opens the file for reading. Returns a newly allocated istream on success (which you should eventually delete when you are done reading). Returns NULL on failure.

output
void VirtualFile::output(ostream &out) const;

Description:

readFile
string VirtualFile::read_file(bool auto_unwrap) const;

Description: Returns the entire contents of the file as a string.
Description: Fills up the indicated string with the contents of the file, if it is a regular file. Returns true on success, false otherwise.
Description: Fills up the indicated pvector with the contents of the file, if it is a regular file. Returns true on success, false otherwise.
Description: Fills up the indicated pvector with the contents of the just-opened file. Returns true on success, false otherwise. If the pvector was not empty on entry, the data read from the file will be appended onto it.
Description: As in read_file() with two parameters, above, but only reads up to max_bytes bytes from the file.

scanDirectory
PointerTo< VirtualFileList > VirtualFile::scan_directory(void) const;

Description: If the file represents a directory (that is, is_directory() returns true), this returns the list of files within the directory at the current time. Returns NULL if the file is not a directory or if the directory cannot be read.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


VirtualFileComposite

    from pandac.PandaModules import VirtualFileComposite
    Class : VirtualFileComposite
    Description : A composite directory within the VirtualFileSystem: this maps to more than one directory on different mount points. The resulting directory appears to be the union of all the individual simple directories.

Inheritance:

    VirtualFileComposite: VirtualFile
    VirtualFile: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of VirtualFileComposite:

    getClassType

Methods of VirtualFile:

    closeReadFile
    getClassType
    getFilename
    getFileSize
    getFileSystem
    getOriginalFilename
    getTimestamp
    isDirectory
    isRegularFile
    ls
    lsAll
    openReadFile
    output
    readFile
    scanDirectory

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle VirtualFileComposite::get_class_type(void);

Undocumented function.

closeReadFile
void VirtualFile::close_read_file(istream *stream) const;

Description: Closes a file opened by a previous call to open_read_file(). This really just deletes the istream pointer, but it is recommended to use this interface instead of deleting it explicitly, to help work around compiler issues.

getClassType
static TypeHandle VirtualFile::get_class_type(void);

Undocumented function.

getFilename
virtual Filename VirtualFile::get_filename(void) const = 0;

Undocumented function.

getFileSize
virtual int VirtualFile::get_file_size(istream *stream) const;

Description: Returns the current size on disk (or wherever it is) of the already-open file. Pass in the stream that was returned by open_read_file(); some implementations may require this stream to determine the size.
Description: Returns the current size on disk (or wherever it is) of the file before it has been opened.

getFileSystem
virtual VirtualFileSystem *VirtualFile::get_file_system(void) const = 0;

Undocumented function.

getOriginalFilename
Filename const &VirtualFile::get_original_filename(void) const;

Description: Returns the original filename as it was used to locate this VirtualFile. This is usually, but not always, the same string returned by get_filename().

getTimestamp
virtual unsigned int VirtualFile::get_timestamp(void) const;

Description: Returns a time_t value that represents the time the file was last modified, to within whatever precision the operating system records this information (on a Windows95 system, for instance, this may only be accurate to within 2 seconds).
If the timestamp cannot be determined, either because it is not supported by the operating system or because there is some error (such as file not found), returns 0.

isDirectory
virtual bool VirtualFile::is_directory(void) const;

Description: Returns true if this file represents a directory (and scan_directory() may be called), false otherwise.

isRegularFile
virtual bool VirtualFile::is_regular_file(void) const;

Description: Returns true if this file represents a regular file (and read_file() may be called), false otherwise.

ls
void VirtualFile::ls(ostream &out = (cout)) const;

Description: If the file represents a directory, lists its contents.

lsAll
void VirtualFile::ls_all(ostream &out = (cout)) const;

Description: If the file represents a directory, recursively lists its contents and those of all subdirectories.

openReadFile
virtual istream *VirtualFile::open_read_file(bool auto_unwrap) const;

Description: Opens the file for reading. Returns a newly allocated istream on success (which you should eventually delete when you are done reading). Returns NULL on failure.

output
void VirtualFile::output(ostream &out) const;

Description:

readFile
string VirtualFile::read_file(bool auto_unwrap) const;

Description: Returns the entire contents of the file as a string.
Description: Fills up the indicated string with the contents of the file, if it is a regular file. Returns true on success, false otherwise.
Description: Fills up the indicated pvector with the contents of the file, if it is a regular file. Returns true on success, false otherwise.
Description: Fills up the indicated pvector with the contents of the just-opened file. Returns true on success, false otherwise. If the pvector was not empty on entry, the data read from the file will be appended onto it.
Description: As in read_file() with two parameters, above, but only reads up to max_bytes bytes from the file.

scanDirectory
PointerTo< VirtualFileList > VirtualFile::scan_directory(void) const;

Description: If the file represents a directory (that is, is_directory() returns true), this returns the list of files within the directory at the current time. Returns NULL if the file is not a directory or if the directory cannot be read.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


VirtualFileList

    from pandac.PandaModules import VirtualFileList
    Class : VirtualFileList
    Description : A list of VirtualFiles, as returned by VirtualDirectory::scan().

Inheritance:

    VirtualFileList: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of VirtualFileList:

    getFile
    getNumFiles

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getFile
VirtualFile *VirtualFileList::get_file(int n) const;

Description: Returns the nth file in the list.

getNumFiles
int VirtualFileList::get_num_files(void) const;

Description: Returns the number of files in the list.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


VirtualFileSimple

    from pandac.PandaModules import VirtualFileSimple
    Class : VirtualFileSimple
    Description : A simple file or directory within the VirtualFileSystem: this maps to exactly one file on one mount point. Most directories, and all regular files, are of this kind.

Inheritance:

    VirtualFileSimple: VirtualFile
    VirtualFile: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of VirtualFileSimple:

    getClassType

Methods of VirtualFile:

    closeReadFile
    getClassType
    getFilename
    getFileSize
    getFileSystem
    getOriginalFilename
    getTimestamp
    isDirectory
    isRegularFile
    ls
    lsAll
    openReadFile
    output
    readFile
    scanDirectory

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
getClassType
static TypeHandle VirtualFileSimple::get_class_type(void);

Undocumented function.

closeReadFile
void VirtualFile::close_read_file(istream *stream) const;

Description: Closes a file opened by a previous call to open_read_file(). This really just deletes the istream pointer, but it is recommended to use this interface instead of deleting it explicitly, to help work around compiler issues.

getClassType
static TypeHandle VirtualFile::get_class_type(void);

Undocumented function.

getFilename
virtual Filename VirtualFile::get_filename(void) const = 0;

Undocumented function.

getFileSize
virtual int VirtualFile::get_file_size(istream *stream) const;

Description: Returns the current size on disk (or wherever it is) of the already-open file. Pass in the stream that was returned by open_read_file(); some implementations may require this stream to determine the size.
Description: Returns the current size on disk (or wherever it is) of the file before it has been opened.

getFileSystem
virtual VirtualFileSystem *VirtualFile::get_file_system(void) const = 0;

Undocumented function.

getOriginalFilename
Filename const &VirtualFile::get_original_filename(void) const;

Description: Returns the original filename as it was used to locate this VirtualFile. This is usually, but not always, the same string returned by get_filename().

getTimestamp
virtual unsigned int VirtualFile::get_timestamp(void) const;

Description: Returns a time_t value that represents the time the file was last modified, to within whatever precision the operating system records this information (on a Windows95 system, for instance, this may only be accurate to within 2 seconds).
If the timestamp cannot be determined, either because it is not supported by the operating system or because there is some error (such as file not found), returns 0.

isDirectory
virtual bool VirtualFile::is_directory(void) const;

Description: Returns true if this file represents a directory (and scan_directory() may be called), false otherwise.

isRegularFile
virtual bool VirtualFile::is_regular_file(void) const;

Description: Returns true if this file represents a regular file (and read_file() may be called), false otherwise.

ls
void VirtualFile::ls(ostream &out = (cout)) const;

Description: If the file represents a directory, lists its contents.

lsAll
void VirtualFile::ls_all(ostream &out = (cout)) const;

Description: If the file represents a directory, recursively lists its contents and those of all subdirectories.

openReadFile
virtual istream *VirtualFile::open_read_file(bool auto_unwrap) const;

Description: Opens the file for reading. Returns a newly allocated istream on success (which you should eventually delete when you are done reading). Returns NULL on failure.

output
void VirtualFile::output(ostream &out) const;

Description:

readFile
string VirtualFile::read_file(bool auto_unwrap) const;

Description: Returns the entire contents of the file as a string.
Description: Fills up the indicated string with the contents of the file, if it is a regular file. Returns true on success, false otherwise.
Description: Fills up the indicated pvector with the contents of the file, if it is a regular file. Returns true on success, false otherwise.
Description: Fills up the indicated pvector with the contents of the just-opened file. Returns true on success, false otherwise. If the pvector was not empty on entry, the data read from the file will be appended onto it.
Description: As in read_file() with two parameters, above, but only reads up to max_bytes bytes from the file.

scanDirectory
PointerTo< VirtualFileList > VirtualFile::scan_directory(void) const;

Description: If the file represents a directory (that is, is_directory() returns true), this returns the list of files within the directory at the current time. Returns NULL if the file is not a directory or if the directory cannot be read.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


VirtualFileSystem

    from pandac.PandaModules import VirtualFileSystem
    Class : VirtualFileSystem
    Description : A 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.
    For instance, a VirtualFileSystem can transparently mount one or more Multifiles as their own subdirectory hierarchies.

Inheritance:

    VirtualFileSystem:

Methods of VirtualFileSystem:

    VirtualFileSystem (Constructor)
    chdir
    closeReadFile
    exists
    findAllFiles
    findFile
    getCwd
    getFile
    getGlobalPtr
    isDirectory
    isRegularFile
    ls
    lsAll
    mount
    openReadFile
    readFile
    resolveFilename
    unmount
    unmountAll
    unmountPoint
    write

Constants in VirtualFileSystem:

    MFOwnsPointer | (MountFlags)
MFReadOnly | (MountFlags)
VirtualFileSystem
VirtualFileSystem::VirtualFileSystem(void);

Description:

chdir
bool VirtualFileSystem::chdir(string const &new_directory);

Description: Changes the current directory. This is used to resolve relative pathnames in get_file() and/or find_file(). Returns true if successful, false otherwise.
This accepts a string rather than a Filename simply for programmer convenience from the Python prompt.

closeReadFile
void VirtualFileSystem::close_read_file(istream *stream) const;

Description: Closes a file opened by a previous call to open_read_file(). This really just deletes the istream pointer, but it is recommended to use this interface instead of deleting it explicitly, to help work around compiler issues.

exists
bool VirtualFileSystem::exists(Filename const &filename) const;

Description: Convenience function; returns true if the named file exists.

findAllFiles
int VirtualFileSystem::find_all_files(Filename const &filename, DSearchPath const &searchpath, DSearchPath::Results &results) const;

Description: Searches all the directories in the search list for the indicated file, in order. Fills up the results list with *all* of the matching filenames found, if any. Returns the number of matches found.
It is the responsibility of the the caller to clear the results list first; otherwise, the newly-found files will be appended to the list.

findFile
PointerTo< VirtualFile > VirtualFileSystem::find_file(Filename const &filename, DSearchPath const &searchpath) const;

Description: Uses the indicated search path to find the file within the file system. Returns the first occurrence of the file found, or NULL if the file cannot be found.

getCwd
Filename const &VirtualFileSystem::get_cwd(void) const;

Description: Returns the current directory name. See chdir().

getFile
PointerTo< VirtualFile > VirtualFileSystem::get_file(Filename const &filename) const;

Description: Looks up the file by the indicated name in the file system. Returns a VirtualFile pointer representing the file if it is found, or NULL if it is not.

getGlobalPtr
static VirtualFileSystem *VirtualFileSystem::get_global_ptr(void);

Description: Returns the default global VirtualFileSystem. You may create your own personal VirtualFileSystem objects and use them for whatever you like, but Panda will attempt to load models and stuff from this default object.
Initially, the global VirtualFileSystem is set up to mount the OS filesystem to root; i.e. it is equivalent to the OS filesystem. This may be subsequently adjusted by the user.

isDirectory
bool VirtualFileSystem::is_directory(Filename const &filename) const;

Description: Convenience function; returns true if the named file exists and is a directory.

isRegularFile
bool VirtualFileSystem::is_regular_file(Filename const &filename) const;

Description: Convenience function; returns true if the named file exists and is a regular file.

ls
void VirtualFileSystem::ls(string const &filename) const;

Description: Convenience function; lists the files within the indicated directory. This accepts a string instead of a Filename purely for programmer convenience at the Python prompt.

lsAll
void VirtualFileSystem::ls_all(string const &filename) const;

Description: Convenience function; lists the files within the indicated directory, and all files below, recursively. This accepts a string instead of a Filename purely for programmer convenience at the Python prompt.

mount
bool VirtualFileSystem::mount(Multifile *multifile, string const &mount_point, int flags);

Description: Mounts the indicated Multifile at the given mount point.
Description: Mounts the indicated system file or directory at the given mount point. If the named file is a directory, mounts the directory. If the named file is a Multifile, mounts it as a Multifile. Returns true on success, false on failure.
A given system directory may be mounted to multiple different mount point, and the same mount point may share multiple system directories. In the case of ambiguities (that is, two different files with exactly the same full pathname), the most-recently mounted system wins.
Note that a mounted VirtualFileSystem directory is fully case-sensitive, unlike the native Windows file system, so you must refer to files within the virtual file system with exactly the right case.

openReadFile
istream *VirtualFileSystem::open_read_file(Filename const &filename, bool auto_unwrap) const;

Description: Convenience function; returns a newly allocated istream if the file exists and can be read, or NULL otherwise. Does not return an invalid istream.
If auto_unwrap is true, an explicitly-named .pz file is automatically decompressed and the decompressed contents are returned. This is different than vfs-implicit-pz, which will automatically decompress a file if the extension .pz is *not* given.

readFile
string VirtualFileSystem::read_file(Filename const &filename, bool auto_unwrap) const;

Description: Convenience function; returns the entire contents of the indicated file as a string.
If auto_unwrap is true, an explicitly-named .pz file is automatically decompressed and the decompressed contents are returned. This is different than vfs-implicit-pz, which will automatically decompress a file if the extension .pz is *not* given.
Description: Convenience function; fills the string up with the data from the indicated file, if it exists and can be read. Returns true on success, false otherwise.
Description: Convenience function; fills the pvector up with the data from the indicated file, if it exists and can be read. Returns true on success, false otherwise.

resolveFilename
bool VirtualFileSystem::resolve_filename(Filename &filename, DSearchPath const &searchpath, string const &default_extension = ((string()))) const;

Description: Searches the given search path for the filename. If it is found, updates the filename to the full pathname found and returns true; otherwise, returns false.

unmount
int VirtualFileSystem::unmount(Multifile *multifile);

Description: Unmounts all appearances of the indicated Multifile from the file system. Returns the number of appearances unmounted.
Description: Unmounts all appearances of the indicated physical filename (either a directory name or a Multifile name) from the file system. Returns the number of appearances unmounted.

unmountAll
int VirtualFileSystem::unmount_all(void);

Description: Unmounts all files from the file system. Returns the number of systems unmounted.

unmountPoint
int VirtualFileSystem::unmount_point(string const &mount_point);

Description: Unmounts all systems attached to the given mount point from the file system. Returns the number of appearances unmounted.

write
void VirtualFileSystem::write(ostream &out) const;

Description: Print debugging information. (e.g. from Python or gdb prompt).


VirtualMouse

    from pandac.PandaModules import VirtualMouse
    Class : VirtualMouse
    Description : Poses as a MouseAndKeyboard object in the datagraph, but accepts input from user calls, rather than reading the actual mouse and keyboard from an input device. The user can write high-level code to put the mouse wherever he/she wants, and to insert keypresses on demand.

Inheritance:

    VirtualMouse: DataNode
    DataNode: PandaNode
    PandaNode: TypedWritable Namable LinkedListNode ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    Namable:
    LinkedListNode:
    ReferenceCount: MemoryBase

Methods of VirtualMouse:

    VirtualMouse (Constructor)
    getClassType
    pressButton
    releaseButton
    setMouseOn
    setMousePos
    setWindowSize

Methods of DataNode:

    DataNode (Constructor)
    getClassType
    writeConnections
    writeInputs
    writeOutputs

Methods of PandaNode:

    PandaNode (Constructor)
    addChild
    addStashed
    adjustDrawMask
    asLight
    clearAttrib
    clearBounds
    clearEffect
    clearEffects
    clearPythonTag
    clearState
    clearTag
    clearTransform
    clearUnexpectedChange
    combineWith
    compareTags
    copyAllProperties
    copyChildren
    copySubgraph
    copyTags
    countNumDescendants
    findChild
    findParent
    findStashed
    getAllCameraMask
    getAttrib
    getBounds
    getChild
    getChildSort
    getClassType
    getDrawControlMask
    getDrawShowMask
    getEffect
    getEffects
    getFancyBits
    getInternalBounds
    getInternalVertices
    getIntoCollideMask
    getLegalCollideMask
    getNestedVertices
    getNetCollideMask
    getNetDrawControlMask
    getNetDrawShowMask
    getNumChildren
    getNumParents
    getNumStashed
    getOffClipPlanes
    getOverallBit
    getParent
    getPrevTransform
    getPythonTag
    getStashed
    getStashedSort
    getState
    getTag
    getTransform
    getUnexpectedChange
    hasAttrib
    hasDirtyPrevTransform
    hasEffect
    hasPythonTag
    hasTag
    hasTags
    isBoundsStale
    isFinal
    isGeomNode
    isLodNode
    isOverallHidden
    listTags
    ls
    markBoundsStale
    markInternalBoundsStale
    output
    removeAllChildren
    removeChild
    removeStashed
    replaceChild
    replaceNode
    resetAllPrevTransform
    resetPrevTransform
    setAttrib
    setBound
    setBounds
    setEffect
    setEffects
    setFinal
    setIntoCollideMask
    setOverallHidden
    setPrevTransform
    setPythonTag
    setState
    setTag
    setTransform
    setUnexpectedChange
    stashChild
    stealChildren
    unstashChild
    write

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in PandaNode:

    UCParents | (UnexpectedChange)
UCChildren | (UnexpectedChange)
UCTransform | (UnexpectedChange)
UCState | (UnexpectedChange)
UCDrawMask | (UnexpectedChange)
FBTransform | (FancyBits)
FBState | (FancyBits)
FBEffects | (FancyBits)
FBTag | (FancyBits)
FBDrawMask | (FancyBits)
FBCullCallback | (FancyBits)
VirtualMouse
VirtualMouse::VirtualMouse(string const &name);

Description:

getClassType
static TypeHandle VirtualMouse::get_class_type(void);

Undocumented function.

pressButton
void VirtualMouse::press_button(ButtonHandle button);

Description: Simulates a mouse or keyboard button being depressed. This should be followed up by a call to release_button() sometime later (possibly immediately).

releaseButton
void VirtualMouse::release_button(ButtonHandle button);

Description: Simulates the button being released. This should follow a previous call to press_button().

setMouseOn
void VirtualMouse::set_mouse_on(bool flag);

Description: Sets whether the mouse should appear to be within the window or not. If this is true, the mouse is within the window; if false, the mouse is not within the window (and set_mouse_pos() means nothing).

setMousePos
void VirtualMouse::set_mouse_pos(int x, int y);

Description: Sets the current mouse pixel location, where (0,0) is the upper left, and (width-1, height-1) is the lower right pixel of the virtual window.

setWindowSize
void VirtualMouse::set_window_size(int width, int height);

Description: Sets the size of the "window" in which the mouse rolls. This changes the meaning of the values passed to set_mouse_pos().

DataNode
DataNode::DataNode(string const &name);

Description:

getClassType
static TypeHandle DataNode::get_class_type(void);

Undocumented function.

writeConnections
void DataNode::write_connections(ostream &out) const;

Description: Writes to the indicated ostream a list of all the connections currently showing between this DataNode and its parent(s).

writeInputs
void DataNode::write_inputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the inputs this DataNode might expect to receive.

writeOutputs
void DataNode::write_outputs(ostream &out) const;

Description: Writes to the indicated ostream a list of all the outputs this DataNode might generate.

PandaNode
PandaNode::PandaNode(string const &name);

There are two different interfaces here for making and breaking parent-child connections: the fundamental PandaNode interface, via add_child() and remove_child() (and related functions), and the NodePath support interface, via attach(), detach(), and reparent(). They both do essentially the same thing, but with slightly different inputs. The PandaNode interfaces try to guess which NodePaths should be updated as a result of the scene graph change, while the NodePath interfaces already know.
The NodePath support interface functions are strictly called from within the NodePath class, and are used to implement NodePath::reparent_to() and NodePath::remove_node(), etc. The fundamental interface, on the other hand, is intended to be called directly by the user.
The fundamental interface has a slightly lower overhead because it does not need to create a NodePathComponent chain where one does not already exist; however, the NodePath support interface is more useful when the NodePath already does exist, because it ensures that the particular NodePath calling it is kept appropriately up-to-date.
Description:
Description: Do not call the copy constructor directly; instead, use make_copy() or copy_subgraph() to make a copy of a node.

addChild
void PandaNode::add_child(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node. The child is added in the relative position indicated by sort; if all children have the same sort index, the child is added at the end.
If the same child is added to a node more than once, the previous instance is first removed.

addStashed
void PandaNode::add_stashed(PandaNode *child_node, int sort = (0), Thread *current_thread = ((get_current_thread())));

Description: Adds a new child to the node, directly as a stashed child. The child is not added in the normal sense, but will be revealed if unstash_child() is called on it later.
If the same child is added to a node more than once, the previous instance is first removed.
This can only be called from the top pipeline stage (i.e. from App).

adjustDrawMask
void PandaNode::adjust_draw_mask(BitMask< unsigned int, 32 > show_mask, BitMask< unsigned int, 32 > hide_mask, BitMask< unsigned int, 32 > clear_mask);

Description: Adjusts the hide/show bits of this particular node.
These three parameters can be used to adjust the _draw_control_mask and _draw_show_mask independently, which work together to provide per-camera visibility for the node and its descendents.
_draw_control_mask indicates the bits in _draw_show_mask that are significant. Each different bit corresponds to a different camera (and these bits are assigned via Camera::set_camera_mask()).
Where _draw_control_mask has a 1 bit, a 1 bit in _draw_show_mask indicates the node is visible to that camera, and a 0 bit indicates the node is hidden to that camera. Where _draw_control_mask is 0, the node is hidden only if a parent node is hidden.
The meaning of the three parameters is as follows:
* Wherever show_mask is 1, _draw_show_mask and
_draw_control_mask will be set 1. Thus, show_mask indicates the set of cameras to which the node should be shown.
* Wherever hide_mask is 1, _draw_show_mask will be
set 0 and _draw_control_mask will be set 1. Thus, hide_mask indicates the set of cameras from which the node should be hidden.
* Wherever clear_mask is 1, _draw_control_mask will
be set 0. Thus, clear_mask indicates the set of cameras from which the hidden state should be inherited from a parent.

asLight
virtual Light *PandaNode::as_light(void);

Description: Cross-casts the node to a Light pointer, if it is one of the four kinds of Light nodes, or returns NULL if it is not.

clearAttrib
void PandaNode::clear_attrib(TypeHandle type);

Description: 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.

clearBounds
void PandaNode::clear_bounds(void);

Description: Reverses the effect of a previous call to set_bounds(), and allows the node's bounding volume to be automatically computed once more based on the contents of the node.

clearEffect
void PandaNode::clear_effect(TypeHandle type);

Description: Removes the render effect of the given type from this node.

clearEffects
void PandaNode::clear_effects(Thread *current_thread = ((get_current_thread())));

Description: Resets this node to have no render effects.

clearPythonTag
void PandaNode::clear_python_tag(string const &key);

Description: Removes the Python object defined for this key on this particular node. After a call to clear_python_tag(), has_python_tag() will return false for the indicated key.

clearState
void PandaNode::clear_state(Thread *current_thread = ((get_current_thread())));

Description: 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.

clearTag
void PandaNode::clear_tag(string const &key, Thread *current_thread = ((get_current_thread())));

Description: Removes the value defined for this key on this particular node. After a call to clear_tag(), has_tag() will return false for the indicated key.

clearTransform
void PandaNode::clear_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform on this node to the identity transform.

clearUnexpectedChange
void PandaNode::clear_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits off, indicating that the corresponding property may once again change on this node. See set_unexpected_change().
The input parameter is the union of bits that are to be cleared.
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

combineWith
virtual PandaNode *PandaNode::combine_with(PandaNode *other);

published so that characters can be combined.
Description: Collapses this PandaNode with the other PandaNode, if possible, and returns a pointer to the combined PandaNode, or NULL if the two PandaNodes cannot safely be combined.
The return value may be this, other, or a new PandaNode altogether.
This function is called from GraphReducer::flatten(), and need not deal with children; its job is just to decide whether to collapse the two PandaNodes and what the collapsed PandaNode should look like.

compareTags
int PandaNode::compare_tags(PandaNode const *other) const;

Description: Returns a number less than 0, 0, or greater than 0, to indicate the similarity of tags between this node and the other one. If this returns 0, the tags are identical. If it returns other than 0, then the tags are different; and the nodes may be sorted into a consistent (but arbitrary) ordering based on this number.

copyAllProperties
void PandaNode::copy_all_properties(PandaNode *other);

Description: Copies the TransformState, RenderState, RenderEffects, tags, Python tags, and the show/hide state from the other node onto this one. Typically this is used to prepare a node to replace another node in the scene graph (also see replace_node()).

copyChildren
void PandaNode::copy_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Makes another instance of all the children of the other node, copying them to this node.

copySubgraph
PointerTo< PandaNode > PandaNode::copy_subgraph(Thread *current_thread = ((get_current_thread()))) const;

Description: Allocates and returns a complete copy of this PandaNode and the entire scene graph rooted at this PandaNode. Some data may still be shared from the original (e.g. vertex index tables), but nothing that will impede normal use of the PandaNode.

copyTags
void PandaNode::copy_tags(PandaNode *other);

HAVE_PYTHON
Description: Copies all of the tags stored on the other node onto this node. If a particular tag exists on both nodes, the contents of this node's value is replaced by that of the other.

countNumDescendants
int PandaNode::count_num_descendants(void) const;

Description: Returns the number of nodes at and below this level.

findChild
int PandaNode::find_child(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated child node, if it is a child, or -1 if it is not.

findParent
int PandaNode::find_parent(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated parent node, if it is a parent, or -1 if it is not.

findStashed
int PandaNode::find_stashed(PandaNode *node, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the index of the indicated stashed node, if it is a stashed child, or -1 if it is not.

getAllCameraMask
static BitMask< unsigned int, 32 > PandaNode::get_all_camera_mask(void);

Description: Returns a DrawMask that is appropriate for rendering to all cameras.

getAttrib
RenderAttrib const *PandaNode::get_attrib(TypeHandle type) const;

Description: 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.

getBounds
ConstPointerTo< BoundingVolume > PandaNode::get_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the external bounding volume of this node: a bounding volume that contains the user bounding volume, the internal bounding volume, and all of the children's bounding volumes.
Description: This flavor of get_bounds() return the external bounding volume, and also fills in seq with the bounding volume's current sequence number. When this sequence number changes, it indicates that the bounding volume might have changed, e.g. because some nested child's bounding volume has changed.
Although this might occasionally increment without changing the bounding volume, the bounding volume will never change without incrementing this counter, so as long as this counter remains unchanged you can be confident the bounding volume is also unchanged.

getChild
PandaNode *PandaNode::get_child(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth child node of this node. See get_num_children(). Also see get_children(), if your intention is to iterate through the complete list of children; get_children() is preferable in this case.

getChildSort
int PandaNode::get_child_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth child node of this node (that is, the number that was passed to add_child()). See get_num_children().

getClassType
static TypeHandle PandaNode::get_class_type(void);

Undocumented function.

getDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_draw_control_mask(void) const;

Description: Returns the set of bits in draw_show_mask that are considered meaningful. See adjust_draw_mask().

getDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_draw_show_mask(void) const;

Description: Returns the hide/show bits of this particular node. See adjust_draw_mask().

getEffect
RenderEffect const *PandaNode::get_effect(TypeHandle type) const;

Description: Returns the render effect of the indicated type, if it is defined on the node, or NULL if it is not.

getEffects
RenderEffects const *PandaNode::get_effects(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the complete RenderEffects that will be applied to this node.

getFancyBits
int PandaNode::get_fancy_bits(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all of the enum FancyBits values corresponding to the various "fancy" attributes that are set on the node. If this returns 0, the node has nothing interesting about it. This is intended to speed traversal by quickly skipping past nodes that don't particularly affect the render state.

getInternalBounds
ConstPointerTo< BoundingVolume > PandaNode::get_internal_bounds(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the node's internal 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.
Description: Returns the node's internal bounding volume. This is the bounding volume around the node alone, without including children.

getInternalVertices
int PandaNode::get_internal_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getIntoCollideMask
BitMask< unsigned int, 32 > PandaNode::get_into_collide_mask(void) const;

Description: Returns the "into" collide mask for this node.

getLegalCollideMask
virtual BitMask< unsigned int, 32 > PandaNode::get_legal_collide_mask(void) const;

Description: Returns the subset of CollideMask bits that may be set for this particular type of PandaNode. For most nodes, this is 0; it doesn't make sense to set a CollideMask for most kinds of nodes.
For nodes that can be collided with, such as GeomNode and CollisionNode, this returns all bits on.

getNestedVertices
int PandaNode::get_nested_vertices(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the total number of vertices that will be rendered by this node and all of its descendents.
This is not necessarily an accurate count of vertices that will actually be rendered, since this will include all vertices of all LOD's, and it will also include hidden nodes. It may also omit or only approximate certain kinds of dynamic geometry. However, it will not include stashed nodes.

getNetCollideMask
BitMask< unsigned int, 32 > PandaNode::get_net_collide_mask(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the union of all into_collide_mask() values set at CollisionNodes at this level and below.

getNetDrawControlMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_control_mask(void) const;

Description: Returns the set of bits in get_net_draw_show_mask() that have been explicitly set via adjust_draw_mask(), rather than implicitly inherited.
A 1 bit in any position of this mask indicates that (a) this node has renderable children, and (b) some child of this node has made an explicit hide() or show_through() call for the corresponding bit.

getNetDrawShowMask
BitMask< unsigned int, 32 > PandaNode::get_net_draw_show_mask(void) const;

Description: Returns the union of all draw_show_mask values--of renderable nodes only--at this level and below. If any bit in this mask is 0, there is no reason to traverse below this node for a camera with the corresponding camera_mask.
The bits in this mask that do not correspond to a 1 bit in the net_draw_control_mask are meaningless (and will be set to 1). For bits that *do* correspond to a 1 bit in the net_draw_control_mask, a 1 bit indicates that at least one child should be visible, while a 0 bit indicates that all children are hidden.

getNumChildren
int PandaNode::get_num_children(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of child nodes this node has. The order of the child nodes *is* meaningful and is based on the sort number that was passed to add_child(), and also on the order in which the nodes were added.

getNumParents
int PandaNode::get_num_parents(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of parent nodes this node has. If this number is greater than 1, the node has been multiply instanced. The order of the parent nodes is not meaningful and is not related to the order in which the node was instanced to them.

getNumStashed
int PandaNode::get_num_stashed(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the number of stashed nodes this node has. These are former children of the node that have been moved to the special stashed list via stash_child().

getOffClipPlanes
ConstPointerTo< RenderAttrib > PandaNode::get_off_clip_planes(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns a ClipPlaneAttrib which represents the union of all of the clip planes that have been turned *off* at this level and below.

getOverallBit
static BitMask< unsigned int, 32 > PandaNode::get_overall_bit(void);

Description: 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.

getParent
PandaNode *PandaNode::get_parent(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth parent node of this node. See get_num_parents(). Also see get_parents(), if your intention is to iterate through the complete list of parents; get_parents() is preferable in this case.

getPrevTransform
TransformState const *PandaNode::get_prev_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set as this node's "previous" position. See set_prev_transform().

getPythonTag
PyObject *PandaNode::get_python_tag(string const &key) const;

Description: Retrieves the Python object that was previously set on this node for the particular key, if any. If no value has been previously set, returns None.

getStashed
PandaNode *PandaNode::get_stashed(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the nth stashed child of this node. See get_num_stashed(). Also see get_stashed(), if your intention is to iterate through the complete list of stashed children; get_stashed() is preferable in this case.
Description: Returns an object that can be used to walk through the list of children of the node. When you intend to visit multiple children, using this is slightly faster than calling get_stashed() directly on the PandaNode, since this object avoids reopening the PipelineCycler each time.
This object also protects you from self-modifying loops (e.g. adding or removing children during traversal), since a virtual copy of the children is made ahead of time. The virtual copy is fast--it is a form of copy-on-write, so the list is not actually copied unless it is modified during the traversal.

getStashedSort
int PandaNode::get_stashed_sort(int n, Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the sort index of the nth stashed node of this node (that is, the number that was passed to add_child()). See get_num_stashed().

getState
RenderState const *PandaNode::get_state(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTag
string PandaNode::get_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

getTransform
TransformState const *PandaNode::get_transform(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the transform that has been set on this particular node. This is not the net transform from the root, but simply the transform on this particular node.

getUnexpectedChange
unsigned int PandaNode::get_unexpected_change(unsigned int flags) const;

Description: Returns nonzero if any of the bits in the input parameter are set on this node, or zero if none of them are set. More specifically, this returns the particular set of bits (masked by the input parameter) that have been set on this node. See set_unexpected_change().
Since this is a developer debugging tool only, this function always returns zero in a production (NDEBUG) build.

hasAttrib
bool PandaNode::has_attrib(TypeHandle type) const;

Description: Returns true if there is a render attribute of the indicated type defined on this node, or false if there is not.

hasDirtyPrevTransform
bool PandaNode::has_dirty_prev_transform(void) const;

Description: 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().

hasEffect
bool PandaNode::has_effect(TypeHandle type) const;

Description: Returns true if there is a render effect of the indicated type defined on this node, or false if there is not.

hasPythonTag
bool PandaNode::has_python_tag(string const &key) const;

Description: Returns true if a Python object has been defined on this node for the particular key (even if that object is None), or false if no object has been set.

hasTag
bool PandaNode::has_tag(string const &key, Thread *current_thread = ((get_current_thread()))) const;

Description: 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.

hasTags
bool PandaNode::has_tags(void) const;

HAVE_PYTHON
Description: Returns true if the node has any tags (or any Python tags) at all, false if it has none.

isBoundsStale
bool PandaNode::is_bounds_stale(void) const;

Description: 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.

isFinal
bool PandaNode::is_final(Thread *current_thread = ((get_current_thread()))) const;

Description: Returns the current state of the "final" flag. Initially, this flag is off (false), but it may be changed by an explicit call to set_final(). See set_final().

isGeomNode
virtual bool PandaNode::is_geom_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from GeomNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(GeomNode::get_class_type()), since this test is so important to rendering.

isLodNode
virtual bool PandaNode::is_lod_node(void) const;

Description: A simple downcast check. Returns true if this kind of node happens to inherit from LODNode, false otherwise.
This is provided as a a faster alternative to calling is_of_type(LODNode::get_class_type()).

isOverallHidden
bool PandaNode::is_overall_hidden(void) const;

Description: Returns true if the node has been hidden to all cameras by clearing its overall bit.

listTags
void PandaNode::list_tags(ostream &out, string const &separator = ("\n")) const;

Description: Writes a list of all the tag keys assigned to the node to the indicated stream. Writes one instance of the separator following each key (but does not write a terminal separator). The value associated with each key is not written.
This is mainly for the benefit of the realtime user, to see the list of all of the associated tag keys.

ls
void PandaNode::ls(ostream &out, int indent_level) const;

Description: Lists all the nodes at and below the current path hierarchically.

markBoundsStale
void PandaNode::mark_bounds_stale(Thread *current_thread = ((get_current_thread()))) const;

Description: 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.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
This method is intended for internal use; usually it is not necessary for a user to call this directly. It will be called automatically by derived classes when appropriate.

markInternalBoundsStale
void PandaNode::mark_internal_bounds_stale(Thread *current_thread = ((get_current_thread())));

Description: 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.
Description: Should be called by a derived class to mark the internal bounding volume stale, so that compute_internal_bounds() will be called when the bounding volume is next requested.
With no parameters, this means to iterate through all stages including and upstream of the current pipeline stage.
It is normally not necessary to call this method directly; each node should be responsible for calling it when its internals have changed.

output
virtual void PandaNode::output(ostream &out) const;

Description:

removeAllChildren
void PandaNode::remove_all_children(Thread *current_thread = ((get_current_thread())));

Description: Removes all the children from the node at once, including stashed children.
This can only be called from the top pipeline stage (i.e. from App).

removeChild
void PandaNode::remove_child(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth child from the node.
Description: Removes the indicated child from the node. Returns true if the child was removed, false if it was not already a child of the node. This will also successfully remove the child if it had been stashed.

removeStashed
void PandaNode::remove_stashed(int child_index, Thread *current_thread = ((get_current_thread())));

Description: Removes the nth stashed child from the node.

replaceChild
bool PandaNode::replace_child(PandaNode *orig_child, PandaNode *new_child, Thread *current_thread = ((get_current_thread())));

Description: Searches for the orig_child node in the node's list of children, and replaces it with the new_child instead. Returns true if the replacement is made, or false if the node is not a child or if there is some other problem.

replaceNode
void PandaNode::replace_node(PandaNode *other);

Description: Inserts this node into the scene graph in place of the other one, and removes the other node. All scene graph attributes (TransformState, RenderState, etc.) are copied to this node.
All children are moved to this node, and removed from the old node. The new node is left in the same place in the old node's parent's list of children.
Even NodePaths that reference the old node are updated in-place to reference the new node instead.
This method is intended to be used to replace a node of a given type in the scene graph with a node of a different type.

resetAllPrevTransform
static void PandaNode::reset_all_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Visits all nodes in the world with the _dirty_prev_transform flag--that is, all nodes whose _prev_transform is different from the _transform in pipeline stage 0--and resets the _prev_transform to be the same as _transform.

resetPrevTransform
void PandaNode::reset_prev_transform(Thread *current_thread = ((get_current_thread())));

Description: Resets the transform that represents this node's "previous" position to the same as the current transform. This is not the same thing as clearing it to identity.

setAttrib
void PandaNode::set_attrib(RenderAttrib const *attrib, int override = (0));

Description: Adds the indicated render attribute to the scene graph on this node. This attribute will now apply to this node and everything below. If there was already an attribute of the same type, it is replaced.

setBound
void PandaNode::set_bound(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Deprecated. Use set_bounds() instead.

setBounds
void PandaNode::set_bounds(BoundingVolume const *volume);

A node has three bounding volumes: an "external" bounding volume that represents the node and all of its children, an "internal" bounding volume which represents only the node itself (and is usually empty, unless a specific node type sets it otherwise), and a "user" bounding volume which is specified by the user. We define set_bounds() and get_bounds() functions so that set_bounds() sets the user bounding volume, while get_bounds() returns the external bounding volume. Although it might seem strange and confusing to do this, this is actually the natural way the user thinks about nodes and bounding volumes.
Description: Resets the bounding volume so that it is the indicated volume. When it is explicitly set, the bounding volume will no longer be automatically computed according to the contents of the node itself, for nodes like GeomNodes and TextNodes that contain substance (but the bounding volume will still be automatically expanded to include its children).
Call clear_bounds() if you would like to return the bounding volume to its default behavior later.

setEffect
void PandaNode::set_effect(RenderEffect const *effect);

Description: Adds the indicated render effect to the scene graph on this node. If there was already an effect of the same type, it is replaced.

setEffects
void PandaNode::set_effects(RenderEffects const *effects, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderEffects that will be applied this node. This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setFinal
void PandaNode::set_final(bool flag);

Description: 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.

setIntoCollideMask
void PandaNode::set_into_collide_mask(BitMask< unsigned int, 32 > mask);

Description: Sets the "into" CollideMask.
This specifies the set of bits that must be shared with a CollisionNode's "from" CollideMask in order for the CollisionNode to detect a collision with this particular node.
The actual CollideMask that will be set is masked by the return value from get_legal_collide_mask(). Thus, the into_collide_mask cannot be set to anything other than nonzero except for those types of nodes that can be collided into, such as CollisionNodes and GeomNodes.

setOverallHidden
void PandaNode::set_overall_hidden(bool overall_hidden);

Description: Sets or clears the hidden flag. When the hidden flag is true, the node and all of its children are invisible to all cameras, regardless of the setting of any draw masks. Setting the hidden flag to false restores the previous visibility as established by the draw masks.
This actually works by twiddling the reserved _overall_bit in the node's draw mask, which has special meaning.

setPrevTransform
void PandaNode::set_prev_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that represents this node's "previous" position, one frame ago, for the purposes of detecting motion for accurate collision calculations.

setPythonTag
void PandaNode::set_python_tag(string const &key, PyObject *value);

Description: Associates an arbitrary Python object with a user-defined key which is stored on the node. This is similar to set_tag(), except it can store any Python object instead of just a string. However, the Python object is not recorded to a bam file.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setState
void PandaNode::set_state(RenderState const *state, Thread *current_thread = ((get_current_thread())));

Description: Sets the complete RenderState that will be applied to all nodes at this level and below. (The actual state that will be applied to lower nodes is based on the composition of RenderStates from above this node as well). This completely replaces whatever has been set on this node via repeated calls to set_attrib().

setTag
void PandaNode::set_tag(string const &key, string const &value, Thread *current_thread = ((get_current_thread())));

Description: Associates a user-defined value with a user-defined key which is stored on the node. This value has no meaning to Panda; but it is stored indefinitely on the node until it is requested again.
Each unique key stores a different string value. There is no effective limit on the number of different keys that may be stored or on the length of any one key's value.

setTransform
void PandaNode::set_transform(TransformState const *transform, Thread *current_thread = ((get_current_thread())));

Description: Sets the transform that will be applied to this node and below. This defines a new coordinate space at this point in the scene graph and below.

setUnexpectedChange
void PandaNode::set_unexpected_change(unsigned int flags);

Description: Sets one or more of the PandaNode::UnexpectedChange bits on, indicating that the corresponding property should not change again on this node. Once one of these bits has been set, if the property changes, an assertion failure will be raised, which is designed to assist the developer in identifying the troublesome code that modified the property unexpectedly.
The input parameter is the union of bits that are to be set. To clear these bits later, use clear_unexpected_change().
Since this is a developer debugging tool only, this function does nothing in a production (NDEBUG) build.

stashChild
bool PandaNode::stash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Stashes the indicated child node. This removes the child from the list of active children and puts it on a special list of stashed children. This child node no longer contributes to the bounding volume of the PandaNode, and is not visited in normal traversals. It is invisible and uncollidable. The child may later be restored by calling unstash_child().
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

stealChildren
void PandaNode::steal_children(PandaNode *other, Thread *current_thread = ((get_current_thread())));

Description: Moves all the children from the other node onto this node.

unstashChild
bool PandaNode::unstash_child(PandaNode *child_node, Thread *current_thread = ((get_current_thread())));

Description: Returns the indicated stashed node to normal child status. This removes the child from the list of stashed children and puts it on the normal list of active children. This child node once again contributes to the bounding volume of the PandaNode, and will be visited in normal traversals. It is visible and collidable.
This function returns true if the child node was successfully stashed, or false if it was not a child of the node in the first place (e.g. it was previously stashed).
This can only be called from the top pipeline stage (i.e. from App).

write
virtual void PandaNode::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


VisGroupsEditor

    from direct.leveleditor.LevelEditor import VisGroupsEditor

Inheritance:

    VisGroupsEditor:

Methods of VisGroupsEditor:

    __init__
    preDestroy
    refreshVisibility
    selectVisGroup
    toggleBalloon
    toggleVisGroup
__init__
def __init__(self, levelEditor, visGroups=['None'], parent=None, **kw)

Undocumented function.

preDestroy
def preDestroy(self)

Undocumented function.

refreshVisibility
def refreshVisibility(self)

Undocumented function.

selectVisGroup
def selectVisGroup(self, target)

Undocumented function.

toggleBalloon
def toggleBalloon(self)

Undocumented function.

toggleVisGroup
def toggleVisGroup(self, groupName, state)

Undocumented function.


VrpnClient

    from pandac.PandaModules import VrpnClient
    Class : VrpnClient
    Description : A specific ClientBase that connects to a VRPN server and records information on the connected VRPN devices.

Inheritance:

    VrpnClient: ClientBase
    ClientBase: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of VrpnClient:

    VrpnClient (Constructor)
    getClassType
    getServerName
    isConnected
    isValid
    write

Methods of ClientBase:

    forkAsynchronousThread
    getClassType
    getCoordinateSystem
    getLastPollTime
    isForked
    poll
    setCoordinateSystem

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
VrpnClient
VrpnClient::VrpnClient(string const &server_name);

Description:

getClassType
static TypeHandle VrpnClient::get_class_type(void);

Undocumented function.

getServerName
string const &VrpnClient::get_server_name(void) const;

Description: Returns the name of the server as passed to the VrpnClient constructor.

isConnected
bool VrpnClient::is_connected(void) const;

Description: Returns true if the connection is established succesfully, false otherwise.

isValid
bool VrpnClient::is_valid(void) const;

Description: Returns true if everything seems to be kosher with the server (even if there is no connection), or false otherwise.

write
void VrpnClient::write(ostream &out, int indent_level = (0)) const;

Description: Writes a list of the active devices that the VrpnClient is currently polling each frame.

forkAsynchronousThread
bool ClientBase::fork_asynchronous_thread(double poll_time);

Description: Forks a separate thread to do all the polling of connected devices. The forked thread will poll after every poll_time seconds has elapsed. Returns true if the fork was successful, or false otherwise (for instance, because we were already forked, or because asynchronous threads are disabled).

getClassType
static TypeHandle ClientBase::get_class_type(void);

Undocumented function.

getCoordinateSystem
CoordinateSystem ClientBase::get_coordinate_system(void) const;

Description: Returns the coordinate system that all devices associated with this client will operate in. Normally, this is CS_default.

getLastPollTime
double ClientBase::get_last_poll_time(void) const;

Description: Returns the time (according to the global ClockObject's get_real_time() method) of the last device poll.

isForked
bool ClientBase::is_forked(void) const;

Description: Returns true if the ClientBase has been forked (and, therefore, poll() does not need to be called), false otherwise.

poll
bool ClientBase::poll(void);

Description: Initiates a poll of the client devices, if we are not forked and if we have not already polled this frame. Returns true if the poll occurred, or false if it did not.

setCoordinateSystem
void ClientBase::set_coordinate_system(CoordinateSystem cs);

Description: Specifies the coordinate system that all devices associated with this client will operate in. Normally, this is CS_default.

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


Wait

    from direct.interval.FunctionInterval import Wait

Inheritance:

    Wait:

Methods of Wait:

    __init__
__init__
def __init__(self, duration)

Undocumented function.


WaitInterval

    from pandac.PandaModules import WaitInterval
    Class : WaitInterval
    Description : This interval does absolutely nothing, and is mainly useful for marking time between other intervals within a sequence.

Inheritance:

    WaitInterval: CInterval
    CInterval: TypedReferenceCount
    TypedReferenceCount: TypedObject ReferenceCount
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase

Methods of WaitInterval:

    WaitInterval (Constructor)
    getClassType

Methods of CInterval:

    clearToInitial
    finish
    getAutoFinish
    getAutoPause
    getClassType
    getDoneEvent
    getDuration
    getManager
    getName
    getOpenEnded
    getPlayRate
    getState
    getT
    getWantsTCallback
    isPlaying
    isStopped
    loop
    output
    pause
    privDoEvent
    privFinalize
    privInitialize
    privInstant
    privInterrupt
    privReverseFinalize
    privReverseInitialize
    privReverseInstant
    privStep
    resume
    resumeUntil
    setAutoFinish
    setAutoPause
    setDoneEvent
    setManager
    setPlayRate
    setT
    setupPlay
    setupResume
    setupResumeUntil
    setWantsTCallback
    start
    stepPlay
    write

Methods of TypedReferenceCount:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Constants in CInterval:

    ETInitialize | (EventType)
ETInstant | (EventType)
ETStep | (EventType)
ETFinalize | (EventType)
ETReverseInitialize | (EventType)
ETReverseInstant | (EventType)
ETReverseFinalize | (EventType)
ETInterrupt | (EventType)
SInitial | (State)
SStarted | (State)
SPaused | (State)
SFinal | (State)
WaitInterval
WaitInterval::WaitInterval(double duration);

Description: All Wait intervals have the same name. No one really cares if their names are unique, after all.

getClassType
static TypeHandle WaitInterval::get_class_type(void);

Undocumented function.

clearToInitial
void CInterval::clear_to_initial(void);

Description: Pauses the interval, if it is playing, and resets its state to its initial state, abandoning any state changes already in progress in the middle of the interval. Calling this is like pausing the interval and discarding it, creating a new one in its place.

finish
void CInterval::finish(void);

Description: Stops the interval from playing and sets it to its final state.

getAutoFinish
bool CInterval::get_auto_finish(void) const;

Description: Returns the state of the 'auto_finish' flag. See set_auto_finish().

getAutoPause
bool CInterval::get_auto_pause(void) const;

Description: Returns the state of the 'auto_pause' flag. See set_auto_pause().

getClassType
static TypeHandle CInterval::get_class_type(void);

Undocumented function.

getDoneEvent
string const &CInterval::get_done_event(void) const;

Description: Returns the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

getDuration
double CInterval::get_duration(void) const;

Description: Returns the duration of the interval in seconds.

getManager
CIntervalManager *CInterval::get_manager(void) const;

Description: Returns the CIntervalManager object which will be responsible for playing this interval. Note that this can only return a C++ object; if the particular CIntervalManager object has been extended in the scripting language, this will return the encapsulated C++ object, not the full extended object.

getName
string const &CInterval::get_name(void) const;

Description: Returns the interval's name.

getOpenEnded
bool CInterval::get_open_ended(void) const;

Description: Returns the state of the "open_ended" flag. This is primarily intended for instantaneous intervals like FunctionIntervals; it indicates true if the interval has some lasting effect that should be applied even if the interval doesn't get started until after its finish time, or false if the interval is a transitive thing that doesn't need to be called late.

getPlayRate
double CInterval::get_play_rate(void) const;

Description: Returns the play rate as set by the last call to start(), loop(), or set_play_rate().

getState
CInterval::State CInterval::get_state(void) const;

Description: Indicates the state the interval believes it is in: whether it has been started, is currently in the middle, or has been finalized.

getT
double CInterval::get_t(void) const;

Description: Returns the current time of the interval: the last value of t passed to priv_initialize(), priv_step(), or priv_finalize().

getWantsTCallback
bool CInterval::get_wants_t_callback(void) const;

Description: Returns the state of the 'wants_t_callback' flag. See set_wants_t_callback().

isPlaying
bool CInterval::is_playing(void) const;

Description: Returns true if the interval is currently playing, false otherwise.

isStopped
bool CInterval::is_stopped(void) const;

Description: Returns true if the interval is in either its initial or final states (but not in a running or paused state).

loop
void CInterval::loop(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play until it is interrupted with finish() or pause(), looping back to start_t when it reaches end_t.
If end_t is less than zero, it indicates the end of the interval.

output
virtual void CInterval::output(ostream &out) const;

Description:

pause
double CInterval::pause(void);

Description: Stops the interval from playing but leaves it in its current state. It may later be resumed from this point by calling resume().

privDoEvent
void CInterval::priv_do_event(double t, CInterval::EventType event);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: Calls the appropriate event function indicated by the EventType.

privFinalize
virtual void CInterval::priv_finalize(void);

Description: This is called to stop an interval, forcing it to whatever state it would be after it played all the way through. It's generally invoked by set_final_t().

privInitialize
virtual void CInterval::priv_initialize(double t);

These functions control the actual playback of the interval. Don't call them directly; they're intended to be called from a supervising object, e.g. the Python start() .. finish() interface. These cannot be declared private because they must be accessible to Python, but the method names are prefixed with priv_ to remind you that you probably don't want to be using them directly.
Description: This replaces the first call to priv_step(), and indicates that the interval has just begun. This may be overridden by derived classes that need to do some explicit initialization on the first call.

privInstant
virtual void CInterval::priv_instant(void);

Description: This is called in lieu of priv_initialize() .. priv_step() .. priv_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the final state.

privInterrupt
virtual void CInterval::priv_interrupt(void);

Description: This is called while the interval is playing to indicate that it is about to be interrupted; that is, priv_step() will not be called for a length of time. But the interval should remain in its current state in anticipation of being eventually restarted when the calls to priv_step() eventually resume.
The purpose of this function is to allow self-running intervals like sound intervals to stop the actual sound playback during the pause.

privReverseFinalize
virtual void CInterval::priv_reverse_finalize(void);

Description: Called generally following a priv_reverse_initialize(), this indicates the interval should set itself to the initial state.

privReverseInitialize
virtual void CInterval::priv_reverse_initialize(double t);

Description: Similar to priv_initialize(), but this is called when the interval is being played backwards; it indicates that the interval should start at the finishing state and undo any intervening intervals.

privReverseInstant
virtual void CInterval::priv_reverse_instant(void);

Description: This is called in lieu of priv_reverse_initialize() .. priv_step() .. priv_reverse_finalize(), when everything is to happen within one frame. The interval should initialize itself, then leave itself in the initial state.

privStep
virtual void CInterval::priv_step(double t);

Description: Advances the time on the interval. The time may either increase (the normal case) or decrease (e.g. if the interval is being played by a slider).

resume
void CInterval::resume(void);

Description: Restarts the interval from its current point after a previous call to pause().
Description: Restarts the interval from the indicated point after a previous call to pause().

resumeUntil
void CInterval::resume_until(double end_t);

Description: Restarts the interval from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setAutoFinish
void CInterval::set_auto_finish(bool auto_finish);

Description: Changes the state of the 'auto_finish' flag. If this is true, the interval may be arbitrarily finished when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setAutoPause
void CInterval::set_auto_pause(bool auto_pause);

Description: Changes the state of the 'auto_pause' flag. If this is true, the interval may be arbitrarily interrupted when the system needs to reset due to some external event by calling CIntervalManager::interrupt(). If this is false (the default), the interval must always be explicitly finished or paused.

setDoneEvent
void CInterval::set_done_event(string const &event);

Description: Sets the event that is generated whenever the interval reaches its final state, whether it is explicitly finished or whether it gets there on its own.

setManager
void CInterval::set_manager(CIntervalManager *manager);

Description: Indicates the CIntervalManager object which will be responsible for playing this interval. This defaults to the global CIntervalManager; you should need to change this only if you have special requirements for playing this interval.

setPlayRate
void CInterval::set_play_rate(double play_rate);

Description: Changes the play rate of the interval. If the interval is already started, this changes its speed on-the-fly. Note that since play_rate is a parameter to start() and loop(), the next call to start() or loop() will reset this parameter.

setT
void CInterval::set_t(double t);

Description: Explicitly sets the time within the interval. Normally, you would use start() .. finish() to let the time play normally, but this may be used to set the time to some particular value.

setupPlay
void CInterval::setup_play(double start_time, double end_time, double play_rate, bool do_loop);

Description: Called to prepare the interval for automatic timed playback, e.g. via a Python task. The interval will be played from start_t to end_t, at a time factor specified by play_rate. start_t must always be less than end_t (except for the exception for end_t == -1, below), but if play_rate is negative the interval will be played backwards.
Specify end_t of -1 to play the entire interval from start_t.
Call step_play() repeatedly to execute the interval.

setupResume
void CInterval::setup_resume(void);

Description: Called to prepare the interval for restarting at the current point within the interval after an interruption.

setupResumeUntil
void CInterval::setup_resume_until(double end_t);

Description: Called to prepare the interval for restarting from the current point after a previous call to pause() (or a previous play-to-point-and-stop), to play until the indicated point and then stop.

setWantsTCallback
void CInterval::set_wants_t_callback(bool wants_t_callback);

Description: Changes the state of the 'wants_t_callback' flag. If this is true, the interval will be returned by CIntervalManager::get_event() each time the interval's time value has been changed, regardless of whether it has any external events.

start
void CInterval::start(double start_t = (0), double end_t = (-1), double play_rate = (1));

Description: Starts the interval playing by registering it with the current CIntervalManager. The interval will play to the end and stop.
If end_t is less than zero, it indicates the end of the interval.

stepPlay
bool CInterval::step_play(void);

Description: Should be called once per frame to execute the automatic timed playback begun with setup_play().
Returns true if the interval should continue, false if it is done and should stop.

write
virtual void CInterval::write(ostream &out, int indent_level) const;

Description:

getClassType
static TypeHandle TypedReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


WeakPointerToVoid

    from pandac.PandaModules import WeakPointerToVoid
    Class : WeakPointerToVoid
    Description : This is the specialization of PointerToVoid for weak pointers. It needs an additional flag to indicate that the pointer has been deleted.

Inheritance:

    WeakPointerToVoid: PointerToVoid
    PointerToVoid: MemoryBase
    MemoryBase:

Methods of WeakPointerToVoid:

    isValidPointer
    wasDeleted

Methods of PointerToVoid:

    getHash
    isNull
isValidPointer
bool WeakPointerToVoid::is_valid_pointer(void) const;

Description: Returns true if the pointer is not null and the object has not been deleted.

wasDeleted
bool WeakPointerToVoid::was_deleted(void) const;

Description: Returns true if the object we are pointing to has been deleted, false otherwise.

getHash
unsigned int PointerToVoid::get_hash(void) const;

Description:

isNull
bool PointerToVoid::is_null(void) const;

Description: Returns true if the PointerTo is a NULL pointer, false otherwise. (Direct comparison to a NULL pointer also works.)


WebcamVideo

    from pandac.PandaModules import WebcamVideo
    Class : WebcamVideo
    Description : Allows you to open a webcam or other video capture device as a video stream.

Inheritance:

    WebcamVideo: MovieVideo
    MovieVideo: TypedWritableReferenceCount Namable
    TypedWritableReferenceCount: TypedWritable ReferenceCount
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:
    ReferenceCount: MemoryBase
    Namable:

Methods of WebcamVideo:

    getClassType
    getFps
    getNumOptions
    getOption
    getSizeX
    getSizeY
    open

Methods of MovieVideo:

    MovieVideo (Constructor)
    get
    getClassType
    getFilename
    open

Methods of TypedWritableReferenceCount:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref

Methods of Namable:

    Namable (Constructor)
    clearName
    getClassType
    getName
    hasName
    operator =
    output
    setName
getClassType
static TypeHandle WebcamVideo::get_class_type(void);

Undocumented function.

getFps
int WebcamVideo::get_fps(void) const;

Description: Returns the camera's framerate. This is a maximum theoretical: the actual performance will depend on the speed of the hardware.

getNumOptions
static int WebcamVideo::get_num_options(void);

Description: Returns the number of webcam options. An "option" consists of a device plus a set of configuration parameters. For example, "Creative Webcam Live at 640x480, 30 fps" is an option.

getOption
static PointerTo< WebcamVideo > WebcamVideo::get_option(int n);

Description: Returns the nth webcam option.

getSizeX
int WebcamVideo::get_size_x(void) const;

Filename: webcamVideo.I Created by: jyelon (01Nov2007)
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."
Description: Returns the camera's size_x.

getSizeY
int WebcamVideo::get_size_y(void) const;

Description: Returns the camera's size_y.

open
virtual PointerTo< MovieVideoCursor > WebcamVideo::open(void) = 0;

Undocumented function.

MovieVideo
MovieVideo::MovieVideo(string const &name = ("Blank Video"));

Description: This constructor returns a null video stream --- a stream of plain blue and white frames that last one second each. To get more interesting video, you need to construct a subclass of this class.

get
static PointerTo< MovieVideo > MovieVideo::get(Filename const &name);

Description: Obtains a MovieVideo that references a file.

getClassType
static TypeHandle MovieVideo::get_class_type(void);

Undocumented function.

getFilename
Filename const &MovieVideo::get_filename(void) const;

Filename: movieVideo.I Created by: jyelon (02Jul07)
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."
Description: Returns the movie's filename. A movie is not guaranteed to have a filename, if not, then this function returns a null filename.

open
virtual PointerTo< MovieVideoCursor > MovieVideo::open(void);

Description: Open this video, returning a MovieVideoCursor.

getClassType
static TypeHandle TypedWritableReferenceCount::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.

Namable
Namable::Namable(string const &initial_name = (""));

Description:

clearName
void Namable::clear_name(void);

Description: Resets the Namable's name to empty.

getClassType
static TypeHandle Namable::get_class_type(void);

Undocumented function.

getName
string const &Namable::get_name(void) const;

Description:

hasName
bool Namable::has_name(void) const;

Description: Returns true if the Namable has a nonempty name set, false if the name is empty.

operator =
Namable &Namable::operator =(Namable const &other);

Description:

output
void Namable::output(ostream &out) const;

In the absence of any definition to the contrary, outputting a Namable will write out its name.
Description: Outputs the Namable. This function simply writes the name to the output stream; most Namable derivatives will probably redefine this.

setName
void Namable::set_name(string const &name);

Description:


webNotifyDebug

    from direct.http.webNotifyDebug import webNotifyDebug

Inheritance:

    webNotifyDebug:

Methods of webNotifyDebug:

    __init__
    authDebug
    debug
    genToken
    listAllCategories
    logOut
    passwordPrompt
    pollDirectDebugHTTPTask
    searchForCat
    startCheckingIncomingHTTP
    stopCheckingIncomingHTTP
    turnCatOff
    turnCatOn
__init__
def __init__(self, portNumber=8888, username=None, password=None)

Undocumented function.

authDebug
def authDebug(self, replyTo, **kw)

Undocumented function.

debug
def debug(self, replyTo, **kw)

Undocumented function.

genToken
def genToken(self)

Undocumented function.

listAllCategories
def listAllCategories(self, replyTo, optionalMessage=None, authToken=None)

Undocumented function.

logOut
def logOut(self, replyTo, authToken)

Undocumented function.

passwordPrompt
def passwordPrompt(self, replyTo, **kw)

Undocumented function.

pollDirectDebugHTTPTask
def pollDirectDebugHTTPTask(self, task)

Undocumented function.

searchForCat
def searchForCat(self, searchString, replyTo, toggle=None, authToken=None)

Undocumented function.

startCheckingIncomingHTTP
def startCheckingIncomingHTTP(self)

Undocumented function.

stopCheckingIncomingHTTP
def stopCheckingIncomingHTTP(self)

Undocumented function.

turnCatOff
def turnCatOff(self, item, replyTo, sString=None, authToken=None)

Undocumented function.

turnCatOn
def turnCatOn(self, item, replyTo, sString=None, authToken=None)

Undocumented function.


WebRequest

    from direct.http.WebRequest import WebRequest
    Pointer to a single web request (maps to an open HTTP socket). An instance of this class maps to a single client waiting for a response.
    connection is an instance of libdirect.HttpRequest

Inheritance:

    WebRequest:

Methods of WebRequest:

    __init__
    dictFromGET
    getRequestType
    getSourceAddress
    getURI
    respond
    respondCustom
    respondHTTP
    respondXML
    timeout
__init__
def __init__(self, connection)

Undocumented function.

dictFromGET
def dictFromGET(self)

Undocumented function.

getRequestType
def getRequestType(self)

Undocumented function.

getSourceAddress
def getSourceAddress(self)

Undocumented function.

getURI
def getURI(self)

Undocumented function.

respond
def respond(self, body)

Undocumented function.

respondCustom
def respondCustom(self, contentType, body)

Undocumented function.

respondHTTP
def respondHTTP(self, status, body)

Undocumented function.

respondXML
def respondXML(self, body)

Undocumented function.

timeout
def timeout(self)

Undocumented function.


WebRequestDispatcher

    from direct.http.WebRequest import WebRequestDispatcher
    Request dispatcher for HTTP requests. Contains registration and dispatching functionality.
    Single-state class--multiple instances share all data. This is because we're wrapping a singleton webserver.
    How to use:
    w = WebRequestDispatcher() w.listenOnPort(8888) def test(replyTo,**kw): print 'test got called with these options: %s' % str(kw) replyTo.respond('<html><body>Thank you for the yummy arguments: %s' % str(kw)) w.registerGETHandler('test',test) while 1: w.poll()
    Browse to http://localhost:8888/test?foo=bar and see the result!

Inheritance:

    WebRequestDispatcher:

Methods of WebRequestDispatcher:

    __init__
    __new__
    _main
    _services
    _stylesheet
    enableLandingPage
    handleGET
    invalidURI
    listenOnPort
    poll
    pollHTTPTask
    registerGETHandler
    startCheckingIncomingHTTP
    stopCheckingIncomingHTTP
    unregisterGETHandler
__init__
def __init__(self, wantLandingPage=True)

Undocumented function.

__new__
def __new__(self, *a, **kw)

Undocumented function.

_main
def _main(self)

Undocumented function.

_services
def _services(self)

Undocumented function.

_stylesheet
def _stylesheet(self, **kw)

Undocumented function.

enableLandingPage
def enableLandingPage(self, enable)

Undocumented function.

handleGET
def handleGET(self, req)

Parse and dispatch a single GET request. Expects to receive a WebRequest object.

invalidURI
def invalidURI(self, replyTo, **kw)

Undocumented function.

listenOnPort
def listenOnPort(self, listenPort)

Start the web server listening if it isn't already. Singleton server, so ignore multiple listen requests.

poll
def poll(self)

Pump the web server, handle any incoming requests. This function should be called regularly, about 2-4 calls/sec for current applications is a good number.

pollHTTPTask
def pollHTTPTask(self, task)

Undocumented function.

registerGETHandler
def registerGETHandler(self, uri, handler, returnsResponse=False, autoSkin=False)

Call this function to register a handler function to be called in response to a query to the given URI.
GET options are translated into **kw arguments. Handler function should accept **kw in order to handle arbitrary queries.
If returnsResponse is False, the request is left open after handler returns--handler or tasks it creates are responsible for fulfilling the query now or in the future. Argument replyTo (a WebRequest) is guaranteed to be passed to the handler, and replyTo.respond must be called with an HTML response string to fulfill the query and close the socket.
If returnsResponse is True, WebRequestDispatcher expects the handler to return its response string, and we will route the response and close the socket ourselves. No replyTo argument is provided to the handler in this case.

startCheckingIncomingHTTP
def startCheckingIncomingHTTP(self, interval=0.3)

Undocumented function.

stopCheckingIncomingHTTP
def stopCheckingIncomingHTTP(self)

Undocumented function.

unregisterGETHandler
def unregisterGETHandler(self, uri)

Undocumented function.


WeightedChoice

    from direct.directutil.WeightedChoice import WeightedChoice

Inheritance:

    WeightedChoice:

Methods of WeightedChoice:

    __init__
    choose
__init__
def __init__(self, listOfLists, weightIndex=0)

Undocumented function.

choose
def choose(self, rng=random)

Undocumented function.


WidgetPropertiesDialog

    from direct.tkwidgets.WidgetPropertiesDialog import WidgetPropertiesDialog
    Class to open dialogs to adjust widget properties.

Inheritance:

    WidgetPropertiesDialog:

Methods of WidgetPropertiesDialog:

    __init__
    apply
    body
    buttonbox
    cancel
    destroy
    intOrNone
    modified
    ok
    realOrNone
    validateChanges
__init__
def __init__(self, propertyDict, propertyList=None, parent=None, title='Widget Properties')

Initialize a dialog.
Arguments: propertyDict -- a dictionary of properties to be edited parent -- a parent window (the application window) title -- the dialog title

apply
def apply(self)

process the data
This method is called automatically to process the data, *after* the dialog is destroyed. By default, it does nothing.

body
def body(self, master)

create dialog body. return entry that should have initial focus. This method should be overridden, and is called by the __init__ method.

buttonbox
def buttonbox(self)

add standard button box buttons.

cancel
def cancel(self, event=None)

Undocumented function.

destroy
def destroy(self)

Destroy the window

intOrNone
def intOrNone(self, val)

Undocumented function.

modified
def modified(self, widget, entry, property, type, fNone)

Undocumented function.

ok
def ok(self, event=None)

Undocumented function.

realOrNone
def realOrNone(self, val)

Undocumented function.

validateChanges
def validateChanges(self)

Undocumented function.


WindowControls

    from direct.showbase.ShowBase import WindowControls

Inheritance:

    WindowControls:

Methods of WindowControls:

    __init__
    __str__
__init__
def __init__(self, win, cam=None, cam2d=None, mouseWatcher=None, mouseKeyboard=None, closeCmd=lambda:0)

Undocumented function.

__str__
def __str__(self)

Undocumented function.


WindowProperties

    from pandac.PandaModules import WindowProperties
    Class : WindowProperties
    Description : A container for the various kinds of properties we might ask to have on a graphics window before we open it. This also serves to hold the current properties for a window after it has been opened.

Inheritance:

    WindowProperties:

Methods of WindowProperties:

    WindowProperties (Constructor)
    addProperties
    clear
    clearCursorFilename
    clearCursorHidden
    clearFixedSize
    clearForeground
    clearFullscreen
    clearIconFilename
    clearMinimized
    clearMouseMode
    clearOpen
    clearOrigin
    clearParentWindow
    clearRawMice
    clearSize
    clearTitle
    clearUndecorated
    clearZOrder
    getCursorFilename
    getCursorHidden
    getDefault
    getFixedSize
    getForeground
    getFullscreen
    getIconFilename
    getMinimized
    getMouseMode
    getOpen
    getParentWindow
    getRawMice
    getTitle
    getUndecorated
    getXOrigin
    getXSize
    getYOrigin
    getYSize
    getZOrder
    hasCursorFilename
    hasCursorHidden
    hasFixedSize
    hasForeground
    hasFullscreen
    hasIconFilename
    hasMinimized
    hasMouseMode
    hasOpen
    hasOrigin
    hasParentWindow
    hasRawMice
    hasSize
    hasTitle
    hasUndecorated
    hasZOrder
    isAnySpecified
    operator !=
    operator =
    operator ==
    output
    setCursorFilename
    setCursorHidden
    setFixedSize
    setForeground
    setFullscreen
    setIconFilename
    setMinimized
    setMouseMode
    setOpen
    setOrigin
    setParentWindow
    setRawMice
    setSize
    setTitle
    setUndecorated
    setZOrder
    size

Constants in WindowProperties:

    ZBottom | (ZOrder)
ZNormal | (ZOrder)
ZTop | (ZOrder)
MAbsolute | (MouseMode)
MRelative | (MouseMode)
WindowProperties
WindowProperties::WindowProperties(void);

Description:

addProperties
void WindowProperties::add_properties(WindowProperties const &other);

Description: Sets any properties that are explicitly specified in other on this object. Leaves other properties unchanged.

clear
void WindowProperties::clear(void);

Description: Unsets all properties that have been specified so far, and resets the WindowProperties structure to its initial empty state.

clearCursorFilename
void WindowProperties::clear_cursor_filename(void);

Description: Removes the cursor_filename specification from the properties.

clearCursorHidden
void WindowProperties::clear_cursor_hidden(void);

Description: Removes the cursor_hidden specification from the properties.

clearFixedSize
void WindowProperties::clear_fixed_size(void);

Description: Removes the fixed_size specification from the properties.

clearForeground
void WindowProperties::clear_foreground(void);

Description: Removes the foreground specification from the properties.

clearFullscreen
void WindowProperties::clear_fullscreen(void);

Description: Removes the fullscreen specification from the properties.

clearIconFilename
void WindowProperties::clear_icon_filename(void);

Description: Removes the icon_filename specification from the properties.

clearMinimized
void WindowProperties::clear_minimized(void);

Description: Removes the minimized specification from the properties.

clearMouseMode
void WindowProperties::clear_mouse_mode(void);

Description: Removes the z_order specification from the properties.

clearOpen
void WindowProperties::clear_open(void);

Description: Removes the open specification from the properties.

clearOrigin
void WindowProperties::clear_origin(void);

Description: Removes the origin specification from the properties.

clearParentWindow
void WindowProperties::clear_parent_window(void);

Description: Removes the S_parent_window specification from the properties.

clearRawMice
void WindowProperties::clear_raw_mice(void);

Description: Removes the raw_mice specification from the properties.

clearSize
void WindowProperties::clear_size(void);

Description: Removes the size specification from the properties.

clearTitle
void WindowProperties::clear_title(void);

Description: Removes the title specification from the properties.

clearUndecorated
void WindowProperties::clear_undecorated(void);

Description: Removes the undecorated specification from the properties.

clearZOrder
void WindowProperties::clear_z_order(void);

Description: Removes the z_order specification from the properties.

getCursorFilename
Filename const &WindowProperties::get_cursor_filename(void) const;

Description: Returns the icon filename associated with the mouse cursor.

getCursorHidden
bool WindowProperties::get_cursor_hidden(void) const;

Description: Returns true if the mouse cursor is invisible.

getDefault
static WindowProperties WindowProperties::get_default(void);

Description: Returns a WindowProperties structure with all of the default values filled in according to the user's config file.

getFixedSize
bool WindowProperties::get_fixed_size(void) const;

Description: Returns true if the window cannot be resized by the user, false otherwise.

getForeground
bool WindowProperties::get_foreground(void) const;

Description: Returns true if the window is in the foreground.

getFullscreen
bool WindowProperties::get_fullscreen(void) const;

Description: Returns true if the window is in fullscreen mode.

getIconFilename
Filename const &WindowProperties::get_icon_filename(void) const;

Description: Returns the icon filename associated with the window.

getMinimized
bool WindowProperties::get_minimized(void) const;

Description: Returns true if the window is minimized.

getMouseMode
WindowProperties::MouseMode WindowProperties::get_mouse_mode(void) const;

Description: Removes the z_order specification from the properties.

getOpen
bool WindowProperties::get_open(void) const;

Description: Returns true if the window is open.

getParentWindow
unsigned int WindowProperties::get_parent_window(void) const;

Description: Removes the parent Window

getRawMice
bool WindowProperties::get_raw_mice(void) const;

Description: Returns true if the window reads the raw mice.

getTitle
string const &WindowProperties::get_title(void) const;

Description: Returns the window's title.

getUndecorated
bool WindowProperties::get_undecorated(void) const;

Description: Returns true if the window has no border.

getXOrigin
int WindowProperties::get_x_origin(void) const;

Description: Returns the x coordinate of the window's top-left corner, not including decorations.

getXSize
int WindowProperties::get_x_size(void) const;

Description: Returns size in pixels in the x dimension of the useful part of the window, not including decorations. That is, this is the window's width.

getYOrigin
int WindowProperties::get_y_origin(void) const;

Description: Returns the y coordinate of the window's top-left corner, not including decorations.

getYSize
int WindowProperties::get_y_size(void) const;

Description: Returns size in pixels in the y dimension of the useful part of the window, not including decorations. That is, this is the window's height.

getZOrder
WindowProperties::ZOrder WindowProperties::get_z_order(void) const;

Description: Returns the window's z_order.

hasCursorFilename
bool WindowProperties::has_cursor_filename(void) const;

Description: Returns true if set_cursor_filename() has been specified.

hasCursorHidden
bool WindowProperties::has_cursor_hidden(void) const;

Description: Returns true if set_cursor_hidden() has been specified.

hasFixedSize
bool WindowProperties::has_fixed_size(void) const;

Description: Returns true if set_fixed_size() has been specified.

hasForeground
bool WindowProperties::has_foreground(void) const;

Description: Returns true if set_foreground() has been specified.

hasFullscreen
bool WindowProperties::has_fullscreen(void) const;

Description: Returns true if set_fullscreen() has been specified.

hasIconFilename
bool WindowProperties::has_icon_filename(void) const;

Description: Returns true if set_icon_filename() has been specified.

hasMinimized
bool WindowProperties::has_minimized(void) const;

Description: Returns true if set_minimized() has been specified.

hasMouseMode
bool WindowProperties::has_mouse_mode(void) const;

Description: Removes the z_order specification from the properties.

hasOpen
bool WindowProperties::has_open(void) const;

Description: Returns true if set_open() has been specified.

hasOrigin
bool WindowProperties::has_origin(void) const;

Description: Returns true if the window origin has been specified, false otherwise.

hasParentWindow
bool WindowProperties::has_parent_window(void) const;

Description: Checks the S_parent_window specification from the properties.

hasRawMice
bool WindowProperties::has_raw_mice(void) const;

Description: Returns true if set_raw_mice() has been specified.

hasSize
bool WindowProperties::has_size(void) const;

Description: Returns true if the window size has been specified, false otherwise.

hasTitle
bool WindowProperties::has_title(void) const;

Description: Returns true if the window title has been specified, false otherwise.

hasUndecorated
bool WindowProperties::has_undecorated(void) const;

Description: Returns true if set_undecorated() has been specified.

hasZOrder
bool WindowProperties::has_z_order(void) const;

Description: Returns true if the window z_order has been specified, false otherwise.

isAnySpecified
bool WindowProperties::is_any_specified(void) const;

Description: Returns true if any properties have been specified, false otherwise.

operator !=
bool WindowProperties::operator !=(WindowProperties const &other) const;

Description:

operator =
void WindowProperties::operator =(WindowProperties const &copy);

Description:

operator ==
bool WindowProperties::operator ==(WindowProperties const &other) const;

Description:

output
void WindowProperties::output(ostream &out) const;

Description: Sets any properties that are explicitly specified in other on this object. Leaves other properties unchanged.

setCursorFilename
void WindowProperties::set_cursor_filename(Filename const &cursor_filename);

Description: Specifies the file that contains the icon to associate with the mouse cursor when it is within the window (and visible).

setCursorHidden
void WindowProperties::set_cursor_hidden(bool cursor_hidden);

Description: Specifies whether the mouse cursor should be visible.

setFixedSize
void WindowProperties::set_fixed_size(bool fixed_size);

Description: Specifies whether the window should be resizable by the user.

setForeground
void WindowProperties::set_foreground(bool foreground);

Description: Specifies whether the window should be opened in the foreground (true), or left in the background (false).

setFullscreen
void WindowProperties::set_fullscreen(bool fullscreen);

Description: Specifies whether the window should be opened in fullscreen mode (true) or normal windowed mode (false, the default).

setIconFilename
void WindowProperties::set_icon_filename(Filename const &icon_filename);

Description: Specifies the file that contains the icon to associate with the window when it is minimized.

setMinimized
void WindowProperties::set_minimized(bool minimized);

Description: Specifies whether the window should be created minimized (true), or normal (false).

setMouseMode
void WindowProperties::set_mouse_mode(WindowProperties::MouseMode mode);

Description: Removes the z_order specification from the properties.

setOpen
void WindowProperties::set_open(bool open);

Description: Specifies whether the window should be open. It is legal to create a GraphicsWindow in the closed state, and later request it to open by changing this flag.

setOrigin
void WindowProperties::set_origin(int x_origin, int y_origin);

Description: Specifies the origin on the screen (in pixels, relative to the top-left corner) at which the window should appear. This is the origin of the top-left corner of the useful part of the window, not including decorations.

setParentWindow
void WindowProperties::set_parent_window(unsigned int parent);

Description: Removes the z_order specification from the properties.

setRawMice
void WindowProperties::set_raw_mice(bool raw_mice);

Description: Specifies whether the window should read the raw mouse devices.

setSize
void WindowProperties::set_size(int x_size, int y_size);

Description: Specifies the requested size of the window, in pixels. This is the size of the useful part of the window, not including decorations.

setTitle
void WindowProperties::set_title(string const &title);

Description: Specifies the title that should be assigned to the window.

setUndecorated
void WindowProperties::set_undecorated(bool undecorated);

Description: Specifies whether the window should be created with a visible title and border (false, the default) or not (true).

setZOrder
void WindowProperties::set_z_order(WindowProperties::ZOrder z_order);

Description: Specifies the relative ordering of the window with respect to other windows. If the z_order is Z_top, the window will always be on top of other windows; if it is Z_bottom, it will always be below other windows. Most windows will want to be Z_normal, which allows the user to control the order.

size
static WindowProperties WindowProperties::size(int x_size, int y_size);

Description: Returns a WindowProperties structure with only the size specified. The size is the only property that matters to buffers.


WindowsRegistry

    from pandac.PandaModules import WindowsRegistry
    Class : WindowsRegistry
    Description : This class provides a hook to Python to read and write strings and integers to the windows registry. It automatically converts strings from utf-8 encoding and stores them in Unicode (and conversely reconverts them on retrieval).

Inheritance:

    WindowsRegistry:

Methods of WindowsRegistry:

    getIntValue
    getKeyType
    getStringValue
    setIntValue
    setStringValue

Constants in WindowsRegistry:

    rlMachine | (RegLevel)
rlUser | (RegLevel)
TNone | (Type)
TInt | (Type)
TString | (Type)
getIntValue
static int WindowsRegistry::get_int_value(string const &key, string const &name, int default_value, WindowsRegistry::RegLevel rl = (rl_machine));

Description: Returns the value associated with the indicated registry key, assuming it is an integer value. If the key is not defined or is not an integer type value, default_value is returned instead.

getKeyType
static WindowsRegistry::Type WindowsRegistry::get_key_type(string const &key, string const &name, WindowsRegistry::RegLevel rl = (rl_machine));

Description: Returns the type of the indicated key, or T_none if the key is not known or is some unsupported type.

getStringValue
static string WindowsRegistry::get_string_value(string const &key, string const &name, string const &default_value, WindowsRegistry::RegLevel rl = (rl_machine));

Description: Returns the value associated with the indicated registry key, assuming it is a string value. The string value is automatically encoded using TextEncoder::get_default_encoding(). If the key is not defined or is not a string type value, default_value is returned instead.

setIntValue
static bool WindowsRegistry::set_int_value(string const &key, string const &name, int value, WindowsRegistry::RegLevel rl = (rl_machine));

Description: Sets the registry key to the indicated value as an integer. The registry key must already exist prior to calling this function.

setStringValue
static bool WindowsRegistry::set_string_value(string const &key, string const &name, string const &value, WindowsRegistry::RegLevel rl = (rl_machine));

Description: Sets the registry key to the indicated value as a string. The supplied string value is automatically converted from whatever encoding is set by TextEncoder::set_default_encoding() and written as a Unicode string. The registry key must already exist prior to calling this function.


WritableConfigurable

    from pandac.PandaModules import WritableConfigurable
    Defines
    Class : WritableConfigurable
    Description : Defined as a fix to allow creating Configurable and Writable objects. Otherwise the compiler gets confused since both TypedWritable and Configurable inherit from TypedObject.
    An object that has data or parameters that are set less frequently (at least occasionally) than every frame. We can cache the configuration info by by using the "dirty" flag.

Inheritance:

    WritableConfigurable: TypedWritable
    TypedWritable: TypedObject
    TypedObject: MemoryBase
    MemoryBase:

Methods of WritableConfigurable:

    getClassType

Methods of TypedWritable:

    getClassType

Methods of TypedObject:

    getClassType
    getType
    getTypeIndex
    isExactType
    isOfType
getClassType
static TypeHandle WritableConfigurable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedWritable::get_class_type(void);

Undocumented function.

getClassType
static TypeHandle TypedObject::get_class_type(void);

Undocumented function.

getType
virtual TypeHandle TypedObject::get_type(void) const = 0;

Derived classes should override this function to return get_class_type().

getTypeIndex
int TypedObject::get_type_index(void) const;

Description: Returns the internal index number associated with this object's TypeHandle, a unique number for each different type. This is equivalent to get_type().get_index().

isExactType
bool TypedObject::is_exact_type(TypeHandle handle) const;

Description: Returns true if the current object is the indicated type exactly.

isOfType
bool TypedObject::is_of_type(TypeHandle handle) const;

Description: Returns true if the current object is or derives from the indicated type.


WrtParentInterval

    from direct.interval.FunctionInterval import WrtParentInterval

Inheritance:

    WrtParentInterval:

Methods of WrtParentInterval:

    __init__
__init__
def __init__(self, nodePath, parent, name=None)

__init__(nodePath, parent, name)


YesNoCancelDialog

    from direct.gui.DirectDialog import YesNoCancelDialog

Inheritance:

    YesNoCancelDialog:

Methods of YesNoCancelDialog:

    __init__
__init__
def __init__(self, parent=None, **kw)

Undocumented function.


YesNoDialog

    from direct.gui.DirectDialog import YesNoDialog

Inheritance:

    YesNoDialog:

Methods of YesNoDialog:

    __init__
__init__
def __init__(self, parent=None, **kw)

Undocumented function.


ZlibArchive

    from direct.pyinst.archive_rt import ZlibArchive

Inheritance:

    ZlibArchive:

Methods of ZlibArchive:

    __init__
    extract
__init__
def __init__(self, path=None, offset=0)

Undocumented function.

extract
def extract(self, name)

Undocumented function.


zlibresource

    from direct.pyinst.resource import zlibresource
    A subclass for ZlibArchives.

Inheritance:

    zlibresource:

Methods of zlibresource:

    __init__
__init__
def __init__(self, name, fullname=None)

Undocumented function.


ZSpinParticleFactory

    from pandac.PandaModules import ZSpinParticleFactory
    Class : ZSpinParticleFactory
    Description :

Inheritance:

    ZSpinParticleFactory: BaseParticleFactory
    BaseParticleFactory: ReferenceCount
    ReferenceCount: MemoryBase
    MemoryBase:

Methods of ZSpinParticleFactory:

    ZSpinParticleFactory (Constructor)
    enableAngularVelocity
    getAngularVelocity
    getAngularVelocityEnabled
    getAngularVelocitySpread
    getFinalAngle
    getFinalAngleSpread
    getInitialAngle
    getInitialAngleSpread
    setAngularVelocity
    setAngularVelocitySpread
    setFinalAngle
    setFinalAngleSpread
    setInitialAngle
    setInitialAngleSpread

Methods of BaseParticleFactory:

    allocParticle
    getLifespanBase
    getLifespanSpread
    getMassBase
    getMassSpread
    getTerminalVelocityBase
    getTerminalVelocitySpread
    output
    populateParticle
    setLifespanBase
    setLifespanSpread
    setMassBase
    setMassSpread
    setTerminalVelocityBase
    setTerminalVelocitySpread
    write

Methods of ReferenceCount:

    getClassType
    getRefCount
    ref
    testRefCountIntegrity
    testRefCountNonzero
    unref
ZSpinParticleFactory
ZSpinParticleFactory::ZSpinParticleFactory(void);

Description : constructor
Description : copy constructor

enableAngularVelocity
void ZSpinParticleFactory::enable_angular_velocity(bool bEnabled);

Undocumented function.

getAngularVelocity
float ZSpinParticleFactory::get_angular_velocity(void) const;

Undocumented function.

getAngularVelocityEnabled
bool ZSpinParticleFactory::get_angular_velocity_enabled(void) const;

Undocumented function.

getAngularVelocitySpread
float ZSpinParticleFactory::get_angular_velocity_spread(void) const;

Undocumented function.

getFinalAngle
float ZSpinParticleFactory::get_final_angle(void) const;

Undocumented function.

getFinalAngleSpread
float ZSpinParticleFactory::get_final_angle_spread(void) const;

Undocumented function.

getInitialAngle
float ZSpinParticleFactory::get_initial_angle(void) const;

Undocumented function.

getInitialAngleSpread
float ZSpinParticleFactory::get_initial_angle_spread(void) const;

Undocumented function.

setAngularVelocity
void ZSpinParticleFactory::set_angular_velocity(float v);

Undocumented function.

setAngularVelocitySpread
void ZSpinParticleFactory::set_angular_velocity_spread(float spread);

Undocumented function.

setFinalAngle
void ZSpinParticleFactory::set_final_angle(float angle);

Undocumented function.

setFinalAngleSpread
void ZSpinParticleFactory::set_final_angle_spread(float spread);

Undocumented function.

setInitialAngle
void ZSpinParticleFactory::set_initial_angle(float angle);

Undocumented function.

setInitialAngleSpread
void ZSpinParticleFactory::set_initial_angle_spread(float spread);

Undocumented function.

allocParticle
virtual BaseParticle *BaseParticleFactory::alloc_particle(void) const = 0;

Undocumented function.

getLifespanBase
float BaseParticleFactory::get_lifespan_base(void) const;

Description : public

getLifespanSpread
float BaseParticleFactory::get_lifespan_spread(void) const;

Description : public

getMassBase
float BaseParticleFactory::get_mass_base(void) const;

Description : public

getMassSpread
float BaseParticleFactory::get_mass_spread(void) const;

Description : public

getTerminalVelocityBase
float BaseParticleFactory::get_terminal_velocity_base(void) const;

Description : public

getTerminalVelocitySpread
float BaseParticleFactory::get_terminal_velocity_spread(void) const;

Description : public

output
virtual void BaseParticleFactory::output(ostream &out) const;

Description : Write a string representation of this instance to <out>.

populateParticle
void BaseParticleFactory::populate_particle(BaseParticle *bp);

Description : public

setLifespanBase
void BaseParticleFactory::set_lifespan_base(float lb);

Description : public

setLifespanSpread
void BaseParticleFactory::set_lifespan_spread(float ls);

Description : public

setMassBase
void BaseParticleFactory::set_mass_base(float mb);

Description : public

setMassSpread
void BaseParticleFactory::set_mass_spread(float ms);

Description : public

setTerminalVelocityBase
void BaseParticleFactory::set_terminal_velocity_base(float tvb);

Description : public

setTerminalVelocitySpread
void BaseParticleFactory::set_terminal_velocity_spread(float tvs);

Description : public

write
virtual void BaseParticleFactory::write(ostream &out, int indent = (0)) const;

Description : Write a string representation of this instance to <out>.

getClassType
static TypeHandle ReferenceCount::get_class_type(void);

Undocumented function.

getRefCount
int ReferenceCount::get_ref_count(void) const;

Description: Returns the current reference count.

ref
void ReferenceCount::ref(void) const;

Description: Explicitly increments the reference count. User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.

testRefCountIntegrity
bool ReferenceCount::test_ref_count_integrity(void) const;

Description: Does some easy checks to make sure that the reference count isn't completely bogus. Returns true if ok, false otherwise.

testRefCountNonzero
bool ReferenceCount::test_ref_count_nonzero(void) const;

Description: Does some easy checks to make sure that the reference count isn't zero, or completely bogus. Returns true if ok, false otherwise.

unref
bool ReferenceCount::unref(void) const;

Description: Explicitly decrements the reference count. Note that the object will not be implicitly deleted by unref() simply because the reference count drops to zero. (Having a member function delete itself is problematic; plus, we don't have a virtual destructor anyway.) However, see the helper function unref_delete().
User code should avoid using ref() and unref() directly, which can result in missed reference counts. Instead, let a PointerTo object manage the reference counting automatically.
This function is const, even though it changes the object, because generally fiddling with an object's reference count isn't considered part of fiddling with the object. An object might be const in other ways, but we still need to accurately count the number of references to it.
The return value is true if the new reference count is nonzero, false if it is zero.


_ExtFilter

    from direct.pyinst.tocfilter import _ExtFilter
    A filter mixin that matches based on file extensions (either way)

Inheritance:

    _ExtFilter:

Methods of _ExtFilter:

    matches
matches
def matches(self, res)

Undocumented function.


_Filter

    from direct.pyinst.tocfilter import _Filter

Inheritance:

    _Filter:

Methods of _Filter:

    __repr__
__repr__
def __repr__(self)

Undocumented function.


_NameFilter

    from direct.pyinst.tocfilter import _NameFilter
    A filter mixin that matches (exactly) on name

Inheritance:

    _NameFilter:

Methods of _NameFilter:

    matches
matches
def matches(self, res)

Undocumented function.


_PathFilter

    from direct.pyinst.tocfilter import _PathFilter
    A filter mixin that matches if the resource is below any of the paths

Inheritance:

    _PathFilter:

Methods of _PathFilter:

    matches
matches
def matches(self, res)

Undocumented function.


_PatternFilter

    from direct.pyinst.tocfilter import _PatternFilter
    A filter that matches if re.search succeeds on the resource path

Inheritance:

    _PatternFilter:

Methods of _PatternFilter:

    matches
matches
def matches(self, res)

Undocumented function.


_TaskNamePatternLeakDetector

    from direct.showbase.LeakDetectors import _TaskNamePatternLeakDetector

Inheritance:

    _TaskNamePatternLeakDetector:

Methods of _TaskNamePatternLeakDetector:

    __init__
    __len__
    getLeakDetectorKey
__init__
def __init__(self, taskNamePattern)

Undocumented function.

__len__
def __len__(self)

Undocumented function.

getLeakDetectorKey
def getLeakDetectorKey(self)

Undocumented function.


_TypeFilter

    from direct.pyinst.tocfilter import _TypeFilter
    A filter mixin that matches on resource type (either way)

Inheritance:

    _TypeFilter:

Methods of _TypeFilter:

    matches
matches
def matches(self, res)

Undocumented function.